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

Box Hook [V1.0]

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.

Launches a box hook at a unit or location. The hook will snag the first target it encounters, dealing damage then dragging the victim back to the Butcher.

Level: 1/2/3/4

Damage: 90/180/270/360
Range: 600/800/1000/1200

Casting range: 600/800/1000/1200
Mana cost: 110/120/130/140
Cooldown: 14/13/12/11 seconds



  • Box Hook CAST
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Box Hook
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • MUI[0] Equal to 0
        • Then - Actions
          • Trigger - Turn on Box Hook LOOP <gen>
        • Else - Actions
      • Set MUI[0] = (MUI[0] + 1)
      • Set MUI[1] = (MUI[1] + 1)
      • Set Caster[MUI[1]] = (Triggering unit)
      • Set Point1[MUI[1]] = (Position of Caster[MUI[1]])
      • Set Point2 = (Target point of ability being cast)
      • Set Point3[MUI[1]] = ((Position of Caster[MUI[1]]) offset by 50.00 towards ((Facing of Caster[MUI[1]]) + 70.00) degrees)
      • Set Angle[MUI[1]] = (Angle from Point1[MUI[1]] to Point2)
      • Set AreaOfEffect = 75.00
      • Set Velocity = 30.00
      • Set Distance[MUI[1]] = 0.00
      • Set Damage[MUI[1]] = (90.00 x (Real((Level of Box Hook for (Triggering unit)))))
      • Set BooleanCome[MUI[1]] = False
      • Set Range[MUI[1]] = (300.00 + (200.00 x (Real((Level of Box Hook for (Triggering unit))))))
      • Set Loop[MUI[1]] = 0
      • Set Target[MUI[1]] = No unit
      • Set BooleanOn_Off[MUI[1]] = True
      • Custom script: call RemoveLocation(udg_Point2)
  • Box Hook LOOP
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer MUI[2]) from 1 to MUI[1], do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • BooleanOn_Off[MUI[2]] Equal to True
            • Then - Actions
              • Set Point3[MUI[1]] = ((Position of Caster[MUI[1]]) offset by 50.00 towards ((Facing of Caster[MUI[1]]) + 70.00) degrees)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • BooleanCome[MUI[2]] Equal to False
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Distance[MUI[2]] Less than Range[MUI[2]]
                    • Then - Actions
                      • Set Distance[MUI[2]] = (Distance[MUI[2]] + Velocity)
                    • Else - Actions
                      • Set BooleanCome[MUI[2]] = True
                  • Set TempPoint = (Point3[MUI[2]] offset by Distance[MUI[2]] towards Angle[MUI[2]] degrees)
                  • Unit - Create 1 Box Hook [Dummy] for (Owner of Caster[MUI[2]]) at TempPoint facing Angle[MUI[2]] degrees
                  • Set Dummy[Loop[MUI[2]]] = (Last created unit)
                  • Set Target[MUI[2]] = (Random unit from (Units within AreaOfEffect of (Position of Dummy[Loop[MUI[2]]]) matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)) and ((Matching unit) Not equal to Caster[MUI[2]]))))
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Target[MUI[2]] Not equal to No unit
                    • Then - Actions
                      • Unit - Turn collision for Target[MUI[2]] Off
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Target[MUI[2]] belongs to an ally of (Owner of Caster[MUI[2]])) Equal to False
                        • Then - Actions
                          • Unit - Cause Caster[MUI[2]] to damage Target[MUI[2]], dealing Damage[MUI[2]] damage of attack type Spells and damage type Normal
                          • Unit - Create 1 Box Hook [Caster] for (Owner of Caster[MUI[2]]) at (Position of Target[MUI[2]]) facing Default building facing degrees
                          • Set DummyCaster = (Last created unit)
                          • Unit - Add a 0.50 second Generic expiration timer to DummyCaster
                          • Unit - Order DummyCaster to Human Mountain King - Storm Bolt Target[MUI[2]]
                          • Set DummyCaster = No unit
                        • Else - Actions
                      • Set BooleanCome[MUI[2]] = True
                    • Else - Actions
                  • Custom script: call RemoveLocation(udg_TempPoint)
                  • Set Loop[MUI[2]] = (Loop[MUI[2]] + 1)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • BooleanCome[MUI[2]] Equal to True
                      • Loop[MUI[2]] Greater than or equal to 1
                    • Then - Actions
                      • Set Loop[MUI[2]] = (Loop[MUI[2]] - 1)
                      • Unit - Remove Dummy[Loop[MUI[2]]] from the game
                      • Set Distance[MUI[2]] = (Distance[MUI[2]] - Velocity)
                      • Set TempPoint = (Point3[MUI[2]] offset by Distance[MUI[2]] towards Angle[MUI[2]] degrees)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Target[MUI[2]] Not equal to No unit
                        • Then - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (Target[MUI[2]] belongs to an enemy of (Owner of Caster[MUI[2]])) Equal to True
                            • Then - Actions
                              • Special Effect - Create a special effect at (Position of Target[MUI[2]]) using Objects\Spawnmodels\Human\HumanBlood\HumanBloodFootman.mdl
                              • Set SpecialEffect = (Last created special effect)
                              • Special Effect - Destroy SpecialEffect
                            • Else - Actions
                          • Unit - Move Target[MUI[2]] instantly to TempPoint
                        • Else - Actions
                      • Custom script: call RemoveLocation(udg_TempPoint)
                    • Else - Actions
                      • Unit - Turn collision for Target[MUI[2]] On
                      • Set BooleanOn_Off[MUI[2]] = False
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • BooleanOn_Off[MUI[2]] Equal to False
                        • Then - Actions
                          • Set MUI[0] = (MUI[0] - 1)
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • MUI[0] Equal to 0
                            • Then - Actions
                              • Set MUI[1] = 0
                              • Trigger - Turn off (This trigger)
                            • Else - Actions
                        • Else - Actions
            • Else - Actions


