summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/godwrath.cc62
-rw-r--r--crawl-ref/source/spells2.cc10
-rw-r--r--crawl-ref/source/spells2.h4
3 files changed, 14 insertions, 62 deletions
diff --git a/crawl-ref/source/godwrath.cc b/crawl-ref/source/godwrath.cc
index 42a5e63a0a..a712ce0fea 100644
--- a/crawl-ref/source/godwrath.cc
+++ b/crawl-ref/source/godwrath.cc
@@ -172,64 +172,20 @@ static void _zin_remove_good_mutations()
static bool _zin_retribution()
{
- // surveillance/creeping doom theme
+ // preaching/creeping doom theme
const god_type god = GOD_ZIN;
- int punishment = random2(10);
+ int punishment = random2(8);
// If not mutated, do something else instead.
if (punishment > 7 && !how_mutated())
- punishment = random2(8);
+ punishment = random2(6);
switch (punishment)
{
case 0:
case 1:
- case 2: // summon eyes or pestilence (30%)
- if (random2(you.experience_level) > 7 && !one_chance_in(5))
- {
- const monster_type eyes[] = {
- MONS_GIANT_EYEBALL, MONS_EYE_OF_DRAINING,
- MONS_EYE_OF_DEVASTATION, MONS_GOLDEN_EYE, MONS_GREAT_ORB_OF_EYES
- };
-
- int how_many = 1 + (you.experience_level / 10) + random2(3);
- bool success = false;
-
- for (; how_many > 0; --how_many)
- {
- const monster_type mon = RANDOM_ELEMENT(eyes);
-
- coord_def mon_pos;
- if (!monster_random_space(mon, mon_pos))
- mon_pos = you.pos();
-
- if (mons_place(
- mgen_data::hostile_at(mon, "the power of Zin",
- true, 0, 0, mon_pos, 0, god)) != -1)
- {
- success = true;
- }
- }
-
- if (success)
- god_speaks(god, "You feel Zin's eyes turn towards you...");
- else
- {
- simple_god_message("'s eyes are elsewhere at the moment.",
- god);
- }
- }
- else
- {
- bool success = cast_summon_swarm(you.experience_level * 20,
- god, true, true);
- simple_god_message(success ? " sends a plague down upon you!"
- : "'s plague fails to arrive.", god);
- }
- break;
- case 3:
- case 4: // recital (20%)
+ case 2: // recital
simple_god_message(" recites the Axioms of Law to you!", god);
switch (random2(3))
{
@@ -244,17 +200,17 @@ static bool _zin_retribution()
break;
}
break;
- case 5:
- case 6: // famine (20%)
+ case 3:
+ case 4: // famine
simple_god_message(" sends a famine down upon you!", god);
make_hungry(you.hunger / 2, false);
break;
- case 7: // noisiness (10%)
+ case 5: // noisiness
simple_god_message(" booms out: \"Turn to the light! REPENT!\"", god);
noisy(25, you.pos()); // same as scroll of noise
break;
- case 8:
- case 9: // remove good mutations (20%)
+ case 6:
+ case 7: // remove good mutations
_zin_remove_good_mutations();
break;
}
diff --git a/crawl-ref/source/spells2.cc b/crawl-ref/source/spells2.cc
index ab3c2d378f..52b6ac829d 100644
--- a/crawl-ref/source/spells2.cc
+++ b/crawl-ref/source/spells2.cc
@@ -1208,12 +1208,10 @@ bool cast_summon_scorpions(int pow, god_type god)
// Creates a mixed swarm of typical swarming animals.
// Number, duration and friendlinesss depend on spell power.
-bool cast_summon_swarm(int pow, god_type god,
- bool force_hostile,
- bool permanent)
+bool cast_summon_swarm(int pow, god_type god)
{
bool success = false;
- const int dur = permanent ? 0 : std::min(2 + (random2(pow) / 4), 6);
+ const int dur = std::min(2 + (random2(pow) / 4), 6);
const int how_many = stepdown_value(2 + random2(pow)/10 + random2(pow)/25,
2, 2, 6, 8);
@@ -1228,12 +1226,12 @@ bool cast_summon_swarm(int pow, god_type god,
};
const monster_type mon = RANDOM_ELEMENT(swarmers);
- const bool friendly = force_hostile ? false : (random2(pow) > 7);
+ const bool friendly = (random2(pow) > 7);
if (create_monster(
mgen_data(mon,
friendly ? BEH_FRIENDLY : BEH_HOSTILE, &you,
- dur, !permanent ? SPELL_SUMMON_SWARM : 0,
+ dur, SPELL_SUMMON_SWARM : 0,
you.pos(),
MHITYOU,
0, god)) != -1)
diff --git a/crawl-ref/source/spells2.h b/crawl-ref/source/spells2.h
index efa011c3ba..c85b9ea605 100644
--- a/crawl-ref/source/spells2.h
+++ b/crawl-ref/source/spells2.h
@@ -36,9 +36,7 @@ bool cast_summon_butterflies(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_small_mammals(int pow, god_type god = GOD_NO_GOD);
bool cast_sticks_to_snakes(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_scorpions(int pow, god_type god = GOD_NO_GOD);
-bool cast_summon_swarm(int pow, god_type god = GOD_NO_GOD,
- bool force_hostile = false,
- bool permanent = false);
+bool cast_summon_swarm(int pow, god_type god = GOD_NO_GOD);
bool cast_call_canine_familiar(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_elemental(int pow, god_type god = GOD_NO_GOD,
monster_type restricted_type = MONS_NO_MONSTER,