- Joined
- Apr 24, 2012
- Messages
- 9,842
Okay so do I use GroupClear instead of DestroyGroup? Because I heard DestroyGroup makes the group var unusable.
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
globals
private constant real angle = 180.
endglobals
//OR
private constant function Angle takes integer level returns real
return 90.*level
endfunction
call FunctionName(parameters)
Explain what those parameters should do
Weave

Events


Unit - A unit Starts the effect of an ability

Conditions


(Ability being cast) Equal to Weave

Actions


If (All Conditions are True) then do (Then Actions) else do (Else Actions)



If - Conditions




Weave_Index Equal to 0



Then - Actions




Trigger - Turn on Weave Loop <gen>



Else - Actions


Set TempInteger = (3 + ((Intelligence of (Triggering unit) (Include bonuses)) / 100))


Set TempPoint = (Position of (Triggering unit))


For each (Integer A) from 1 to 3, do (Actions)



Loop - Actions




Set Weave_Index = (Weave_Index + 1)




Set Weave_Caster[Weave_Index] = (Triggering unit)




Unit - Create 1 Dreamform Protectors for (Owner of Weave_Caster[Weave_Index]) at TempPoint facing Default building facing degrees




Set Weave_Dummy[Weave_Index] = (Last created unit)




Unit - Add a 10.00 second Generic expiration timer to Weave_Dummy[Weave_Index]




Set Weave_Duration[Weave_Index] = 10.00


Custom script: call RemoveLocation(udg_TempPoint)
Weave Loop

Events


Time - Every 1.00 seconds of game time

Conditions

Actions


For each (Integer A) from 1 to Weave_Index, do (Actions)



Loop - Actions




If (All Conditions are True) then do (Then Actions) else do (Else Actions)





If - Conditions






Weave_Duration[A] Greater than 0.00





Then - Actions






Set Weave_Duration[A] = (Weave_Duration[A] - 1.00)






Set OffsetLoc = (Position of Weave_Caster[A])






Set TempPoint = (OffsetLoc offset by (Random real number between 150.00 and 550.00) towards (Random real number between 0.00 and 359.00) degrees)






Unit - Order Weave_Dummy[A] to Move To TempPoint






Custom script: call RemoveLocation(udg_OffsetLoc)






Custom script: call RemoveLocation(udg_TempPoint)






Game - Display to (All players) the text: (String(Weave_Duration[A]))





Else - Actions






Custom script: call KillUnit(udg_Weave_Dummy[udg_A])






Custom script: set udg_Weave_Dummy[udg_A] = null






Custom script: set udg_Weave_Caster[udg_A] = null






Set Weave_Caster[A] = Weave_Caster[Weave_Index]






Set Weave_Dummy[A] = Weave_Dummy[Weave_Index]






Set Weave_Duration[A] = Weave_Duration[Weave_Index]






Set Weave_Index = (Weave_Index - 1)






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








Weave_Index Equal to 0







Then - Actions








Trigger - Turn off (This trigger)







Else - Actions

JASS:- unit caster -> The damager - real x1 -> The x of the start position - real y1 -> The y of the start position - real x2 -> The x of the end position - real y2 -> The y of the end position - real dmg -> The damage of the missile - integer functionInt -> Just add this as an argument. - string LineSfx -> The effect on the ground - boolean LineSfxScale -> If the ground effect scales with AoE - real area -> The area of effect - real Speed -> The speed in unit/second - real Area inc per interval -> The increment of the area of effect per interval - real speed inc per interval -> The speed of the missile per interval - dummy -> the missile, if there is. - boolean hitAlly -> Hit ally - boolean hitEnemy -> Hit enemy - boolean hitCaster -> Hit the caster - boolean hitStructures -> Hit the structures - attacktype a_type -> The attack type - damagetype d_type -> The damage type - boolean Dummy scale -> If the dummy scales with the area of effect. - real interval -> How long before you calculate things(current x/y, next coords) - boolean DummyMovesAlong -> if the dummy moves with the wave. - string target unit sfx -> effect on units hit by the spell. - boolean hitUnitMoreThanOnce -> with the interval. - boolean killatend -> for the dummy.
- boolean LineSfxScale -> If the ground effect scales with AoE
- boolean Dummy scale -> If the dummy scales with the area of effect.
trigger additional actions - runs after dummy is moved and units are damaged
For every spell using the system, of course, this will be different. So those would be an argument if possible.Just tell me what do you want![]()

- unit caster -> The damager
- real x1 -> The x of the start position
- real y1 -> The y of the start position
- real x2 -> The x of the end position
- real y2 -> The y of the end position
- real dmg -> The damage of the missile
- integer functionInt -> Just add this as an argument.
- integer FunctionInt2 -> Same as above.
- string LineSfx -> The effect on the ground
- boolean LineSfxScale -> If the ground effect scales with AoE
- real area -> The area of effect
- real Speed -> The speed in unit/second
- real Area inc per interval -> The increment of the area of effect per interval
- real speed inc per interval -> The speed of the missile per interval
- unit dummy -> the missile, if there is.
- boolean hitAlly -> Hit ally
- boolean hitEnemy -> Hit enemy
- boolean hitCaster -> Hit the caster
- boolean hitStructures -> Hit the structures
- boolean hitheroes -> Hit the Heroes(will only hit depending on hitAlly and hitEnemy)
- attacktype a_type -> The attack type
- damagetype d_type -> The damage type
- boolean Dummy scale -> If the dummy scales with the area of effect.
- real interval -> How long before you calculate things(current x/y, next coords)
- boolean DummyMovesAlong -> if the dummy moves with the wave.
- string target unit sfx -> effect on units hit by the spell.
- boolean hitUnitMoreThanOnce -> with the interval.
- boolean killatend -> for the dummy.
- trigger onhit -> before the damage is dealt. (yeah, before, to be safe)
- trigger onend -> ran after the instance ends.
- group spellenders -> a unit group. loop through their types, when any unit type of the group are encountered within the line damage''s AoE, immediately stops the line damage.
- real interval increment -> the frequency added to the interval skip time every.. interval. Like an increment of 1.00 subtracts a second from the interval, allowing it to be faster by a second.
- unit type spellbooster -> a unit type that boosts spell damage by "spellboost"% when encountered in the AoE
- real spellboost -> upon encountering a spell booster, boosts damage by this percentage.
- real damageincrement -> damage added (percentage) upon hitting people with the spell.
- real damageincrement cap -> max damage added(percentage)(damage increment and cap will reduce damage when below 1.00, hence being like Ezreal''s ult, 1.00 being 100%)
- boolean explodeonend -> if the line damage explodes on-end.
- real explodeonendradius -> if the above boolean is true, the radius for the explosion.
- real endexplosiondamage -> if the above boolean is true, the damage for the explosion.
- boolean spellbooster_activates explode on end -> if upon encountering a spell booster, sets explode on end to true.
- integer instance -> the instance of the line damage in which the trigger is ran.
- unit caster -> the caster of the current instance.
- unit damage -> the damage of the current line damage instance.
- unit damage group -> if it's on-hit, the current group that is picked up for damage. If it's on-end, it's the last group that was picked for damage.