• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[MUI/GUI] Firelord

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
'A demon of the burning legion so abhorred that he makes the skin of even his fellow demons crawl, Nevermore is a creature of the shadows that consumes the souls of those around him. When the Shadow Fiend comes forth to battle, he augments his power with the souls he has consumed, bearing down on his enemies with spiritually enhanced attacks and powerful spiritual blasts. The Shadow Fiend is a terrifying opponent whom few have survived, and those who have perished under his tyranny have faced the most despicable fate of all.' <---- Nevermore Background story, I'm tired with this, why we don't keep the orginal Firelord, first, he's magnificent, second, while affected by slowed buff his vertex colors change in no sense.
Hope everyone like this!

Keywords:
Nevermore, Fire, Firelord, Requiem of Souls, Shadowraze
Contents

Nevermore Remake (Map)

Reviews
12th Dec 2015 IcemanBo: For long time as NeedsFix. Rejected. 15:00 GMT, 1st Jun 2011 Bribe: General_Integer[51], General_Integer[52] and General_Integer[53] should be their own variables. This will imrove performance and readability. Same...

Moderator

M

Moderator

12th Dec 2015
IcemanBo: For long time as NeedsFix. Rejected.

15:00 GMT, 1st Jun 2011
Bribe:

General_Integer[51], General_Integer[52] and General_Integer[53] should be their own variables. This will imrove performance and readability.

Same with the other General_Integers that you use. These arrays should be split up int normal variables. Here's some general advice: if it doesn't need an array, don't make it an array.

UDS Part 1 leaks a unit group.

Use (Triggering unit) not (Entering unit) / (Casting unit) / (Learning hero)

Use normal variable loops (with normal integers) instead of (Integer A) loops.

In Macropyre, you leak a lot of flamethrower special effects towards the bottom of the loop.

(Owner of (Casting unit)) -> (Triggering player)

"Custom script: call DestroyGroup (bj_lastCreatedGroup)"

What do you want to do here? Delete this line. It will screw up so many functions and systems that use it...
 
Level 2
Joined
Jul 20, 2010
Messages
5
trigger code:

