- Joined
- Jun 7, 2008
- Messages
- 37
I've been trying to make the Waveform ability from DotA MUI (for those of you that don't know, Waveform removes a unit's collision detection, moves it forward and damages nearby enemies), but to no avail. Here are the triggers:
Is it possible to make this MUI without using JASS?
-
Wave Form
-
Events
-
Unit - A unit Starts the effect of an ability
-
-
Conditions
-
(Ability being cast) Equal to Waveform
-
-
Actions
-
Set WF_Caster[(Player number of (Owner of (Triggering unit)))] = (Triggering unit)
-
Set WF_Caster_Loc[(Player number of (Owner of (Triggering unit)))] = (Position of WF_Caster[(Player number of (Owner of (Triggering unit)))])
-
Set WF_Point[(Player number of (Owner of (Triggering unit)))] = (Target point of ability being cast)
-
Set WF_Angle[(Player number of (Owner of (Triggering unit)))] = (Angle from (Position of WF_Caster[(Player number of (Owner of (Triggering unit)))]) to WF_Point[(Player number of (Owner of (Triggering unit)))])
-
Set WF_Distance[(Player number of (Owner of (Triggering unit)))] = (Distance between WF_Caster_Loc[(Player number of (Owner of (Triggering unit)))] and WF_Point[(Player number of (Owner of (Triggering unit)))])
-
Set WF_Check[(Player number of (Owner of (Triggering unit)))] = False
-
Unit - Turn collision for WF_Caster[(Player number of (Owner of (Triggering unit)))] Off
-
Unit - Hide WF_Caster[(Player number of (Owner of (Triggering unit)))]
-
Custom script: call RemoveLocation(udg_WF_Caster_Loc[GetConvertedPlayerId(GetTriggerPlayer())])
-
Trigger - Turn on Wave Form Action <gen>
-
Wait until (WF_Check[(Player number of (Owner of (Triggering unit)))] Equal to True), checking every 0.10 seconds
-
Unit - Unhide WF_Caster[(Player number of (Owner of (Triggering unit)))]
-
Selection - Select WF_Caster[(Player number of (Owner of (Triggering unit)))] for (Owner of WF_Caster[(Player number of (Owner of (Triggering unit)))])
-
Unit - Turn collision for WF_Caster[(Player number of (Owner of (Triggering unit)))] On
-
Trigger - Turn off Wave Form Action <gen>
-
Custom script: call RemoveLocation(udg_WF_Point[GetConvertedPlayerId(GetTriggerPlayer())])
-
-
-
Wave Form Action
-
Events
-
Time - Every 0.02 seconds of game time
-
-
Conditions
-
Actions
-
Set WF_Caster_Loc[(Player number of (Owner of (Triggering unit)))] = (Position of WF_Caster[(Player number of (Owner of (Triggering unit)))])
-
Set WF_Offset[(Player number of (Owner of (Triggering unit)))] = (WF_Point[(Player number of (Owner of (Triggering unit)))] offset by 50.00 towards WF_Angle[(Player number of (Owner of (Triggering unit)))] degrees)
-
Unit - Move WF_Caster[(Player number of (Owner of (Triggering unit)))] instantly to WF_Offset[(Player number of (Owner of (Triggering unit)))], facing WF_Angle[(Player number of (Owner of (Triggering unit)))] degrees
-
Set WF_Distance[(Player number of (Owner of (Triggering unit)))] = (Distance between WF_Caster_Loc[(Player number of (Owner of (Triggering unit)))] and WF_Point[(Player number of (Owner of (Triggering unit)))])
-
Special Effect - Create a special effect at WF_Caster_Loc[(Player number of (Owner of (Triggering unit)))] using Objects\Spawnmodels\Naga\NagaDeath\NagaDeath.mdl
-
Special Effect - Destroy (Last created special effect)
-
Custom script: set bj_wantDestroyGroup = true
-
Unit Group - Pick every unit in (Units within 250.00 of WF_Caster_Loc[(Player number of (Owner of (Triggering unit)))] matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is A structure) Not equal to True) and (((Matching unit) belongs to an enemy of (Owner of WF_Cas and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
((Picked unit) is in WF_Group[(Player number of (Owner of (Triggering unit)))]) Not equal to True
-
WF_Check[(Player number of (Owner of (Triggering unit)))] Not equal to True
-
-
Then - Actions
-
Unit Group - Add (Picked unit) to WF_Group[(Player number of (Owner of (Triggering unit)))]
-
Unit - Cause WF_Caster[(Player number of (Owner of (Triggering unit)))] to damage (Picked unit), dealing (75.00 x (Real((Level of Waveform for WF_Caster[(Player number of (Owner of (Triggering unit)))])))) damage of attack type Spells and damage type Normal
-
-
Else - Actions
-
-
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
WF_Distance[(Player number of (Owner of (Triggering unit)))] Less than or equal to 50.00
-
-
Then - Actions
-
Set WF_Check[(Player number of (Owner of (Triggering unit)))] = True
-
Unit Group - Remove all units from WF_Group[(Player number of (Owner of (Triggering unit)))]
-
Trigger - Turn off (This trigger)
-
-
Else - Actions
-
-
Custom script: call RemoveLocation(udg_WF_Caster_Loc[GetConvertedPlayerId(GetTriggerPlayer())])
-
Custom script: call RemoveLocation(udg_WF_Offset[GetConvertedPlayerId(GetTriggerPlayer())])
-
-
Is it possible to make this MUI without using JASS?