enderalse/source/scripts/_00e_fs_nqr05_perversionsc.psc

56 lines
1.5 KiB
Plaintext
Raw Normal View History

Scriptname _00E_FS_NQR05_PerversionSC extends Actor
Event OnInit()
2023-12-08 02:45:53 +00:00
SetActorValue("UnarmedDamage", 35)
2021-10-05 22:59:59 +00:00
EndEvent
2021-10-05 22:59:59 +00:00
Event OnEnterBleedout()
PlayDeathFX()
EndEvent
2021-10-05 22:59:59 +00:00
Event OnDying(Actor akKiller)
; Perversions are essential by default, but the death FX make them non-essential for a short time.
; This is a safeguard for a perversion dying while its actor base is non-essential because another perversion of the same base started its death FX a bit earlier.
PlayDeathFX()
EndEvent
2021-10-05 22:59:59 +00:00
Bool bIsDying = False
Function PlayDeathFX()
If bIsDying
Return
EndIf
bIsDying = True
SetGhost(True)
ActorBase myActorBase = GetActorBase()
_00E_FS_NPC_PerversionDeathM.Play(Self)
_00E_HighOnesDisintegrate.Play(Self)
2021-10-05 22:59:59 +00:00
Utility.Wait(1.9)
SetCriticalStage(CritStage_DisintegrateStart)
AbsorbRedImod.Apply()
2021-10-05 22:59:59 +00:00
PlaceAtMe(_00E_FS_NQR05_BloodGeysir)
PlaceAtMe(_00E_FS_NQR05_PerversionExp)
StopCombat()
myActorBase.SetEssential(False)
Kill(None)
AttachAshPile(_00E_CorpseExplosionPile_Remains)
SetAlpha(0.0, True)
SetCriticalStage(CritStage_DisintegrateEnd)
myActorBase.SetEssential(True)
If RewardExp > 0
_00E_EPHandler.GiveEP(RewardExp)
EndIf
2021-10-05 22:59:59 +00:00
EndFunction
Explosion Property _00E_FS_NQR05_PerversionExp Auto
Explosion Property _00E_FS_NQR05_BloodGeysir Auto
Sound Property _00E_FS_NPC_PerversionDeathM Auto
ImageSpaceModifier Property AbsorbRedImod Auto
EffectShader Property _00E_HighOnesDisintegrate Auto
Activator Property _00E_CorpseExplosionPile_Remains Auto
2021-10-05 22:59:59 +00:00
Int Property RewardExp Auto