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

Meat Hook [MUI] [!FIXED!] v1.6

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
This spell is very similar to a Pudge Meat Hook of DotA Allstars, but he is not a copy of it =) Well, I nedeyus you will appreciate this spell on merit. Thank you =)

Level 1 - 75 damage, 800 range.
Level 2 - 150 damage, 1000 range.
Level 3 - 225 damage, 1200 range.
Level 4 - 300 damage, 1400 range.


Now the spell has no leaks and bugs.

Keywords:
meat hook, meat, hook, Egorman, pudge, dota, butcher, spell, damage, haha.
Contents

Meat Hook by Egorman (Map)

Reviews
12th Dec 2015 IcemanBo: For long time as NeedsFix. Rejected. IcemanBo: http://www.hiveworkshop.com/forums/spells-569/meat-hook-mui-fixed-v1-6-a-177745/index2.html#post2638067 18:49, 27th Sep 2010 The_Reborn_Devil: Status: Approved Rating...
Post the triggers here.
Edit: Add multiple heroes to the map to see if it's MUI.
Improve the spell description, it's too short.
Remove the cliff and replace the footmen by peasents.
Remove the chains when the throwed thing is returning to the hero.
Why do you pause the unit when the spell is being casted?
  • Unit - Create 1 Hook for (Owner of MH_Caster[MH_Index[1]]) at ((Position of MH_Caster[MH_Index[1]]) offset by 100.00 towards (Angle from (Position of MH_Caster[MH_Index[1]]) to (Target point of ability being cast)) degrees) facing (Angle from (Position of MH_Caster[MH_Index[1]]) to (Target point of ability being cast)) degrees
Store the position of the unit in a variable first and then use the variable in that action, it leaks. Afterwards, remove it.
  • Time - Every 0.03 seconds of game time
Change it to 0.05, it will still be smooth.
Also destroy groups in the end.

By judging its originality, I'd give it 2/5. But this will be rejected if you don't fix it first.

