lookiadam.blogg.se

Spiritfarer light burst
Spiritfarer light burst








endfunction struct LBStruct unit caster real cx real cy real dmg integer lvl group Ene = CreateGroup ( ) player p static LBStruct lbGlo private static method EneFil takes nothing returns boolean local unit f = GetFilterUnit ( ) if GetWidgetLife ( f ) & gt. endglobals private constant function GetDamage takes integer lvl returns real return lvl * 50. Scope LightBurst globals private constant integer SPELL_ID = 'A000' private constant integer DUMMY_ID = 'h000' private constant real RADIUS = 350. Oh, and if I sound unnecessarily vicious, I don't mean it.

spiritfarer light burst

Caster, true ) call TimerStart ( t, 0.04, true, function Callback ) endif call RemoveLocation ( l ) set l = null set t = null return false endfunction private function Init takes nothing returns nothing local trigger t = CreateTrigger ( ) local integer i = 0 loop exitwhen i = 6 call TriggerRegisterPlayerUnitEvent ( t, Player ( i ), EVENT_PLAYER_UNIT_SPELL_EFFECT, True ) set i = i + 1 endloop call TriggerAddCondition ( t, Condition ( function Actions ) ) endfunction endscope Caster, & quot stop& quot ) call PauseUnit ( d. create ( ) set t = NewTimer ( ) call SetTimerData ( t, d ) call IssueImmediateOrder ( d. destroy ( ) endif set t = null set t2 = null endfunction private function Actions takes nothing returns boolean local Data d local timer t local location l = GetSpellTargetLoc ( ) if GetSpellAbilityId ( ) = Dash and not IsTerrainPathable ( GetLocationX ( l ), GetLocationY ( l ), PATHING_TYPE_BUILDABILITY ) then set d = Data. 407 then call ReleaseTimer ( t ) call PauseUnit ( d. DY - y if SquareRoot ( dx * dx + dy * dy ) & lt = Speed + 1 or GetWidgetLife ( d. Angle ) ) call SetTimerData ( t2, d2 ) call TimerStart ( t2, 0.02, true, function Callback2 ) call SetUnitX ( d. Caster ), DummyId, cx, cy, bj_RADTODEG * d. create ( CreateUnit ( GetOwningPlayer ( d. Caster ) local Data2 d2 local real x local real y local real dx local real dy set d2 = Data2. destroy ( ) endif set t = null endfunction private function Callback takes nothing returns nothing local timer t = GetExpiredTimer ( ) local Data d = GetTimerData ( t ) local timer t2 = NewTimer ( ) local real cx = GetUnitX ( d. ExecCount = 200 then call ReleaseTimer ( t ) call RemoveUnit ( d. ExecCount = 0 call SetUnitVertexColor ( u, 255, 255, 255, 200 ) return d endmethod endstruct private function Callback2 takes nothing returns nothing local timer t = GetExpiredTimer ( ) local Data2 d = GetTimerData ( t ) call SetUnitVertexColor ( d. Caster ) ) call RemoveLocation ( l ) set l = null return d endmethod endstruct private struct Data2 unit Dummy integer ExecCount static method create takes unit u returns Data2 local Data2 d = Data2. allocate ( ) local location l = GetSpellTargetLoc ( ) set d. endglobals private struct Data unit Caster real DX real DY real Angle integer ExecCount static method create takes nothing returns Data local Data d = Data. private constant integer DummyId = 'h000' //Raw code of your dummy. private constant real Speed = 20 //Dashing speed. Scope Dash initializer Init //Requires TimerUtils! globals private constant integer Dash = 'A003' //Raw code. Custom script: call RemoveLocation( udg_LB_DamageGroup ).

spiritfarer light burst

Custom script: call RemoveLocation( udg_LB_CastLoc ).Custom script: call RemoveLocation( udg_LB_Loc ).Special Effect - Create a special effect at LB_Loc using Abilities\Spells\Items\StaffOfPurification\PurificationCaster.mdl.Animation - Change (Last created unit) flying height to 1000.00 at 1000.00.Unit - Make (Last created unit) Invulnerable.Unit - Add a 1.00 second Generic expiration timer to (Last created unit).Unit - Create 1 Light Burst: Missile for LB_Owner at LB_Loc facing 0.00 degrees.Set LB_Loc = (LB_CastLoc offset by 350.00 towards ((Real((Integer A))) x 30.00) degrees).

spiritfarer light burst

  • For each (Integer A) from 1 to 12, do (Actions).
  • Special Effect - Destroy (Last created special effect).
  • Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Spells\Items\StaffOfPurification\PurificationTarget.mdl.
  • Unit - Cause LB_Cast to damage (Picked unit), dealing ((Real((Level of Light Burst for LB_Cast))) x 50.00) damage of attack type Spells and damage type Magic.
  • Unit Group - Pick every unit in LB_DamageGroup and do (Actions).
  • Set LB_DamageGroup = (Units within 350.00 of LB_CastLoc matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of LB_Owner) Equal to True)))).
  • (Ability being cast) Equal to Light Burst.
  • Unit - A unit Starts the effect of an ability.









  • Spiritfarer light burst