Menu

#618 dmonsfree error after exploding /WoPoly

Devel
closed-fixed
5
2004-04-25
2004-04-21
No

A spark bug zapped me. First my wand of magic missile
exploded, killing the spark bug and injuring my pet.
Then my wand of polymorph exploded, polymorphing the
pet and me. After the messages about polymorphing, I got:

The spark bug dies!
dmonsfree: 2 removed doesn't match 3 pending
Program in disorder - perhaps you'd better #quit.

Discussion

  • J. Ali Harlow

    J. Ali Harlow - 2004-04-24
    • assigned_to: nobody --> j_ali
    • status: open --> closed-fixed
     
  • J. Ali Harlow

    J. Ali Harlow - 2004-04-24

    Logged In: YES
    user_id=64456

    This is a little hard to test, but I've changed the code
    which deals with exploding wands to check that monsters are
    still alive before affecting them. Hopefully this will solve
    the problem.

     
  • Pekka Rousu

    Pekka Rousu - 2004-04-25

    Logged In: YES
    user_id=475475

    Looks like this bug is still present. Here is steps to
    reproduce in wizard mode:

    1) Wish for wand of polymorph
    2) Toggle invulnerability (^N)
    3) Create spark bugs
    4) Let them hit you until your wand explodes

    Example with 3 spark bugs:

    The spark bug bites! You get zapped!
    Your wand of polymorph breaks apart and explodes!
    The spark bug is caught in the magical blast!
    The spark bug is killed!
    The spark bug is caught in the magical blast!
    The spark bug is killed!
    The spark bug is caught in the magical blast!
    The spark bug is killed! You are caught in the magical blast!
    You are unharmed! You turn into a hobgoblin! You are unharmed.
    The spark bug dies! dmonsfree: 3 removed doesn't match 4
    pending
    Program in disorder - perhaps you'd better #quit.

     
  • Pekka Rousu

    Pekka Rousu - 2004-04-25
    • status: closed-fixed --> open
     
  • J. Ali Harlow

    J. Ali Harlow - 2004-04-25
    • status: open --> closed-fixed
     
  • J. Ali Harlow

    J. Ali Harlow - 2004-04-25

    Logged In: YES
    user_id=64456

    Nice catch Pekka, thank you.

    It turns out that if you are polymorphed at the end of the
    sequence then the attacking monster may suffer from your
    passive attack(s). Even though hobgoblins don't actually
    have any passive attacks, the code was still checking to see
    if the attacking monster was dead afterwards. Since it was
    already dead this caused the double counting. Simplest
    solution is simply not to check for passive attacks if the
    attacking monster is already dead.

     

Log in to post a comment.