RaiJin
New Member
- Reaction score
- 40
Wave Form
By RaiJin
By RaiJin
GUI/JASS - Gui
Import Difficulty - Low
MUI/MPI - MUI
Good
-Leakless
-LagFree
-Customizable
Bad
-None
Spell Info
Dissolves into water and dashes to the target Point.
Level 1 - 100 Damage, 1100 dash.
Level 2 - 200 Damage, 1100 dash.
Level 3 - 300 Damage, 1100 dash.
Script
Trigger:
- Wave Form
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to (==) Wave Form
- Actions
- Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- WF_MuiCount Greater than (>) 300
- Then - Actions
- Set WF_MuiCount = 0
- Else - Actions
- Set WF_MuiCount = (WF_MuiCount + 1)
- If - Conditions
- -------- Damage Per Level --------
- Set WF_Damage = 100.00
- -------- Offset Count --------
- Set WF_RealOffset = 40.00
- -------- Wave Form Level Check --------
- Set WF_Level[WF_MuiCount] = (Level of Wave Form for (Triggering unit))
- -------- How much Damage he does --------
- Set WF_SpellDMG = ((Real(WF_Level[WF_MuiCount])) x WF_Damage)
- -------- Target Point of Cast --------
- Set WF_SpellPoint[WF_MuiCount] = (Target point of ability being cast)
- -------- Damage AOE --------
- Set WF_Aoe = 150.00
- Unit - Make (Triggering unit) Invulnerable
- Unit - Turn collision for (Triggering unit) Off
- Animation - Change (Triggering unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 98.00% transparency
- Unit - Set the custom value of (Triggering unit) to WF_MuiCount
- Set WF_Caster[WF_MuiCount] = (Triggering unit)
- Custom script: if udg_WF_DamageAlready[udg_WF_MuiCount] == null then
- Custom script: set udg_WF_DamageAlready[udg_WF_MuiCount] = CreateGroup()
- Custom script: endif
- Unit Group - Add (Triggering unit) to WF_MuiGroup
- Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Events
Trigger:
- Wave Dash
- Events
- Time - Every 0.03 seconds of game time
- Conditions
- (Number of units in WF_MuiGroup) Greater than (>) 0
- Actions
- Unit Group - Pick every unit in WF_MuiGroup and do (Actions)
- Loop - Actions
- Set WF_CustomV = (Custom value of (Picked unit))
- Set WF_HeroPoint = (Position of WF_Caster[WF_CustomV])
- Set WF_Angle = (Angle from WF_HeroPoint to WF_SpellPoint[WF_CustomV])
- Set WF_Offset = (WF_HeroPoint offset by WF_RealOffset towards WF_Angle degrees)
- Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (Distance between WF_HeroPoint and WF_SpellPoint[WF_CustomV]) Less than or equal to (<=) 100.00
- Then - Actions
- Unit Group - Remove WF_Caster[WF_CustomV] from WF_MuiGroup
- Special Effect - Create a special effect at WF_HeroPoint using Objects\Spawnmodels\Naga\NagaDeath\NagaDeath.mdl
- Special Effect - Destroy (Last created special effect)
- Unit - Make WF_Caster[WF_CustomV] Vulnerable
- Animation - Change WF_Caster[WF_CustomV]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
- Unit - Turn collision for WF_Caster[WF_CustomV] On
- Custom script: call RemoveLocation (udg_WF_SpellPoint[udg_WF_CustomV])
- Custom script: call DestroyGroup(udg_WF_DamageAlready[udg_WF_CustomV])
- Else - Actions
- Special Effect - Create a special effect at WF_HeroPoint using Objects\Spawnmodels\Naga\NagaDeath\NagaDeath.mdl
- Special Effect - Destroy (Last created special effect)
- Unit - Move WF_Caster[WF_CustomV] instantly to WF_Offset
- Unit Group - Pick every unit in (Units within WF_Aoe of WF_Offset matching (((((Matching unit) is A structure) Equal to (==) False) and (((Matching unit) is in WF_DamageAlready[WF_CustomV]) Equal to (==) False)) and (((Matching unit) belongs to an enemy of (Owner of WF_Caster[WF_CustomV])) and do (Actions)
- Loop - Actions
- Unit Group - Add (Picked unit) to WF_DamageAlready[WF_CustomV]
- Unit - Cause WF_Caster[WF_CustomV] to damage (Picked unit), dealing WF_SpellDMG damage of attack type Spells and damage type Normal
- Loop - Actions
- If - Conditions
- Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Custom script: call DestroyGroup(bj_lastCreatedGroup)
- Custom script: call RemoveLocation(udg_WF_HeroPoint)
- Custom script: call RemoveLocation(udg_WF_Offset)
- Loop - Actions
- Unit Group - Pick every unit in WF_MuiGroup and do (Actions)
- Events
SCREENSHOT
First Spell ever submitted don't roast me to bad
View attachment WaveForm 1.0 By RaiJin ~~.w3xChangeLog
1.0 - Initial Release
1.1 - Minor Code Adjustments