git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@615 c06c8d41-db1a-0410-9941-cceddc491573
GMYJ4XEEKZASQWMXQZUME5VYCDBRODO7UJJUEZSVZBMSFVBFLK2AC }// return GOD_NO_GOD if it isn't a god ability, otherwise return// the index of the god.static int is_god_ability(int abil){if ( abil == ABIL_NON_ABILITY )return GOD_NO_GOD;for ( int i = 0; i < MAX_NUM_GODS; ++i )for ( int j = 0; j < MAX_GOD_ABILITIES; ++j )if ( god_abilities[i][j] == abil )return i;return GOD_NO_GOD;
int num_abil = 0;int abil_start = ABIL_NON_ABILITY;switch (you.religion){case GOD_ZIN:abil_start = ABIL_ZIN_REPEL_UNDEAD;num_abil = 5;break;case GOD_SHINING_ONE:abil_start = ABIL_TSO_REPEL_UNDEAD;num_abil = 5;break;case GOD_KIKUBAAQUDGHA:abil_start = ABIL_KIKU_RECALL_UNDEAD_SLAVES;num_abil = 3;break;
case GOD_YREDELEMNUL:abil_start = ABIL_YRED_ANIMATE_CORPSE;num_abil = 5;break;case GOD_OKAWARU:abil_start = ABIL_OKAWARU_MIGHT;num_abil = 3;break;case GOD_MAKHLEB:abil_start = ABIL_MAKHLEB_MINOR_DESTRUCTION;num_abil = 4;break;case GOD_SIF_MUNA:abil_start = ABIL_SIF_MUNA_CHANNEL_ENERGY;num_abil = 2;break;case GOD_TROG:abil_start = ABIL_TROG_BERSERK;num_abil = 3;break;case GOD_ELYVILON:abil_start = ABIL_ELYVILON_LESSER_HEALING;num_abil = 5;break;case GOD_VEHUMET:case GOD_NEMELEX_XOBEH:case GOD_XOM:default:break;}// clear out other god invocations:
// clear out other god invocations
const int abil = you.ability_letter_table[i];if ((abil >= ABIL_ZIN_REPEL_UNDEAD // is a god ability&& abil <= ABIL_ELYVILON_GREATER_HEALING)&& (num_abil == 0 // current god does have abilities|| abil < abil_start // not one of current god's abilities|| abil >= abil_start + num_abil)){
const int god = is_god_ability(you.ability_letter_table[i]);if ( god != GOD_NO_GOD && god != you.religion )