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