Dimension Rift might get stuck in an infinite loop when player left the cell while it's active

This commit is contained in:
Eddoursul 2024-10-13 16:02:45 +02:00
parent 05f22df904
commit f3127f2de7
3 changed files with 10 additions and 2 deletions

View File

@ -8,6 +8,10 @@ Beware, spoilers ahead!
2.1.4 (TBD)
- Chinese Simplified localization has been revised by DaisyComment (no translation of lines added after 2.0.12.4 yet).
- Dimension Rift might get stuck in an infinite effect+sound loop if player left the cell while it's active.
OverDev:
- Fixed UV maps in awning01.nif, clothesline02.nif, rocks03.nif, temple_peak_00 new.nif
2.1.3 (2024-08-07)

Binary file not shown.

View File

@ -66,6 +66,11 @@ Event OnUpdate()
EndEvent
Event OnCellDetach()
; Prevent an infinite loop in DrainLoop()
Finished = true
endEvent
;=====================================================================================
; FUNCTIONS
;=====================================================================================
@ -148,7 +153,7 @@ Function DrainLoop()
float fDrainAmountMagicka = ((Target.GetActorValue("Magicka"))*((_00E_A1_RiftSP.GetNthEffectMagnitude(iIndex)/100)/(_00E_A1_RiftSP.GetNthEffectDuration(0)/3)))
float fDrainAmountStamina = ((Target.GetActorValue("Stamina"))*((_00E_A1_RiftSP.GetNthEffectMagnitude(iIndex)/100)/(_00E_A1_RiftSP.GetNthEffectDuration(0)/3)))
While !Finished
While !Finished && Target.HasMagicEffect(GetBaseObject())
DrainManaAndStamina(fDrainAmountMagicka, fDrainAmountStamina)
Wait(iWait)
EndWhile
@ -172,7 +177,6 @@ Function StopFXAndCastFinalExplosion()
Target.SetGhost(False)
if bSynergyImplosionEffect
;shifted the code around and introduced a Kill() to properly get rid of the target after the explosion
;together with the removed Dispel() from line 20 this will fix problems with the synergy https://sureai.net/tracker/view.php?id=107