DOT System (Damage overtimes)
  • DOT SYSTEM
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
      • General_Integer[51] Not equal to 0
    • Actions
      • For each (Integer General_Integer[52]) from 1 to General_Integer[51], do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • DOTSYSTEM_DURATION[General_Integer[52]] Less than or equal to 0.00
            • Then - Actions
              • Special Effect - Destroy DOTSYSTEM_SFX[General_Integer[52]]
              • For each (Integer General_Integer[53]) from General_Integer[52] to (General_Integer[51] - 1), do (Actions)
                • Loop - Actions
                  • Set DOTSYSTEM_ATTACK_TYPE[General_Integer[53]] = DOTSYSTEM_ATTACK_TYPE[(General_Integer[53] + 1)]
                  • Set DOTSYSTEM_DAMAGE_PER_INTERVAL[General_Integer[53]] = DOTSYSTEM_DAMAGE_PER_INTERVAL[(General_Integer[53] + 1)]
                  • Set DOTSYSTEM_DAMAGE_TYPE[General_Integer[53]] = DOTSYSTEM_DAMAGE_TYPE[(General_Integer[53] + 1)]
                  • Set DOTSYSTEM_DURATION[General_Integer[53]] = DOTSYSTEM_DURATION[(General_Integer[53] + 1)]
                  • Set DOTSYSTEM_HURTER[General_Integer[53]] = DOTSYSTEM_HURTER[(General_Integer[53] + 1)]
                  • Set DOTSYSTEM_INTERVAL[General_Integer[53]] = DOTSYSTEM_INTERVAL[(General_Integer[53] + 1)]
                  • Set DOTSYSTEM_INTERVAL_COUNTER[General_Integer[53]] = DOTSYSTEM_INTERVAL_COUNTER[(General_Integer[53] + 1)]
                  • Set DOTSYSTEM_TARGET[General_Integer[53]] = DOTSYSTEM_TARGET[(General_Integer[53] + 1)]
                  • Set DOTSYSTEM_SFX[General_Integer[53]] = DOTSYSTEM_SFX[(General_Integer[53] + 1)]
              • Set General_Integer[51] = (General_Integer[51] - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • General_Integer[51] Equal to 0
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DOTSYSTEM_INTERVAL_COUNTER[General_Integer[52]] Less than or equal to 0.00
                • Then - Actions
                  • Unit - Cause DOTSYSTEM_HURTER[General_Integer[52]] to damage DOTSYSTEM_TARGET[General_Integer[52]], dealing DOTSYSTEM_DAMAGE_PER_INTERVAL[General_Integer[52]] damage of attack type DOTSYSTEM_ATTACK_TYPE[General_Integer[52]] and damage type DOTSYSTEM_DAMAGE_TYPE[General_Integer[52]]
                  • Set DOTSYSTEM_INTERVAL_COUNTER[General_Integer[52]] = DOTSYSTEM_INTERVAL[General_Integer[52]]
                • Else - Actions
                  • Set DOTSYSTEM_INTERVAL_COUNTER[General_Integer[52]] = (DOTSYSTEM_INTERVAL_COUNTER[General_Integer[52]] - 0.03)
              • Set DOTSYSTEM_DURATION[General_Integer[52]] = (DOTSYSTEM_DURATION[General_Integer[52]] - 0.03)
Ground Effect System
  • Ground SFX System
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
      • General_Integer[10] Not equal to 0
    • Actions
      • For each (Integer General_Integer[11]) from 1 to General_Integer[10], do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • GROUNDSFX_Duration[General_Integer[11]] Less than or equal to 0.00
            • Then - Actions
              • Special Effect - Destroy GROUNDSFX_SFX[General_Integer[11]]
              • For each (Integer General_Integer[12]) from General_Integer[11] to (General_Integer[10] - 1), do (Actions)
                • Loop - Actions
                  • Set GROUNDSFX_Duration[General_Integer[12]] = GROUNDSFX_Duration[(General_Integer[12] + 1)]
                  • Set GROUNDSFX_SFX[General_Integer[12]] = GROUNDSFX_SFX[(General_Integer[12] + 1)]
              • Set General_Integer[10] = (General_Integer[10] - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • General_Integer[10] Equal to 0
                • Then - Actions
                  • Trigger - Turn on (This trigger)
                • Else - Actions
            • Else - Actions
              • Set GROUNDSFX_Duration[General_Integer[11]] = (GROUNDSFX_Duration[General_Integer[11]] - 0.04)
Lava Spire
  • Lava Spire
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • Or - Any (Conditions) are true
        • Conditions
          • (Ability being cast) Equal to Lava Spire (Main - 200)
          • (Ability being cast) Equal to Lava Spire (450)
          • (Ability being cast) Equal to Lava Spire (700)
    • Actions
      • Set Temp_Unit[20] = (Casting unit)
      • Set Temp_Point[31] = (Position of (Casting unit))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Ability being cast) Equal to Lava Spire (Main - 200)
        • Then - Actions
          • Set Temp_Real[28] = 200.00
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Ability being cast) Equal to Lava Spire (450)
            • Then - Actions
              • Set Temp_Real[28] = 450.00
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Ability being cast) Equal to Lava Spire (700)
                • Then - Actions
                  • Set Temp_Real[28] = 700.00
                • Else - Actions
      • Set Temp_Point[32] = (Temp_Point[31] offset by Temp_Real[28] towards (Facing of (Casting unit)) degrees)
      • Set Temp_Integer[4] = (Level of (Ability being cast) for (Casting unit))
      • Set Temp_Real[29] = (-50.00 + (75.00 x (Real(Temp_Integer[4]))))
      • Unit - Create 1 Visual Unit (Lava Spire Graphic) for (Owner of Temp_Unit[20]) at Temp_Point[32] facing (Facing of Temp_Unit[20]) degrees
      • Unit - Add a 6.00 second Generic expiration timer to (Last created unit)
      • Unit - Turn collision for (Last created unit) Off
      • Unit - Move (Last created unit) instantly to Temp_Point[32]
      • Unit - Add Lava Spire Damage Overtimes to (Last created unit)
      • Unit - Set level of Lava Spire Damage Overtimes for (Last created unit) to (Level of Lava Spire (Main - 200) for Temp_Unit[20])
      • Animation - Change (Last created unit)'s animation speed to 0.00% of its original speed
      • Animation - Change (Last created unit)'s size to (200.00%, 200.00%, 200.00%) of its original size
      • Special Effect - Create a special effect attached to the origin of (Last created unit) using Abilities\Spells\Orc\LiquidFire\Liquidfire.mdl
      • For each (Integer A) from 1 to 10, do (Actions)
        • Loop - Actions
          • For each (Integer B) from 1 to 10, do (Actions)
            • Loop - Actions
              • Set Temp_Point[10] = (Temp_Point[32] offset by (20.00 x (Real((Integer A)))) towards (36.00 x (Real((Integer B)))) degrees)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • General_Integer[10] Equal to 0
                • Then - Actions
                  • Trigger - Turn on Ground SFX System <gen>
                • Else - Actions
              • Set General_Integer[10] = (General_Integer[10] + 1)
              • Set GROUNDSFX_Duration[General_Integer[10]] = 5.00
              • Special Effect - Create a special effect at Temp_Point[10] using Abilities\Spells\Human\FlameStrike\FlameStrikeEmbers.mdl
              • Set GROUNDSFX_SFX[General_Integer[10]] = (Last created special effect)
              • Custom script: call RemoveLocation (udg_Temp_Point[10])
      • Set Temp_Group[7] = (Units within 200.00 of Temp_Point[32])
      • Unit Group - Pick every unit in Temp_Group[7] and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) is A structure) Equal to False
              • ((Picked unit) is Magic Immune) Equal to False
              • ((Picked unit) is Mechanical) Equal to False
              • ((Picked unit) is alive) Equal to True
              • ((Picked unit) belongs to an enemy of (Owner of Temp_Unit[20])) Equal to True
            • Then - Actions
              • Set Temp_Unit[21] = (Picked unit)
              • Unit - Cause Temp_Unit[20] to damage Temp_Unit[21], dealing Temp_Real[29] damage of attack type Hero and damage type Normal
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • General_Integer[51] Equal to 0
                • Then - Actions
                  • Trigger - Turn on DOT SYSTEM <gen>
                • Else - Actions
              • Set General_Integer[51] = (General_Integer[51] + 1)
              • Set DOTSYSTEM_HURTER[General_Integer[51]] = Temp_Unit[20]
              • Set DOTSYSTEM_TARGET[General_Integer[51]] = Temp_Unit[21]
              • Set DOTSYSTEM_INTERVAL[General_Integer[51]] = 1.00
              • Set DOTSYSTEM_INTERVAL_COUNTER[General_Integer[51]] = 1.00
              • Set DOTSYSTEM_DURATION[General_Integer[51]] = 5.00
              • Set DOTSYSTEM_DAMAGE_PER_INTERVAL[General_Integer[51]] = 10.00
              • Set DOTSYSTEM_ATTACK_TYPE[General_Integer[51]] = Hero
              • Set DOTSYSTEM_DAMAGE_TYPE[General_Integer[51]] = Normal
              • Special Effect - Create a special effect attached to the chest of DOTSYSTEM_TARGET[General_Integer[51]] using Abilities\Spells\Other\BreathOfFire\BreathOfFireDamage.mdl
              • Set DOTSYSTEM_SFX[General_Integer[51]] = (Last created special effect)
            • Else - Actions
      • Custom script: call DestroyGroup (bj_lastCreatedGroup)
      • Custom script: call DestroyGroup (udg_Temp_Group[7])
      • Custom script: call RemoveLocation (udg_Temp_Point[31])
      • Custom script: call RemoveLocation (udg_Temp_Point[32])
