Sorry for the additional thread. An important change is needed for this recent fix.
In {attack.cpp} function TryCriticalHit()
Code:
if(defender && defender->GetBodyType() == BT_Undead || defender->GetBodyType() == BT_SummonedUndead || defender->GetBodyType() == BT_Vampire){
switch(GetAA(aaSlayUndead)){
case 1:
critMod += 33;
break;
case 2:
critMod += 66;
break;
case 3:
critMod += 100;
break;
}
if (GetAA(aaSlayUndead) > 0)
slayUndeadCrit = true;
}