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
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
case PM_HORNED_DEVIL:
(void)mongets(mtmp, rn2(4) ? TRIDENT : BULLWHIP);
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:
(void)mongets(mtmp, WAN_STRIKING);
break;
mkmonmoney(mtmp, (long) d(level_difficulty(), 30));
#endif
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:
break;
}