From 6d0eb3000187dd587e961ca87ddb9eca947f15dc Mon Sep 17 00:00:00 2001 From: Darshan Shaligram Date: Fri, 8 Jan 2010 13:11:44 +0530 Subject: Add snapping turtles, alligator snapping turtles and sea snakes to the Shoals, remove yaktaurs, centaurs and stone giants. Snapping turtles get reaching attacks. Sea snakes get strong venom. --- crawl-ref/source/mon-act.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'crawl-ref/source/mon-act.cc') diff --git a/crawl-ref/source/mon-act.cc b/crawl-ref/source/mon-act.cc index 092fb0aaa7..2065414df9 100644 --- a/crawl-ref/source/mon-act.cc +++ b/crawl-ref/source/mon-act.cc @@ -737,7 +737,8 @@ static bool _handle_potion(monsters *monster, bolt & beem) static bool _handle_reaching(monsters *monster) { bool ret = false; - const int wpn = monster->inv[MSLOT_WEAPON]; + item_def *wpn = monster->weapon(0); + const mon_attack_def attk(mons_attack_spec(monster, 0)); if (monster->submerged()) return (false); @@ -745,7 +746,8 @@ static bool _handle_reaching(monsters *monster) if (mons_aligned(monster->mindex(), monster->foe)) return (false); - if (wpn != NON_ITEM && get_weapon_brand(mitm[wpn]) == SPWPN_REACHING) + if ((wpn && get_weapon_brand(*wpn) == SPWPN_REACHING) + || (attk.flavour == AF_REACH && attk.damage)) { if (monster->foe == MHITYOU) { @@ -782,8 +784,8 @@ static bool _handle_reaching(monsters *monster) } // Player saw the item reach. - if (ret && !is_artefact(mitm[wpn]) && you.can_see(monster)) - set_ident_flags(mitm[wpn], ISFLAG_KNOW_TYPE); + if (ret && wpn && !is_artefact(*wpn) && you.can_see(monster)) + set_ident_flags(*wpn, ISFLAG_KNOW_TYPE); return (ret); } -- cgit v1.2.3-54-g00ecf