Opened 6 years ago

Closed 6 years ago

#1692 closed bug (fixed (in master))

Death mold has both fire vulnerability and fire resistance

Reported by: silsor Owned by:
Milestone: 3.5.0 Keywords: recall
Cc:

Description

This may not be a bug, per se, but in recall it should not be listed like this:
"It is hurt by fire, but resists acid, lightning, fire, ..."

Change History (3)

comment:1 Changed 6 years ago by daniel.santos

I would call it a bug, personally. I think this is due to the inheritance system that Angband uses. In monster.txt, death mold is defined thusly:

N:479:Death mold
T:mold
C:D
I:140:1050:200:72:0
W:47:1:0:1000
B:SPORE:UN_BONUS:7d7
B:SPORE:UN_BONUS:7d7
B:SPORE:UN_BONUS:7d7
B:SPORE:EXP_80:5d5
F:EVIL
F:IM_ACID | IM_COLD | IM_ELEC | IM_FIRE
F:FORCE_SLEEP | ATTR_FLICKER
D:It is the epitome of all that is evil, in a mold.  Its lifeless form draws
D: power from sucking the souls of those that approach it, a nimbus of pure evil
D: surrounds it.  Luckily for you, it can't move.

The "T" line says that this monster is of type "mold", which is defined in monster_base.txt as so:

N:mold
G:m
M:2
F:NEVER_MOVE
F:IM_POIS | HURT_FIRE | NO_FEAR | NO_CONF | NO_SLEEP
D:Mold

This always ends up making baby Jesus cry. Perhaps the parser can be modified to accept a negated flag, where it will OR that one out? So then death mold can use this flag definition:

F:IM_ACID | IM_COLD | IM_ELEC | IM_FIRE | -HURT_FIRE
F:FORCE_SLEEP | ATTR_FLICKER

And the parser will do a "flags |= ~(flags_to_remove)". Just a thought, I don't know how important it is with Pyrel in the works.

comment:2 Changed 6 years ago by takkaria

  • Milestone changed from Triage to 3.5.0

Assigning open bugs to 3.5 for fixing.

comment:3 Changed 6 years ago by takkaria

  • Resolution set to fixed (in master)
  • Status changed from new to closed

Fixed in https://github.com/angband/angband/pull/256 , thanks for reporting.

Note: See TracTickets for help on using tickets.