Isn't MUI, because I don't know how to convert to MUI the Loop variable.

Keywords:
box, hook, meat hook, pudge, butcher, spell, spellpack, come, loop, indexing
Contents

Box Hook by HStyleV (Map)

Reviews
12th Dec 2015 IcemanBo: Too long as NeedsFix. Rejected. 23:08, 3rd Oct 2011 Pharaoh_: Uses the old, deprecated indexing system and the skill is anything but original.

Moderator

M

Moderator

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

23:08, 3rd Oct 2011
Pharaoh_: Uses the old, deprecated indexing system and the skill is anything but original.
 
Level 6
Joined
Apr 16, 2011
Messages
158
you could use variables with names more specific
example: variable dummy ----> BH_dummy (bh = box hook)
it helps a lot when you import spells.
in Box Hook LOOP:
you use
  • Set SpecialEffect = (Last created special effect)
and then
  • Special Effect - Destroy SpecialEffect
instead it uses:
  • Special Effect - Destroy (Last created special effect)
which refers to the latter effect created.

how about this line I'm not sure if it would be better to add expiration.

  • Unit - Remove Dummy[Loop[MUI[2]]] from the game
 
Level 5
Joined
Feb 6, 2011
Messages
177
So.. this is a meat hook with a box model? >_>

Well, I suppose it should be okay if you enhance the code as instructed (You know, when someone comments on your code ;P)

hmmm u know i like Pudge's Meat Hook in DotA... i Downloaded an approved one and took a look "Studied " the code

but after all for god sake . we have like 99999999999 Hooks in here
why dont people think of making other spells , dont understand me wrong
its a great job making this hook
but its kinda weird that each weak a meat hook is uploaded !!
why dont somebody do the pheonix abilities or ancient apparation one's
or nai'x's or or or or or or
why does it always have to be PUDGE MEAT HOOK !
well at least try to do the pudges dissesmber
 
Level 5
Joined
Nov 17, 2010
Messages
28
hmmm u know i like Pudge's Meat Hook in DotA... i Downloaded an approved one and took a look "Studied " the code

but after all for god sake . we have like 99999999999 Hooks in here
why dont people think of making other spells , dont understand me wrong
its a great job making this hook
but its kinda weird that each weak a meat hook is uploaded !!
why dont somebody do the pheonix abilities or ancient apparation one's
or nai'x's or or or or or or
why does it always have to be PUDGE MEAT HOOK !
well at least try to do the pudges dissesmber

:S, I make this spell, just for practice the indexing of the dummys. But i can't finish the fking spell, I CAN'T MAKE THE BOX HOOK be MUI! :vw_unimpressed::vw_unimpressed:
 
Level 5
Joined
Feb 6, 2011
Messages
177
if I create a unique skill, and is not perfect others can steal the idea and do it without mistakes.

: (

hmm spell steal its so interesting , well with this spell u made isnt it considered as a spell steal from icefrog ??!!
correct me if am wrong

Already started ;)

damn man u rock :D i will learn jass just to mess up with them :p :p :p hahahaha
na man u rly rock
 
Level 7
Joined
Sep 2, 2011
Messages
350
Another Hook Spell. If you don't know how to make it MUI, I recommend
checking other similar spells like this one on hive. You can learn some thing or two.
 
Top