diff options
author | gammafunk <gammafunk@gmail.com> | 2014-03-05 22:59:38 -0600 |
---|---|---|
committer | gammafunk <gammafunk@gmail.com> | 2014-03-06 12:27:43 -0600 |
commit | 6f24510ddd6b1be80c396e74d537a9a915535ebc (patch) | |
tree | 769abe6d2e8ef8f0ee7006d4aea03be4e38e6203 /crawl-ref/source/hiscores.cc | |
parent | 2f0dee958f5c89741639812ce72daf06e96ad4f0 (diff) | |
download | crawl-ref-6f24510ddd6b1be80c396e74d537a9a915535ebc.tar.gz crawl-ref-6f24510ddd6b1be80c396e74d537a9a915535ebc.zip |
Octopode Crusher: An octopode warrior that throws your weight around.
This a late-game octopode monster with a new throw ability as well as
throw icicle. It's meant to be a bit tougher than the late-shoals
merfolk it can spawn with in the Depths water population (it replaces
ordinary octopodes there).
New ability: Throw. A 2 in 5 chance to hurl a victim that's currently
being constricted by the crusher for undodgable, AC-checking damage,
preferably "into" (i.e. adjacent to) a solid feature for 50% increased
damage. The base throw damage is currently HD * 3. The landing site
must be at distance of at least 4 from the thrower, is always
habitable for the victim, and the feature site must be visible to the
thrower if the damage increase is to apply. If no landing site
adjacent to a solid feature can be found, any habitable landing site
in LOS is used, but then only the base damage applies.
Diffstat (limited to 'crawl-ref/source/hiscores.cc')
-rw-r--r-- | crawl-ref/source/hiscores.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/crawl-ref/source/hiscores.cc b/crawl-ref/source/hiscores.cc index 0072ae8ccd..ccd0141c3b 100644 --- a/crawl-ref/source/hiscores.cc +++ b/crawl-ref/source/hiscores.cc @@ -621,7 +621,7 @@ static const char *kill_method_names[] = "falling_down_stairs", "acid", "curare", "beogh_smiting", "divine_wrath", "bounce", "reflect", "self_aimed", "falling_through_gate", "disintegration", "headbutt", "rolling", - "mirror_damage", "spines", "frailty", "barbs", + "mirror_damage", "spines", "frailty", "barbs", "being_thrown", }; static const char *_kill_method_name(kill_method_type kmt) @@ -1178,7 +1178,8 @@ void scorefile_entry::init_death_cause(int dam, int dsrc, || death_type == KILLED_BY_REFLECTION || death_type == KILLED_BY_ROLLING || death_type == KILLED_BY_SPINES - || death_type == KILLED_BY_WATER) + || death_type == KILLED_BY_WATER + || death_type == KILLED_BY_BEING_THROWN) && !invalid_monster_index(death_source) && menv[death_source].type != MONS_NO_MONSTER) { @@ -2473,6 +2474,14 @@ string scorefile_entry::death_description(death_desc_verbosity verbosity) const desc += terse ? "barbs" : "Succumbed to a manticore's barbed spikes"; break; + case KILLED_BY_BEING_THROWN: + if (terse) + desc += apostrophise(death_source_desc()) + " throw"; + else + desc += "Thrown by " + death_source_desc(); + needs_damage = true; + break; + default: desc += terse? "program bug" : "Nibbled to death by software bugs"; break; |