1
Fork 0

Fixed FrostSlowFix changing actor value and comparing base actor value afterwards

development
Eddoursul 3 years ago
parent 467d42a300
commit 330f9f1a96
  1. BIN
      scripts/frostslowfix.pex
  2. 31
      source/scripts/frostslowfix.psc

Binary file not shown.

@ -3,35 +3,30 @@ Scriptname FrostSlowFix extends activemagiceffect
Keyword Property MagicSlowDownTarget Auto Keyword Property MagicSlowDownTarget Auto
Actor Target
Event OnEffectStart(Actor akTarget, Actor akCaster) Event OnEffectStart(Actor akTarget, Actor akCaster)
Target = akTarget
Float fBaseSpeed = Target.GetBaseActorValue("Speedmult") Float fBaseSpeed = akTarget.GetBaseActorValue("Speedmult")
If fBaseSpeed > Target.GetBaseActorValue("Fame") ; ensures that the speedmult gets only halved once
Target.SetActorValue("Fame", fBaseSpeed) If fBaseSpeed > akTarget.GetActorValue("Fame") ; ensures that the speedmult gets only halved once
Target.SetActorValue("Speedmult", fBaseSpeed * 0.5) akTarget.SetActorValue("Fame", fBaseSpeed)
akTarget.SetActorValue("Speedmult", fBaseSpeed * 0.5)
ForceSpeedMultUpdate() ForceSpeedMultUpdate(akTarget)
EndIf EndIf
EndEvent EndEvent
Event OnEffectFinish(Actor akTarget, Actor akCaster) Event OnEffectFinish(Actor akTarget, Actor akCaster)
If Target == None ; version update
Target = akTarget
EndIf
If Target.HasMagicEffectWithKeyword(MagicSlowDownTarget) == False If akTarget.HasMagicEffectWithKeyword(MagicSlowDownTarget) == False
Target.SetActorValue("Speedmult", Target.GetBaseActorValue("Fame")) akTarget.SetActorValue("Speedmult", akTarget.GetActorValue("Fame"))
Target.SetActorValue("Fame", 0) akTarget.SetActorValue("Fame", 0)
ForceSpeedMultUpdate() ForceSpeedMultUpdate(akTarget)
EndIf EndIf
EndEvent EndEvent
Function ForceSpeedMultUpdate() Function ForceSpeedMultUpdate(Actor akTarget)
Target.ModActorValue("InventoryWeight", -0.1) akTarget.ModActorValue("InventoryWeight", -0.1)
Utility.Wait(0.01) Utility.Wait(0.01)
Target.ModActorValue("InventoryWeight", 0.1) akTarget.ModActorValue("InventoryWeight", 0.1)
EndFunction EndFunction

Loading…
Cancel
Save