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/mon-ench.cc | |
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/mon-ench.cc')
-rw-r--r-- | crawl-ref/source/mon-ench.cc | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/crawl-ref/source/mon-ench.cc b/crawl-ref/source/mon-ench.cc index 3f6240a9d6..6ca3836909 100644 --- a/crawl-ref/source/mon-ench.cc +++ b/crawl-ref/source/mon-ench.cc @@ -907,12 +907,6 @@ void monster::remove_enchantment_effect(const mon_enchant &me, bool quiet) props.erase("song_count"); break; - case ENCH_BUILDING_CHARGE: - if (!quiet && you.can_see(this)) - mprf("%s electrical charge dissipates.", name(DESC_ITS).c_str()); - number = 0; - break; - case ENCH_POISON_VULN: if (!quiet) simple_monster_message(this, " is no longer more vulnerable to poison."); @@ -1074,7 +1068,7 @@ void monster::timeout_enchantments(int levels) case ENCH_ROUSED: case ENCH_BREATH_WEAPON: case ENCH_DEATHS_DOOR: case ENCH_WRETCHED: case ENCH_SCREAMED: case ENCH_BLIND: case ENCH_WORD_OF_RECALL: case ENCH_INJURY_BOND: - case ENCH_FLAYED: case ENCH_BARBS: case ENCH_BUILDING_CHARGE: + case ENCH_FLAYED: case ENCH_BARBS: case ENCH_AGILE: case ENCH_FROZEN: case ENCH_EPHEMERAL_INFUSION: case ENCH_BLACK_MARK: case ENCH_SAP_MAGIC: lose_ench_levels(i->second, levels); @@ -2028,22 +2022,6 @@ void monster::apply_enchantment(const mon_enchant &me) break; - case ENCH_BUILDING_CHARGE: - ASSERT(type == MONS_SHOCK_SERPENT); - - if (decay_enchantment(en)) - break; - - // Announcing at 4, since it is about to increment and hit its cap of - // 5 and this prevents this message from being spammed - if (number == 4) - { - simple_monster_message(this, " bristles with a violent electric nimbus!", - MSGCH_MONSTER_ENCHANT); - } - number = min((int)number + 1, 5); - break; - case ENCH_GRAND_AVATAR: if (!me.agent() || !me.agent()->alive()) del_ench(ENCH_GRAND_AVATAR, true, false); @@ -2196,7 +2174,11 @@ static const char *enchant_names[] = "awaken vines", "control_winds", "wind_aided", "summon_capped", "toxic_radiance", "grasping_roots_source", "grasping_roots", "iood_charged", "fire_vuln", "tornado_cooldown", "siren_song", - "barbs", "building_charge", "poison_vuln", "icemail", "agile", + "barbs", +#if TAG_MAJOR_VERSION == 34 + "building_charge", +#endif + "poison_vuln", "icemail", "agile", "frozen", "ephemeral_infusion", "black_mark", "grand_avatar", "sap magic", "shroud", "buggy", }; |