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

Getsuga Tenshou v1.01

  • Like
Reactions: FlamingGlacier21
Getsuga Tenshou used by Kurosaki Ichigo on Bleach.

Note:
Please, credit me if you use it.
The Triggers:


  • Getsuga Tenshou
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to |CFF20C000Getsuga Tenshou|r
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • GetsugaTenshou_LoopIndex[1] Equal to 0
        • Then - Actions
          • Trigger - Turn on Getsuga Tenshou Loop <gen>
        • Else - Actions
      • Set GetsugaTenshou_LoopIndex[1] = (GetsugaTenshou_LoopIndex[1] + 1)
      • Set GetsugaTenshou_LoopIndex[2] = (GetsugaTenshou_LoopIndex[2] + 1)
      • -------- ----------------------------------------------------------------------------------------------- --------
      • Set GetsugaTenshou_Caster[GetsugaTenshou_LoopIndex[2]] = (Triggering unit)
      • Set GetsugaTenshou_LeakPoint[0] = (Position of GetsugaTenshou_Caster[GetsugaTenshou_LoopIndex[2]])
      • Set GetsugaTenshou_LeakPoint[1] = (Target point of ability being cast)
      • Set GetsugaTenshou_Angle[GetsugaTenshou_LoopIndex[2]] = (Angle from GetsugaTenshou_LeakPoint[0] to GetsugaTenshou_LeakPoint[1])
      • Set GetsugaTenshou_LeakPoint[2] = (GetsugaTenshou_LeakPoint[0] offset by 50.00 towards GetsugaTenshou_Angle[GetsugaTenshou_LoopIndex[2]] degrees)
      • Set GetsugaTenshou_Speed[GetsugaTenshou_LoopIndex[2]] = 50.00
      • Set GetsugaTenshou_MaxDistance[GetsugaTenshou_LoopIndex[2]] = 1500.00
      • Set GetsugaTenshou_CurDistance[GetsugaTenshou_LoopIndex[2]] = 0.00
      • Set GetsugaTenshou_Active[GetsugaTenshou_LoopIndex[2]] = True
      • Set GetsugaTenshou_Damage[GetsugaTenshou_LoopIndex[2]] = (200.00 x (Real((Level of (Ability being cast) for GetsugaTenshou_Caster[GetsugaTenshou_LoopIndex[2]]))))
      • Unit - Create 1 Getsuga Tensho Dummy for (Owner of GetsugaTenshou_Caster[GetsugaTenshou_LoopIndex[2]]) at GetsugaTenshou_LeakPoint[0] facing GetsugaTenshou_Angle[GetsugaTenshou_LoopIndex[2]] degrees
      • Set GetsugaTenshou_Dummy[GetsugaTenshou_LoopIndex[2]] = (Last created unit)
      • Custom script: set udg_GetsugaTenshou_DamagedUnits[udg_GetsugaTenshou_LoopIndex[2]] = CreateGroup()
      • Custom script: call RemoveLocation (udg_GetsugaTenshou_LeakPoint[0])
      • Custom script: call RemoveLocation (udg_GetsugaTenshou_LeakPoint[1])
      • Custom script: call RemoveLocation (udg_GetsugaTenshou_LeakPoint[2])


  • Getsuga Tenshou Loop
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
    • Actions
      • -------- DON'T CHANGE SOMETHING BELOW THIS LINE! --------
      • -------- --------------------------------------------------------------------------------------------------------------------- --------
      • For each (Integer GetsugaTenshou_LoopIndex[3]) from 1 to GetsugaTenshou_LoopIndex[2], do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • GetsugaTenshou_Active[GetsugaTenshou_LoopIndex[3]] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • GetsugaTenshou_CurDistance[GetsugaTenshou_LoopIndex[3]] Less than GetsugaTenshou_MaxDistance[GetsugaTenshou_LoopIndex[3]]
                • Then - Actions
                  • Set GetsugaTenshou_LeakPoint[0] = (Position of GetsugaTenshou_Dummy[GetsugaTenshou_LoopIndex[3]])
                  • Set GetsugaTenshou_LeakPoint[1] = (GetsugaTenshou_LeakPoint[0] offset by GetsugaTenshou_Speed[GetsugaTenshou_LoopIndex[3]] towards GetsugaTenshou_Angle[GetsugaTenshou_LoopIndex[3]] degrees)
                  • Special Effect - Create a special effect at GetsugaTenshou_LeakPoint[1] using Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Move GetsugaTenshou_Dummy[GetsugaTenshou_LoopIndex[3]] instantly to GetsugaTenshou_LeakPoint[1], facing GetsugaTenshou_Angle[GetsugaTenshou_LoopIndex[3]] degrees
                  • Set GetsugaTenshou_CurDistance[GetsugaTenshou_LoopIndex[3]] = (GetsugaTenshou_CurDistance[GetsugaTenshou_LoopIndex[3]] + GetsugaTenshou_Speed[GetsugaTenshou_LoopIndex[3]])
                  • Set GetsugaTenshou_TempGroup = (Units within 200.00 of GetsugaTenshou_LeakPoint[1] matching ((((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an ally of (Owner of GetsugaTenshou_Caster[GetsugaTenshou_LoopIndex[3]])) Equal to False)) and (((Matching unit) is in
                  • Unit Group - Pick every unit in GetsugaTenshou_TempGroup and do (Actions)
                    • Loop - Actions
                      • Unit Group - Add (Picked unit) to GetsugaTenshou_DamagedUnits[GetsugaTenshou_LoopIndex[3]]
                      • Unit - Cause GetsugaTenshou_Caster[GetsugaTenshou_LoopIndex[3]] to damage (Picked unit), dealing GetsugaTenshou_Damage[GetsugaTenshou_LoopIndex[3]] damage of attack type Spells and damage type Normal
                  • Custom script: call DestroyGroup (udg_GetsugaTenshou_TempGroup)
                  • Custom script: call RemoveLocation(udg_GetsugaTenshou_LeakPoint[0])
                  • Custom script: call RemoveLocation(udg_GetsugaTenshou_LeakPoint[1])
                • Else - Actions
                  • Unit - Explode GetsugaTenshou_Dummy[GetsugaTenshou_LoopIndex[3]]
                  • Set GetsugaTenshou_LoopIndex[1] = (GetsugaTenshou_LoopIndex[1] - 1)
                  • Set GetsugaTenshou_Active[GetsugaTenshou_LoopIndex[3]] = False
                  • Custom script: call DestroyGroup (udg_GetsugaTenshou_DamagedUnits[udg_GetsugaTenshou_LoopIndex[3]])
            • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • GetsugaTenshou_LoopIndex[1] Equal to 0
        • Then - Actions
          • Set GetsugaTenshou_LoopIndex[2] = 0
          • Trigger - Turn off (This trigger)
        • Else - Actions

Changelogs
v1.00 Uploaded the spell.
v1.01 Removed the 1st Trigger,Changed (Casting unit) to (Triggering Unit)
Keywords:
Getsuga Tenshou Ichigo Kurosaki Bleach
Contents

Getsuga Tenshou v1.01 (Map)

Reviews
Bribe
(Owner of GetsugaTenshou_Caster[GetsugaTenshou_LoopIndex[2]]) in Trigger 1 could just be (Triggering player) Approved.
Level 37
Joined
Mar 6, 2006
Messages
9,240
The spell seems to be MUI and doesn't leak so good job on those.
Improve the tooltip.
Make the ability support levels.
The dummy doesn't need to have invulnerability ability, it has locust.
The dummy gives you vision. You could create if for neutral passive.
The projectile doesn't make any sound when it travels or hits nor is there a hit effect making it not very impressive.
In my opinion the projectiles doesn't look that good.
This
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • GetsugaTenshou_LoopIndex[1] Equal to 0
    • Then - Actions
      • Set GetsugaTenshou_LoopIndex[2] = 0
      • Trigger - Turn off (This trigger)
    • Else - Actions
should be right after this
  • Set GetsugaTenshou_LoopIndex[1] = (GetsugaTenshou_LoopIndex[1] - 1)
 

Bribe

Code Moderator
Level 50
Joined
Sep 26, 2009
Messages
9,464
Unit - Add a 0.01 second Generic expiration timer to GetsugaTenshou_Dummy[GetsugaTenshou_LoopIndex[3]]
Unit - Remove GetsugaTenshou_Dummy[GetsugaTenshou_LoopIndex[3]] from the game

Just explode the dummy (make sure it has no "special" art in object editor)

... (Owner of GetsugaTenshou_Caster[GetsugaTenshou_LoopIndex[3]])) Equal to False)) and (((Matching unit) is in...

It got cut off. Matching unit is in... which group?

Dying unit, Casting unit, both of these should be replaced with Triggering unit because it's faster.
 
Level 9
Joined
Dec 26, 2010
Messages
475
Unit - Add a 0.01 second Generic expiration timer to GetsugaTenshou_Dummy[GetsugaTenshou_LoopIndex[3]]
Unit - Remove GetsugaTenshou_Dummy[GetsugaTenshou_LoopIndex[3]] from the game

Just explode the dummy (make sure it has no "special" art in object editor)

... (Owner of GetsugaTenshou_Caster[GetsugaTenshou_LoopIndex[3]])) Equal to False)) and (((Matching unit) is in...

It got cut off. Matching unit is in... which group?

Dying unit, Casting unit, both of these should be replaced with Triggering unit because it's faster.
Updated to v1.01. :goblin_yeah:

The Group is:
  • Set GetsugaTenshou_TempGroup = (Units within 200.00 of GetsugaTenshou_LeakPoint[1] matching ((((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an ally of (Owner of GetsugaTenshou_Caster[GetsugaTenshou_LoopIndex[3]])) Equal to False)) and (((Matching unit) is in GetsugaTenshou_DamagedUnits[GetsugaTenshou_LoopIndex[3]] Equal to False
 
Top