diff options
author | Stefan O'Rear <stefanor@cox.net> | 2009-11-04 23:52:52 -0800 |
---|---|---|
committer | Stefan O'Rear <stefanor@cox.net> | 2009-11-04 23:52:52 -0800 |
commit | 808d95388e8d845c5e5b7f416231c1fc9a8aca97 (patch) | |
tree | 295155f66906600ee06e21fef1d8ea5cd7b9acee /crawl-ref/source/spells2.cc | |
parent | 1b5fee7b01fd027a5873f692139a19abea8e6946 (diff) | |
download | crawl-ref-808d95388e8d845c5e5b7f416231c1fc9a8aca97.tar.gz crawl-ref-808d95388e8d845c5e5b7f416231c1fc9a8aca97.zip |
And propagate power from Tukima / the Dance.
Diffstat (limited to 'crawl-ref/source/spells2.cc')
-rw-r--r-- | crawl-ref/source/spells2.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/crawl-ref/source/spells2.cc b/crawl-ref/source/spells2.cc index 02a3cd72c3..8008e51e1a 100644 --- a/crawl-ref/source/spells2.cc +++ b/crawl-ref/source/spells2.cc @@ -25,6 +25,7 @@ #include "dungeon.h" #include "effects.h" #include "envmap.h" +#include "ghost.h" #include "goditem.h" #include "invent.h" #include "itemname.h" @@ -1582,6 +1583,7 @@ bool summon_holy_warrior(int pow, god_type god, int spell, !force_hostile, quiet); } +// This function seems to have very little regard for encapsulation. bool cast_tukimas_dance(int pow, god_type god, bool force_hostile) { bool success = true; @@ -1670,9 +1672,14 @@ bool cast_tukimas_dance(int pow, god_type god, bool force_hostile) destroy_item(menv[monster].inv[MSLOT_WEAPON]); menv[monster].inv[MSLOT_WEAPON] = i; - menv[monster].colour = mitm[i].colour; burden_change(); + ghost_demon stats; + stats.init_dancing_weapon(mitm[i], pow); + + menv[monster].set_ghost(stats); + menv[monster].dancing_weapon_init(); + if ((why = good_god_hates_item_handling(you.inv[wpn])) || (why = god_hates_item_handling(you.inv[wpn]))) { |