Skip to content

Commit

Permalink
Make the potion of healing much more common and easier to identify
Browse files Browse the repository at this point in the history
At present, potions of healing generate primarily in Gehennom,
which causes significant balance issues (e.g. you don't have them
to heal in the early game, or even if you do, you can't identify
them in time to use them). In this series of commits, I'm aiming to
make potions of healing a more viable early-game healing source,
which means making them both (much) more likely to generate, and
easier to identify so that they are actually usable in the early
game.

This commit radically increases the generation chance of potions
of healing (reducing the chance of most other potions slightly to
compensate), and gives them a unique base price. This should make
them fairly easy to identify either by price-ID or quantity-ID
(and the unique base price is chosen to be fairly easy to figure
out even for unspoiled players).
  • Loading branch information
Alex Smith committed Dec 2, 2023
1 parent ae3e5d2 commit 62fb875
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 18 deletions.
2 changes: 1 addition & 1 deletion doc/fixes3-7-0.txt
Expand Up @@ -1299,7 +1299,7 @@ Wizards no longer have a bonus to writing unknown spellbooks, but now
starting inventory: magic markers are more likely (guaranteed for
Wizards), but have fewer charges
early dungeon (pre-Sokoban) generates extra useful survivability items

potion of healing is much more common, and has a unique price


Fixes to 3.7.0-x General Problems Exposed Via git Repository
Expand Down
34 changes: 17 additions & 17 deletions include/objects.h
Expand Up @@ -1098,59 +1098,59 @@ FOOD("tin", 75, 0, 10, 1, METAL, 0, HI_METAL, TIN),
OBJECT(OBJ(name, desc), \
BITS(0, 1, 0, 0, mgc, 0, 0, 0, 0, 0, 0, P_NONE, GLASS), \
power, POTION_CLASS, prob, 0, 20, cost, 0, 0, 0, 0, 10, color, sn)
POTION("gain ability", "ruby", 1, 0, 42, 300, CLR_RED,
POTION("gain ability", "ruby", 1, 0, 40, 300, CLR_RED,
POT_GAIN_ABILITY),
POTION("restore ability", "pink", 1, 0, 40, 100, CLR_BRIGHT_MAGENTA,
POT_RESTORE_ABILITY),
POTION("confusion", "orange", 1, CONFUSION, 42, 100, CLR_ORANGE,
POTION("confusion", "orange", 1, CONFUSION, 40, 100, CLR_ORANGE,
POT_CONFUSION),
POTION("blindness", "yellow", 1, BLINDED, 40, 150, CLR_YELLOW,
POTION("blindness", "yellow", 1, BLINDED, 30, 150, CLR_YELLOW,
POT_BLINDNESS),
POTION("paralysis", "emerald", 1, 0, 42, 300, CLR_BRIGHT_GREEN,
POTION("paralysis", "emerald", 1, 0, 40, 300, CLR_BRIGHT_GREEN,
POT_PARALYSIS),
POTION("speed", "dark green", 1, FAST, 42, 200, CLR_GREEN,
POTION("speed", "dark green", 1, FAST, 40, 200, CLR_GREEN,
POT_SPEED),
POTION("levitation", "cyan", 1, LEVITATION, 42, 200, CLR_CYAN,
POTION("levitation", "cyan", 1, LEVITATION, 40, 200, CLR_CYAN,
POT_LEVITATION),
POTION("hallucination", "sky blue", 1, HALLUC, 40, 100, CLR_CYAN,
POTION("hallucination", "sky blue", 1, HALLUC, 30, 100, CLR_CYAN,
POT_HALLUCINATION),
POTION("invisibility", "brilliant blue", 1, INVIS, 40, 150, CLR_BRIGHT_BLUE,
POT_INVISIBILITY),
POTION("see invisible", "magenta", 1, SEE_INVIS, 42, 50, CLR_MAGENTA,
POTION("see invisible", "magenta", 1, SEE_INVIS, 40, 50, CLR_MAGENTA,
POT_SEE_INVISIBLE),
POTION("healing", "purple-red", 1, 0, 57, 100, CLR_MAGENTA,
POTION("healing", "purple-red", 1, 0, 115, 20, CLR_MAGENTA,
POT_HEALING),
POTION("extra healing", "puce", 1, 0, 47, 100, CLR_RED,
POTION("extra healing", "puce", 1, 0, 45, 100, CLR_RED,
POT_EXTRA_HEALING),
POTION("gain level", "milky", 1, 0, 20, 300, CLR_WHITE,
POT_GAIN_LEVEL),
POTION("enlightenment", "swirly", 1, 0, 20, 200, CLR_BROWN,
POT_ENLIGHTENMENT),
POTION("monster detection", "bubbly", 1, 0, 40, 150, CLR_WHITE,
POT_MONSTER_DETECTION),
POTION("object detection", "smoky", 1, 0, 42, 150, CLR_GRAY,
POTION("object detection", "smoky", 1, 0, 40, 150, CLR_GRAY,
POT_OBJECT_DETECTION),
POTION("gain energy", "cloudy", 1, 0, 42, 150, CLR_WHITE,
POTION("gain energy", "cloudy", 1, 0, 40, 150, CLR_WHITE,
POT_GAIN_ENERGY),
POTION("sleeping", "effervescent", 1, 0, 42, 100, CLR_GRAY,
POTION("sleeping", "effervescent", 1, 0, 40, 100, CLR_GRAY,
POT_SLEEPING),
POTION("full healing", "black", 1, 0, 10, 200, CLR_BLACK,
POT_FULL_HEALING),
POTION("polymorph", "golden", 1, 0, 10, 200, CLR_YELLOW,
POT_POLYMORPH),
POTION("booze", "brown", 0, 0, 42, 50, CLR_BROWN,
POTION("booze", "brown", 0, 0, 40, 50, CLR_BROWN,
POT_BOOZE),
POTION("sickness", "fizzy", 0, 0, 42, 50, CLR_CYAN,
POTION("sickness", "fizzy", 0, 0, 40, 50, CLR_CYAN,
POT_SICKNESS),
POTION("fruit juice", "dark", 0, 0, 42, 50, CLR_BLACK,
POTION("fruit juice", "dark", 0, 0, 40, 50, CLR_BLACK,
POT_FRUIT_JUICE),
POTION("acid", "white", 0, 0, 10, 250, CLR_WHITE,
POT_ACID),
POTION("oil", "murky", 0, 0, 30, 250, CLR_BROWN,
POT_OIL),
/* fixed description
*/
POTION("water", "clear", 0, 0, 92, 100, CLR_CYAN,
POTION("water", "clear", 0, 0, 80, 100, CLR_CYAN,
POT_WATER),
#undef POTION

Expand Down

0 comments on commit 62fb875

Please sign in to comment.