Lava Spire Learn
  • Lava Spire Learn
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Level of Lava Spire (Main - 200) for (Learning Hero)) Greater than or equal to 1
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Lava Spire (Main - 200) for (Learning Hero)) Equal to 1
          • (Level of Lava Spire (450) for (Learning Hero)) Equal to 0
        • Then - Actions
          • Unit - Add Lava Spire (450) to (Learning Hero)
          • Unit - Add Lava Spire (700) to (Learning Hero)
        • Else - Actions
          • Unit - Set level of Lava Spire (450) for (Learning Hero) to (Level of Lava Spire (Main - 200) for (Learning Hero))
          • Unit - Set level of Lava Spire (700) for (Learning Hero) to (Level of Lava Spire (Main - 200) for (Learning Hero))
Firesealer Learn
  • Firesealer Learn
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Level of Firesealer for (Learning Hero)) Greater than or equal to 1
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Firesealer for (Learning Hero)) Equal to 1
          • (Level of Firesealer (Info) for (Learning Hero)) Equal to 0
        • Then - Actions
          • Unit - Add Firesealer (Info) to (Learning Hero)
        • Else - Actions
Firesealer
  • Firesealer
    • Events
      • Unit - A unit Dies
    • Conditions
    • Actions
      • Set Temp_Unit[0] = (Killing unit)
      • Set Temp_Unit[1] = (Dying unit)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Firesealer for (Dying unit)) Greater than or equal to 1
          • ((Dying unit) is A Hero) Equal to True
        • Then - Actions
          • Unit - Set level of Firesealer (Info) for (Dying unit) to (((Level of Firesealer (Info) for (Dying unit)) - 0) / 2)
          • Unit - Set level of Firesealer Damage Bonus for (Dying unit) to (((Level of Firesealer Damage Bonus for (Dying unit)) - 0) / 2)
          • Set Temp_Point[0] = (Position of (Dying unit))
          • For each (Integer A) from 1 to 5, do (Actions)
            • Loop - Actions
              • Set Temp_Point[1] = (Temp_Point[0] offset by (Random real number between 10.00 and 50.00) towards (Random real number between 1.00 and 360.00) degrees)
              • Unit - Create 1 Visual Unit for (Owner of (Dying unit)) at Temp_Point[1] facing (Random real number between 1.00 and 360.00) degrees
              • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
              • Unit - Turn collision for (Last created unit) Off
              • Unit - Move (Last created unit) instantly to Temp_Point[1]
              • Animation - Change (Last created unit) flying height to 400.00 at 2.00
              • Special Effect - Create a special effect attached to the chest of (Last created unit) using Abilities\Weapons\PhoenixMissile\Phoenix_Missile_mini.mdl
              • Animation - Change (Last created unit)'s size to (200.00%, 200.00%, 200.00%) of its original size
              • Custom script: call RemoveLocation (udg_Temp_Point[1])
          • Custom script: call RemoveLocation (udg_Temp_Point[0])
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Firesealer for (Killing unit)) Greater than or equal to 1
          • ((Level of Firesealer (Info) for (Killing unit)) + 0) Less than 31
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Firesealer for (Killing unit)) Equal to 1
              • ((Level of Firesealer (Info) for (Killing unit)) - 1) Less than 8
            • Then - Actions
              • Unit - Increase level of Firesealer (Info) for (Killing unit)
              • Unit - Increase level of Firesealer Damage Bonus for (Killing unit)
              • Special Effect - Create a special effect attached to the origin of PLAYER_HERO[(Player number of (Owner of (Killing unit)))] using Abilities\Spells\Demon\DarkPortal\DarkPortalTarget.mdl
              • Special Effect - Destroy (Last created special effect)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Level of Firesealer for (Killing unit)) Equal to 2
                  • ((Level of Firesealer (Info) for (Killing unit)) - 1) Less than 15
                • Then - Actions
                  • Unit - Increase level of Firesealer (Info) for (Killing unit)
                  • Unit - Increase level of Firesealer Damage Bonus for (Killing unit)
                  • Special Effect - Create a special effect attached to the origin of PLAYER_HERO[(Player number of (Owner of (Killing unit)))] using Abilities\Spells\Demon\DarkPortal\DarkPortalTarget.mdl
                  • Special Effect - Destroy (Last created special effect)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Level of Firesealer for (Killing unit)) Equal to 3
                      • ((Level of Firesealer (Info) for (Killing unit)) - 1) Less than 23
                    • Then - Actions
                      • Unit - Increase level of Firesealer (Info) for (Killing unit)
                      • Unit - Increase level of Firesealer Damage Bonus for (Killing unit)
                      • Special Effect - Create a special effect attached to the origin of PLAYER_HERO[(Player number of (Owner of (Killing unit)))] using Abilities\Spells\Demon\DarkPortal\DarkPortalTarget.mdl
                      • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Level of Firesealer for (Killing unit)) Equal to 4
                          • ((Level of Firesealer (Info) for (Killing unit)) - 1) Less than 30
                        • Then - Actions
                          • Unit - Increase level of Firesealer (Info) for (Killing unit)
                          • Unit - Increase level of Firesealer Damage Bonus for (Killing unit)
                          • Special Effect - Create a special effect attached to the origin of PLAYER_HERO[(Player number of (Owner of (Killing unit)))] using Abilities\Spells\Demon\DarkPortal\DarkPortalTarget.mdl
                          • Special Effect - Destroy (Last created special effect)
                        • Else - Actions
        • Else - Actions
