Just took him to Doom near the sorceress and Dispel Evil seems to do nothing on the Zombies. Not sure what else to test it with.Not trying to side track this, but what happens when he casts dispel evil? With undead around?
According to the spell description yea, only on summons. Which is why him casting it 60% of the time sucks so much. No check if there is summoned even near him.Doesn't dispel evil only work on summons? Like when the Dark Father summons revenants?
I don't know how it works here, but on older iterations of RunUO/preServUO code, dispel evil makes rotting corpses/undead run away really quickly. I don't know if that's just on the undead summoned via unholy bones or all undead. I also don't know if it's OSI accurate... Might be a separate bug report if it's working incorrectly. gogogo kalel
I will farm negative karma on my pet and get back to you on this. It also only works on certain mobs.Now my understanding is chiv spell powers work with your lvl of karma. So not sure if pets gain karma and that might explain stuff not running away when dispel evil is cast.
Chivalry - UOGuide, the Ultima Online Encyclopedia
www.uoguide.com
Post automatically merged:
I know no we don't always trust uo guide
Maybe that is why my pet did crap, as I am a necro.I will farm negative karma on my pet and get back to you on this. It also only works on certain mobs.
foreach (var m in AcquireIndirectTargets(Caster.Location, 8).OfType<Mobile>())
{
BaseCreature bc = m as BaseCreature;
if (bc != null)
{
bool dispellable = bc.Summoned && !bc.IsAnimatedDead;
if (dispellable)
{
double dispelChance = (50.0 + ((100 * (chiv - bc.GetDispelDifficulty())) / (bc.DispelFocus * 2))) / 100;
dispelChance *= dispelSkill / 100.0;
if (dispelChance > Utility.RandomDouble())
{
Effects.SendLocationParticles(EffectItem.Create(m.Location, m.Map, EffectItem.DefaultDuration), 0x3728, 8, 20, 5042);
Effects.PlaySound(m, m.Map, 0x201);
m.Delete();
continue;
}
}
bool evil = !bc.Controlled && bc.Karma < 0;
if (evil)
{
// TODO: Is this right?
double fleeChance = (100 - Math.Sqrt(m.Fame / 2)) * chiv * dispelSkill;
fleeChance /= 1000000;
if (fleeChance > Utility.RandomDouble())
{
// guide says 2 seconds, it's longer
bc.BeginFlee(TimeSpan.FromSeconds(30.0));
}
}
}