- Joined
- Aug 8, 2011
- Messages
- 297
-------- IN OBJECT EDITOR, REMOVE CLASSIFICATION 'MECHANICALS' FROM STRUCTURES IN YOUR MAP [E.G. TOWERS] --------
-------- IN OBJECT EDITOR, ADD CLASSIFICATION 'MECHANICALS' TO MECHANICALS IN YOUR MAP [E.G. SIEGE ENGINES] --------
hi i got a problem with Elune's spell, is it becouse i need to do the above lines ? if it is, can someone tell me how to do that, i dont understand the lines.
here is the triggers:
what is wrong with Elune's arrow ? when i used the spell there dont come any arrow or effects from it.
-------- IN OBJECT EDITOR, ADD CLASSIFICATION 'MECHANICALS' TO MECHANICALS IN YOUR MAP [E.G. SIEGE ENGINES] --------
hi i got a problem with Elune's spell, is it becouse i need to do the above lines ? if it is, can someone tell me how to do that, i dont understand the lines.
here is the triggers:
-
Variables
-
Events
- Map initialization
- Conditions
-
Actions
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- !!! TAKE NOTE: !!! --------
- -------- DO THE BELOW TO PREVENT BUGS --------
- -------- //ONLY APPLIES TO STARFALL AND ELUNE'S ARROW\\ --------
- -------- IN OBJECT EDITOR, REMOVE CLASSIFICATION 'MECHANICALS' FROM STRUCTURES IN YOUR MAP [E.G. TOWERS] --------
- -------- IN OBJECT EDITOR, ADD CLASSIFICATION 'MECHANICALS' TO MECHANICALS IN YOUR MAP [E.G. SIEGE ENGINES] --------
- -------- !!!////////////////////////////////////////////////////////!!! --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- //////////////////////////////////////STARFALL\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ --------
- -------- //THE ABILITY ID --------
- Set Starfall_Ability = Starfall POTM
- -------- ///////////////////////////////////// --------
- -------- //THE UNIT ID --------
- Set Starfall_Unit_Effect = Starfall_Effect
- -------- ///////////////////////////////////// --------
- -------- //The Special Effect of Starfall --------
- Set Starfall_Effect_Path = Abilities\Spells\NightElf\Starfall\StarfallTarget.mdl
- -------- ///////////////////////////////////// --------
- -------- //THE DAMAGE OF STARFALL. THE INDEX CORRESPONDS TO THE LEVEL OF THE SKILL --------
- Set Starfall_Damage[1] = 75.00
- Set Starfall_Damage[2] = 150.00
- Set Starfall_Damage[3] = 225.00
- Set Starfall_Damage[4] = 300.00
- -------- ///////////////////////////////////// --------
- -------- //DOES STARFALL DAMAGE MECHANICALS --------
- Set Starfall_Damage_Mechanicals = False
- -------- ///////////////////////////////////// --------
- -------- //DOES STARFALL DAMAGE STRUCTURES --------
- Set Starfall_Damage_Structures = True
- -------- ///////////////////////////////////// --------
- -------- //THE AoE of the Starfall. --------
- Set Starfall_AoE = 600.00
- -------- ///////////////////////////////////// --------
- -------- //THE AoE of the Starfall for the extra hit unit. --------
- Set Starfall_AoE_Randomed = 200.00
- -------- ///////////////////////////////////// --------
- -------- ///////////Advanced --------
- Hashtable - Create a hashtable
- Set Starfall_Hashtable = (Last created hashtable)
- -------- //////////////////////////////////////////////////////////////////////END OF STARFALL --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- //////////////////////////////////////ELUNE'S ARROW\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ --------
- -------- //THE ABILITY ID --------
- Set Arrow_Ability = Elune's Arrow
- Set Arrow_Ability_Stun = Arrow_Stun
- -------- ///////////////////////////////////// --------
- -------- //THE UNIT ID --------
- Set Arrow_Unit_Projectile = Arrow_Projectile
- Set Arrow_Unit_Dummy = Arrow_Stun_Object
- -------- ///////////////////////////////////// --------
- -------- //THE DAMAGE OF THE ARROW. THE INDEX CORRESPONDS TO THE LEVEL OF THE SKILL --------
- Set Arrow_Damage[1] = 90.00
- Set Arrow_Damage[2] = 180.00
- Set Arrow_Damage[3] = 270.00
- Set Arrow_Damage[4] = 360.00
- -------- ///////////////////////////////////// --------
- -------- //THE MAXIMUM DISTANCE OF THE ARROW --------
- Set Arrow_Maximum_Distance = 3000.00
- -------- ///////////////////////////////////// --------
- -------- //ARROW OFFSET --------
- Set Arrow_Offset = 30.00
- -------- ///////////////////////////////////// --------
- -------- //ARROW SPEED --------
- Set Arrow_Speed = 0.03
- -------- ///////////////////////////////////// --------
- -------- //ARROW Area of Effect --------
- Set Arrow_AoE = 125.00
- -------- ///////////////////////////////////// --------
- -------- //CAN ARROW PASS THROUGH ALLIES --------
- Set Arrow_Pass_Allies = True
- -------- ///////////////////////////////////// --------
- -------- //CAN ARROW PASS THROUGH STRUCTURES --------
- Set Arrow_Pass_Structures = True
- -------- ///////////////////////////////////// --------
- -------- //CAN ARROW DAMAGE STRUCTURES --------
- -------- [NOTE : udg_Arrow_Pass_Structures must be set to false] --------
- Set Arrow_Damage_Structures = False
- -------- ///////////////////////////////////// --------
- -------- //CAN ARROW PASS THROUGH MECHANICALS --------
- Set Arrow_Pass_Mechanicals = True
- -------- ///////////////////////////////////// --------
- -------- //CAN ARROW DAMAGE MECHANICALS --------
- -------- [NOTE : udg_Arrow_Pass_Mechanicals must be set to false] --------
- Set Arrow_Damage_Mechanicals = False
- -------- ///////////////////////////////////// --------
- -------- ///////////Advanced --------
- Trigger - Add to ArrowMove <gen> the event (Time - Every Arrow_Speed seconds of game time)
- Trigger - Turn off ArrowMove <gen>
- -------- //////////////////////////////////////////////////////////////////////END OF ELUNE'S ARROW --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- //////////////////////////////////////LEAP\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ --------
- -------- //THE ABILITY ID --------
- Set Leap_Ability = Leap
- Set Leap_Ability_Buff = Leap_Buff
- -------- ///////////////////////////////////// --------
- -------- //THE UNIT ID --------
- Set Leap_Unit_Dummy = Leap_Dummy_Unit
- -------- ///////////////////////////////////// --------
- -------- //THE RANGE OF LEAP. THE INDEX CORRESPONDS TO THE LEVEL OF THE SKILL --------
- Set Leap_Maximum_Distance[1] = 630.00
- Set Leap_Maximum_Distance[2] = 690.00
- Set Leap_Maximum_Distance[3] = 780.00
- Set Leap_Maximum_Distance[4] = 840.00
- -------- //////////////////////////////////////////////////////////////////////END OF LEAP --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- //////////////////////////////////////MOONLIGHT SHADOW\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ --------
- -------- //THE ABILITY ID --------
- Set MS_Ability = Moonlight Shadow
- Set MS_Ability_Buff = MS_Invisibility
- -------- ///////////////////////////////////// --------
- -------- //The Special Effect of Moonlight Shadow --------
- Set MSEffectPath = Abilities\Spells\Human\Invisibility\InvisibilityTarget.mdl
- -------- ///////////////////////////////////// --------
- -------- //THE DURATION OF INVISIBILITY --------
- Set MS_Duration = 11.00
- -------- ///////////////////////////////////// --------
- -------- ///////////Advanced --------
- Hashtable - Create a hashtable
- Set MS_Hashtable = (Last created hashtable)
- -------- //////////////////////////////////////////////////////////////////////END OF MOONLIGHT SHADOW --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- ------------------------------------------------------------------------------------------------------------------------------------ --------
- -------- DO NOT COPY: --------
- Custom script: call DestroyTrigger(gg_trg_Variables)
-
Events
-
ArrowCast
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to Arrow_Ability
-
Actions
- -------- //ONLY IF WHERE THERE ARE NO INSTANCES IT WILL START TRIGGER OF MOVING THE ARROW --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Arrow_MUI Equal to False
-
Then - Actions
- Trigger - Turn on ArrowMove <gen>
- Else - Actions
-
If - Conditions
- -------- ///////////////////////// --------
- Set Arrow_MUI = True
- Set Arrow_MUI_2 = (Arrow_MUI_2 + 1)
- Set Arrow_CastingUnit[Arrow_MUI_2] = (Triggering unit)
- Set Arrow_Default_Point[Arrow_MUI_2] = (Position of (Triggering unit))
- Set Arrow_Point[Arrow_MUI_2] = (Position of (Triggering unit))
- Set Arrow_Target_Point = (Target point of ability being cast)
- Set Arrow_Angle[Arrow_MUI_2] = (Angle from Arrow_Default_Point[Arrow_MUI_2] to Arrow_Target_Point)
- Set Arrow_Level[Arrow_MUI_2] = (Level of Arrow_Ability for (Triggering unit))
- Unit - Create 1 Arrow_Unit_Projectile for (Owner of (Triggering unit)) at Arrow_Default_Point[Arrow_MUI_2] facing Arrow_Angle[Arrow_MUI_2] degrees
- Unit - Turn collision for (Last created unit) Off
- Unit - Add Storm Crow Form to (Last created unit)
- Set Arrow[Arrow_MUI_2] = (Last created unit)
- -------- REMOVING LEAKS --------
- Custom script: call RemoveLocation(udg_Arrow_Target_Point)
-
Events
-
ArrowMove
- Events
- Conditions
-
Actions
-
For each (Integer A) from 1 to Arrow_MUI_2, do (Actions)
-
Loop - Actions
- Set Arrow_Point[(Integer A)] = (Arrow_Point[(Integer A)] offset by Arrow_Offset towards Arrow_Angle[(Integer A)] degrees)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Playable map area) contains Arrow_Point[(Integer A)]) Equal to True
-
Then - Actions
- Unit - Move Arrow[(Integer A)] instantly to Arrow_Point[(Integer A)]
-
Else - Actions
- Unit - Kill Arrow[(Integer A)]
- Custom script: set udg_Arrow[GetForLoopIndexA()] = null
-
If - Conditions
- -------- //UNITS IN RANGE --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Arrow_Pass_Allies Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Arrow_Pass_Structures Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Arrow_Pass_Mechanicals Equal to True
-
Then - Actions
- Set Arrow_Group[(Integer A)] = (Units within Arrow_AoE of Arrow_Point[(Integer A)] matching (((Unit-type of (Matching unit)) Not equal to Arrow_Unit_Projectile) and (((Matching unit) Not equal to Arrow_CastingUnit[(Integer A)]) and ((((Matching unit) is alive) Equal to True) and ((((Matchi
-
Else - Actions
- Set Arrow_Group[(Integer A)] = (Units within Arrow_AoE of Arrow_Point[(Integer A)] matching (((Unit-type of (Matching unit)) Not equal to Arrow_Unit_Projectile) and (((Matching unit) Not equal to Arrow_CastingUnit[(Integer A)]) and ((((Matching unit) is alive) Equal to True) and ((((Matchi
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Arrow_Pass_Mechanicals Equal to True
-
Then - Actions
- Set Arrow_Group[(Integer A)] = (Units within Arrow_AoE of Arrow_Point[(Integer A)] matching (((Unit-type of (Matching unit)) Not equal to Arrow_Unit_Projectile) and (((Matching unit) Not equal to Arrow_CastingUnit[(Integer A)]) and ((((Matching unit) is alive) Equal to True) and ((((Matchi
-
Else - Actions
- Set Arrow_Group[(Integer A)] = (Units within Arrow_AoE of Arrow_Point[(Integer A)] matching (((Unit-type of (Matching unit)) Not equal to Arrow_Unit_Projectile) and (((Matching unit) Not equal to Arrow_CastingUnit[(Integer A)]) and ((((Matching unit) is alive) Equal to True) and (((Owner o
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Arrow_Pass_Structures Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Arrow_Pass_Mechanicals Equal to True
-
Then - Actions
- Set Arrow_Group[(Integer A)] = (Units within Arrow_AoE of Arrow_Point[(Integer A)] matching (((Unit-type of (Matching unit)) Not equal to Arrow_Unit_Projectile) and (((Matching unit) Not equal to Arrow_CastingUnit[(Integer A)]) and ((((Matching unit) is alive) Equal to True) and ((((Matchi
-
Else - Actions
- Set Arrow_Group[(Integer A)] = (Units within Arrow_AoE of Arrow_Point[(Integer A)] matching (((Unit-type of (Matching unit)) Not equal to Arrow_Unit_Projectile) and (((Matching unit) Not equal to Arrow_CastingUnit[(Integer A)]) and ((((Matching unit) is alive) Equal to True) and (((Matchin
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Arrow_Pass_Mechanicals Equal to True
-
Then - Actions
- Set Arrow_Group[(Integer A)] = (Units within Arrow_AoE of Arrow_Point[(Integer A)] matching (((Unit-type of (Matching unit)) Not equal to Arrow_Unit_Projectile) and (((Matching unit) Not equal to Arrow_CastingUnit[(Integer A)]) and ((((Matching unit) is alive) Equal to True) and (((Matchin
-
Else - Actions
- Set Arrow_Group[(Integer A)] = (Units within Arrow_AoE of Arrow_Point[(Integer A)] matching (((Unit-type of (Matching unit)) Not equal to Arrow_Unit_Projectile) and (((Matching unit) Not equal to Arrow_CastingUnit[(Integer A)]) and (((Matching unit) is alive) Equal to True))))
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- -------- /////////////////// --------
- Set Arrow_Unit[(Integer A)] = (Random unit from Arrow_Group[(Integer A)])
- Custom script: call DestroyGroup(udg_Arrow_Group[GetForLoopIndexA()])
- Set Arrow_Distance[(Integer A)] = (Distance between Arrow_Default_Point[(Integer A)] and Arrow_Point[(Integer A)])
- -------- //IF IT HITS A UNIT OR MAX RANGE --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Arrow_Distance[(Integer A)] Greater than or equal to Arrow_Maximum_Distance
-
Then - Actions
- Unit - Kill Arrow[(Integer A)]
- Custom script: set udg_Arrow[GetForLoopIndexA()] = null
-
Else - Actions
- -------- //DAMAGE SYSTEM --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Arrow_Unit[(Integer A)] Not equal to No unit
-
Then - Actions
- Unit - Create 1 Arrow_Unit_Dummy for Player 1 (Red) at Arrow_Point[(Integer A)] facing Arrow_Angle[(Integer A)] degrees
- Set Arrow_Dummy_Unit[(Integer A)] = (Last created unit)
- Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
- -------- //STUN DURATION --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Arrow_Distance[(Integer A)] Greater than (Arrow_Maximum_Distance / 2.00)
-
Then - Actions
- Unit - Set level of Arrow_Ability_Stun for (Last created unit) to 10
-
Else - Actions
- Unit - Set level of Arrow_Ability_Stun for (Last created unit) to (Integer((Arrow_Distance[(Integer A)] / 150.00)))
-
If - Conditions
- -------- /////////////////// --------
- -------- //CHECK BOOLEAN FOR STRUCTURE AND MECHANICALS AND DAMAGE ACCORDINGLY --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Owner of Arrow[(Integer A)]) is an enemy of (Owner of Arrow_Unit[(Integer A)])) Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Arrow_Unit[(Integer A)] is A structure) Equal to True
-
Then - Actions
- -------- //IF IT IS A STRUCTURE... --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Arrow_Damage_Structures Equal to True
-
Then - Actions
- Unit - Order Arrow_Unit[(Integer A)] to Hold Position
- Unit - Order Arrow_Dummy_Unit[(Integer A)] to Human Mountain King - Storm Bolt Arrow_Unit[(Integer A)]
- Unit - Cause (Last created unit) to damage Arrow_Unit[(Integer A)], dealing Arrow_Damage[Arrow_Level[(Integer A)]] damage of attack type Magic and damage type Magic
- Unit - Order Arrow_Unit[(Integer A)] to Stop
- Else - Actions
-
If - Conditions
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Arrow_Unit[(Integer A)] is Mechanical) Equal to True
-
Then - Actions
- -------- //IF IT IS MECHANICAL... --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Arrow_Damage_Mechanicals Equal to True
-
Then - Actions
- Unit - Order Arrow_Unit[(Integer A)] to Hold Position
- Unit - Order Arrow_Dummy_Unit[(Integer A)] to Human Mountain King - Storm Bolt Arrow_Unit[(Integer A)]
- Unit - Cause (Last created unit) to damage Arrow_Unit[(Integer A)], dealing Arrow_Damage[Arrow_Level[(Integer A)]] damage of attack type Magic and damage type Magic
- Unit - Order Arrow_Unit[(Integer A)] to Stop
- Else - Actions
-
If - Conditions
-
Else - Actions
- -------- //ORGANIC UNITS --------
- Unit - Order Arrow_Unit[(Integer A)] to Hold Position
- Unit - Order Arrow_Dummy_Unit[(Integer A)] to Human Mountain King - Storm Bolt Arrow_Unit[(Integer A)]
- Unit - Cause (Last created unit) to damage Arrow_Unit[(Integer A)], dealing Arrow_Damage[Arrow_Level[(Integer A)]] damage of attack type Magic and damage type Magic
- Unit - Order Arrow_Unit[(Integer A)] to Stop
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Else - Actions
-
If - Conditions
- -------- /////////////////// --------
- Unit - Kill Arrow[(Integer A)]
- Custom script: set udg_Arrow[GetForLoopIndexA()] = null
- Custom script: set udg_Arrow_Unit[GetForLoopIndexA()] = null
- Else - Actions
-
If - Conditions
- -------- /////////////////// --------
-
If - Conditions
- -------- /////////////////// --------
-
Loop - Actions
- Set Temp_Group = (Units owned by (Player(1)) matching ((((Matching unit) is alive) Equal to True) and ((Unit-type of (Matching unit)) Equal to Arrow_Unit_Projectile)))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Number of units in Temp_Group) Equal to 0
-
Then - Actions
- Trigger - Turn off (This trigger)
- Set Arrow_MUI = False
-
For each (Integer A) from 1 to Arrow_MUI_2, do (Actions)
-
Loop - Actions
- Unit - Remove Arrow[(Integer A)] from the game
- Custom script: set udg_Arrow_CastingUnit[GetForLoopIndexA()] = null
- Custom script: call RemoveLocation(udg_Arrow_Point[GetForLoopIndexA()])
- Custom script: call RemoveLocation(udg_Arrow_Default_Point[GetForLoopIndexA()])
-
Loop - Actions
- Set Arrow_MUI_2 = 0
- Else - Actions
-
If - Conditions
- Custom script: call DestroyGroup(udg_Temp_Group)
-
For each (Integer A) from 1 to Arrow_MUI_2, do (Actions)
what is wrong with Elune's arrow ? when i used the spell there dont come any arrow or effects from it.
Last edited: