diff options
Diffstat (limited to 'crawl-ref/source/religion.cc')
-rw-r--r-- | crawl-ref/source/religion.cc | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc index ae6c6c1f4b..25407604c8 100644 --- a/crawl-ref/source/religion.cc +++ b/crawl-ref/source/religion.cc @@ -2812,6 +2812,21 @@ bool did_god_conduct(conduct_type thing_done, int level, bool known, case DID_FRIEND_DIED: switch (you.religion) { + + case GOD_FEDHAS: + // Toadstools are exempt from this conduct + if (victim && fedhas_protects(victim) + && victim->mons_species() != MONS_TOADSTOOL) + { + // level is (1 + monsterHD/2) for this conduct, + // trying a fixed cost since plant HD aren't that + // meaningful. -cao + piety_change = -1; + retval = true; + break; + } + break; + case GOD_ELYVILON: // healer god cares more about this // Converted allies (marked as TSOites) can be martyrs. if (victim && victim->god == GOD_SHINING_ONE) @@ -2829,17 +2844,6 @@ bool did_god_conduct(conduct_type thing_done, int level, bool known, break; // fall through - case GOD_FEDHAS: - // double-check god because of fall-throughs from other gods - // Toadstools are an exception for this conduct - if (you.religion == GOD_FEDHAS && (!victim - || !fedhas_protects(victim) - || victim->mons_species() == MONS_TOADSTOOL)) - { - break; - } - // fall through - case GOD_OKAWARU: piety_change = -level; retval = true; |