87 lines
2.5 KiB
Plaintext
87 lines
2.5 KiB
Plaintext
|
Scriptname _00E_A2_IronMaidenSC extends activemagiceffect
|
||
|
|
||
|
;=====================================================================================
|
||
|
; EVENTS
|
||
|
;=====================================================================================
|
||
|
|
||
|
|
||
|
Event OnEffectStart(Actor akTarget, Actor akCaster)
|
||
|
|
||
|
Caster = akTarget
|
||
|
Health = Caster.GetActorValue("Health")
|
||
|
_00E_A2_IronMaidenSoundM.Play(Caster)
|
||
|
RegisterForSingleUpdate(0.25)
|
||
|
|
||
|
EndEvent
|
||
|
|
||
|
Event OnUpdate()
|
||
|
|
||
|
Health = Caster.GetActorValue("Health")
|
||
|
RegisterForSingleUpdate(0.25)
|
||
|
|
||
|
EndEvent
|
||
|
|
||
|
Event OnEffectFinish(Actor akTarget, Actor akCaster)
|
||
|
UnregisterForUpdate()
|
||
|
EndEvent
|
||
|
|
||
|
Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)
|
||
|
|
||
|
if !(akSource as Spell) && !(akSource.HasKeyword(WeapTypeBow))
|
||
|
|
||
|
if (akAggressor as actor)
|
||
|
Attacker = akAggressor as Actor
|
||
|
ReflectDamageOn(Attacker)
|
||
|
endif
|
||
|
|
||
|
EndIf
|
||
|
|
||
|
EndEvent
|
||
|
|
||
|
;=====================================================================================
|
||
|
; FUNCTIONS
|
||
|
;=====================================================================================
|
||
|
|
||
|
Function ReflectDamageOn(Actor Enemy)
|
||
|
|
||
|
Damage = Health - Caster.GetActorValue("Health")
|
||
|
If Caster.HasMagicEffect(_50E_HSet_4Pieces_ME)
|
||
|
Damage = Damage*2
|
||
|
EndIf
|
||
|
Health = Caster.GetActorValue("Health")
|
||
|
|
||
|
if (Damage > 0)
|
||
|
; Debug.Notification("I've been hit for" + Damage as Int + "points of damage. Ouch!")
|
||
|
_00E_A2_IronMaidenReflectSP.SetNthEffectMagnitude(0, Damage)
|
||
|
_00E_A2_IronMaidenReflectSP.RemoteCast(Enemy, Caster, Enemy)
|
||
|
Enemy.PlayImpactEffect(BloodSprayImpactSetRed)
|
||
|
Enemy.PlayImpactEffect(MAGIllusionNegImpactSet)
|
||
|
TRPImpactImpalex.Play(Caster)
|
||
|
endif
|
||
|
|
||
|
EndFunction
|
||
|
|
||
|
;=====================================================================================
|
||
|
; PROPERTIES
|
||
|
;=====================================================================================
|
||
|
|
||
|
|
||
|
Actor Caster
|
||
|
Actor Attacker
|
||
|
Float Health
|
||
|
Float Damage
|
||
|
|
||
|
Keyword Property WeapTypeBow Auto
|
||
|
Keyword Property WeapTypeMelee Auto
|
||
|
Keyword Property VendorItemWeapon Auto
|
||
|
|
||
|
MagicEffect Property _50E_HSet_4Pieces_ME Auto
|
||
|
|
||
|
ImpactDataSet Property BloodSprayImpactSetRed Auto
|
||
|
ImpactDataSet Property MAGIllusionNegImpactSet Auto
|
||
|
|
||
|
Sound Property TRPImpactImpalex Auto
|
||
|
Sound Property _00E_A2_IronMaidenSoundM Auto
|
||
|
|
||
|
Spell Property _00E_A2_IronMaidenReflectSP Auto
|