Opened 4 years ago

Closed 3 years ago

#1915 closed bug (fixed (in master))

Bad message order

Reported by: nckmccnnll Owned by:
Milestone: 4.0 Keywords:
Cc:

Description

"Medusa, the Gorgon dies.
Medusa, the Gorgon tries to make you stop moving.
You avoid the effects!
You hit Medusa, the Gorgon.
You have slain Medusa, the Gorgon. " - Thraalbeast

Change History (7)

comment:1 Changed 4 years ago by nckmccnnll

Can't confirm this

comment:2 Changed 4 years ago by nckmccnnll

  • Milestone changed from 4.0 to Future

This is quite confusing. It looks like Medusa was killed by a spell - either by a monster, which should be impossible, or by the player, which would have left her dead - and then killed by a melee blow. I'm going to leave this open, but set it to Future, and we'll see if anything like this comes up again.

comment:3 Changed 4 years ago by nckmccnnll

  • Milestone changed from Future to Ongoing

Actually, Ongoing is probably better.

comment:4 Changed 3 years ago by nckmccnnll

  • Milestone changed from Ongoing to 4.0
  • Status changed from new to confirmed

Time to fix this

comment:6 Changed 3 years ago by PowerWyrm

The "dies" message is displayed immediately using msg(). All other messages use the delayed message queue. To fix this, the "dies" message must also use the delayed message queue.

comment:7 Changed 3 years ago by nckmccnnll

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

OK, there were two issues here:

  • A bug in project_m() which resulted in a spurious death message for uniques who should have been killed by another monster's spell attack, but were prevented from dying by the rule that monsters can't kill uniques
  • The fact that mon_take_hit() directly prints a message when the player kills a monster in melee or by missile, and this message was coming out before delayed monster messages about status, etc

Both are fixed in 2ba3b14.

Note: See TracTickets for help on using tickets.