OnMagicEffectApply script half working as intended

Post » Tue Aug 13, 2013 10:16 pm

So I have this script set up to make braziers extinguishable and relightable (works for other light sources too, but the main purpose is braziers). The script is attached to an activator which is linked to the lit version of the brazier as well as the light source, then linked to the unlit version of the brazier using a keyword.

I have the whole lighting/extinguishing thing working perfectly. Where things are going wrong is the ability to light them up using fire magic/shouts - which is odd as it was working fine when I first tested it. Those are now not working - I'm using the same activator as before and the same spells as before, just in bleak falls rather than a test cell.

I've reviewed my script and can't see anything wrong myself, but here it is for anyone else to check:

Spoiler

Scriptname AFKSSrelightableBrazierSCRIPT extends ObjectReference Light Property Torch01 Auto Hidden{The torch in the players inventory} Bool Property StartsLit Auto{If this is TRUE then the brazier will start lit. Default = False} Keyword Property ActivatorLever Auto{The keyword used to link the unlit reference} Bool ResetMe = True Sound Property MAGFlamesImpact Auto HiddenMagicEffect Property FireDamageConcAimed AutoMagicEffect Property FireDamageFFAimed AutoMagicEffect Property FireDamageFFAimed75 AutoMagicEffect Property FireDamageFFAimedArea AutoMagicEffect Property VoiceFireBreathEffect1 AutoMagicEffect Property VoiceFireBreathEffect2 AutoMagicEffect Property VoiceFireBreathEffect3 Auto Event OnReset()        ResetMe = True        OnCellLoad()EndEventEvent OnCellLoad()        {If the cell has reset or it's the first time entering, check if the brazier starts lit.        If it is then enable the lit reference and the light source and disable the unlit reference}        if (ResetMe == True)            ResetMe = False             if (StartsLit == TRUE)                    EnableLinkChain()                    DisableLinkChain(ActivatorLever)                    GoToState("Lit")            else                    DisableLinkChain()                    EnableLinkChain(ActivatorLever)                    GoToState("Unlit")            endif        endifEndEventState Unlit        ;Acivation        Event onActivate(ObjectReference TriggerRef)                   if TriggerRef.GetItemCount(Torch01) > 0                    EnableLinkChain()                    DisableLinkChain(ActivatorLever)                    TriggerRef.RemoveItem(Torch01) ;Removes torch from whoever triggered the fire                    int TorchPlaced = MAGFlamesImpact.Play(self) ;Plays appropriate sound                    GoToState("Lit")            endif        EndEvent        ;Spells and shouts        Event OnMagicEffectApply(Objectreference TriggerRef, MagicEffect FireEffect)                    ;Flames            if (FireEffect == FireDamageConcAimed)                EnableLinkChain()                DisableLinkChain(ActivatorLever)                GoToState("Lit")            endif                        ;Firebolt            if (FireEffect == FireDamageFFAimed)                EnableLinkChain()                DisableLinkChain(ActivatorLever)                GoToState("Lit")            endif                        ;Incinerate            if (FireEffect == FireDamageFFAimed75)                EnableLinkChain()                DisableLinkChain(ActivatorLever)                GoToState("Lit")            endif                        ;Fireball            if (FireEffect == FireDamageFFAimedArea)                EnableLinkChain()                DisableLinkChain(ActivatorLever)                GoToState("Lit")            endif                        ;Firebreath01            if (FireEffect == VoiceFireBreathEffect1)                EnableLinkChain()                DisableLinkChain(ActivatorLever)                GoToState("Lit")            endif                        ;Firebreath02            if (FireEffect == VoiceFireBreathEffect2)                EnableLinkChain()                DisableLinkChain(ActivatorLever)                GoToState("Lit")            endif                        ;Firebreath03            if (FireEffect == VoiceFireBreathEffect3)                EnableLinkChain()                DisableLinkChain(ActivatorLever)                GoToState("Lit")            endif                EndEvent EndState State Lit         Event onActivate(ObjectReference TriggerRef)                               DisableLinkChain()                EnableLinkChain(ActivatorLever)                GoToState("Unlit")                       EndEvent EndState


If anyone has an idea as to why they are no longer working I'd appreciate the help! :D
User avatar
Nitol Ahmed
 
Posts: 3321
Joined: Thu May 03, 2007 7:35 am

Return to V - Skyrim