The triggers:
  • Meat Hook Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Meat Hook
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • MH_Index[0] Equal to 0
        • Then - Actions
          • Trigger - Turn on Meat Hook Move <gen>
        • Else - Actions
      • Set MH_Index[0] = (MH_Index[0] + 1)
      • Set MH_Index[1] = (MH_Index[1] + 1)
      • Set MH_Caster[MH_Index[1]] = (Casting unit)
      • Set MH_Spell[MH_Index[1]] = (Ability being cast)
      • Set MH_Damage[MH_Index[1]] = (75.00 x (Real((Level of MH_Spell[MH_Index[1]] for MH_Caster[MH_Index[1]]))))
      • Set MH_Time[MH_Index[1]] = 0.00
      • Set MH_Attack[MH_Index[1]] = False
      • Set MH_Distance[MH_Index[1]] = (600.00 + (200.00 x (Real((Level of MH_Spell[MH_Index[1]] for MH_Caster[MH_Index[1]])))))
      • Set MH_Move[MH_Index[1]] = MH_Distance[MH_Index[1]]
      • Set MH_Life[MH_Index[1]] = ((MH_Distance[MH_Index[1]] x (2.00 x 0.03)) + 0.03)
      • Unit - Create 1 Hook for (Owner of MH_Caster[MH_Index[1]]) at ((Position of MH_Caster[MH_Index[1]]) offset by 100.00 towards (Angle from (Position of MH_Caster[MH_Index[1]]) to (Target point of ability being cast)) degrees) facing (Angle from (Position of MH_Caster[MH_Index[1]]) to (Target point of ability being cast)) degrees
      • Set MH_Hook[MH_Index[1]] = (Last created unit)
      • Unit Group - Remove all units from MH_Group[MH_Index[1]]
      • Unit - Turn collision for MH_Hook[MH_Index[1]] Off
      • Unit - Pause MH_Caster[MH_Index[1]]
      • Unit - Make MH_Caster[MH_Index[2]] Invulnerable
  • Meat Hook Move
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer MH_Index[2]) from 1 to MH_Index[1], do (Actions)
        • Loop - Actions
          • Set MH_Time[MH_Index[2]] = (MH_Time[MH_Index[2]] + 20.00)
          • Set MH_Life[MH_Index[2]] = (MH_Life[MH_Index[2]] - 0.03)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • And - All (Conditions) are true
                • Conditions
                  • MH_Attack[MH_Index[2]] Equal to False
                  • MH_Time[MH_Index[2]] Less than or equal to MH_Distance[MH_Index[2]]
            • Then - Actions
              • Set MH_Move[MH_Index[2]] = (MH_Move[MH_Index[2]] + 20.00)
              • Set MH_Point[1] = (Position of MH_Hook[MH_Index[2]])
              • Set MH_Point[2] = (MH_Point[1] offset by 20.00 towards (Facing of MH_Hook[MH_Index[2]]) degrees)
              • Unit - Move MH_Hook[MH_Index[2]] instantly to MH_Point[2]
              • Unit - Create 1 Piece of Hook for (Owner of MH_Caster[MH_Index[2]]) at MH_Point[2] facing (Facing of MH_Hook[MH_Index[2]]) degrees
              • Set MH_Shmat[MH_Index[2]] = (Last created unit)
              • Unit - Add a MH_Life[MH_Index[2]] second Generic expiration timer to MH_Shmat[MH_Index[2]]
              • Unit Group - Add MH_Shmat[MH_Index[2]] to MH_Hooks[MH_Index[2]]
              • Unit Group - Pick every unit in (Units within 80.00 of MH_Point[2]) and do (Actions)
                • Loop - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • MH_Attack[MH_Index[2]] Equal to False
                      • (Picked unit) Not equal to MH_Caster[MH_Index[2]]
                      • (Picked unit) Not equal to MH_Hook[MH_Index[2]]
                      • ((Picked unit) is in MH_Group[MH_Index[2]]) Equal to False
                      • (Life of (Picked unit)) Greater than 0.00
                    • Then - Actions
                      • Set MH_Attack[MH_Index[2]] = True
                      • Set MH_Target[MH_Index[2]] = (Picked unit)
                      • Unit - Turn collision for MH_Target[MH_Index[2]] Off
                      • Unit Group - Add MH_Target[MH_Index[2]] to MH_Group[MH_Index[2]]
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (MH_Target[MH_Index[2]] belongs to an enemy of (Owner of MH_Caster[MH_Index[2]])) Equal to True
                        • Then - Actions
                          • Unit - Cause MH_Caster[MH_Index[2]] to damage MH_Target[MH_Index[2]], dealing MH_Damage[MH_Index[2]] damage of attack type Spells and damage type Normal
                        • Else - Actions
                    • Else - Actions
              • Custom script: call RemoveLocation (udg_MH_Point[1])
              • Custom script: call RemoveLocation (udg_MH_Point[2])
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Or - Any (Conditions) are true
                • Conditions
                  • MH_Attack[MH_Index[2]] Equal to True
                  • And - All (Conditions) are true
                    • Conditions
                      • MH_Time[MH_Index[2]] Greater than MH_Distance[MH_Index[2]]
                      • MH_Time[MH_Index[2]] Less than or equal to (MH_Distance[MH_Index[2]] x 2.00)
            • Then - Actions
              • Set MH_Move[MH_Index[2]] = (MH_Move[MH_Index[2]] - 20.00)
              • Set MH_Point[1] = (Position of MH_Hook[MH_Index[2]])
              • Set MH_Point[2] = (MH_Point[1] offset by 20.00 towards ((Facing of MH_Hook[MH_Index[2]]) - 180.00) degrees)
              • Unit - Move MH_Hook[MH_Index[2]] instantly to MH_Point[2]
              • Unit Group - Pick every unit in (Units within 80.00 of MH_Point[2]) and do (Actions)
                • Loop - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • MH_Attack[MH_Index[2]] Equal to False
                      • (Picked unit) Not equal to MH_Caster[MH_Index[2]]
                      • (Picked unit) Not equal to MH_Hook[MH_Index[2]]
                      • ((Picked unit) is in MH_Group[MH_Index[2]]) Equal to False
                      • (Life of (Picked unit)) Greater than 0.00
                    • Then - Actions
                      • Set MH_Attack[MH_Index[2]] = True
                      • Set MH_Target[MH_Index[2]] = (Picked unit)
                      • Unit Group - Add MH_Target[MH_Index[2]] to MH_Group[MH_Index[2]]
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (MH_Target[MH_Index[2]] belongs to an enemy of (Owner of MH_Caster[MH_Index[2]])) Equal to True
                        • Then - Actions
                          • Unit - Cause MH_Caster[MH_Index[2]] to damage MH_Target[MH_Index[2]], dealing MH_Damage[MH_Index[2]] damage of attack type Spells and damage type Normal
                        • Else - Actions
                    • Else - Actions
              • Unit Group - Pick every unit in MH_Group[MH_Index[2]] and do (Actions)
                • Loop - Actions
                  • Unit - Move (Picked unit) instantly to MH_Point[2]
              • Custom script: call RemoveLocation (udg_MH_Point[1])
              • Custom script: call RemoveLocation (udg_MH_Point[2])
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • MH_Move[MH_Index[2]] Equal to MH_Distance[MH_Index[2]]
            • Then - Actions
              • Unit Group - Pick every unit in MH_Hooks[MH_Index[2]] and do (Actions)
                • Loop - Actions
                  • Unit - Remove (Picked unit) from the game
                  • Special Effect - Create a special effect at (Position of (Picked unit)) using Abilities\Weapons\WardenMissile\WardenMissile.mdl
                  • Special Effect - Destroy (Last created special effect)
              • Unit - Turn collision for MH_Target[MH_Index[2]] On
              • Unit - Make MH_Caster[MH_Index[2]] Vulnerable
              • Unit - Turn collision for MH_Hook[MH_Index[2]] On
              • Unit - Remove MH_Hook[MH_Index[2]] from the game
              • Unit Group - Remove all units from MH_Group[MH_Index[2]]
              • Unit - Unpause MH_Caster[MH_Index[1]]
              • Set MH_Index[0] = (MH_Index[0] - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • MH_Index[0] Equal to 0
                • Then - Actions
                  • Set MH_Index[1] = 0
                  • Trigger - Turn off (This trigger)
                • Else - Actions
            • Else - Actions

Also, adding a target unit version would also be nice.
 
Last edited:
Level 13
Joined
Mar 13, 2010
Messages
1,172
I like this one, the only problem for me is that there are already like five meat hooks on this site sorry :( 3/5
 
Level 1
Joined
Sep 7, 2010
Messages
1
Egorman my friend, but his hook ugly one. It just attracts a goal, but does not attract the way someone to butcher. So cool:D.
 
Level 5
Joined
Aug 9, 2012
Messages
119
I was playing DotA the other day, and I started to think if two pudges would hook each other, would they swap their positions? :D

yes... THEY will swap position, the truth is, it store the CASTEER position when casted and DRAG the target to The caster position,
have u ever seen butcher HOOK enemy hero to his fountain? thats because it cast hook from the fountain and have relocate ability by their teammate.

same thing will happen even if u force staff yourself twice or three times, that would make 2000+ range of hook, even so, it will hook to ur first position while casting it , not final location of where the caster is.




Everybody who makes the meat hook, says this :/

but so far, ive been looking for meat hook spell, i saw evrything was NEED to FIX sign :|
so which is the best or perfect one like the dota? by MUI trigger
not jass
 
Top