Searing Heat On
  • Searing Heat On
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Level of Lava Spire (Main - 200) for (Learning Hero)) Equal to 1
    • Actions
      • Trigger - Turn on Searing Heat <gen>
      • Trigger - Turn off (This trigger)
Searing Heat
  • Searing Heat
    • Events
      • Time - Every 0.50 seconds of game time
    • Conditions
    • Actions
      • Set Temp_Group[4] = (Units in (Playable map area))
      • Unit Group - Pick every unit in Temp_Group[4] and do (Actions)
        • Loop - Actions
          • Unit - Set level of Magic Resistant Reduce for (Picked unit) to 1
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Searing Heat for (Picked unit)) Greater than or equal to 1
            • Then - Actions
              • Set Temp_Unit[5] = (Picked unit)
              • Set Temp_Point[15] = (Position of (Picked unit))
              • Set Temp_Group[5] = (Units within 900.00 of Temp_Point[15])
            • Else - Actions
      • Unit Group - Pick every unit in Temp_Group[5] and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) is A structure) Equal to False
              • ((Picked unit) is hidden) Equal to False
              • ((Picked unit) is an illusion) Equal to False
              • ((Picked unit) has buff Searing Heat ) Equal to True
              • ((Picked unit) belongs to an enemy of (Owner of Temp_Unit[5])) Equal to True
            • Then - Actions
              • Unit - Set level of Magic Resistant Reduce for (Picked unit) to ((Level of Searing Heat for Temp_Unit[5]) + 1)
            • Else - Actions
      • Custom script: call DestroyGroup (udg_Temp_Group[4])
      • Custom script: call DestroyGroup (udg_Temp_Group[5])
