dwarvish indecision
<Someone> (and later <Someone>) reported along with several other things of a dwarf that stood in place and switched between his pick-axe and broadsword on successive turns. Fixed by bringing the logic in the two cases in line. The code now prefers to leave the hostile dwarf with a weapon.
This commit is contained in:
@@ -161,6 +161,8 @@ when a fountain dries up or a throne vanishes, make sure it really happens
|
||||
allow player to name polymorph potion if nothing seems to happen
|
||||
avoid crash when drinking a potion causes the hero to float up over a fire
|
||||
trap, for example, which might try to destroy the in-use potion
|
||||
in some situations, if hero stood still, a hostile dwarf would switch back
|
||||
and forth between weapon and pick-axe and never move
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
@@ -875,9 +875,13 @@ not_special:
|
||||
}
|
||||
}
|
||||
|
||||
/* don't tunnel if needspick and wielding a non-pick that is known
|
||||
* cursed or hostile and close enough to prefer a weapon */
|
||||
if (can_tunnel && needspick(ptr) &&
|
||||
(mw_tmp = MON_WEP(mtmp)) != 0 && !is_pick(mw_tmp) &&
|
||||
mw_tmp->cursed && mtmp->weapon_check == NO_WEAPON_WANTED)
|
||||
(mw_tmp = MON_WEP(mtmp)) != 0 && !is_pick(mw_tmp) &&
|
||||
((mw_tmp->cursed && mtmp->weapon_check == NO_WEAPON_WANTED) ||
|
||||
((!mtmp->mpeaceful || Conflict) &&
|
||||
dist2(mtmp->mx, mtmp->my, mtmp->mux, mtmp->muy) <= 8)))
|
||||
can_tunnel = FALSE;
|
||||
|
||||
nix = omx;
|
||||
|
||||
Reference in New Issue
Block a user