NetherHawk
New Member
- Reaction score
- 26
Not as fantastic as Dota's though
This spellpack contains: BurrowStrike, Leap, Overgrowth, Corrosive Skin, Doppelwalk, Macropyre, Wild Axes, Beast Rage, Burrowed Time, Chronosphere, Time Lapse--still checking for errors and Primal Roar.
I felt that the dota spell index was nice and decided to add on some spell's, if my tirggering is ok i would like to add on some other's i have made =]
*Changed the terrain of the map, boosted the creeps hp so they dont die too fast. =/
Wild Axes
Lauches 2 axes forward, each unit may only be damaged twice.
*Code Removed*
How to slow the axes down: Basically the forward path is divided into 25 parts by WildAxe_Distance/25, so if u would like the axe to slow down then change WildAxe_Interval to for e.g WildAxe_Distance/50
By doing so u need to adjust the WildAxe_Counters to <=20, <=40 <=60 >60 in the WildAxe Movement trigger.
Since we are halving the speed of the axes, we need to halve the rate of change of angle
hence, change Unit - Move WildAxe_Dummy[1] instantly to (WildAxe_Dummy_Loc_1 offset by WildAxe_Interval towards ((WildAxe_Angle + 40.00) - (4.00 x WildAxe_Tilt[1])) degrees) to Unit - Move WildAxe_Dummy[1] instantly to (WildAxe_Dummy_Loc_1 offset by WildAxe_Interval towards ((WildAxe_Angle + 40.00) - (2.00 x WildAxe_Tilt[1])) degrees) There are 6 instances of this in the map so be careful.
Lastly, we need to set the default value of Tilt2 to 20 instead of 10. Have fun editing.
p.s. i will make an edit when i get home so that speed is proportional to distance on the return bit>< i excluded it at first as my hero walked faster than the axes and never made it home.
Chronosphere
Stops time in a particular space
Macropyre
Burns all units in a path
Burrowed Time
Saves the hero from death =x
Beast Rage
When the hero attacks the same unit consecutively, its attack speed is enhanced. Otherwise, it drops to a lower rage counter.
I added special effects to see if your rage counter increases or decreases, u can remove it easily by deleting the special effects stuff. Also, u can adjust the rate of increase by adjusting the AS% increase in Beast Rage Effect ; not Beast Rage
Burrow Strike
The sand king burrows out of sight impaling all above him.
I thought this was gonna be easy... i was horribly wrong.
If you want to have a longer impale distance, for example 1000, set the levels of Burrow Strike Effect to 1000/50. If you change the air time or wave duration ( in mine 0.5 each) make sure the total wait times in the function add up at least to the new total air+wave time but not more than 1sec or the stun would not work appropriately. In the trigger there is a 0.5 and 0.5 wait time so they add up to 1.0 which is ( 0.5 + 0.5 ) .
*Fixed a stun bug with Burrow Strike
Overgrowth
Causes an overgrowth of vines in an area entangling all units caught within 300 AoE rendering them unable to attack or move.
Very easy to implement and change the duration and damage. Adjusting values should be done in the dummy spell Overgrowth Effect.
*Fixed a bug where i forgot to level up the Overgrowth effect.
Corrosive Skin
The Viper coats its body in a toxic venom. Any unit that attacks the Viper will be poisoned reducing their movement and attack speeds. This venomous shield also reduces any incoming magical damage.
Very easy to understand. You can modify the damage the poison deals and the magical protection by adjusting in Corrosive Skin Poison and Corrisive Skin abilities respectively.
*Fixed a missing buff
DoppelWalk
The Phantom Lancer confuses his enemies by creating a double and walking off invisible.
Leap
Mirana and her FrostSaber tiger leaps into battle while enjoying a boost in attack and movement speeds.
Kind of same as my WildAXe triggers, if you want her to leap faster, lower the amout the Leap_Horizontal_Distance is divided by. For example, Set Leap_Horizontal_Distance = ((300.00 + (100.00 x (Real((Level of Leap for Leap_Caster))))) / 20.00) instead of Set Leap_Horizontal_Distance = ((300.00 + (100.00 x (Real((Level of Leap for Leap_Caster))))) / 40.00). You would have to change the rate of increase of fling height, and Leap_Vertical_Distance accordingly too. Since i changed it to 20, the conditions would be changed to <= to 10 and <= to 20. Have fun!
Time Lapse
Transports the caster back in time restoring hp, mp and location. Does not reset cooldown.
Primal Roar
I've done my best to make it look alike to dota's effects and all. Sometimes the units are pushed the wrong way. If you can spot my errors please tell me. =]
Editing this skill would be somewhat similar to that of Leap and WildAxes, i used the same method. Employed stricter conditions >> Re - uploaded due to a funny angle issue owing to the fact 90degrees is north >.>
Import Difficulties: Medium
Tinki3 Rocks!!----
Note: Please report any bugs =]
If you really hate the fact these spells arnt MUI, try out implementing Uareanoob's MUI GUI system in this map. It should work. I havnt got about learning it, but it look wonderful.
Removed map for adjustments to meet guidelines.
Moved to another thread.
This spellpack contains: BurrowStrike, Leap, Overgrowth, Corrosive Skin, Doppelwalk, Macropyre, Wild Axes, Beast Rage, Burrowed Time, Chronosphere, Time Lapse--still checking for errors and Primal Roar.
I felt that the dota spell index was nice and decided to add on some spell's, if my tirggering is ok i would like to add on some other's i have made =]
*Changed the terrain of the map, boosted the creeps hp so they dont die too fast. =/
Wild Axes
Lauches 2 axes forward, each unit may only be damaged twice.
*Code Removed*
How to slow the axes down: Basically the forward path is divided into 25 parts by WildAxe_Distance/25, so if u would like the axe to slow down then change WildAxe_Interval to for e.g WildAxe_Distance/50
By doing so u need to adjust the WildAxe_Counters to <=20, <=40 <=60 >60 in the WildAxe Movement trigger.
Since we are halving the speed of the axes, we need to halve the rate of change of angle
hence, change Unit - Move WildAxe_Dummy[1] instantly to (WildAxe_Dummy_Loc_1 offset by WildAxe_Interval towards ((WildAxe_Angle + 40.00) - (4.00 x WildAxe_Tilt[1])) degrees) to Unit - Move WildAxe_Dummy[1] instantly to (WildAxe_Dummy_Loc_1 offset by WildAxe_Interval towards ((WildAxe_Angle + 40.00) - (2.00 x WildAxe_Tilt[1])) degrees) There are 6 instances of this in the map so be careful.
Lastly, we need to set the default value of Tilt2 to 20 instead of 10. Have fun editing.
p.s. i will make an edit when i get home so that speed is proportional to distance on the return bit>< i excluded it at first as my hero walked faster than the axes and never made it home.
Chronosphere
Stops time in a particular space
Code:
Chronosphere
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Chronosphere
Actions
Set Chronosphere_Caster = (Triggering unit)
Set Chronosphere_Target_Loc = (Target point of ability being cast)
Unit - Create 1 Chronosphere Dummy for (Owner of Chronosphere_Caster) at Chronosphere_Target_Loc facing Default building facing degrees
Set Chronospere_Dummy = (Last created unit)
Animation - Change Chronospere_Dummy's vertex coloring to (0.00%, 0.00%, 100.00%) with 0.00% transparency
Unit Group - Pick every unit in (Units within 250.00 of (Position of Chronospere_Dummy) matching ((((Matching unit) is in Chronosphere_Group) Equal to False) and ((Matching unit) Not equal to Chronosphere_Caster))) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is sleeping) Equal to True
Then - Actions
Unit - Wake up (Picked unit)
Else - Actions
Do nothing
Animation - Change (Picked unit)'s animation speed to 0.00% of its original speed
Unit - Pause (Picked unit)
Unit Group - Add (Picked unit) to Chronosphere_Group
Countdown Timer - Start Chronospere_Timer as a One-shot timer that will expire in (4.00 + (2.00 x (Real((Level of Chronosphere for Chronosphere_Caster))))) seconds
Trigger - Turn on Chronosphere Add Units <gen>
Wait 0.62 seconds
Animation - Change Chronospere_Dummy's animation speed to 0.00% of its original speed
Code:
Chronosphere Add Units
Events
Time - Every 0.25 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in (Units within 250.00 of (Position of Chronospere_Dummy) matching ((((Matching unit) is in Chronosphere_Group) Equal to False) and ((Matching unit) Not equal to Chronosphere_Caster))) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is sleeping) Equal to True
Then - Actions
Unit - Wake up (Picked unit)
Else - Actions
Do nothing
Animation - Change (Picked unit)'s animation speed to 0.00% of its original speed
Unit - Pause (Picked unit)
Unit Group - Add (Picked unit) to Chronosphere_Group
Code:
End Chronosphere
Events
Time - Chronospere_Timer expires
Conditions
Actions
Trigger - Turn off Chronosphere Add Units <gen>
Unit - Remove Chronospere_Dummy from the game
Unit Group - Pick every unit in Chronosphere_Group and do (Actions)
Loop - Actions
Unit - Unpause (Picked unit)
Animation - Change (Picked unit)'s animation speed to 100.00% of its original speed
Custom script: set bj_wantDestroyGroup = true
Unit Group - Remove all units from Chronosphere_Group
Custom script: call RemoveLocation(udg_Chronosphere_Target_Loc)
Set Chronosphere_Caster = No unit
Macropyre
Burns all units in a path
Code:
Macropyre
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Macropyre
Actions
Set Macropyre_Caster = (Triggering unit)
Set Macropyre_Caster_Loc = (Position of Macropyre_Caster)
Set Macropyre_Target_Loc = (Target point of ability being cast)
Set Macropyre_Angle = (Angle from Macropyre_Caster_Loc to Macropyre_Target_Loc)
Set Macropyre_Loop = (2 + (Level of Macropyre for Macropyre_Caster))
Wait 0.05 seconds
For each (Integer Macropyre_A) from 1 to Macropyre_Loop, do (Actions)
Loop - Actions
Set Macropyre_Temp_Loc[Macropyre_A] = (Macropyre_Caster_Loc offset by (-100.00 + (200.00 x (Real(Macropyre_A)))) towards Macropyre_Angle degrees)
Unit - Create 1 Macropyre Dummy for (Owner of Macropyre_Caster) at Macropyre_Caster_Loc facing Default building facing degrees
Set Macropyre_Dummy[Macropyre_A] = (Last created unit)
Unit - Order Macropyre_Dummy[Macropyre_A] to Human Blood Mage - Flame Strike Macropyre_Temp_Loc[Macropyre_A]
Wait 0.50 seconds
Wait 3.00 seconds
For each (Integer Macropyre_B) from 1 to Macropyre_Loop, do (Actions)
Loop - Actions
Unit - Remove Macropyre_Dummy[Macropyre_B] from the game
Custom script: call RemoveLocation(udg_Macropyre_Caster_Loc)
Custom script: call RemoveLocation(udg_Macropyre_Target_Loc)
Custom script: call RemoveLocation(udg_Macropyre_Temp_Loc[1])
Custom script: call RemoveLocation(udg_Macropyre_Temp_Loc[2])
Custom script: call RemoveLocation(udg_Macropyre_Temp_Loc[3])
Custom script: call RemoveLocation(udg_Macropyre_Temp_Loc[4])
Custom script: call RemoveLocation(udg_Macropyre_Temp_Loc[5])
Burrowed Time
Saves the hero from death =x
Code:
Burrowed Time Get Caster
Events
Unit - A unit Learns a skill
Conditions
(Learned Hero Skill) Equal to Burrowed Time
Actions
Set BurrowedTime_Caster = (Triggering unit)
Trigger - Add to Burrowed Time <gen> the event (Unit - BurrowedTime_Caster Takes damage)
Trigger - Turn off (This trigger)
Code:
Burrowed Time
Events
Conditions
(Life of BurrowedTime_Caster) Less than 400.00
Actions
Unit - Order BurrowedTime_Caster to Orc Troll Berserker - Berserk
Beast Rage
When the hero attacks the same unit consecutively, its attack speed is enhanced. Otherwise, it drops to a lower rage counter.
Code:
Beast Rage
Events
Unit - A unit Learns a skill
Conditions
(Learned Hero Skill) Equal to Beast Rage
Actions
Set BeastRage_Caster = (Triggering unit)
Trigger - Turn on Beast Rage Charge up <gen>
Wait 0.02 seconds
Unit - Add Beast Rage Effect to BeastRage_Caster
Unit - Set level of Beast Rage Effect for BeastRage_Caster to 1
Trigger - Turn off (This trigger)
Code:
Beast Rage Charge up
Events
Unit - A unit Is attacked
Conditions
(Attacking unit) Equal to BeastRage_Caster
Actions
Set BeastRage_PrimaryTarget = (Attacked unit)
Set BeastRage_Effect_LevelJump = (Level of Beast Rage for BeastRage_Caster)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Beast Rage Effect for BeastRage_Caster) Equal to 1
Then - Actions
Unit - Set level of Beast Rage Effect for BeastRage_Caster to (BeastRage_Effect_LevelJump + 1)
Special Effect - Create a special effect attached to the overhead of BeastRage_Caster using Abilities\Spells\Undead\ReplenishMana\ReplenishManaCasterOverhead.mdl
Special Effect - Destroy (Last created special effect)
Else - Actions
Unit - Set level of Beast Rage Effect for BeastRage_Caster to ((Level of Beast Rage Effect for BeastRage_Caster) + BeastRage_Effect_LevelJump)
Special Effect - Create a special effect attached to the overhead of BeastRage_Caster using Abilities\Spells\Undead\ReplenishMana\ReplenishManaCasterOverhead.mdl
Special Effect - Destroy (Last created special effect)
Trigger - Turn off (This trigger)
Trigger - Turn on Beast Rage Secondary Target <gen>
Code:
Beast Rage Secondary Target
Events
Unit - A unit Is attacked
Conditions
(Attacking unit) Equal to BeastRage_Caster
Actions
Set BeastRage_SecondaryTarget[BR] = (Attacked unit)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BeastRage_SecondaryTarget[BR] Equal to BeastRage_PrimaryTarget
Then - Actions
Unit - Set level of Beast Rage Effect for BeastRage_Caster to ((Level of Beast Rage Effect for BeastRage_Caster) + BeastRage_Effect_LevelJump)
Set BR = (BR + 1)
Special Effect - Create a special effect attached to the overhead of BeastRage_Caster using Abilities\Spells\Undead\ReplenishMana\ReplenishManaCasterOverhead.mdl
Special Effect - Destroy (Last created special effect)
Else - Actions
Set BeastRage_PrimaryTarget = BeastRage_SecondaryTarget[BR]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Beast Rage Effect for BeastRage_Caster) Equal to BeastRage_Effect_LevelJump
Then - Actions
Unit - Set level of Beast Rage Effect for BeastRage_Caster to 1
Special Effect - Create a special effect attached to the overhead of BeastRage_Caster using Abilities\Spells\Undead\ReplenishHealth\ReplenishHealthCasterOverhead.mdl
Special Effect - Destroy (Last created special effect)
Else - Actions
Unit - Set level of Beast Rage Effect for BeastRage_Caster to ((Level of Beast Rage Effect for BeastRage_Caster) / 2)
Special Effect - Create a special effect attached to the overhead of BeastRage_Caster using Abilities\Spells\Undead\ReplenishHealth\ReplenishHealthCasterOverhead.mdl
Special Effect - Destroy (Last created special effect)
Set BR = 1
I added special effects to see if your rage counter increases or decreases, u can remove it easily by deleting the special effects stuff. Also, u can adjust the rate of increase by adjusting the AS% increase in Beast Rage Effect ; not Beast Rage
Burrow Strike
The sand king burrows out of sight impaling all above him.
I thought this was gonna be easy... i was horribly wrong.
Code:
Burrow Strike
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Burrow Strike
Actions
Set BurrowStrike_Caster = (Triggering unit)
Set BurrowStrike_Caster_Loc = (Position of BurrowStrike_Caster)
Set BurrowStrike_Target_Loc = (Target point of ability being cast)
Set BurrowStrike_Angle = (Angle from BurrowStrike_Caster_Loc to BurrowStrike_Target_Loc)
Set BurrowStrike_Distance = (Distance between BurrowStrike_Caster_Loc and BurrowStrike_Target_Loc)
Set BurrowStrike_Level = (Integer((BurrowStrike_Distance / 50.00)))
Unit - Create 1 Burrowed Strike Dummy for (Owner of BurrowStrike_Caster) at BurrowStrike_Caster_Loc facing BurrowStrike_Angle degrees
Set BurrowStrike_Dummy = (Last created unit)
Unit - Set level of Burrow Strike Effect for BurrowStrike_Dummy to (BurrowStrike_Level - 1)
Wait 0.20 seconds
Selection - Remove BurrowStrike_Caster from selection for (Owner of BurrowStrike_Caster)
Unit - Pause BurrowStrike_Caster
Unit - Hide BurrowStrike_Caster
Unit - Order BurrowStrike_Dummy to Undead Crypt Lord - Impale BurrowStrike_Target_Loc
Wait 0.50 seconds
Unit - Move BurrowStrike_Caster instantly to BurrowStrike_Target_Loc
Unit - Unpause BurrowStrike_Caster
Unit - Unhide BurrowStrike_Caster
Selection - Add BurrowStrike_Caster to selection for (Owner of BurrowedTime_Caster)
Wait 0.40 seconds
Custom script: set bj_wantDestroyGroup = true
Unit Group - Pick every unit in (Units within 1000.00 of BurrowStrike_Caster_Loc matching (((Matching unit) has buff Burrow Strike ) Equal to True)) and do (Actions)
Loop - Actions
Unit - Create 1 Burrowed Strike Stun Dummy for (Owner of BurrowStrike_Dummy) at (Position of (Picked unit)) facing Default building facing degrees
Set BurrowStrike_Stun_Dummy[BS] = (Last created unit)
Unit - Set level of Burrow Strike Stun for BurrowStrike_Stun_Dummy[BS] to (Level of Burrow Strike for BurrowStrike_Caster)
Unit - Add a 0.75 second Generic expiration timer to BurrowStrike_Stun_Dummy[BS]
Unit - Order BurrowStrike_Stun_Dummy[BS] to Human Mountain King - Storm Bolt (Picked unit)
Set BS = (BS + 1)
Unit - Remove BurrowStrike_Dummy from the game
Custom script: call RemoveLocation(udg_BurrowStrike_Target_Loc)
Custom script: call RemoveLocation(udg_BurrowStrike_Caster_Loc)
Set BurrowStrike_Caster = No unit
Set BurrowStrike_Dummy = No unit
Set BurrowStrike_Angle = 0.00
Set BurrowStrike_Distance = 0.00
Set BurrowStrike_Level = 0
Set BS = 1
If you want to have a longer impale distance, for example 1000, set the levels of Burrow Strike Effect to 1000/50. If you change the air time or wave duration ( in mine 0.5 each) make sure the total wait times in the function add up at least to the new total air+wave time but not more than 1sec or the stun would not work appropriately. In the trigger there is a 0.5 and 0.5 wait time so they add up to 1.0 which is ( 0.5 + 0.5 ) .
*Fixed a stun bug with Burrow Strike
Overgrowth
Causes an overgrowth of vines in an area entangling all units caught within 300 AoE rendering them unable to attack or move.
Code:
Overgrowth
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Overgrowth
Actions
Set Overgrowth_Caster = (Triggering unit)
Set Overgrowth_Caster_Loc = (Position of Overgrowth_Caster)
Custom script: set bj_wantDestroyGroup = true
Unit Group - Pick every unit in (Units within 300.00 of Overgrowth_Caster_Loc matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is A ground unit) Equal to True) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is Magic Immune) Equal to and do (Actions)
Loop - Actions
Unit - Create 1 Overgrowth Dummy for (Owner of Overgrowth_Caster) at (Position of (Picked unit)) facing Default building facing degrees
Set Overgrowth_Dummy[Overgrowth] = (Last created unit)
Unit - Add a 0.75 second Generic expiration timer to Overgrowth_Dummy[Overgrowth]
Unit - Set level of Overgrowth Effect for Overgrowth_Dummy[Overgrowth] to (Level of Overgrowth for Overgrowth_Caster)
Unit - Order Overgrowth_Dummy[Overgrowth] to Night Elf Keeper Of The Grove - Entangling Roots (Picked unit)
Set Overgrowth = (Overgrowth + 1)
Wait ((Real((Level of Overgrowth for Overgrowth_Caster))) + 2.00) seconds
Set Overgrowth = 1
Custom script: call RemoveLocation (udg_Overgrowth_Caster_Loc)
Set Overgrowth_Caster = No unit
Very easy to implement and change the duration and damage. Adjusting values should be done in the dummy spell Overgrowth Effect.
*Fixed a bug where i forgot to level up the Overgrowth effect.
Corrosive Skin
The Viper coats its body in a toxic venom. Any unit that attacks the Viper will be poisoned reducing their movement and attack speeds. This venomous shield also reduces any incoming magical damage.
Code:
Corrosive Skin start
Events
Unit - A unit Learns a skill
Conditions
(Learned Hero Skill) Equal to Corrosive Skin
Actions
Set NetherDrake = (Triggering unit)
Trigger - Turn on Corrosive Skin <gen>
Code:
Corrosive Skin
Events
Unit - A unit Is attacked
Conditions
(Attacked unit) Equal to NetherDrake
Actions
Set CorrosiveSkin_Target = (Attacking unit)
Unit - Create 1 Corrosive Skin Dummy for (Owner of NetherDrake) at (Position of (Attacking unit)) facing Default building facing degrees
Set CorrosiveSkin_Dummy = (Last created unit)
Unit - Set level of Corrosive Skin Poison for CorrosiveSkin_Dummy to (Level of Corrosive Skin for NetherDrake)
Unit - Order CorrosiveSkin_Dummy to Attack CorrosiveSkin_Target
Unit - Add a 1.00 second Generic expiration timer to CorrosiveSkin_Dummy
Very easy to understand. You can modify the damage the poison deals and the magical protection by adjusting in Corrosive Skin Poison and Corrisive Skin abilities respectively.
*Fixed a missing buff
DoppelWalk
The Phantom Lancer confuses his enemies by creating a double and walking off invisible.
Code:
Doppelwalk
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Doppelwalk
Actions
Set Doppelwalk_Caster = (Triggering unit)
Custom script: call SetUnitPathing(udg_Doppelwalk_Caster, false)
Set Doppelwalk_Caster_Loc = (Position of Doppelwalk_Caster)
Unit - Create 1 Doppelwalk Dummy for (Owner of Doppelwalk_Caster) at Doppelwalk_Caster_Loc facing Default building facing degrees
Set Doppelwalk_Dummy[1] = (Last created unit)
Unit - Create 1 Doppelwalk Dummy for (Owner of Doppelwalk_Caster) at Doppelwalk_Caster_Loc facing Default building facing degrees
Set Doppelwalk_Dummy[2] = (Last created unit)
Unit - Create 1 Doppelwalk Dummy for (Owner of Doppelwalk_Caster) at Doppelwalk_Caster_Loc facing Default building facing degrees
Set Doppelwalk_Dummy[3] = (Last created unit)
Hero - Create Doppelwalk Illusion and give it to Doppelwalk_Dummy[1]
Unit - Pause Doppelwalk_Caster
Unit - Add a 1.00 second Generic expiration timer to Doppelwalk_Dummy[1]
Unit - Add a 1.00 second Generic expiration timer to Doppelwalk_Dummy[3]
Unit - Add a 1.00 second Generic expiration timer to Doppelwalk_Dummy[2]
Unit - Order Doppelwalk_Dummy[2] to Human Sorceress - Invisibility Doppelwalk_Caster
Hero - Order Doppelwalk_Dummy[1] to use (Item carried by Doppelwalk_Dummy[1] of type Doppelwalk Illusion) on Doppelwalk_Caster
Unit - Order Doppelwalk_Dummy[3] to Orc Shaman - Bloodlust Doppelwalk_Caster
Custom script: call RemoveLocation (udg_Doppelwalk_Caster_Loc)
Unit - Unpause Doppelwalk_Caster
Wait 1.00 seconds
Custom script: call SetUnitPathing(udg_Doppelwalk_Caster, true)
Leap
Mirana and her FrostSaber tiger leaps into battle while enjoying a boost in attack and movement speeds.
Code:
Leap
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Leap
Actions
Set Leap_Caster = (Triggering unit)
Set Leap_Angle = (Facing of Leap_Caster)
Set Leap_Horizontal_Distance = ((300.00 + (100.00 x (Real((Level of Leap for Leap_Caster))))) / 40.00)
Set Leap_Vertical_Distance = (300.00 / 40.00)
Set Leap_Caster_FlyingHeight = 0.00
Unit - Add Crow Form to Leap_Caster
Unit - Remove Crow Form from Leap_Caster
Unit - Pause Leap_Caster
Custom script: call SetUnitPathing(udg_Leap_Caster, false)
Countdown Timer - Start Leap_Timer as a Repeating timer that will expire in 0.03 seconds
Trigger - Turn on Leap Movement <gen>
Code:
Leap Movement
Events
Time - Leap_Timer expires
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Leap_Counter Less than or equal to 20
Then - Actions
Set Leap_Caster_FlyingHeight = ((Current flying height of Leap_Caster) + Leap_Vertical_Distance)
Set Leap_Caster_Loc = (Position of Leap_Caster)
Unit - Move Leap_Caster instantly to (Leap_Caster_Loc offset by Leap_Horizontal_Distance towards Leap_Angle degrees)
Animation - Change Leap_Caster flying height to Leap_Caster_FlyingHeight at (Leap_Vertical_Distance / 0.03)
Custom script: call RemoveLocation(udg_Leap_Caster_Loc)
Set Leap_Counter = (Leap_Counter + 1)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Leap_Counter Less than or equal to 40
Then - Actions
Set Leap_Caster_FlyingHeight = ((Current flying height of Leap_Caster) - Leap_Vertical_Distance)
Set Leap_Caster_Loc = (Position of Leap_Caster)
Unit - Move Leap_Caster instantly to (Leap_Caster_Loc offset by Leap_Horizontal_Distance towards Leap_Angle degrees)
Animation - Change Leap_Caster flying height to Leap_Caster_FlyingHeight at (Leap_Vertical_Distance / 0.03)
Custom script: call RemoveLocation(udg_Leap_Caster_Loc)
Set Leap_Counter = (Leap_Counter + 1)
Else - Actions
Countdown Timer - Pause Leap_Timer
Custom script: call SetUnitPathing(udg_Leap_Caster, true)
Unit - Unpause Leap_Caster
Set Leap_Horizontal_Distance = 0.00
Set Leap_Caster_FlyingHeight = 0.00
Set Leap_Counter = 1
Selection - Add Leap_Caster to selection
Set Leap_Caster_Loc = (Position of Leap_Caster)
Unit - Create 1 Leap Dummy for (Owner of Leap_Caster) at Leap_Caster_Loc facing Default building facing degrees
Set Leap_Dummy = (Last created unit)
Unit - Add a 1.50 second Generic expiration timer to Leap_Dummy
Unit - Set level of Leap Speed Bonus for Leap_Dummy to (Level of Leap for Leap_Caster)
Unit - Order Leap_Dummy to Orc Shaman - Bloodlust Leap_Caster
Custom script: call RemoveLocation(udg_Leap_Caster_Loc)
Trigger - Turn off (This trigger)
Kind of same as my WildAXe triggers, if you want her to leap faster, lower the amout the Leap_Horizontal_Distance is divided by. For example, Set Leap_Horizontal_Distance = ((300.00 + (100.00 x (Real((Level of Leap for Leap_Caster))))) / 20.00) instead of Set Leap_Horizontal_Distance = ((300.00 + (100.00 x (Real((Level of Leap for Leap_Caster))))) / 40.00). You would have to change the rate of increase of fling height, and Leap_Vertical_Distance accordingly too. Since i changed it to 20, the conditions would be changed to <= to 10 and <= to 20. Have fun!
Time Lapse
Transports the caster back in time restoring hp, mp and location. Does not reset cooldown.
Primal Roar
I've done my best to make it look alike to dota's effects and all. Sometimes the units are pushed the wrong way. If you can spot my errors please tell me. =]
Code:
Primal Roar
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Primal Roar
Actions
Set PrimalRoar_Caster = (Triggering unit)
Set PrimalRoar_Caster_Loc = (Position of PrimalRoar_Caster)
Set PrimalRoar_Target = (Target unit of ability being cast)
Set PrimalRoar_Target_Loc = (Target point of ability being cast)
Set PrimalRoar_Angle = (Angle from PrimalRoar_Caster_Loc to PrimalRoar_Target_Loc)
For each (Integer PrimalRoar) from 1 to 4, do (Actions)
Loop - Actions
Set PrimalRoar_Temp_Loc[PrimalRoar] = (PrimalRoar_Caster_Loc offset by (200.00 x (Real(PrimalRoar))) towards PrimalRoar_Angle degrees)
Unit - Create 1 Primal Roar Effect Dummy for (Owner of PrimalRoar_Caster) at PrimalRoar_Temp_Loc[PrimalRoar] facing Default building facing degrees
Set PrimalRoar_Effect_Dummy[PrimalRoar] = (Last created unit)
Unit - Add a 1.00 second Generic expiration timer to PrimalRoar_Effect_Dummy[PrimalRoar]
Unit - Create 1 Primal Roar Dummy for (Owner of PrimalRoar_Caster) at PrimalRoar_Temp_Loc[PrimalRoar] facing Default building facing degrees
Set PrimalRoar_Dummy[PrimalRoar] = (Last created unit)
Animation - Change PrimalRoar_Dummy[PrimalRoar] prop window angle to -180.00
Unit - Set level of Primal Roar Slow Effect for PrimalRoar_Dummy[PrimalRoar] to (Level of Primal Roar for PrimalRoar_Caster)
Unit - Add a 1.00 second Generic expiration timer to PrimalRoar_Dummy[PrimalRoar]
Unit - Order PrimalRoar_Dummy[PrimalRoar] to Human Mountain King - Thunder Clap
Wait 0.35 seconds
Unit Group - Pick every unit in (Units in (Playable map area) matching ((((Matching unit) is A structure) Equal to False) and (((((Matching unit) is alive) Equal to True) and (((Matching unit) has buff Primal Roar (Slow)) Equal to True)) and (((Matching unit) Not equal to PrimalRoar_Target) and do (Actions)
Loop - Actions
Custom script: call SetUnitPathing(GetEnumUnit(), false)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PrimalRoar_Angle Greater than 90.00
PrimalRoar_Angle Less than or equal to 270.00
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Angle from PrimalRoar_Caster_Loc to (Position of (Picked unit))) Greater than or equal to PrimalRoar_Angle
Then - Actions
Unit Group - Add (Picked unit) to PrimalRoar_Right_Group
Else - Actions
Unit Group - Add (Picked unit) to PrimalRoar_Left_Group
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Angle from PrimalRoar_Caster_Loc to (Position of (Picked unit))) Greater than or equal to (PrimalRoar_Angle + 180.00)) or ((Angle from PrimalRoar_Caster_Loc to (Position of (Picked unit))) Less than PrimalRoar_Angle)
Then - Actions
Unit Group - Add (Picked unit) to PrimalRoar_Left_Group
Else - Actions
Unit Group - Add (Picked unit) to PrimalRoar_Right_Group
Unit - Create 1 Primal Roar Dummy for (Owner of PrimalRoar_Caster) at (Position of (Picked unit)) facing Default building facing degrees
Unit - Add a 0.90 second Generic expiration timer to (Last created unit)
Unit - Set level of Primal Roar Damage for (Last created unit) to (Level of Primal Roar for PrimalRoar_Caster)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Owner of (Picked unit)) Equal to (Owner of PrimalRoar_Caster)
Then - Actions
Do nothing
Else - Actions
Unit - Order (Last created unit) to Special Archimonde - Finger Of Death (Picked unit)
Countdown Timer - Start PrimalRoar_Timer as a Repeating timer that will expire in 0.03 seconds
Unit - Order PrimalRoar_Caster to Attack PrimalRoar_Target
Custom script: call RemoveLocation (udg_PrimalRoar_Caster_Loc)
Custom script: call RemoveLocation (udg_PrimalRoar_Target_Loc)
Custom script: call RemoveLocation (udg_PrimalRoar_Temp_Loc[1])
Custom script: call RemoveLocation (udg_PrimalRoar_Temp_Loc[2])
Custom script: call RemoveLocation (udg_PrimalRoar_Temp_Loc[3])
Custom script: call RemoveLocation (udg_PrimalRoar_Temp_Loc[4])
Code:
Primal Roar Move Units
Events
Time - PrimalRoar_Timer expires
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PrimalRoar_Counter Less than 40
Then - Actions
Set PrimalRoar_Counter = (PrimalRoar_Counter + 1)
Unit Group - Pick every unit in PrimalRoar_Right_Group and do (Actions)
Loop - Actions
Unit - Move (Picked unit) instantly to ((Position of (Picked unit)) offset by 12.00 towards (PrimalRoar_Angle + 90.00) degrees)
Special Effect - Create a special effect attached to the origin of (Picked unit) using Objects\Spawnmodels\Undead\ImpaleTargetDust\ImpaleTargetDust.mdl
Special Effect - Destroy (Last created special effect)
Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
Special Effect - Destroy (Last created special effect)
Unit Group - Pick every unit in PrimalRoar_Left_Group and do (Actions)
Loop - Actions
Unit - Move (Picked unit) instantly to ((Position of (Picked unit)) offset by 12.00 towards (PrimalRoar_Angle - 90.00) degrees)
Special Effect - Create a special effect attached to the origin of (Picked unit) using Objects\Spawnmodels\Undead\ImpaleTargetDust\ImpaleTargetDust.mdl
Special Effect - Destroy (Last created special effect)
Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
Special Effect - Destroy (Last created special effect)
Else - Actions
Unit Group - Pick every unit in PrimalRoar_Left_Group and do (Actions)
Loop - Actions
Custom script: call SetUnitPathing(GetEnumUnit(), true)
Unit Group - Pick every unit in PrimalRoar_Right_Group and do (Actions)
Loop - Actions
Custom script: call SetUnitPathing(GetEnumUnit(), true)
Countdown Timer - Pause PrimalRoar_Timer
Set PrimalRoar_Counter = 0
Set PrimalRoar_Angle = 0.00
Custom script: set bj_wantDestroyGroup = true
Unit Group - Remove all units from PrimalRoar_Right_Group
Custom script: set bj_wantDestroyGroup = true
Unit Group - Remove all units from PrimalRoar_Left_Group
Editing this skill would be somewhat similar to that of Leap and WildAxes, i used the same method. Employed stricter conditions >> Re - uploaded due to a funny angle issue owing to the fact 90degrees is north >.>
Import Difficulties: Medium
Tinki3 Rocks!!----
Note: Please report any bugs =]
If you really hate the fact these spells arnt MUI, try out implementing Uareanoob's MUI GUI system in this map. It should work. I havnt got about learning it, but it look wonderful.
Removed map for adjustments to meet guidelines.
Moved to another thread.