• 🏆 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!

Frost Nova [GUI][MUI][Egorman] v1.1 (with slow)

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Blasting frosty flows of energy, causing incessant damage and slows by 40% all enemies in the chosen field.

Level 1 - 20 damage per sec.
Level 2 - 40 damage per sec.
Level 3 - 60 damage per sec.

Credits: DonDustin.



  • Frost Nova Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Frost Nova
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • FrostNova_Index[0] Equal to 0
        • Then - Actions
          • Trigger - Turn on Frost Nova Loop <gen>
        • Else - Actions
      • Set FrostNova_Index[0] = (FrostNova_Index[0] + 1)
      • Set FrostNova_Index[1] = (FrostNova_Index[1] + 1)
      • Set FrostNova_Caster[FrostNova_Index[1]] = (Casting unit)
      • Set FrostNova_TargetPoint[FrostNova_Index[1]] = (Target point of ability being cast)
      • Set FrostNova_Angle[FrostNova_Index[1]] = 0.00
      • Set FrostNova_Range[FrostNova_Index[1]] = 0.00
      • Set FrostNova_Boolean[FrostNova_Index[1]] = True
      • Set FrostNova_Time[FrostNova_Index[1]] = 0.00
  • Frost Nova Loop
    • Events
      • Time - Every 0.20 seconds of game time
    • Conditions
    • Actions
      • For each (Integer FrostNova_Index[2]) from 1 to FrostNova_Index[1], do (Actions)
        • Loop - Actions
          • Set FrostNova_Time[FrostNova_Index[2]] = (FrostNova_Time[FrostNova_Index[2]] + 0.20)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • FrostNova_Boolean[FrostNova_Index[2]] Equal to True
            • Then - Actions
              • Set FrostNova_Range[FrostNova_Index[2]] = (FrostNova_Range[FrostNova_Index[2]] + 100.00)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • FrostNova_Range[FrostNova_Index[2]] Equal to 600.00
                • Then - Actions
                  • Set FrostNova_Boolean[FrostNova_Index[2]] = False
                • Else - Actions
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • FrostNova_Boolean[FrostNova_Index[2]] Equal to False
            • Then - Actions
              • Set FrostNova_Range[FrostNova_Index[2]] = (FrostNova_Range[FrostNova_Index[2]] - 100.00)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • FrostNova_Range[FrostNova_Index[2]] Equal to 0.00
                • Then - Actions
                  • Set FrostNova_Boolean[FrostNova_Index[2]] = True
                • Else - Actions
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • FrostNova_Time[FrostNova_Index[2]] Less than or equal to 10.00
            • Then - Actions
              • For each (Integer FrostNova_Index[3]) from 1 to 15, do (Actions)
                • Loop - Actions
                  • Set FrostNova_Angle[FrostNova_Index[2]] = (FrostNova_Angle[FrostNova_Index[2]] + 24.00)
                  • Set FrostNova_Point[1] = (FrostNova_TargetPoint[FrostNova_Index[2]] offset by FrostNova_Range[FrostNova_Index[2]] towards FrostNova_Angle[FrostNova_Index[2]] degrees)
                  • Special Effect - Create a special effect at FrostNova_Point[1] using war3mapImported\IceNova.mdx
                  • Special Effect - Destroy (Last created special effect)
                  • Custom script: call RemoveLocation (udg_FrostNova_Point[1])
              • Set FrostNova_Group[FrostNova_Index[2]] = (Units within 600.00 of FrostNova_TargetPoint[FrostNova_Index[2]])
              • Unit Group - Pick every unit in FrostNova_Group[FrostNova_Index[2]] and do (Actions)
                • Loop - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Owner of (Picked unit)) is an enemy of (Owner of FrostNova_Caster[FrostNova_Index[2]])) Equal to True
                      • ((Picked unit) is A structure) Equal to False
                      • (Life of (Picked unit)) Greater than 0.00
                    • Then - Actions
                      • Unit - Cause FrostNova_Caster[FrostNova_Index[2]] to damage (Picked unit), dealing (4.00 x (Real((Level of Frost Nova for FrostNova_Caster[FrostNova_Index[2]])))) damage of attack type Spells and damage type Normal
                    • Else - Actions
              • Custom script: call DestroyGroup (udg_FrostNova_Group[udg_FrostNova_Index[2]])
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • FrostNova_Time[FrostNova_Index[2]] Equal to 10.00
            • Then - Actions
              • Custom script: call RemoveLocation (udg_FrostNova_TargetPoint[udg_FrostNova_Index[2]])
              • Set FrostNova_Index[0] = (FrostNova_Index[0] - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • FrostNova_Index[0] Equal to 0
                • Then - Actions
                  • Set FrostNova_Index[1] = 0
                  • Set FrostNova_Index[0] = 0
                  • Trigger - Turn off (This trigger)
                • Else - Actions
            • Else - Actions


Keywords:
frost, ice, cold, explosion, Egorman, nova, lich, burst, energy, slow.
Contents

Frost Nova [GUI][MUI][Egorman] v1.1 (Map)

Reviews
12th Dec 2015 IcemanBo: Too long time as NeedsFix. Rejected. 09:23, 2nd Oct 2010 TriggerHappy: FrostNova_Point[2] never gets destroyed. The effect is also nothing special, just a nova spam.

Moderator

M

Moderator

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

09:23, 2nd Oct 2010
TriggerHappy:

FrostNova_Point[2] never gets destroyed.
The effect is also nothing special, just a nova spam.
 
Please post the triggers. Gonna check now.

Review by Darkzealot_128:

Idea 1/5: It's just another explosion ability.
Effects 3/5: Yeah, they were decent.
Triggering 5/5: MUI and leakless, thats nice.
Importing 4/5: -1.5 for having a model but it didn't have a dummy which was good.

Overall: 13/20 (closest to 3/5)
+Vote for approval
 
Level 37
Joined
Mar 6, 2006
Messages
9,240
Copy this:


  • Frost Nova Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Frost Nova
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • FrostNova_Index[0] Equal to 0
        • Then - Actions
          • Trigger - Turn on Frost Nova Loop <gen>
        • Else - Actions
      • Set FrostNova_Index[0] = (FrostNova_Index[0] + 1)
      • Set FrostNova_Index[1] = (FrostNova_Index[1] + 1)
      • Set FrostNova_Caster[FrostNova_Index[1]] = (Casting unit)
      • Set FrostNova_TargetPoint[FrostNova_Index[1]] = (Target point of ability being cast)
      • Set FrostNova_Angle[FrostNova_Index[1]] = 0.00
      • Set FrostNova_Range[FrostNova_Index[1]] = 0.00
      • Set FrostNova_Boolean[FrostNova_Index[1]] = True
      • Set FrostNova_Time[FrostNova_Index[1]] = 0.00
  • Frost Nova Loop
    • Events
      • Time - Every 0.20 seconds of game time
    • Conditions
    • Actions
      • For each (Integer FrostNova_Index[2]) from 1 to FrostNova_Index[1], do (Actions)
        • Loop - Actions
          • Set FrostNova_Time[FrostNova_Index[2]] = (FrostNova_Time[FrostNova_Index[2]] + 0.20)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • FrostNova_Boolean[FrostNova_Index[2]] Equal to True
            • Then - Actions
              • Set FrostNova_Range[FrostNova_Index[2]] = (FrostNova_Range[FrostNova_Index[2]] + 100.00)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • FrostNova_Range[FrostNova_Index[2]] Equal to 600.00
                • Then - Actions
                  • Set FrostNova_Boolean[FrostNova_Index[2]] = False
                • Else - Actions
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • FrostNova_Boolean[FrostNova_Index[2]] Equal to False
            • Then - Actions
              • Set FrostNova_Range[FrostNova_Index[2]] = (FrostNova_Range[FrostNova_Index[2]] - 100.00)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • FrostNova_Range[FrostNova_Index[2]] Equal to 0.00
                • Then - Actions
                  • Set FrostNova_Boolean[FrostNova_Index[2]] = True
                • Else - Actions
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • FrostNova_Time[FrostNova_Index[2]] Less than or equal to 10.00
            • Then - Actions
              • For each (Integer FrostNova_Index[3]) from 1 to 15, do (Actions)
                • Loop - Actions
                  • Set FrostNova_Angle[FrostNova_Index[2]] = (FrostNova_Angle[FrostNova_Index[2]] + 24.00)
                  • Set FrostNova_Point[1] = (FrostNova_TargetPoint[FrostNova_Index[2]] offset by FrostNova_Range[FrostNova_Index[2]] towards FrostNova_Angle[FrostNova_Index[2]] degrees)
                  • Special Effect - Create a special effect at FrostNova_Point[1] using war3mapImported\IceNova.mdx
                  • Special Effect - Destroy (Last created special effect)
                  • Custom script: call RemoveLocation (udg_FrostNova_Point[1])
              • Set FrostNova_Group[FrostNova_Index[2]] = (Units within 600.00 of FrostNova_TargetPoint[FrostNova_Index[2]])
              • Unit Group - Pick every unit in FrostNova_Group[FrostNova_Index[2]] and do (Actions)
                • Loop - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Owner of (Picked unit)) is an enemy of (Owner of FrostNova_Caster[FrostNova_Index[2]])) Equal to True
                      • ((Picked unit) is A structure) Equal to False
                      • (Life of (Picked unit)) Greater than 0.00
                    • Then - Actions
                      • Unit - Cause FrostNova_Caster[FrostNova_Index[2]] to damage (Picked unit), dealing (4.00 x (Real((Level of Frost Nova for FrostNova_Caster[FrostNova_Index[2]])))) damage of attack type Spells and damage type Normal
                    • Else - Actions
              • Custom script: call DestroyGroup (udg_FrostNova_Group[udg_FrostNova_Index[2]])
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • FrostNova_Time[FrostNova_Index[2]] Equal to 10.00
            • Then - Actions
              • Custom script: call RemoveLocation (udg_FrostNova_TargetPoint[udg_FrostNova_Index[2]])
              • Set FrostNova_Index[0] = (FrostNova_Index[0] - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • FrostNova_Index[0] Equal to 0
                • Then - Actions
                  • Set FrostNova_Index[1] = 0
                  • Set FrostNova_Index[0] = 0
                  • Trigger - Turn off (This trigger)
                • Else - Actions
            • Else - Actions
 
Top