diff options
author | Darshan Shaligram <dshaligram@users.sourceforge.net> | 2010-01-08 13:11:44 +0530 |
---|---|---|
committer | Darshan Shaligram <dshaligram@users.sourceforge.net> | 2010-01-08 13:16:12 +0530 |
commit | 6d0eb3000187dd587e961ca87ddb9eca947f15dc (patch) | |
tree | 420aac3eaf6aee2ef5ccf5eebcef33d1fcd19791 /crawl-ref/source/mon-act.cc | |
parent | 2aef97c76417be892660cf4f91da3953f222d2b9 (diff) | |
download | crawl-ref-6d0eb3000187dd587e961ca87ddb9eca947f15dc.tar.gz crawl-ref-6d0eb3000187dd587e961ca87ddb9eca947f15dc.zip |
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.
Diffstat (limited to 'crawl-ref/source/mon-act.cc')
-rw-r--r-- | crawl-ref/source/mon-act.cc | 10 |
1 files changed, 6 insertions, 4 deletions
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); } |