summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-ench.cc
diff options
context:
space:
mode:
authorDracoOmega <draco_omega@live.com>2014-03-09 20:47:05 -0230
committerDracoOmega <draco_omega@live.com>2014-03-11 20:07:54 -0230
commit03863c37a7725b2b85bdbef2d61d778142b9a2c8 (patch)
treebeea3661b9022ff88d273ebe2a26957c76bd0849 /crawl-ref/source/mon-ench.cc
parentda5242858d54221824926767f315f012054519e9 (diff)
downloadcrawl-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.cc30
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",
};