Zin:
TSO:
Removed M_EVIL flag from a number of early monsters such as goblins and hobgoblins, and also from orcs, ogres, trolls and big kobold. Reasoning: The corresponding species are not considered evil themselves and are allowed to worship the good gods). Note that this weakens all forms of holy attacks!
Any attempt to charm evil, undead or demonic monsters will fail (no effect) for worshippers of TSO.
Like Makhleb, TSO now gets returning power (arguable) and hp from killing evil, undead and demonic monsters.
Zin's piety pool (from donations) is drained much quicker now, on average once every 5 turns.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3213 c06c8d41-db1a-0410-9941-cceddc491573
NDCVITU5R7TBEUC4FILNFRKWQGUNCJUGW5HA5KW3CQTU6AYRLYWQC
OTISLJFI6Z2UP5JH4NIKV7423BTSBQTNGHMSZWP57RPIPOH375XAC
KPDKVLAO5Y2XM22ZETGEK2JJBNMAYEPL66VOSY5ANSAFDIY6BTGAC
DK362IHKSDADMUPD35NOTKM4WESQM37KG2PNOJRV2FGELDWULYPQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
WZNB427K3EUNV3FMVXLQTM4UIHER4FIKQXWLUUXRNQC3OQ33VQYAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC
NLQNXH3SVJ52CWXEV35FSSZP32VHC4QFGN3HINF4KO5GZHZMOBKQC
C5VA63WAQRWPENIMXRPUPZLZJMC77PL2B3A77HYFWDCZU5QDG7VQC
NC7EZH4YRVHK635D4KT6JAQWPQH4DUSXZTBR7NDLAMFFDIQSU3ZAC
6PAG7GHXHIYXJPPTEK4KZQZT4CL2SJDAGTVIUDB4KK66PVSTWUMAC
5UC5TI7B6NWGIGN74QRBZKDBYUMHLM2ZO5ATXEZ6TZOGOLF3JX5QC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
QDTVLBRGHDTRUVT7I3O72K6TMOYAUSAJBZUHGOEFU2RKJNUPWZSQC
FUEEIUKGHHFPIRZCN3N753GONWAZTWQ2ZWR53IBJAAZ6FZUNGOMAC
X5WLJCJVW55SXZVP7IKP7ADCJIGNKN4PKAXFECVR6TNK7XSMZR7QC
BJPPSWEN35BG4KP3XTXPDMAJ2GAUMHXKHCNALAZ4B4OS6B3KDSUQC
simple_god_message(" accepts your kill.");
ret = true;
if (random2(level + 18) > 3)
piety_change = 1;
}
break;
case DID_KILL_MUTATOR_OR_ROTTER:
if (you.religion == GOD_ZIN)
{
if (god_hates_attacking_friend(you.religion, victim))
break;
simple_god_message(" appreciates the killing of a spawn of chaos.");
ret = true;
if (random2(level + 18) > 3)
piety_change = 1;
}
break;
}
bool is_mons_evil_demonic_or_undead(monsters *mons)
{
return (mons_holiness(mons) == MH_UNDEAD
|| mons_holiness(mons) == MH_DEMONIC
|| mons_is_evil(mons));
}
static bool is_mons_mutator_or_rotter(monsters *mons)
{
if (mons->has_ench(ENCH_GLOWING_SHAPESHIFTER, ENCH_SHAPESHIFTER))
return true;
const int attk_flavour = mons_attack_spec(mons, 0).flavour;
return (attk_flavour == AF_MUTATE || attk_flavour == AF_ROT);
if (you.religion == GOD_SHINING_ONE
&& is_mons_evil_demonic_or_undead(monster)
&& (!player_under_penance() && random2(you.piety) >= 30))
{
monsters *mon = &menv[i];
if (mon->hit_points < mon->max_hit_points)
{
simple_monster_message(mon, " looks healthier.");
mon->hit_points += 1 + random2(monster->hit_dice / 4);
if (mon->hit_points > mon->max_hit_points)
mon->hit_points = mon->max_hit_points;
}
}