summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/godconduct.cc
diff options
context:
space:
mode:
authorSteve Melenchuk <smelenchuk@gmail.com>2014-01-11 21:12:43 -0700
committerSteve Melenchuk <smelenchuk@gmail.com>2014-01-11 21:12:43 -0700
commitaadba846f2ac6bab75305da0f50117a3bdb7002f (patch)
tree62e7156cb3a04ce57422bb037bad7f2073b90608 /crawl-ref/source/godconduct.cc
parentde8330d93d690a9aca86435c39879da7dca53922 (diff)
downloadcrawl-ref-aadba846f2ac6bab75305da0f50117a3bdb7002f.tar.gz
crawl-ref-aadba846f2ac6bab75305da0f50117a3bdb7002f.zip
Dithmengos hates the light.
Dithmengos hates items, spells, and monsters that cause illumination, and particularly appreciates kills of the latter. This hatred extends to most forms of fire (enemy of the darkness since ancient times). There's a few questionable things in here which could stand to be looked at (I'm including items that only glow through their description, most notably freezing-brand melee weapons).
Diffstat (limited to 'crawl-ref/source/godconduct.cc')
-rw-r--r--crawl-ref/source/godconduct.cc42
1 files changed, 41 insertions, 1 deletions
diff --git a/crawl-ref/source/godconduct.cc b/crawl-ref/source/godconduct.cc
index 5cb40cb653..0ca31fb958 100644
--- a/crawl-ref/source/godconduct.cc
+++ b/crawl-ref/source/godconduct.cc
@@ -831,8 +831,11 @@ bool did_god_conduct(conduct_type thing_done, int level, bool known,
}
break;
- case DID_CAUSE_GLOWING:
case DID_DELIBERATE_MUTATING:
+ if (!you_worship(GOD_ZIN))
+ break;
+ // deliberate fall-through
+ case DID_CAUSE_GLOWING:
if (you_worship(GOD_ZIN))
{
if (!known && thing_done != DID_CAUSE_GLOWING)
@@ -862,6 +865,13 @@ bool did_god_conduct(conduct_type thing_done, int level, bool known,
piety_change = -level;
retval = true;
}
+ if (you_worship(GOD_DITHMENGOS))
+ {
+ simple_god_message(" does not appreciate your lighting up"
+ " the environment like this.");
+ piety_change = -level;
+ retval = true;
+ }
break;
// level depends on intelligence: normal -> 1, high -> 2
@@ -980,6 +990,35 @@ bool did_god_conduct(conduct_type thing_done, int level, bool known,
}
break;
+ case DID_ILLUMINATE:
+ if (you_worship(GOD_DITHMENGOS))
+ {
+ if (!known)
+ {
+ simple_god_message(" forgives your accidental act of "
+ " illumination, just this once.");
+ break;
+ }
+ simple_god_message(" does not appreciate your illumination!");
+ piety_change = -level;
+ if (level > 5)
+ penance = level - 5;
+ retval = true;
+ }
+ break;
+
+ case DID_KILL_ILLUMINATING:
+ if (you_worship(GOD_DITHMENGOS)
+ && !god_hates_attacking_friend(you.religion, victim))
+ {
+ simple_god_message(" appreciates your extinguishing a source "
+ "of illumination.");
+ retval = true;
+ piety_denom = level + 10;
+ piety_change = piety_denom - 6;
+ }
+ break;
+
case DID_NOTHING:
case NUM_CONDUCTS:
break;
@@ -1041,6 +1080,7 @@ bool did_god_conduct(conduct_type thing_done, int level, bool known,
"Kill Artificial", "Undead Slave Kill Artificial",
"Servant Kill Artificial", "Destroy Spellbook",
"Exploration", "Desecrate Holy Remains", "Seen Monster",
+ "Illuminate", "Kill Illuminating",
};
COMPILE_CHECK(ARRAYSZ(conducts) == NUM_CONDUCTS);