- Joined
- Apr 1, 2017
- Messages
- 47
So I want to make this spell.
I based it on Pitlord’s Doom ability (Probably not the best choice). After I started making triggers I faced many difficulties
The biggest of them is that I don’t know a good way to resurrect a specific unit and also I don’t think that this spell is MUI and is leaking :\
Mark of the Phoenix
Mark a unit, giving them partial characteristics of Phoenix. Marked units will be engulfed in flames, burning all nearby units, including themselves until they will meet their death. After that they will be reborn.|n|n|cffffcc00Level 1|r – can only target friendly, non-hero units; marked will be doing 6 damage to all nearby units each second and will be reborn with 50% of health and mana.|n|cffffcc00Level 2|r – can target any non-hero units; marked will be doing 8 damage to all nearby units each second and, if friendly will either be reborn with 75% or with 25% (if enemy) of health and mana.|n|cffffcc00Level 3|r – can target any non-hero units; marked will be doing 12 damage to all nearby units each second and will, be reborn with 100% of health and mana, if friendly; and with a Time Bomb that will deal 250 damage to all nearby units if casted on enemy unit.
Mark a unit, giving them partial characteristics of Phoenix. Marked units will be engulfed in flames, burning all nearby units, including themselves until they will meet their death. After that they will be reborn.|n|n|cffffcc00Level 1|r – can only target friendly, non-hero units; marked will be doing 6 damage to all nearby units each second and will be reborn with 50% of health and mana.|n|cffffcc00Level 2|r – can target any non-hero units; marked will be doing 8 damage to all nearby units each second and, if friendly will either be reborn with 75% or with 25% (if enemy) of health and mana.|n|cffffcc00Level 3|r – can target any non-hero units; marked will be doing 12 damage to all nearby units each second and will, be reborn with 100% of health and mana, if friendly; and with a Time Bomb that will deal 250 damage to all nearby units if casted on enemy unit.
I based it on Pitlord’s Doom ability (Probably not the best choice). After I started making triggers I faced many difficulties
-
Mark of The Phoenix Setup
-
Events
-
Unit - A unit Starts the effect of an ability
-
-
Conditions
-
(Ability being cast) Equal to Mark of the Phoenix
-
-
Actions
-
Set PhoenixCaster = (Casting unit)
-
Unit Group - Add (Target unit of ability being cast) to UnitsWithPhoenixMark
-
Hashtable - Save (Level of (Ability being cast) for (Triggering unit)) as 0 of (Key (Target unit of ability being cast)) in MarkOfPhoenixHash
-
Unit Group - Pick every unit in UnitsWithPhoenixMark and do (Set Loc3 = (Position of (Picked unit)))
-
-
-
Add to NearPhoenixMarked
-
Events
-
Time - Every 1.00 seconds of game time
-
-
Conditions
-
Actions
-
Unit Group - Pick every unit in (Units within 600.00 of Loc3 matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is Mechanical) Equal to False))) and do (Actions)
-
Loop - Actions
-
Unit Group - Add (Picked unit) to NearPhoenixMarked
-
-
-
-
-
Mark of Phoenix main
-
Events
-
Time - Every 1.00 seconds of game time
-
-
Conditions
-
Actions
-
Unit Group - Pick every unit in NearPhoenixMarked and do (Actions)
-
Loop - Actions
-
Set Loc3 = (Position of (Picked unit))
-
Set LevelofMarkofPhoenix = (Load 0 of (Key (Picked unit)) from MarkOfPhoenixHash)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
((Picked unit) is alive) Equal to True
-
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
LevelofMarkofPhoenix Equal to 1
-
-
Then - Actions
-
Unit - Cause (Picked unit) to damage circular area after 0.00 seconds of radius 1000.00 at Loc3, dealing 6.00 damage of attack type Normal and damage type Fire
-
Game - Display to (All players) the text: 1
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
LevelofMarkofPhoenix Equal to 2
-
-
Then - Actions
-
Unit - Cause (Picked unit) to damage circular area after 0.00 seconds of radius 1000.00 at Loc3, dealing 8.00 damage of attack type Normal and damage type Fire
-
Game - Display to (All players) the text: 2
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
LevelofMarkofPhoenix Equal to 3
-
-
Then - Actions
-
Unit - Cause (Picked unit) to damage circular area after 0.00 seconds of radius 1000.00 at Loc3, dealing 12.00 damage of attack type Normal and damage type Fire
-
Game - Display to (All players) the text: 3
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
Game - Display to (All players) the text: done
-
-
-
-
-
-
-
-
Phoenix reborn
-
Events
-
Unit - A unit Dies
-
-
Conditions
-
((Triggering unit) is in UnitsWithPhoenixMark) Equal to True
-
-
Actions
-
Unit Group - Pick every unit in UnitsWithPhoenixMark and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
LevelofMarkofPhoenix Equal to 1
-
-
Then - Actions
-
Game - Display to (All players) the text: Lvl1
-
Unit Group - Remove (Picked unit) from UnitsWithPhoenixMark
-
Hashtable - Clear all child hashtables of child (Key (Picked unit)) in MarkOfPhoenixHash
-
Custom script: call RemoveLocation(udg_Loc3)
-
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
LevelofMarkofPhoenix Equal to 2
-
-
Then - Actions
-
Game - Display to (All players) the text: Lvl 22
-
Unit Group - Remove (Picked unit) from UnitsWithPhoenixMark
-
Hashtable - Clear all child hashtables of child (Key (Picked unit)) in MarkOfPhoenixHash
-
Custom script: call RemoveLocation(udg_Loc3)
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
LevelofMarkofPhoenix Equal to 3
-
-
Then - Actions
-
Game - Display to (All players) the text: Lvl 333
-
Unit - Add a 7.00 second Generic expiration timer to (Picked unit)
-
Unit - Create 1 Dummy Time Bomb Buff for (Owner of PhoenixCaster) at Loc3 facing Default building facing degrees
-
Unit - Order (Last created unit) to Night Elf Warden - Shadow Strike (Picked unit)
-
Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
-
-
Else - Actions
-
Game - Display to (All players) the text: Broken :(
-
-
-
-
-
-
-
-
-
-
-
Phoenix Mark Time Bomb
-
Events
-
Unit - A unit Dies
-
-
Conditions
-
((Triggering unit) has buff Time Bomb Buff) Equal to True
-
-
Actions
-
Unit Group - Pick every unit in (Units within 350.00 of Loc3 matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is Mechanical) Equal to False))) and do (Actions)
-
Loop - Actions
-
Unit - Set life of (Picked unit) to ((Life of (Picked unit)) - 200.00)
-
Custom script: call RemoveLocation(udg_Loc3)
-
Unit Group - Remove (Picked unit) from UnitsWithPhoenixMark
-
Hashtable - Clear all child hashtables of child (Key (Picked unit)) in MarkOfPhoenixHash
-
-
-
-
The biggest of them is that I don’t know a good way to resurrect a specific unit and also I don’t think that this spell is MUI and is leaking :\