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:
cohrs
2002-07-14 02:48:27 +00:00
parent 1238854154
commit adc4094d50
2 changed files with 8 additions and 2 deletions

View File

@@ -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

View File

@@ -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;