U393 - jousting puddings into a polymorph trap caused 2 identical new monsters
Because hmon_hitmon caches the monster data type, it needs to update this whenever the monster might polymorph. It already did this for potions, but not for jousting. There are other more complex ways this could be addressed.
This commit is contained in:
@@ -91,6 +91,8 @@ hostile monsters who follow you between levels won't do so if they're fleeing
|
||||
options for font_size for map, menu, message, status, and text all had the
|
||||
same description of "the size of the map font" in options.c
|
||||
when dismounting by choice and unimpaired, try not to land in a known trap
|
||||
when jousting a pudding into a polymorh trap, it was possible to end up
|
||||
with two of the new type of monster
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
@@ -970,6 +970,7 @@ int thrown;
|
||||
/* avoid migrating a dead monster */
|
||||
if (mon->mhp > tmp) {
|
||||
mhurtle(mon, u.dx, u.dy, 1);
|
||||
mdat = mon->data; /* in case of a polymorph trap */
|
||||
if (DEADMONSTER(mon)) already_killed = TRUE;
|
||||
}
|
||||
hittxt = TRUE;
|
||||
@@ -986,6 +987,7 @@ int thrown;
|
||||
/* avoid migrating a dead monster */
|
||||
if (mon->mhp > tmp) {
|
||||
mhurtle(mon, u.dx, u.dy, 1);
|
||||
mdat = mon->data; /* in case of a polymorph trap */
|
||||
if (DEADMONSTER(mon)) already_killed = TRUE;
|
||||
}
|
||||
hittxt = TRUE;
|
||||
|
||||
Reference in New Issue
Block a user