Mattiewagg Posted November 3, 2014 Share Posted November 3, 2014 Is it possible to have an aura spell that halves the speedmult of NPCs entering that aura's radius, or does this not work? Link to comment Share on other sites More sharing options...
simsim899 Posted November 3, 2014 Share Posted November 3, 2014 I think it's possible yes. I mean I can sort of see how you'd have to do it, but I think it would be quite complicated also. But, I don't think I'm skilled enough to be able to do it yet though lol, but I'm pretty sure it can be done. :)(not 100% positive though, so don't take my word as fact :P ) Link to comment Share on other sites More sharing options...
Mattiewagg Posted November 3, 2014 Author Share Posted November 3, 2014 I think it's possible yes. I mean I can sort of see how you'd have to do it, but I think it would be quite complicated also. But, I don't think I'm skilled enough to be able to do it yet though lol, but I'm pretty sure it can be done. :)(not 100% positive though, so don't take my word as fact :P )Hmm. So maybe possible. On another note, how is Night Eye done how it lasts for a set amount of time but you can also toggle it on/off in that time period? Link to comment Share on other sites More sharing options...
simsim899 Posted November 3, 2014 Share Posted November 3, 2014 Hm, well.. It uses a very complicated (at least to me) script :P There are two magic effects and two spells for it - nighteye and nighteye'dispel' (something like that anyway), and I guess like with the script when it registers a key press the dispel spell is cast, so stopping it, otherwise it continues until the timer's done. Here's the script so you can take a look: scriptName magicNightEyeScript extends ActiveMagicEffect {Scripted effect for the Night Eye Spell} import GlobalVariable ;======================================================================================; ; PROPERTIES / ;=============/ float property fDelay = 0.83 auto {time to wait before switching to constant Imod} ImageSpaceModifier property IntroFX auto {IsMod applied at the start of the spell effect} ImageSpaceModifier property MainFX auto {main isMod for spell} ImageSpaceModifier property OutroFX auto {IsMod applied at the end of the spell effect} Float Property fImodStrength = 1.0 auto {IsMod Strength from 0.0 to 1.0} sound property IntroSoundFX auto ; create a sound property we'll point to in the editor sound property OutroSoundFX auto ; create a sound property we'll point to in the editor GlobalVariable Property NightEyeTransitionGlobal auto ;MagicEffect Property NightEyeEffect auto ;Spell Property NightEyeDispelEffectSpell auto ; Obtain the target of the active fire effect ;Actor CasterActor ;======================================================================================; ; EVENTS / ;=============/ Event OnEffectStart(Actor Target, Actor Caster) ;CasterActor = Caster ; IntroFX.remove() ; MainFX.remove() ;Kill Imods from another cast, if running. ; OutroFX.remove() if NightEyeTransitionGlobal.GetValue() == 0.0 NightEyeTransitionGlobal.setValue(1.0) int instanceID = IntroSoundFX.play((target as objectReference)) ; play IntroSoundFX sound from my self introFX.apply(fImodStrength) ; apply isMod at full strength utility.wait(fDelay) ; NOTE - neccessary? ;MainFX.apply() if NightEyeTransitionGlobal.GetValue() == 1.0 introFX.PopTo(MainFX,fImodStrength) NightEyeTransitionGlobal.setValue(2.0) endif elseif NightEyeTransitionGlobal.GetValue() == 1.0 introFX.PopTo(MainFX,fImodStrength) NightEyeTransitionGlobal.setValue(2.0) self.dispel() else self.dispel() endif EndEvent ; Event OnMagicEffectApply(ObjectReference akCaster, MagicEffect NightEyeEffect) ; NightEyeDispelEffectSpell.Cast(CasterActor) ; endEvent Event OnEffectFinish(Actor Target, Actor Caster) ; if NightEyeTransitionGlobal.GetValue() == 1.0 ; utility.wait(fDelay) ; endif ; ;debug.trace (self + ": We are killing the spell. The Globale is: " + NightEyeTransitionGlobal.GetValue()) if NightEyeTransitionGlobal.GetValue() == 2.0 NightEyeTransitionGlobal.setValue(3.0) ; ;debug.trace (self + ": This is a valid outro play, see because 2.0 = " + NightEyeTransitionGlobal.GetValue()) int instanceID = OutroSoundFX.play((target as objectReference)) ; play OutroSoundFX sound from my self ;MainFX.remove() MainFX.PopTo(OutroFX,fImodStrength) introFX.remove() NightEyeTransitionGlobal.setValue(0.0) endif endEvent Link to comment Share on other sites More sharing options...
lofgren Posted November 3, 2014 Share Posted November 3, 2014 An aura that slows NPCs who enter should be no problem. Link to comment Share on other sites More sharing options...
Mattiewagg Posted November 3, 2014 Author Share Posted November 3, 2014 An aura that slows NPCs who enter should be no problem.My spell creator says that it's not working for some reason. Apparentky speedmult changing of NPCs entering he aura doesn't do anything. Link to comment Share on other sites More sharing options...
lofgren Posted November 3, 2014 Share Posted November 3, 2014 Speed is only recalculated when the actor's animation changes or their inventory weight is recalculated, so you have to add a script that places a non-weightless item into the target's inventory when the effect starts and removes it when the effect ends. Other possible solutions might be modifying the carryweight actor value, or I'm pretty sure (though I haven't tested it) adding a stagger effect to the spell would also work. Link to comment Share on other sites More sharing options...
Mattiewagg Posted November 3, 2014 Author Share Posted November 3, 2014 Thanks! Link to comment Share on other sites More sharing options...
Mattiewagg Posted November 4, 2014 Author Share Posted November 4, 2014 (edited) Speed is only recalculated when the actor's animation changes or their inventory weight is recalculated, so you have to add a script that places a non-weightless item into the target's inventory when the effect starts and removes it when the effect ends. Other possible solutions might be modifying the carryweight actor value, or I'm pretty sure (though I haven't tested it) adding a stagger effect to the spell would also work.Apparently it doesn't work: I've tried several ways that others reported fixed it and scripting the slow entirely, nothing seems to work. I even tried adding to the inventory weight and removing it at effect end with a separate slow script.The two scripts he attempted: Spell duration/toggle script -- THIS worksSlowfix script (speedmult) -- THIS does not Edited November 4, 2014 by Matthiaswagg Link to comment Share on other sites More sharing options...
Mattiewagg Posted November 4, 2014 Author Share Posted November 4, 2014 Fixed. The effect was reversed so the area was on (apparently). Working perfect now. Link to comment Share on other sites More sharing options...
Recommended Posts