From 2a73bdc6a3be5efa46dfdf32bb86edfcf5d0bd4c Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Thu, 22 May 2008 15:53:37 +0000 Subject: Improve player beam tracer for firing through friendlies: * name the monster you're firing through ("your goblin zombie") * use maximum possible range * make it work for spells and abilities, as well Still todo: * apply the same logic to firing missiles * don't prompt for monsters that wouldn't be harmed (e.g. living allies for Dispel Undead, etc.) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5177 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/spells3.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'crawl-ref/source/spells3.cc') diff --git a/crawl-ref/source/spells3.cc b/crawl-ref/source/spells3.cc index 0d5f064560..aa9063d5e7 100644 --- a/crawl-ref/source/spells3.cc +++ b/crawl-ref/source/spells3.cc @@ -308,12 +308,12 @@ int airstrike(int power, dist &beam) return (success); } // end airstrike() -int cast_bone_shards(int power, bolt &beam) +bool cast_bone_shards(int power, bolt &beam) { bool success = false; if (you.equip[EQ_WEAPON] == -1 - || you.inv[you.equip[EQ_WEAPON]].base_type != OBJ_CORPSES) + || you.inv[you.equip[EQ_WEAPON]].base_type != OBJ_CORPSES) { canned_msg(MSG_SPELL_FIZZLES); } @@ -326,6 +326,9 @@ int cast_bone_shards(int power, bolt &beam) power *= 15; power += mons_weight( you.inv[you.equip[EQ_WEAPON]].plus ); + if (!player_tracer(ZAP_BONE_SHARDS, power, beam)) + return (false); + mpr("The skeleton explodes into sharp fragments of bone!"); dec_inv_item_quantity( you.equip[EQ_WEAPON], 1 ); -- cgit v1.2.3-54-g00ecf