Essentaily I have created an ability which calls a scripted effect, below is the script.
Scriptname ProcEffect extends activemagiceffectactor property selfRef auto hiddenfloat property HPthreshold = 0.90 auto{Below this HP we have a chance of the special effects. }float property effectChance = 0.80 auto{effect may happen when HP is below this level. }spell property FortifyEffect autoEVENT OnEffectStart(Actor Target, Actor Caster)selfRef = casterendEVENTEVENT onHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)if (selfRef.getActorValuePercentage("Health") < HPthreshold) && \ !(selfRef.isDead()) float dice = utility.RandomFloat(0,1) if dice <= effectChance debug.messagebox("test"+selfRef) FortifyEffect.cast(selfRef,selfRef) endifendifendEVENTThis script appears to work, with the debug text being displayed on hit under the corect circumstances. On hit it outputs "test
yet no spell is cast
(I have tried linking the fortifyeffect to all manner of spells from summon familiar to altar of zenithar but no spell is ever cast)The only thing I can think is that the actor being fed back is not the player, because the ability isnt really cast (its constant effect).
Anyone have any input on this? It really has me stumped!

Ironically, it was to do with the 2ndary problem! I had initialy had the property as a default value on the first attempt, and this "value" persisted over the save I was using, meaning all other attempts afterwards with actual spells assigned didnt update properly!