110 lines
3.1 KiB
Plaintext
110 lines
3.1 KiB
Plaintext
|
Scriptname _00E_A1_OnslaughtSC extends activemagiceffect
|
||
|
|
||
|
Import _00E_TalentLibrary
|
||
|
|
||
|
;=====================================================================================
|
||
|
; EVENTS
|
||
|
;=====================================================================================
|
||
|
|
||
|
Event OnUpdate()
|
||
|
|
||
|
if bDashing
|
||
|
bDashing = False
|
||
|
PlayImpactExplosion()
|
||
|
Else
|
||
|
_00E_A1_OnslaughtSynergyTimer.SetValueInt(0)
|
||
|
EndIf
|
||
|
|
||
|
EndEvent
|
||
|
|
||
|
Event OnEffectStart(Actor akTarget, Actor akCaster)
|
||
|
|
||
|
SetValues()
|
||
|
MAGShoutSprint03.Apply()
|
||
|
MAGShoutSprintFire.Play(PlayerREF)
|
||
|
bDashing = True
|
||
|
RegisterForSingleUpdate(fWaitTimer)
|
||
|
|
||
|
EndEvent
|
||
|
|
||
|
;=====================================================================================
|
||
|
; FUNCTIONS
|
||
|
;=====================================================================================
|
||
|
|
||
|
Function PlayDashVisuals()
|
||
|
|
||
|
akDummy = PlayerREF.PlaceActorAtMe(_00E_A1_OnslaughtDummy) as Actor
|
||
|
akDummy.MoveTo(PlayerREF)
|
||
|
|
||
|
EndFunction
|
||
|
|
||
|
Function PlayImpactExplosion()
|
||
|
|
||
|
_00E_A1_OnslaughtSynergyTimer.SetValueInt(1)
|
||
|
PlayerREF.KnockAreaEffect(fCollisionForce, 128)
|
||
|
_00E_A1_OnslaughtImpactIMOD.Apply()
|
||
|
PlayerREF.PlaceAtMe(_00E_FXDustExplosionBig)
|
||
|
PlayerREF.PlaceAtMe(_00E_A1_OnslaughtImpactEXP)
|
||
|
Game.ShakeCamera(afStrength = 0.75)
|
||
|
VOCShoutImpactPushImpactDragonSDM.Play(PlayerREF)
|
||
|
MAGPerkShieldChargeImpactM.Play(PlayerREF)
|
||
|
PlayerREF.SetAlpha(1.0)
|
||
|
RegisterForSingleUpdate(2)
|
||
|
|
||
|
EndFunction
|
||
|
|
||
|
Function SetValues()
|
||
|
|
||
|
int iIndex = GetPlayerTalentLevel(_00E_Class_WarriorPerk_Talent_Onslaught, _00E_Class_WarriorPerk_Talent_Onslaught2, _00E_Class_WarriorPerk_Talent_Onslaught3)
|
||
|
|
||
|
if iIndex == 1
|
||
|
fCollisionForce = fCollisionForce_Level_01
|
||
|
Elseif iIndex == 2
|
||
|
fCollisionForce = fCollisionForce_Level_02
|
||
|
Else
|
||
|
fCollisionForce = fCollisionForce_Level_03
|
||
|
EndIf
|
||
|
|
||
|
fCollisionDamage = GetMagnitude()
|
||
|
fWaitTimer = GetDuration()/10
|
||
|
|
||
|
_00E_A1_OnslaughtCloakDMG.SetNthEffectMagnitude(0, fCollisionDamage/2)
|
||
|
|
||
|
EndFunction
|
||
|
|
||
|
;=====================================================================================
|
||
|
; PROPERTIES
|
||
|
;=====================================================================================
|
||
|
|
||
|
bool bDashing
|
||
|
|
||
|
Actor akDummy
|
||
|
|
||
|
float fCollisionDamage
|
||
|
float fWaitTimer
|
||
|
float fCollisionForce
|
||
|
|
||
|
float fCollisionForce_Level_01 = 0.3
|
||
|
float fCollisionForce_Level_02 = 0.5
|
||
|
float fCollisionForce_Level_03 = 0.7
|
||
|
|
||
|
Spell Property _00E_A1_OnslaughtCloakDMG Auto
|
||
|
|
||
|
Perk Property _00E_Class_WarriorPerk_Talent_Onslaught Auto
|
||
|
Perk Property _00E_Class_WarriorPerk_Talent_Onslaught2 Auto
|
||
|
Perk Property _00E_Class_WarriorPerk_Talent_Onslaught3 Auto
|
||
|
|
||
|
Actor Property PlayerREF Auto
|
||
|
ActorBase Property _00E_A1_OnslaughtDummy Auto
|
||
|
|
||
|
GlobalVariable Property _00E_A1_OnslaughtSynergyTimer Auto
|
||
|
|
||
|
Explosion Property _00E_A1_OnslaughtImpactEXP Auto
|
||
|
Explosion Property _00E_FXDustExplosionBig Auto
|
||
|
|
||
|
Sound Property MAGPerkShieldChargeImpactM Auto
|
||
|
Sound Property VOCShoutImpactPushImpactDragonSDM Auto
|
||
|
Sound Property MAGShoutSprintFire Auto
|
||
|
|
||
|
ImageSpaceModifier Property _00E_A1_OnslaughtImpactIMOD Auto
|
||
|
ImageSpaceModifier Property MAGShoutSprint03 Auto
|