fix issue #843 - vampire revival sequencing
Reported by Umbire: |You kill SpaceMannSpiff! SpaceMannSpiff puts on a dwarvish cloak. |SpaceMannSpiff puts on a dwarvish iron helm. |The seemingly dead SpaceMannSpiff suddenly transforms and rises as | a Vampire. This was tough to reproduce but I finally managed it. The issue text mentions that it was fixed by copperwater in xNetHack with commit 8c4af50f0aa3e72522f3eb98df039ff25c2a1ea0 to the repository for that variant. My attempt to cherry-pick that failed--I'm not even sure whether it should have been expected to work--and some of the code has been impinged upon by changes, so I ended up applying the contents of that commit manually. The commit changes how/when monsters put on new armor rather than anything directly related to vampires. Circumstances similar to the example above now yield: |You kill SpaceMannSpiff! |The seemingly dead SpaceMannSpiff suddenly transforms and rises as | a Vampire. on one turn, then on the next turn the revived vampire produces: |SpaceMannSpiff puts on a dwarvish cloak. My test case only had one item of interest; I assume that the second item of armor gets worn on a subsequent turn rather than at the same time as the first one. Fixes #843
This commit is contained in:
@@ -1145,7 +1145,7 @@ extract_from_minvent(
|
||||
mon->misc_worn_check &= ~unwornmask;
|
||||
/* give monster a chance to wear other equipment on its next
|
||||
move instead of waiting until it picks something up */
|
||||
mon->misc_worn_check |= I_SPECIAL;
|
||||
check_gear_next_turn(mon);
|
||||
}
|
||||
obj_no_longer_held(obj);
|
||||
if (unwornmask & W_WEP) {
|
||||
|
||||
Reference in New Issue
Block a user