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

Naga Hook v1.0 GUI

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
  • Like
Reactions: Klingo
Naga Hook - The Naga Siren creates a possessed water spirit to charge at the target unit. Upon arrival, the target the target takes damage compared to the distance between the caster and target and gets moved to the position of the caster.

Level 1 - 800 cast range. Damage equal to 20% of the distance.
Level 2 - 900 cast range. Damage equal to 30% of the distance.
Level 3 - 1000 cast range. Damage equal to 40% of the distance.
Level 4 - 1100 cast range. Damage equal to 50% of the distance.

  • Cast nagahook
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Naga Hook
    • Actions
      • Set player_caster_number = (Player number of (Owner of (Casting unit)))
      • Set naga_hook_caster[player_caster_number] = (Casting unit)
      • Set naga_hook_target[player_caster_number] = (Target unit of ability being cast)
      • Set naga_hook_distance[(Player number of (Owner of naga_hook_caster[player_caster_number]))] = (Distance between (Position of naga_hook_caster[player_caster_number]) and (Position of naga_hook_target[player_caster_number]))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Naga Hook for naga_hook_caster[player_caster_number]) Equal to 1
        • Then - Actions
          • Set naga_hook_damage[player_caster_number] = (naga_hook_distance[player_caster_number] x 0.20)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Naga Hook for naga_hook_caster[player_caster_number]) Equal to 2
        • Then - Actions
          • Set naga_hook_damage[player_caster_number] = (naga_hook_distance[player_caster_number] x 0.30)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Naga Hook for naga_hook_caster[player_caster_number]) Equal to 3
        • Then - Actions
          • Set naga_hook_damage[player_caster_number] = (naga_hook_distance[player_caster_number] x 0.40)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Naga Hook for naga_hook_caster[player_caster_number]) Equal to 4
        • Then - Actions
          • Set naga_hook_damage[player_caster_number] = (naga_hook_distance[player_caster_number] x 0.50)
        • Else - Actions
      • Trigger - Turn on Hook deploy <gen>
      • Countdown Timer - Start nagahookwaittimer as a One-shot timer that will expire in 0.15 seconds
  • Hook deploy
    • Events
      • Time - nagahookwaittimer expires
    • Conditions
    • Actions
      • Unit - Create 1 naga_hook_unit for (Owner of naga_hook_caster[playercasternumber]) at ((Position of naga_hook_caster[playercasternumber]) offset by 50.00 towards (Angle from (Position of naga_hook_caster[playercasternumber]) to (Position of naga_hook_target[playercasternumber])) degrees) facing (Angle from (Position of naga_hook_caster[playercasternumber]) to (Position of naga_hook_target[playercasternumber])) degrees
      • Set nagahookunit[(Player number of (Owner of (Last created unit)))] = (Last created unit)
      • Unit - Order nagahookunit[playercasternumber] to Right-Click naga_hook_target[playercasternumber]
      • Trigger - Add to Hook detonate <gen> the event (Unit - A unit comes within 65.00 of nagahookunit[playercasternumber])
      • Trigger - Turn on Hook detonate <gen>
  • Hook detonate
    • Events
    • Conditions
      • (Triggering unit) Equal to naga_hook_target[playercasternumber]
    • Actions
      • Unit - Remove nagahookunit[playercasternumber] from the game
      • Special Effect - Create a special effect at (Position of naga_hook_target[playercasternumber]) using Objects\Spawnmodels\Naga\NagaDeath\NagaDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Unit - Move naga_hook_target[playercasternumber] instantly to (Position of naga_hook_caster[playercasternumber])
      • Special Effect - Create a special effect at (Position of naga_hook_target[playercasternumber]) using Objects\Spawnmodels\Naga\NagaDeath\NagaDeath.mdl
      • Special Effect - Destroy (Last created special effect)
      • Unit - Cause naga_hook_caster[playercasternumber] to damage naga_hook_target[playercasternumber], dealing naga_hook_damage[playercasternumber] damage of attack type Spells and damage type Normal
      • Trigger - Turn off (This trigger)


Keywords:
naga, hook, cool, water, seawitch, sea, gui
Contents

Naga Hook v1.0 (Map)

Reviews
7 November 2015 Bribe: Rejecting due to the status of this resource being "needs fix" for years. 19:31, 16th Jun 2010 Hanky: Your spell leaks and also it seems to be not really MUI/MPI. Next time read the spell submission rules please. After...

Moderator

M

Moderator

7 November 2015
Bribe: Rejecting due to the status of this resource being "needs fix" for years.

19:31, 16th Jun 2010
Hanky:
Your spell leaks and also it seems to be not really MUI/MPI. Next time read the spell submission rules please. After you have fixed those stuff message me or one of the other spell moderators.
 
Level 19
Joined
Feb 25, 2009
Messages
2,004

  • Set naga_hook_distance[(Player number of (Owner of naga_hook_caster[player_caster_number]))] = (Distance between (Position of naga_hook_caster[player_caster_number]) and (Position of naga_hook_target[player_caster_number]))
Leaks locations

  • Unit - Create 1 naga_hook_unit for (Owner of naga_hook_caster[player_caster_number]) at ((Position of naga_hook_caster[player_caster_number]) offset by 50.00 towards (Angle from (Position of naga_hook_caster[player_caster_number]) to (Position of naga_hook_target[player_caster_number])) degrees) facing (Angle from (Position of naga_hook_caster[player_caster_number]) to (Position of naga_hook_target[player_caster_number])) degrees
Leaks locations again

  • Unit - Move naga_hook_target[player_caster_number] instantly to (Position of naga_hook_caster[player_caster_number])
Leaks a location


- Not MUI

- Lacks a properly description

- Documentation fails

- Usage of game-constants is clearly unneeded

- Very bad triggering

Personally, I don't see anything to do with hooks here..
You just send a dummy unit in front and if something comes closer to it, it will move it instantly to the caster...
On top of that, you can't target the ground.
No rate for now, and I vote for rejection.
 
I've sent you a VM, bastoise.

For more information about triggering, MUI and leaks, you can take a look at other spells here on the site, to see how they work and learn from it and/or you can take a look at our tutorials.

I wish you good luck in triggering. You're not one of the best triggerers around here, but you maybe got a chance, with some more experience ;)
 
Top