• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Pudge - Different Hooks v1.0

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Different HOOKS Spellpack Includes:
Meat Hook
Hook Nova
Push and Pull Hook

*****Meat Hook*****
  • Meat Hook
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Meat Hook
    • Actions
      • Set TempBoolean = False
      • For each (Integer A) from 1 to 100, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • TempBoolean Equal to False
              • MeatHookCaster[(Integer A)] Equal to No unit
            • Then - Actions
              • Set TempInteger = (Integer A)
              • Set TempBoolean = True
            • Else - Actions
      • Set MeatHookCaster[TempInteger] = (Casting unit)
      • Set TempPoint1 = (Position of (Casting unit))
      • Set TempPoint2 = (Target point of ability being cast)
      • Set MeatHookAngle[TempInteger] = (Angle from TempPoint1 to TempPoint2)
      • Set MeatHookHooked[TempInteger] = False
      • Set MeatHookLoop[TempInteger] = 0
      • Set MeatHookTarget[TempInteger] = No unit
  • Meat Hook Pull
    • Events
      • Time - Every 0.05 seconds of game time
    • Conditions
    • Actions
      • For each (Integer A) from 1 to 100, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • MeatHookCaster[(Integer A)] Not equal to No unit
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • MeatHookHooked[(Integer A)] Equal to False
                • Then - Actions
                  • Set MeatHookLoop[(Integer A)] = (MeatHookLoop[(Integer A)] + 1)
                  • Set TempPoint1 = (Position of MeatHookCaster[(Integer A)])
                  • Set TempPoint2 = (TempPoint1 offset by (50.00 x (Real(MeatHookLoop[(Integer A)]))) towards MeatHookAngle[(Integer A)] degrees)
                  • Unit - Create 1 Hook for (Owner of MeatHookCaster[(Integer A)]) at TempPoint2 facing MeatHookAngle[(Integer A)] degrees
                  • Unit - Add a 10.00 second Generic expiration timer to (Last created unit)
                  • Set MeatHooker[(((Integer A) x 100) + MeatHookLoop[(Integer A)])] = (Last created unit)
                  • Set TempGroup = (Units within 100.00 of TempPoint2 matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((Owner of (Matching unit)) Not equal to (Owner of MeatHookCaster[(Integer A)])))))
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (TempGroup is empty) Equal to False
                    • Then - Actions
                      • Set MeatHookHooked[(Integer A)] = True
                      • Set MeatHookTarget[(Integer A)] = (Random unit from TempGroup)
                      • Unit - Pause MeatHookTarget[(Integer A)]
                      • Unit - Turn collision for MeatHookTarget[(Integer A)] Off
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (MeatHookTarget[(Integer A)] belongs to an enemy of (Owner of MeatHookCaster[(Integer A)])) Equal to True
                        • Then - Actions
                          • Unit - Cause MeatHookCaster[(Integer A)] to damage MeatHookTarget[(Integer A)], dealing 500.00 damage of attack type Spells and damage type Normal
                          • Special Effect - Create a special effect attached to the origin of MeatHookTarget[(Integer A)] using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
                          • Special Effect - Destroy (Last created special effect)
                        • Else - Actions
                    • Else - Actions
                  • Custom script: call DestroyGroup(udg_TempGroup)
                  • Custom script: call RemoveLocation(udg_TempPoint1)
                  • Custom script: call RemoveLocation(udg_TempPoint2)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • MeatHookLoop[(Integer A)] Greater than or equal to 19
                    • Then - Actions
                      • Set MeatHookHooked[(Integer A)] = True
                    • Else - Actions
                • Else - Actions
                  • Set TempPoint1 = (Position of MeatHooker[(((Integer A) x 100) + MeatHookLoop[(Integer A)])])
                  • Unit - Remove MeatHooker[(((Integer A) x 100) + MeatHookLoop[(Integer A)])] from the game
                  • Set MeatHookLoop[(Integer A)] = (MeatHookLoop[(Integer A)] - 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • MeatHookTarget[(Integer A)] Not equal to No unit
                    • Then - Actions
                      • Unit - Move MeatHookTarget[(Integer A)] instantly to TempPoint1
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (MeatHookTarget[(Integer A)] belongs to an enemy of (Owner of MeatHookCaster[(Integer A)])) Equal to True
                        • Then - Actions
                          • Special Effect - Create a special effect attached to the origin of MeatHookTarget[(Integer A)] using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
                          • Special Effect - Destroy (Last created special effect)
                        • Else - Actions
                    • Else - Actions
                  • Custom script: call RemoveLocation(udg_TempPoint1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • MeatHookLoop[(Integer A)] Less than or equal to 0
                    • Then - Actions
                      • Unit - Unpause MeatHookTarget[(Integer A)]
                      • Unit - Turn collision for MeatHookTarget[(Integer A)] On
                      • Set MeatHookCaster[(Integer A)] = No unit
                      • Set MeatHookTarget[(Integer A)] = No unit
                    • Else - Actions
            • Else - Actions
*****Hook Nova*****

  • Hook Nova
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Hook Nova
    • Actions
      • Set TempPoint1 = (Position of (Casting unit))
      • Set TempUnit = (Casting unit)
      • Trigger - Run Hook Nova Effect <gen> (ignoring conditions)
  • Hook Nova Effect
    • Events
    • Conditions
    • Actions
      • For each (Integer B) from 1 to 18, do (Actions)
        • Loop - Actions
          • Set TempPoint2 = (TempPoint1 offset by 100.00 towards ((Real((Integer B))) x 20.00) degrees)
          • Unit - Create 1 Dummy for (Owner of TempUnit) at TempPoint1 facing Default building facing degrees
          • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Meat Hook to (Last created unit)
          • Unit - Set level of Meat Hook for (Last created unit) to (Level of Meat Hook for TempUnit)
          • Unit - Order (Last created unit) to Neutral Pandaren Brewmaster - Breath Of Fire TempPoint2
          • Custom script: call RemoveLocation(udg_TempPoint2)
      • Custom script: call RemoveLocation(udg_TempPoint1)
*****Mammoth Hook*****
  • Mammoth Hook
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Mammoth Hook
    • Actions
      • Set TempBoolean = False
      • For each (Integer A) from 1 to 100, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • TempBoolean Equal to False
              • MammothHookCaster[(Integer A)] Equal to No unit
            • Then - Actions
              • Set TempInteger = (Integer A)
              • Set TempBoolean = True
            • Else - Actions
      • Set MammothHookCaster[TempInteger] = (Casting unit)
      • Set TempPoint1 = (Position of (Casting unit))
      • Set TempPoint2 = (Target point of ability being cast)
      • Set MammothHookAngle[TempInteger] = (Angle from TempPoint1 to TempPoint2)
      • Set MammothHookHooked[TempInteger] = False
      • Set MammothHookLoop[TempInteger] = 0
      • Unit Group - Remove all units from MammothHookTargets[TempInteger]
  • Mammoth Hook Pull
    • Events
      • Time - Every 0.05 seconds of game time
    • Conditions
    • Actions
      • For each (Integer A) from 1 to 100, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • MammothHookCaster[(Integer A)] Not equal to No unit
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • MammothHookHooked[(Integer A)] Equal to False
                • Then - Actions
                  • Set MammothHookLoop[(Integer A)] = (MammothHookLoop[(Integer A)] + 1)
                  • Set TempPoint1 = (Position of MammothHookCaster[(Integer A)])
                  • Set TempPoint2 = (TempPoint1 offset by (50.00 x (Real(MammothHookLoop[(Integer A)]))) towards MammothHookAngle[(Integer A)] degrees)
                  • Unit - Create 1 Hook for (Owner of MammothHookCaster[(Integer A)]) at TempPoint2 facing MammothHookAngle[(Integer A)] degrees
                  • Animation - Change (Last created unit)'s size to (400.00%, 400.00%, 400.00%) of its original size
                  • Unit - Add a 10.00 second Generic expiration timer to (Last created unit)
                  • Set MammothHooker[(((Integer A) x 100) + MammothHookLoop[(Integer A)])] = (Last created unit)
                  • Set TempGroup = (Units within 150.00 of TempPoint2 matching (((((Matching unit) is alive) Equal to True) and (((Matching unit) is in MammothHookTargets[TempInteger]) Equal to False)) and ((((Matching unit) is A structure) Equal to False) and ((Owner of (Matching unit)) Not e
                  • Unit Group - Pick every unit in TempGroup and do (Actions)
                    • Loop - Actions
                      • Unit Group - Add (Picked unit) to MammothHookTargets[(Integer A)]
                      • Unit - Pause (Picked unit)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • ((Picked unit) belongs to an enemy of (Owner of MammothHookCaster[(Integer A)])) Equal to True
                        • Then - Actions
                          • Unit - Cause MammothHookCaster[(Integer A)] to damage (Picked unit), dealing 200.00 damage of attack type Spells and damage type Normal
                          • Special Effect - Destroy (Last created special effect)
                          • Special Effect - Create a special effect attached to the origin of (Picked unit) using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
                        • Else - Actions
                  • Unit Group - Pick every unit in MammothHookTargets[(Integer A)] and do (Actions)
                    • Loop - Actions
                      • Unit - Turn collision for (Picked unit) Off
                      • Unit - Move (Picked unit) instantly to TempPoint2
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • ((Picked unit) belongs to an enemy of (Owner of MammothHookCaster[(Integer A)])) Equal to True
                        • Then - Actions
                          • Special Effect - Create a special effect attached to the origin of (Picked unit) using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
                          • Special Effect - Destroy (Last created special effect)
                        • Else - Actions
                  • Custom script: call DestroyGroup(udg_TempGroup)
                  • Custom script: call RemoveLocation(udg_TempPoint1)
                  • Custom script: call RemoveLocation(udg_TempPoint2)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • MammothHookLoop[(Integer A)] Greater than or equal to 19
                    • Then - Actions
                      • Set MammothHookHooked[(Integer A)] = True
                    • Else - Actions
                • Else - Actions
                  • Set TempPoint1 = (Position of MammothHooker[(((Integer A) x 100) + MammothHookLoop[(Integer A)])])
                  • Unit - Remove MammothHooker[(((Integer A) x 100) + MammothHookLoop[(Integer A)])] from the game
                  • Set MammothHookLoop[(Integer A)] = (MammothHookLoop[(Integer A)] - 1)
                  • Unit Group - Pick every unit in MammothHookTargets[(Integer A)] and do (Actions)
                    • Loop - Actions
                      • Unit - Turn collision for (Picked unit) Off
                      • Unit - Move (Picked unit) instantly to TempPoint1
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • ((Picked unit) belongs to an enemy of (Owner of MammothHookCaster[(Integer A)])) Equal to True
                        • Then - Actions
                          • Special Effect - Create a special effect attached to the origin of (Picked unit) using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
                          • Special Effect - Destroy (Last created special effect)
                        • Else - Actions
                  • Custom script: call RemoveLocation(udg_TempPoint1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • MammothHookLoop[(Integer A)] Less than or equal to 0
                    • Then - Actions
                      • Unit Group - Pick every unit in MammothHookTargets[(Integer A)] and do (Actions)
                        • Loop - Actions
                          • Unit - Turn collision for (Picked unit) On
                          • Unit - Unpause (Picked unit)
                      • Set MammothHookCaster[(Integer A)] = No unit
                      • Unit Group - Remove all units from MammothHookTargets[(Integer A)]
                    • Else - Actions
            • Else - Actions
Keywords:
Pudge, Meat Hook, Hook, Meat, Butcher, Hook Nova, Nova, Push, Pull, Dota, Dota Hook, Dota Pudge, Dota Meat Hook, Dota Butcher, Hookshot, Hook Shot
Contents

Ultra Pudge MUI GUI (Map)

Reviews
12th Dec 2015 IcemanBo: Too long as NeedsFix. Rejected. 14:44, 24th Sep 2011 Pharaoh_: Not a proper way of indexing; change it to that of Bribe's or Hanky's.

Moderator

M

Moderator

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

14:44, 24th Sep 2011
Pharaoh_: Not a proper way of indexing; change it to that of Bribe's or Hanky's.
 
Level 8
Joined
May 9, 2010
Messages
266
  • Special Effect - Destroy (Last created special effect)
  • Special Effect - Create a special effect attached to the origin of (Picked unit) using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
Why you are firstly destroy effect and after that you are create this?
 
Top