As their MR will be unachievably high no matter what, their "resist value" instead depends on your Invocations skill. Change calculation of power, so high values are easier to reach, to a maximum of 50.
Also add special casing for neutral monsters so they no longer pretend not to have noticed you.
Oh, and I found a problem concerning holy beings: Now that the player can actually meet hostile holy monsters the good gods reaction at killing one of them needs to be changed accordingly. We cannot simply restrict it to friendly holy beings as, once hit, they won't be friendly anymore. Instead we'll have to use the CREATED_FRIENDLY flag that already takes care of not getting any xp for any being that used to be friendly.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3427 c06c8d41-db1a-0410-9941-cceddc491573
N5XD5IAOMEDF37AXEBALHFINB4H527T6YNTCHN5KKO6YHXAP5PNQC
JESCEQPAFC23D6BUZMBOB4M54XT3GQZJYT7NCJ556LEUCHRER3SQC
G4TVXOLIF5X2MWV7I4UPT3MSQHRMGME6QRIIFAQ64C45JGYK7SIAC
HODV46TCH5AGI42Z5JKVDX4VCRVQCNREJUL6W3TUJK6S77SXQNLQC
J6APXOT4QOGQFONWB7G546VTVF6QG42HVOROMHF7YBDJPR4K26OAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
UZ6N6HOUPGVSPC5NQROEEDWMEGJA5XUWUY2AKH5QG65AZ25PVXDAC
X5WLJCJVW55SXZVP7IKP7ADCJIGNKN4PKAXFECVR6TNK7XSMZR7QC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
BNTPYSO6ECZ76CHHLDP3ASSPDSEUH4Y3E3LETKNXVWAWJRFL3YEQC
QYQKV4R47PTERXVFQNNWWQVICGSOMBHW6WM5TAZAKLIYOLLPUAJAC
23PFLB2E4QHL5SF3Q2YV5FXRH6MFHENEU2ACVC572ZCYDXCBZVQAC
bool isSmart = (mons_intel(mon->type) > I_ANIMAL);
bool isScared = mon->has_ench(ENCH_FEAR);
bool isMobile = !mons_is_stationary(mon);
bool isSmart = (mons_intel(mon->type) > I_ANIMAL);
bool isScared = mon->has_ench(ENCH_FEAR);
bool isMobile = !mons_is_stationary(mon);
const int resist = mons_resist_magic(mons);
int resist;
const int holiness = mons_holiness(mons);
if (holiness == MH_HOLY)
{
resist = 7 - random2(you.skills[SK_INVOCATIONS]);
if (resist < 0)
resist = 0;
}
else
{
resist = mons_resist_magic(mons);
// much lower chances at influencing demons
if (holiness == MH_DEMONIC)
pow -= 3 + random2(5);
}
// const int pow = (you.skills[SK_INVOCATIONS] + 12) * (50 + you.piety) / 600;
// up to (60 + 33)/3 = 31
const int pow = ( 2*skill_bump(SK_INVOCATIONS) + you.piety / 6 ) / 3;
// up to (60 + 40)/2 = 50
const int pow = ( 2*skill_bump(SK_INVOCATIONS) + you.piety / 5 ) / 2;