Skip to content

Eating chunks heals and fixes rot on troll #198

@damerell

Description

@damerell

To reproduce: start a troll, wizmode level to 27, generate a necrophage, let it hammer on you until you are quite rotted. Generate some scrolls of torment and read some. Generate some chunks. Eat a chunk: you get healed, you "feel more resilient", and rot is healed.

I believe this is because you.gourmand() checks either for having an amulet of the gourmand or MUT_GOURMAND, and if it is true then DUR_GOURMAND is incremented in player-reacts.cc. This is correct because DUR_GOURMAND is also used to give food value from chunks, but should not assist trolls. Rot is healed because the check if rot should be healed just checks to see if the chunk healed you, which I think means anyone wearing the amulet will be healed of rot by eating. (You might be OK with that last bit; we made rot heal gradually with XP because it's really annoying wondering if you should burn a curing to recover one lousy hitpoint...)

We already have an explicit function:
static bool _chunks_heal_gourmand() { if (you.hp == you.hp_max) return false; return (you.wearing(EQ_AMULET, AMU_THE_GOURMAND) && you.species != SP_DEEP_DWARF); }

which helped here.

Our commit damerell/crawl@a23ccde addresses this. It won't apply directly to you because you don't have that function but with any luck this will still be some help.

Sorry for repeated edits, I hope it doesn't ping you every time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions