Fixed Oorbaya explosions firing repeatedly in MQ11c after continuous attack with a torrent spell

This commit is contained in:
Eddoursul 2024-02-20 19:51:26 +01:00
parent bc36f45e94
commit ec1f47ebb4
2 changed files with 15 additions and 10 deletions

View File

@ -15,16 +15,23 @@ Event OnInit()
EndEvent
Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)
auto state Fighting
float CurrentHealth = Self.GetActorValue("Health")
Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)
If (CurrentHealth < (Self.GetBaseActorValue("Health")*0.03))
PlayDeathSequence()
EndIf
If (GetActorValue("Health") < BaseHealth * 0.03) && ! Dying
Dying = True
GotoState("Dying")
PlayDeathSequence()
EndIf
EndEvent
EndEvent
endstate
state Dying
; do nothing
endstate
;=====================================================================================
; FUNCTIONS
@ -32,9 +39,7 @@ EndEvent
Function PlayDeathSequence()
Dying = True
Self.SetGhost(True)
UnregisterForUpdate()
;; Gavrant: the code below is commented out because combatIdleStart breaks something in AI and the oorbaya stops making attacks in a fight
;Debug.SendAnimationEvent(Self, "combatIdleStart")
AtronachUnsummonDeathFXS.Play(Self)
@ -54,7 +59,7 @@ Function PlayDeathSequence()
utility.wait(0.5)
AtronachUnsummonDeathFXS.Stop(Self)
_00E_FXOorbayaTrailEffect2.Stop(Self)
Self.SetAlpha (0.0,True)
Self.SetAlpha(0.0, True)
Self.SetCriticalStage(Self.CritStage_DisintegrateEnd)
Wait(1.5)
Self.KillEssential(PlayerREF)