Hi 4760, thanks for the reply.
The above part is from the hb script. It shouldn't matter nonetheless. All it does is check if somebody removed the effect (death), and reapply it. It works fine, I just posted it because it's the only thing that got changed from the OC scripts. Anyway, I could have elaborated. This is the OnExit which didn't work (removing the effect).
// Copy of the OC duskwood script to apply spell failure.
//
void DWRemoveAntiMag(object oCreature)
{
effect eEffect = GetFirstEffect(oCreature);
while (GetIsEffectValid(eEffect) == TRUE)
{
if (GetEffectSubType(eEffect) == SUBTYPE_SUPERNATURAL)
{
if (GetEffectType(eEffect) == EFFECT_TYPE_SPELL_FAILURE)
{
RemoveEffect(oCreature, eEffect);
}
}
eEffect = GetNextEffect(oCreature);
}
}
void main()
{
object oCreature = GetExitingObject();
if (GetObjectType(oCreature) == OBJECT_TYPE_CREATURE)
{
DWRemoveAntiMag(oCreature);
}
}
Something that might help the situation. The exiting of the area happens through a world map transition, which is brought by the use of an item.
Use the item
Bring up the world map gui
Travel.