Oh, is that it? Thanks a lot.
// Classes an invoker can take
if(GetLevelByClass(CLASS_TYPE_MAESTER , oPC) ||
GetLevelByClass(CLASS_TYPE_ACOLYTE , oPC) ||
GetLevelByClass(CLASS_TYPE_ENLIGHTENEDFIST , oPC) ||
GetLevelByClass(CLASS_TYPE_DISCIPLE_OF_ASMODEUS, oPC)) ||
GetLevelByClass(CLASS_TYPE_OCULAR , oPC)) ||
GetLevelByClass(CLASS_TYPE_SOUL_EATER , oPC)) ||
GetLevelByClass(CLASS_TYPE_JUDICATOR , oPC)) ||
GetLevelByClass(CLASS_TYPE_DISC_BAALZEBUL , oPC)) ||
GetLevelByClass(CLASS_TYPE_DISC_MEPH , oPC))
{
//Set arcane or invocation bonus caster levels
//Arcane caster first class position, take arcane
if(GetFirstArcaneClassPosition(oPC) == 1)
SetLocalInt(oPC, "INV_Caster", 1);
//Invoker first class position. take invoker
else if(GetClassByPosition(1, oPC) == CLASS_TYPE_WARLOCK || GetClassByPosition(1, oPC) == CLASS_TYPE_DRAGONFIRE_ADEPT)
SetLocalInt(oPC, "INV_Caster", 2);
//Non arcane first class position, invoker second. Take invoker
else if(GetFirstArcaneClassPosition(oPC) ==0 && (GetClassByPosition(2, oPC) == CLASS_TYPE_WARLOCK || GetClassByPosition(2, oPC) == CLASS_TYPE_DRAGONFIRE_ADEPT))
SetLocalInt(oPC, "INV_Caster", 2);
//last cas would be Non-invoker first class position, arcane second position. take arcane.
else
SetLocalInt(oPC, "INV_Caster", 1);
}
}
So this should be the last missing part? I'll try in a moment.