From 4862ac7ba83dc160fdc3f5f4639e79d24eb88630 Mon Sep 17 00:00:00 2001 From: Steven Noonan Date: Tue, 20 Oct 2009 16:16:59 -0700 Subject: gods: added "Chronos", the slow god Signed-off-by: Brendan Hickey Acked-by: Steven Noonan --- crawl-ref/source/abl-show.cc | 53 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'crawl-ref/source/abl-show.cc') 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') -- cgit v1.2.3-54-g00ecf