kelogsloops
You can change this now in User CP.
- Reaction score
- 45
so i've got a spell that makes a missile and sends it towards a target location and upon destination, it circles the area for the remaining seconds of the cast which is 5 second effect (including moving towards the point). i've got the circling bit right, but then when i was told to make my moving units as missiles triggers MUI by using hashtables, i encountered some problems.
firstly, when the spell is cast, and as the first missile circles the target point, if i cast another one, both missiles circle the SECOND target point. (the first one moves to the second point), and when the first missile dies because of its expiration timer, any remaining missiles and missiles cast after that just magically move towards woopwoopland (i think center of map).
secondly, i wanted to make it that if the hero cancels or stops CHANNELING, any missiles alive would be destroyed.
here are my codes ;/
firstly, when the spell is cast, and as the first missile circles the target point, if i cast another one, both missiles circle the SECOND target point. (the first one moves to the second point), and when the first missile dies because of its expiration timer, any remaining missiles and missiles cast after that just magically move towards woopwoopland (i think center of map).
secondly, i wanted to make it that if the hero cancels or stops CHANNELING, any missiles alive would be destroyed.
here are my codes ;/
Trigger:
- Flare
- Events
- Unit - A unit Begins channeling an ability
- Conditions
- (Ability being cast) Equal to Flare
- Actions
- Set Caster = (Casting unit)
- Set Target_Loc = (Target point of ability being cast)
- Set Temp_Point = (Position of Caster)
- Unit - Create 1 Footman for (Owner of Caster) at Temp_Point facing (Facing of Caster) degrees
- Unit Group - Add (Last created unit) to UnitGroup
- Hashtable - Save 5.00 as 1 of (Key (Last created unit)) in hashtable
- Hashtable - Save Handle OfCaster as 2 of (Key (Last created unit)) in hashtable
- Hashtable - Save Handle OfTarget_Loc as 3 of (Key (Last created unit)) in hashtable
- Hashtable - Save (Angle from (Position of Caster) to (Target point of ability being cast)) as 4 of (Key (Last created unit)) in hashtable
- Hashtable - Save Handle Of(Last created unit) as 5 of (Key (Last created unit)) in hashtable
- Trigger - Turn on FlareMove <gen>
- Custom script: call RemoveLocation(udg_Temp_Point)
- FlareMove
- Events
- Time - Every 0.02 seconds of game time
- Conditions
- Actions
- Unit Group - Pick every unit in (Units of type Footman) and do (Actions)
- Loop - Actions
- Set RemainingTime = (Load 1 of (Key (Picked unit)) from hashtable)
- Set Caster = (Load 2 of (Key (Picked unit)) in hashtable)
- Set TargetPoint = (Load 3 of (Key (Picked unit)) in hashtable)
- Set Angle = (Load 4 of (Key (Picked unit)) from hashtable)
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- RemainingTime Greater than 0.00
- (Caster is alive) Equal to True
- Then - Actions
- Unit - Move (Picked unit) instantly to ((Position of (Picked unit)) offset by (400.00 / 30.00) towards (Facing of (Picked unit)) degrees), facing Target_Loc
- Hashtable - Save (RemainingTime - 0.02) as 1 of (Key (Picked unit)) in hashtable
- Else - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- RemainingTime Equal to 0.00
- Then - Actions
- Hashtable - Clear all child hashtables of child (Execution count of (This trigger)) in (Last created hashtable)
- Unit - Kill (Picked unit)
- Unit Group - Remove (Picked unit) from UnitGroup
- Custom script: call RemoveLocation(udg_Target_Loc)
- Else - Actions
- Do nothing
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- Loop - Actions
- Unit Group - Pick every unit in (Units of type Footman) and do (Actions)
- Events
- Flare Stop
- Events
- Unit - A unit Stops casting an ability
- Conditions
- (Ability being cast) Equal to Flare
- Actions
- Unit Group - Pick every unit in (Units in (Playable map area) matching ((Unit-type of (Matching unit)) Equal to Footman)) and do (Actions)
- Loop - Actions
- Set Caster = (Load 2 of (Key (Picked unit)) in hashtable)
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (Triggering unit) Equal to Caster
- Then - Actions
- Unit - Create 1 Mortar Team for Player 1 (Red) at (Center of (Playable map area)) facing Default building facing degrees
- Else - Actions
- Do nothing
- If - Conditions
- Loop - Actions
- Unit Group - Pick every unit in (Units in (Playable map area) matching ((Unit-type of (Matching unit)) Equal to Footman)) and do (Actions)
- Events
- Events