summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/ability.cc
diff options
context:
space:
mode:
authorSteve Melenchuk <smelenchuk@gmail.com>2014-05-10 19:27:10 -0600
committerSteve Melenchuk <smelenchuk@gmail.com>2014-05-10 21:38:07 -0600
commitd54608118996fe6861b0eaf66f1d4f0ca039359f (patch)
treea0ecacc9360879f820d73cf5af5d8c7791d04df7 /crawl-ref/source/ability.cc
parent031a9a43fa11401b1d938bf9fa0d47109a02750f (diff)
downloadcrawl-ref-d54608118996fe6861b0eaf66f1d4f0ca039359f.tar.gz
crawl-ref-d54608118996fe6861b0eaf66f1d4f0ca039359f.zip
Revert "Remove silver statues."
Don't worry; the whole point of this set of commits is to fix the problems with them and their companion statues. This partially reverts commit b4c3b502143418fb4fdb3faaa29a2ef6e9eabce5. This reverts commit e1156a91a6a0b1bb26c7e7ee63710c3eefbd2739.
Diffstat (limited to 'crawl-ref/source/ability.cc')
-rw-r--r--crawl-ref/source/ability.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/crawl-ref/source/ability.cc b/crawl-ref/source/ability.cc
index df49f33a4b..7e98ed7065 100644
--- a/crawl-ref/source/ability.cc
+++ b/crawl-ref/source/ability.cc
@@ -440,6 +440,7 @@ static const ability_def Ability_List[] =
{ ABIL_MAKE_OKLOB_PLANT, "Make oklob plant", 0, 0, 0, 0, 250, ABFLAG_ZOTDEF},
{ ABIL_MAKE_ICE_STATUE, "Make ice statue", 0, 0, 0, 0, 2000, ABFLAG_ZOTDEF},
{ ABIL_MAKE_OCS, "Make crystal statue", 0, 0, 0, 0, 2000, ABFLAG_ZOTDEF},
+ { ABIL_MAKE_SILVER_STATUE, "Make silver statue", 0, 0, 0, 0, 3000, ABFLAG_ZOTDEF},
{ ABIL_MAKE_CURSE_SKULL, "Make curse skull",
0, 0, 600, 0, 10000, ABFLAG_ZOTDEF|ABFLAG_NECRO_MISCAST_MINOR},
{ ABIL_MAKE_TELEPORT, "Zot-teleport", 0, 0, 0, 0, 2, ABFLAG_ZOTDEF},
@@ -530,6 +531,7 @@ static monster_type _monster_for_ability(const ability_def& abil)
case ABIL_MAKE_LIGHTNING_SPIRE: mtyp = MONS_LIGHTNING_SPIRE; break;
case ABIL_MAKE_ICE_STATUE: mtyp = MONS_ICE_STATUE; break;
case ABIL_MAKE_OCS: mtyp = MONS_ORANGE_STATUE; break;
+ case ABIL_MAKE_SILVER_STATUE: mtyp = MONS_SILVER_STATUE; break;
case ABIL_MAKE_CURSE_SKULL: mtyp = MONS_CURSE_SKULL; break;
default:
mprf("DEBUG: NO RELEVANT MONSTER FOR %d", abil.ability);
@@ -554,6 +556,8 @@ static string _zd_mons_description_for_ability(const ability_def &abil)
return "Water vapor collects and crystallises into an icy humanoid shape.";
case ABIL_MAKE_OCS:
return "Quartz juts from the ground and forms a humanoid shape. You smell citrus.";
+ case ABIL_MAKE_SILVER_STATUE:
+ return "Droplets of mercury fall from the ceiling and turn to silver, congealing into a humanoid shape.";
case ABIL_MAKE_CURSE_SKULL:
return "You sculpt a terrible being from the primitive principle of evil.";
case ABIL_MAKE_LIGHTNING_SPIRE:
@@ -634,6 +638,7 @@ static int _zp_cost(const ability_def& abil)
break;
// Monster type 3: least generous
+ case ABIL_MAKE_SILVER_STATUE:
case ABIL_MAKE_CURSE_SKULL:
scale20 = _count_relevant_monsters(abil); // scale immediately
break;
@@ -962,6 +967,7 @@ talent get_talent(ability_type ability, bool check_confused)
case ABIL_MAKE_DART_TRAP:
case ABIL_MAKE_ICE_STATUE:
case ABIL_MAKE_OCS:
+ case ABIL_MAKE_SILVER_STATUE:
case ABIL_MAKE_CURSE_SKULL:
case ABIL_MAKE_TELEPORT:
case ABIL_MAKE_ARROW_TRAP:
@@ -1925,6 +1931,7 @@ static bool _do_ability(const ability_def& abil)
case ABIL_MAKE_BURNING_BUSH:
case ABIL_MAKE_ICE_STATUE:
case ABIL_MAKE_OCS:
+ case ABIL_MAKE_SILVER_STATUE:
case ABIL_MAKE_CURSE_SKULL:
case ABIL_MAKE_LIGHTNING_SPIRE:
if (!create_zotdef_ally(_monster_for_ability(abil),
@@ -3343,6 +3350,8 @@ vector<talent> your_talents(bool check_confused, bool include_unusable)
_add_talent(talents, ABIL_MAKE_WATER, check_confused);
if (you.experience_level >= 19)
_add_talent(talents, ABIL_MAKE_LIGHTNING_SPIRE, check_confused);
+ if (you.experience_level >= 20)
+ _add_talent(talents, ABIL_MAKE_SILVER_STATUE, check_confused);
// gain bazaar and gold together
if (you.experience_level >= 21)
_add_talent(talents, ABIL_MAKE_BAZAAR, check_confused);