diff options
author | DracoOmega <draco_omega@live.com> | 2013-05-16 21:56:59 -0230 |
---|---|---|
committer | DracoOmega <draco_omega@live.com> | 2013-05-26 20:47:52 -0230 |
commit | b1d49dd0dfda48a6b581c55c7054f68023a7537f (patch) | |
tree | f5977e6c98fb6b4c7121aa1086902eb70e43ac72 /crawl-ref/source/mon-abil.h | |
parent | 4cf0e864b9184e08541cf04b6ea46d5ddaa70c67 (diff) | |
download | crawl-ref-b1d49dd0dfda48a6b581c55c7054f68023a7537f.tar.gz crawl-ref-b1d49dd0dfda48a6b581c55c7054f68023a7537f.zip |
New monster: lost souls
These are wandering confluxes of necromantic power that have no offense
of their own, but can sacrifice themselves to 'revive' allied monsters
near them at the moment they are killed.
If a non-zombified undead is killed while in LoS of an allied lost soul,
the soul will die instead and the undead will be restored to full hp (and
have its status effects reset). If a zombifiable living creature dies while
in LoS of an allied lost soul, instead the soul will assume its likeness,
turning into a spellcasting spectral of the same type with 'fake' (as with
shadow creatures) copies of the original's gear.
Lost souls move quickly and attempt to maintain range, but are otherwise
fragile. If they find themselves near foes but no allies they could aid,
they will flicker out of the living world and reappearing near some other
ally elsewhere in the level (and temporarily submerge into the air there).
Tactically, they can serve to augment singular threats and also create
situations where the player might rather choose to ignore the most
threatening creatures so as to force the lost soul to sacrifice itself
for a harmless one, or to kill the soul directly.
Diffstat (limited to 'crawl-ref/source/mon-abil.h')
-rw-r--r-- | crawl-ref/source/mon-abil.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/crawl-ref/source/mon-abil.h b/crawl-ref/source/mon-abil.h index 79f9ad98dc..4d4b507f3d 100644 --- a/crawl-ref/source/mon-abil.h +++ b/crawl-ref/source/mon-abil.h @@ -36,4 +36,7 @@ bool get_push_space(const coord_def& pos, coord_def& newpos, void heal_flayed_effect(actor* act, bool quiet = false, bool blood_only = false); +bool lost_soul_revive(monster* mons); +bool lost_soul_spectralize(monster* mons); + #endif |