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

[Spell] Remake Plasma Grenade

Status
Not open for further replies.
Level 6
Joined
Aug 14, 2016
Messages
174
Plasma Grenade
  • Grenade Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Plasma Grenade
    • Actions
      • Sound - Play mm_incoming <gen> at 100.00% volume, attached to (Casting unit)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • G_Skip Equal to 0
        • Then - Actions
          • Trigger - Turn on Grenade Loop <gen>
        • Else - Actions
      • Set G_Times = (G_Times + 1)
      • Set G_Skip = (G_Skip + 1)
      • Set G_Off[G_Times] = True
      • -------- Caster/Point Configuration --------
      • Set G_Caster[G_Times] = (Casting unit)
      • Set G_Level[G_Times] = (Level of Plasma Grenade for G_Caster[G_Times])
      • Set G_Damage[G_Times] = 7000.00
      • Set G_Point[0] = (Position of G_Caster[G_Times])
      • Set G_Point[1] = (Target point of ability being cast)
      • -------- Grenade Stats Configuration --------
      • Set G_Angle[G_Times] = (Angle from G_Point[0] to G_Point[1])
      • Set G_AoeSelect[G_Times] = 120.00
      • Set G_AoeFinal[G_Times] = 350.00
      • Set G_Distance[G_Times] = 1500.00
      • Set G_Fly[G_Times] = 0
      • Set G_Height[G_Times] = 200.00
      • Set G_Speed[G_Times] = 20.00
      • -------- Grenade Creation --------
      • Unit - Create 1 Grenade Dummy for (Owner of G_Caster[G_Times]) at G_Point[0] facing G_Angle[G_Times] degrees
      • Set G_Dummy[G_Times] = (Last created unit)
      • Unit - Add Crow Form to G_Dummy[G_Times]
      • Unit - Remove Crow Form from G_Dummy[G_Times]
      • -------- Leak Cleanup --------
      • Custom script: call RemoveLocation(udg_G_Point[0])
      • Custom script: call RemoveLocation(udg_G_Point[1])
  • Grenade Loop
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • For each (Integer G) from 1 to G_Times, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • G_Off[G] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • G_Distance[G] Less than or equal to 0.00
                • Then - Actions
                  • Set G_Point[2] = (Position of G_Dummy[G])
                  • Special Effect - Create a special effect at G_Point[2] using war3mapImported\NewMassiveEX.mdx
                  • Special Effect - Destroy (Last created special effect)
                  • Special Effect - Create a special effect at G_Point[2] using war3mapImported\NewGroundEX.mdx
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Remove G_Dummy[G] from the game
                  • Set G_Group[G] = (Units within G_AoeFinal[G] of G_Point[2] matching ((((Matching unit) belongs to an ally of (Owner of G_Caster[G])) Equal to False) and ((((Matching unit) is dead) Equal to False) and (((Matching unit) is Magic Immune) Equal to False))))
                  • Unit Group - Pick every unit in G_Group[G] and do (Actions)
                    • Loop - Actions
                      • Unit - Cause G_Caster[G] to damage (Picked unit), dealing G_Damage[G] damage of attack type Siege and damage type Demolition
                  • Set G_Skip = (G_Skip - 1)
                  • Set G_Off[G] = False
                  • Custom script: call DestroyGroup(udg_G_Group[udg_G])
                  • Custom script: call RemoveLocation(udg_G_Point[2])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • G_Skip Equal to 0
                    • Then - Actions
                      • Set G_Times = 0
                      • Trigger - Turn off Grenade Loop <gen>
                    • Else - Actions
                • Else - Actions
                  • Set G_Distance[G] = (G_Distance[G] - G_Speed[G])
                  • Set G_Point[3] = (Position of G_Dummy[G])
                  • Set G_Point[4] = (G_Point[3] offset by G_Speed[G] towards G_Angle[G] degrees)
                  • Unit - Move G_Dummy[G] instantly to G_Point[4]
                  • Set G_ExGroup[G] = (Units within G_AoeSelect[G] of G_Point[4] matching ((((Matching unit) belongs to an ally of (Owner of G_Caster[G])) Equal to False) and ((((Matching unit) is dead) Equal to False) and (((Matching unit) is Magic Immune) Equal to False))))
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Or - Any (Conditions) are true
                        • Conditions
                          • (Terrain pathing at G_Point[4] of type Walkability is off) Equal to True
                          • (Number of units in G_ExGroup[G]) Greater than 0
                    • Then - Actions
                      • Set G_Distance[G] = 0.00
                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • G_Fly[G] Equal to 0
                    • Then - Actions
                      • Set G_Height[G] = (G_Height[G] - 10.00)
                      • Animation - Change G_Dummy[G] flying height to G_Height[G] at 0.00
                    • Else - Actions
                      • Set G_Height[G] = (G_Height[G] + 10.00)
                      • Animation - Change G_Dummy[G] flying height to G_Height[G] at 0.00
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • G_Height[G] Less than or equal to 0.00
                    • Then - Actions
                      • Set G_Fly[G] = 1
                      • Special Effect - Create a special effect at G_Point[4] using Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.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
                      • G_Height[G] Greater than or equal to 150.00
                    • Then - Actions
                      • Set G_Fly[G] = 0
                    • Else - Actions
                  • Custom script: call RemoveLocation(udg_G_Point[3])
                  • Custom script: call RemoveLocation(udg_G_Point[4])
                  • Custom script: call DestroyGroup(udg_G_ExGroup[udg_G])
            • Else - Actions
Anyone know how to remake this Plasma Grenade, throw like cluster rocket and make few seconds explosion.
 
Level 6
Joined
Aug 14, 2016
Messages
174
@Virus-X I am not sure I understand what you need. Why are you unhappy with the spell?

regards
-Ned
I like this spell but throwing /\/\/\/\ very weird and explosion immediately instead wait few seconds.
Grenade touch wall or doodads make grenade stop bouncing but Grenade touch Walkability off make grenade stop boucing.
 
Status
Not open for further replies.
Top