Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
Set Knockback_Point[Knockback_HTInteger] = (Knockback_PointTarget[Knockback_HTInteger] offset by Knockback_Distance[Knockback_HTInteger] towards Knockback_Angle[Knockback_HTInteger] degrees)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Knockback_DestroyTree[Knockback_HTInteger] Equal to True
Then - Actions
Destructible - Pick every destructible within 100.00 of Knockback_PointTarget[Knockback_HTInteger] and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Destructible-type of (Picked destructible)) Not equal to Pathing Blocker (Ground)
(Destructible-type of (Picked destructible)) Not equal to Pathing Blocker (Ground) (Large)
(Destructible-type of (Picked destructible)) Not equal to Pathing Blocker (Air)
(Destructible-type of (Picked destructible)) Not equal to Pathing Blocker (Air) (Large)
(Destructible-type of (Picked destructible)) Not equal to Pathing Blocker (Both)
(Destructible-type of (Picked destructible)) Not equal to Pathing Blocker (Both) (Large)
(Destructible-type of (Picked destructible)) Not equal to Line of Sight Blocker
(Destructible-type of (Picked destructible)) Not equal to Line of Sight Blocker (Large)
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked destructible) is alive) Equal to True
((Picked destructible) is invulnerable) Equal to False
Then - Actions
Destructible - Kill (Picked destructible)
Unit - Cause No unit to damage (Picked unit), dealing KnockbackDamage[Knockback_HTInteger] damage of attack type Chaos and damage type Normal
Set Knockback_Duration[Knockback_HTInteger] = (Knockback_Duration[Knockback_HTInteger] - 0.20)
Set Knockback_Distance[Knockback_HTInteger] = (Knockback_Distance[Knockback_HTInteger] - 0.30)
Else - Actions
Else - Actions
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Terrain pathing at Knockback_PointTarget[Knockback_HTInteger] of type Walkability is off) Equal to True
Then - Actions
Unit Group - Remove (Picked unit) from Knockback_UnitGroup
Unit Group - Add (Picked unit) to Knockback_UnitGroup
Else - Actions
Else - Actions
Set Knockback_Handle = (Picked unit)
Set Knockback_HTInteger = (Load (Key Knockback_Handle) of 1 from Knockback_Hashtable)
Unit - Move (Picked unit) instantly to Knockback_Point[Knockback_HTInteger]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Terrain pathing at Knockback_PointTarget[Knockback_HTInteger] of type Floatability is off) Equal to True
Then - Actions
Unit - Create 1 Knockback Dummy Land for Neutral Passive at Knockback_PointTarget[Knockback_HTInteger] facing Knockback_PointCaster[Knockback_HTInteger]
Unit - Add a 0.35 second Generic expiration timer to (Last created unit)
Else - Actions
Unit - Create 1 Knockback Dummy Water for Neutral Passive at Knockback_PointTarget[Knockback_HTInteger] facing Knockback_PointCaster[Knockback_HTInteger]
Unit - Add a 0.35 second Generic expiration timer to (Last created unit)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Number of units in Knockback_UnitGroup) Equal to 0
Then - Actions
Trigger - Turn off (This trigger)
Else - Actions
The First sample spells (One Target spell)
Knockback Spell
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Knockback
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Number of units in Knockback_UnitGroup) Less than 1
Then - Actions
Trigger - Turn on Knockback Loop <gen>
Else - Actions
-------- This action makes the enemy face you (Trust me, you should keep this.) --------
Unit - Make (Target unit of ability being cast) face (Triggering unit) over 0.00 seconds
-------- Sets the knockback unit as target unit of ability behing cast. --------
Set Knockback_Target[(Load (Key (Target unit of ability being cast)) of 1 from Knockback_Hashtable)] = (Target unit of ability being cast)
-------- Sets the caster point (In our case triggering unit) --------
Set Knockback_PointCaster[(Load (Key (Target unit of ability being cast)) of 1 from Knockback_Hashtable)] = (Position of (Triggering unit))
-------- Sets the angle the unit will go thru, do not change this unless you know what you'r doing. --------
Set Knockback_Angle[(Load (Key (Target unit of ability being cast)) of 1 from Knockback_Hashtable)] = (Facing of (Triggering unit))
-------- Change this below, it will set the unit's distance movement every 0.02 seconds! --------
Set Knockback_Distance[(Load (Key (Target unit of ability being cast)) of 1 from Knockback_Hashtable)] = 13.50
-------- This will set the unit's duration in the knockback.. MAKE SURE IT CAN BE MULTIPLIED BY 0.02! --------
Set Knockback_Duration[(Load (Key (Target unit of ability being cast)) of 1 from Knockback_Hashtable)] = (Knockback_Duration[(Load (Key (Target unit of ability being cast)) of 1 from Knockback_Hashtable)] + 0.75)
-------- If you set DestroyTree as true, it will destroy trees that come near the knock backed unit. --------
Set Knockback_DestroyTree[(Load (Key (Target unit of ability being cast)) of 1 from Knockback_Hashtable)] = True
-------- If you want the knockbacked unit to get damaged in he crushes on a tree, set the damage down. --------
-------- if you DONT want him to get damaged, set damage to 0. --------
Set KnockbackDamage[(Load (Key (Target unit of ability being cast)) of 1 from Knockback_Hashtable)] = 20.00
-------- If you set The loop option to true, it will pick any unit that comes near the knockbacked unit, --------
-------- and will knockback it too. -- YOU MUST EDIT THE KNOCKBACK LOOP TRIGGER -- --------
Set Knockback_Loop[(Load (Key (Target unit of ability being cast)) of 1 from Knockback_Hashtable)] = True
-------- Do not change the code below. --------
Unit Group - Add (Target unit of ability being cast) to Knockback_UnitGroup
And the other sample spell (Aoe spell)
Knockback Aoe Spell
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Knockback Aoe Sample
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Number of units in Knockback_UnitGroup) Less than 1
Then - Actions
Trigger - Turn on Knockback Loop <gen>
Else - Actions
-------- THIS LEAKS, DO NOT USE THIS IN YOUR GAME! --------
Unit Group - Pick every unit in (Units within 250.00 of (Position of (Casting unit)) matching ((((Owner of (Matching unit)) is an ally of (Owner of (Casting unit))) Equal to False) and ((Owner of (Casting unit)) Not equal to (Owner of (Matching unit))))) and do (Actions)
Loop - Actions
-------- This action makes the enemy face you (Trust me, you should keep this.) --------
Unit - Make (Picked unit) face (Casting unit) over 0.00 seconds
Set Knockback_Caster[(Load (Key (Picked unit)) of 1 from Knockback_Hashtable)] = (Casting unit)
-------- Sets the knockback unit as picked unit. --------
Set Knockback_Target[(Load (Key (Picked unit)) of 1 from Knockback_Hashtable)] = (Picked unit)
-------- Sets the caster point (In our case triggering unit) --------
Set Knockback_PointCaster[(Load (Key (Picked unit)) of 1 from Knockback_Hashtable)] = (Position of (Triggering unit))
-------- Sets the angle the unit will go thru, do not change this unless you know what you'r doing. --------
Set Knockback_Angle[(Load (Key (Picked unit)) of 1 from Knockback_Hashtable)] = (Facing of (Picked unit))
-------- Change this below, it will set the unit's distance movement every 0.02 seconds! --------
Set Knockback_Distance[(Load (Key (Picked unit)) of 1 from Knockback_Hashtable)] = 13.50
-------- This will set the unit's duration. MAKE SURE IT CAN BE MULTIPLIED BY 0.02! --------
Set Knockback_Duration[(Load (Key (Picked unit)) of 1 from Knockback_Hashtable)] = (Knockback_Duration[(Load (Key (Picked unit)) of 1 from Knockback_Hashtable)] + 0.75)
-------- If you set DestroyTree as true, it will destroy trees that come near the knock backed unit. --------
Set Knockback_DestroyTree[(Load (Key (Picked unit)) of 1 from Knockback_Hashtable)] = True
-------- If you want the knockbacked unit to get damaged in he crushes on a tree, set the damage down. --------
-------- if you DONT want him to get damaged, set damage to 0. --------
Set KnockbackDamage[(Load (Key (Picked unit)) of 1 from Knockback_Hashtable)] = 0.00
-------- If you set The loop option to true, it will pick any unit that comes near the knockbacked unit, --------
-------- and will knockback it too. -- YOU MUST EDIT THE KNOCKBACK LOOP TRIGGER -- --------
Set Knockback_Loop[(Load (Key (Picked unit)) of 1 from Knockback_Hashtable)] = True
-------- Do not change the code below. --------
Unit Group - Add (Picked unit) to Knockback_UnitGroup
1.Destroying trees (You can set true/false while making your spell.)
2.Making other units get knockbacked if you crush on them.
3.cheaking if terrain is land/water, and by that changing model.
To Do List:
1.Cheak if the unit is going on a height (Raised terrain),
2.And if it does, decrease movement speed.
Give me credits if you use my system.
Give credits to Rising_dusk if you use his models.
Well.. took me alot of time to make.. but who cares, i can allways use this on my map..
(i made the system because everytime i use someone's elses, some how it turns out not like i wanted.. so here i added all options i need, and i dont need to credit any 1 aswell )
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.