summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/abl-show.cc
diff options
context:
space:
mode:
authorSteven Noonan <steven@uplinklabs.net>2009-10-20 16:16:59 -0700
committerSteven Noonan <steven@uplinklabs.net>2009-10-20 16:46:47 -0700
commit4862ac7ba83dc160fdc3f5f4639e79d24eb88630 (patch)
tree76b2c4954424aed30bf99b9957ce8026d4fecfbc /crawl-ref/source/abl-show.cc
parentd6ea58e6f13e85f4121ab488c09721f6d388a977 (diff)
downloadcrawl-ref-4862ac7ba83dc160fdc3f5f4639e79d24eb88630.tar.gz
crawl-ref-4862ac7ba83dc160fdc3f5f4639e79d24eb88630.zip
gods: added "Chronos", the slow god
Signed-off-by: Brendan Hickey <brendan@bhickey.net> Acked-by: Steven Noonan <steven@uplinklabs.net>
Diffstat (limited to 'crawl-ref/source/abl-show.cc')
-rw-r--r--crawl-ref/source/abl-show.cc53
1 files changed, 53 insertions, 0 deletions
diff --git a/crawl-ref/source/abl-show.cc b/crawl-ref/source/abl-show.cc
index 7490f9b65d..822b9dcc46 100644
--- a/crawl-ref/source/abl-show.cc
+++ b/crawl-ref/source/abl-show.cc
@@ -147,6 +147,8 @@ ability_type god_abilities[MAX_NUM_GODS][MAX_GOD_ABILITIES] =
// Feawn
{ABIL_FEAWN_SUNLIGHT, ABIL_FEAWN_PLANT_RING, ABIL_FEAWN_RAIN,
ABIL_FEAWN_SPAWN_SPORES, ABIL_FEAWN_EVOLUTION },
+ // Chronos
+ { ABIL_CHRONOS_PONDEROUSIFY, ABIL_CHRONOS_TIME_STEP, ABIL_CHRONOS_TIME_BEND, ABIL_CHRONOS_SLOUCH },
};
// The description screen was way out of date with the actual costs.
@@ -334,6 +336,11 @@ static const ability_def Ability_List[] =
{ ABIL_FEAWN_SPAWN_SPORES, "Reproduction", 4, 0, 50, 2, ABFLAG_NONE},
{ ABIL_FEAWN_EVOLUTION, "Evolution", 4, 0, 0, 2, ABFLAG_FRUIT},
+ // Chronos
+ { ABIL_CHRONOS_PONDEROUSIFY, "Make Ponderous", 1, 0, 0, 0, ABFLAG_NONE },
+ { ABIL_CHRONOS_TIME_STEP, "Step From Time", 1, 0, 0, 0, ABFLAG_NONE },
+ { ABIL_CHRONOS_TIME_BEND, "Bend Time", 1, 0, 0, 0, ABFLAG_NONE },
+ { ABIL_CHRONOS_SLOUCH, "Ruinous Time", 1, 0, 0, 0, ABFLAG_NONE },
{ ABIL_HARM_PROTECTION, "Protection From Harm", 0, 0, 0, 0, ABFLAG_NONE },
{ ABIL_HARM_PROTECTION_II, "Reliable Protection From Harm",
@@ -809,6 +816,15 @@ static talent _get_talent(ability_type ability, bool check_confused)
failure = 50 - (you.piety / 20) - (5 * you.skills[SK_EVOCATIONS]);
break;
+ case ABIL_CHRONOS_PONDEROUSIFY:
+ case ABIL_CHRONOS_TIME_STEP:
+ case ABIL_CHRONOS_TIME_BEND:
+ case ABIL_CHRONOS_SLOUCH:
+ invoc = true;
+ perfect = true;
+ failure = 0;
+ break;
+
case ABIL_RENOUNCE_RELIGION:
invoc = true;
perfect = true;
@@ -2073,6 +2089,43 @@ static bool _do_ability(const ability_def& abil)
// Activated via prayer elsewhere.
break;
+ case ABIL_CHRONOS_PONDEROUSIFY:
+ mprf(MSGCH_DIAGNOSTICS, "Making something ponderous.");
+ ponderousify_armour();
+ break;
+
+ case ABIL_CHRONOS_TIME_STEP:
+ mpr("You step out of the flow of time.");
+ break;
+
+ case ABIL_CHRONOS_TIME_BEND:
+ {
+ mpr("The flow of time bends around you.");
+
+ // TODO perhaps make power dependent on invocation?
+ // if so, this spell must train invocations too
+ // currently, has one-size-fits-all power level and duration,
+ // as if a wand of slow monster was zapped at each target
+ for ( adjacent_iterator ai; ai; ++ai )
+ {
+ // Tile occupied by monster
+ monsters* mon = monster_at(*ai);
+ if(mon != NULL) {
+ mprf(MSGCH_GOD, "%s rebukes %s.",
+ god_name(you.religion).c_str(),
+ mon->name(DESC_NOCAP_THE).c_str());
+ do_slow_monster(mon, KC_YOU);
+ }
+ }
+ break;
+ }
+ case ABIL_CHRONOS_SLOUCH:
+ mpr("You can feel time thicken.");
+ mprf(MSGCH_GOD, "your speed is %d", player_movement_speed());
+ chronos_slouch(0); //TODO make pow not a dummy value.
+ break;
+
+
case ABIL_RENOUNCE_RELIGION:
if (yesno("Really renounce your faith, foregoing its fabulous benefits?",
false, 'n')