Macropyre
  • Macropyre
    • Events
      • Unit - A unit Finishes casting an ability
    • Conditions
      • (Ability being cast) Equal to Macropyre
    • Actions
      • Animation - Play (Casting unit)'s spell animation
      • Set Temp_Unit[25] = (Casting unit)
      • Set Temp_Point[41] = (Position of (Casting unit))
      • Set Temp_Integer[12] = (Level of Firesealer Damage Bonus for (Casting unit))
      • Set Temp_Integer[10] = ((Temp_Integer[12] - 0) / 4)
      • Set Temp_Integer[11] = (Level of Macropyre for (Casting unit))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Temp_Integer[10] Less than (4 + (2 x Temp_Integer[11]))
        • Then - Actions
          • Set Temp_Integer[10] = (4 + (2 x Temp_Integer[11]))
        • Else - Actions
          • Set Temp_Integer[10] = ((Temp_Integer[12] - 0) / 4)
      • For each (Integer A) from 1 to Temp_Integer[10], do (Actions)
        • Loop - Actions
          • Set Temp_Real[33] = ((360.00 / (Real(Temp_Integer[10]))) x (Real((Integer A))))
          • Set Temp_Point[42] = (Temp_Point[41] offset by 30.00 towards Temp_Real[33] degrees)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • General_Integer[61] Equal to 0
            • Then - Actions
              • Trigger - Turn on Macropyre Loop <gen>
            • Else - Actions
          • Set General_Integer[61] = (General_Integer[61] + 1)
          • Set Macr_Caster[General_Integer[61]] = Temp_Unit[25]
          • Set Macr_Speed[General_Integer[61]] = 700.00
          • Set Macr_Distance_Left[General_Integer[61]] = 700.00
          • Set Macr_Angle[General_Integer[61]] = Temp_Real[33]
          • Set Macr_Range_Count[General_Integer[61]] = 75.00
          • Unit - Create 1 Visual Unit for (Owner of Temp_Unit[25]) at Temp_Point[41] facing Temp_Real[33] degrees
          • Set Macr_Dummy[General_Integer[61]] = (Last created unit)
          • Unit - Turn collision for (Last created unit) Off
          • Unit - Move (Last created unit) instantly to Temp_Point[41]
          • Unit - Add Macropyre Damage to (Last created unit)
          • Unit - Set level of Macropyre Damage for (Last created unit) to Temp_Integer[11]
          • Unit - Order (Last created unit) to Orc Tauren Chieftain - Shockwave Temp_Point[42]
          • Special Effect - Create a special effect attached to the chest of (Last created unit) using Objects\Spawnmodels\Other\FlameThrower\FlameThrowerSpawnObj.mdl
          • Custom script: call RemoveLocation (udg_Temp_Point[42])
      • Special Effect - Create a special effect at Temp_Point[41] using Abilities\Spells\Demon\DarkPortal\DarkPortalTarget.mdl
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation (udg_Temp_Point[41])
Macropyre Loop
  • Macropyre Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
      • General_Integer[61] Not equal to 0
    • Actions
      • For each (Integer General_Integer[62]) from 1 to General_Integer[61], do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Macr_Distance_Left[General_Integer[62]] Less than or equal to 0.00
            • Then - Actions
              • Unit - Remove Macr_Dummy[General_Integer[62]] from the game
              • For each (Integer General_Integer[63]) from General_Integer[62] to (General_Integer[61] - 1), do (Actions)
                • Loop - Actions
                  • Set Macr_Caster[General_Integer[63]] = Macr_Caster[(General_Integer[63] + 1)]
                  • Set Macr_Distance_Left[General_Integer[63]] = Macr_Distance_Left[(General_Integer[63] + 1)]
                  • Set Macr_Speed[General_Integer[63]] = Macr_Speed[(General_Integer[63] + 1)]
                  • Set Macr_Angle[General_Integer[63]] = Macr_Angle[(General_Integer[63] + 1)]
                  • Set Macr_Dummy[General_Integer[63]] = Macr_Dummy[(General_Integer[63] + 1)]
                  • Set Macr_Range_Count[General_Integer[63]] = Macr_Range_Count[(General_Integer[63] + 1)]
              • Set General_Integer[61] = (General_Integer[61] - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • General_Integer[61] Equal to 0
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions
            • Else - Actions
              • Set Temp_Point[43] = (Position of Macr_Dummy[General_Integer[62]])
              • Set Temp_Real[34] = (0.03 x Macr_Speed[General_Integer[62]])
              • Set Temp_Point[44] = (Temp_Point[43] offset by Temp_Real[34] towards Macr_Angle[General_Integer[62]] degrees)
              • Unit - Move Macr_Dummy[General_Integer[62]] instantly to Temp_Point[44]
              • Set Macr_Distance_Left[General_Integer[62]] = (Macr_Distance_Left[General_Integer[62]] - Temp_Real[34])
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Macr_Range_Count[General_Integer[62]] Less than or equal to 0.00
                  • ((Playable map area) contains Temp_Point[44]) Equal to True
                • Then - Actions
                  • Unit - Create 1 Visual Unit (Lava Spire Graphic) for (Owner of Macr_Caster[General_Integer[62]]) at Temp_Point[44] facing Macr_Angle[General_Integer[62]] degrees
                  • Unit - Turn collision for (Last created unit) Off
                  • Unit - Move (Last created unit) instantly to Temp_Point[44]
                  • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                  • Animation - Change (Last created unit)'s animation speed to 0.00% of its original speed
                  • Set Macr_Range_Count[General_Integer[62]] = 75.00
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • General_Integer[10] Equal to 0
                    • Then - Actions
                      • Trigger - Turn on Ground SFX System <gen>
                    • Else - Actions
                  • Set General_Integer[10] = (General_Integer[10] + 1)
                  • Set GROUNDSFX_Duration[General_Integer[10]] = 5.00
                  • Special Effect - Create a special effect at Temp_Point[44] using Environment\LargeBuildingFire\LargeBuildingFire2.mdl
                  • Set GROUNDSFX_SFX[General_Integer[10]] = (Last created special effect)
                • Else - Actions
                  • Set Macr_Range_Count[General_Integer[62]] = (Macr_Range_Count[General_Integer[62]] - Temp_Real[34])
              • Custom script: call RemoveLocation (udg_Temp_Point[43])
              • Custom script: call RemoveLocation (udg_Temp_Point[44])
 
Level 3
Joined
Sep 25, 2010
Messages
33
maybe add in a little credits? (if you borrowed(stole) those triggers)

as both of em said hidden tags
 
Level 20
Joined
Jul 12, 2010
Messages
1,717
the spells are MUI and they are very good gj with that!!
but there are some things that you should notice:
-test map is bad because i get stunned all the time
-skills had cooldowns which is bad for test maps
-you should give gredits if you used any other systems in your map
-the 3 lava spire spells do the same thing instead they are just spawinning futher
(you should combine that into 1 ability instead of having 3 different ones)
 
Last edited:
Level 3
Joined
Feb 7, 2011
Messages
29
he took nevermore pack from som1 else and changed some values, appearances, and the map, didn't even bother to change the description on this upload which is the most funny part.
 
I didn't bother to download, not interested but here's my comments:

- The triggers is probably written from scratches (from the amount of imperfections/mistakes).
- The idea is not original, therefore is highly unapproved.
- Changing names/special effects/icons doesn't make a hero into a "new creation", it simply turns it into "version 2" (or whatever version it is).

Suggestion:
- If you want to make a Firelord version for Nevermore (please credit DotA btw), post it in the forums instead of having it in the Hive's library.
- People can still search for your work.
 
Top