diff options
author | DracoOmega <draco_omega@live.com> | 2014-03-09 20:47:05 -0230 |
---|---|---|
committer | DracoOmega <draco_omega@live.com> | 2014-03-11 20:07:54 -0230 |
commit | 03863c37a7725b2b85bdbef2d61d778142b9a2c8 (patch) | |
tree | beea3661b9022ff88d273ebe2a26957c76bd0849 /crawl-ref/source/fineff.h | |
parent | da5242858d54221824926767f315f012054519e9 (diff) | |
download | crawl-ref-03863c37a7725b2b85bdbef2d61d778142b9a2c8.tar.gz crawl-ref-03863c37a7725b2b85bdbef2d61d778142b9a2c8.zip |
Remove shock serpent lightning torrent, adjust discharge / stats
Lightning torrent didn't work as well as hoped, in practice. The intent
was that it be dangerous unless actively controlled by quickly hitting
the serpent, but be much less threatening if you did this. However,
between misses and low damage hits, it was quite possible to be
attacking a serpent continuously and still fail to prevent the torrent.
Even worse, if the serpent was obstructed by other monsters, there was
often no good way to keep it from unleashing the attack the moment you
killed what was in front of it. A fast monster with relatively
threatening attacks is likely already a priority target without the
need for some other specific mechanic to encourage this.
Thus, lightning torrent is removed, and the retribution discharge is
made dependant on the damage inflicted upon it rather than time from
last discharge (with starting hits triggering a larger shock). Also
raise HD (and thus AF_ELEC damage) slightly, while lowering their base
melee, to shift the damage just a touch more from physical to elemental.
This also fixes a bug where the discharge would not trigger on any
attack that actually killed the serpent.
Diffstat (limited to 'crawl-ref/source/fineff.h')
-rw-r--r-- | crawl-ref/source/fineff.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/crawl-ref/source/fineff.h b/crawl-ref/source/fineff.h index 36c4be46e4..48d1182ad6 100644 --- a/crawl-ref/source/fineff.h +++ b/crawl-ref/source/fineff.h @@ -142,12 +142,18 @@ public: class shock_serpent_discharge_fineff : public final_effect { public: - shock_serpent_discharge_fineff(const actor *serpent) - : final_effect(0, serpent, coord_def()) + shock_serpent_discharge_fineff(const actor *serpent, coord_def pos, int pow) + : final_effect(0, serpent, coord_def()), position(pos), power(pow), + attitude(mons_attitude(serpent->as_monster())) { } bool mergeable(const final_effect &a) const; + void merge(const final_effect &a); void fire(); +protected: + coord_def position; + int power; + mon_attitude_type attitude; }; // A fineff that triggers a daction; otherwise the daction |