B17003 Asmodeus can't use intended wands
m_initweap() was trying to give him wands of fire and cold; since he had no weapon attacks, he wasn't is_armed(), so this code never got called. This moves the code to m_initinv().
This commit is contained in:
@@ -365,6 +365,8 @@ no longer need to manually examine inventory after regaining sight in order
|
|||||||
when adding an object to inventory, it is possible for it to becomed both
|
when adding an object to inventory, it is possible for it to becomed both
|
||||||
wielded and quivered if it merges with weapon and autoquiver is enabled
|
wielded and quivered if it merges with weapon and autoquiver is enabled
|
||||||
include rocks as likely candidates for quivering if alternate weapon is a sling
|
include rocks as likely candidates for quivering if alternate weapon is a sling
|
||||||
|
Asmodeus fails an is_armed() check, so code in m_initweap() to give him wands
|
||||||
|
of fire and cold never got called; move the code to m_initinv()
|
||||||
|
|
||||||
|
|
||||||
Platform- and/or Interface-Specific Fixes
|
Platform- and/or Interface-Specific Fixes
|
||||||
|
|||||||
+10
-7
@@ -407,13 +407,6 @@ register struct monst *mtmp;
|
|||||||
case PM_HORNED_DEVIL:
|
case PM_HORNED_DEVIL:
|
||||||
(void)mongets(mtmp, rn2(4) ? TRIDENT : BULLWHIP);
|
(void)mongets(mtmp, rn2(4) ? TRIDENT : BULLWHIP);
|
||||||
break;
|
break;
|
||||||
case PM_ICE_DEVIL:
|
|
||||||
if (!rn2(4)) (void)mongets(mtmp, SPEAR);
|
|
||||||
break;
|
|
||||||
case PM_ASMODEUS:
|
|
||||||
(void)mongets(mtmp, WAN_COLD);
|
|
||||||
(void)mongets(mtmp, WAN_FIRE);
|
|
||||||
break;
|
|
||||||
case PM_DISPATER:
|
case PM_DISPATER:
|
||||||
(void)mongets(mtmp, WAN_STRIKING);
|
(void)mongets(mtmp, WAN_STRIKING);
|
||||||
break;
|
break;
|
||||||
@@ -642,6 +635,16 @@ register struct monst *mtmp;
|
|||||||
mkmonmoney(mtmp, (long) d(level_difficulty(), 30));
|
mkmonmoney(mtmp, (long) d(level_difficulty(), 30));
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
case S_DEMON:
|
||||||
|
/* moved here from m_initweap() because these don't
|
||||||
|
have AT_WEAP so m_initweap() is not called for them */
|
||||||
|
if (ptr == &mons[PM_ICE_DEVIL] && !rn2(4)) {
|
||||||
|
(void)mongets(mtmp, SPEAR);
|
||||||
|
} else if (ptr == &mons[PM_ASMODEUS]) {
|
||||||
|
(void)mongets(mtmp, WAN_COLD);
|
||||||
|
(void)mongets(mtmp, WAN_FIRE);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user