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

[Solved] Shadow Grab: Method Effective?

Status
Not open for further replies.
Level 7
Joined
Mar 9, 2008
Messages
101
Trying to summarize the title in 4-5 words...

Anyhoo, I want to know if I'm doing this right, or if there's a more effective way to do this. I'm trying to use GUI, but Jazz/vJazz/Smooth Jazz will also work.

  • Global GDD Event
    • Events
      • Game - GDD_Event becomes Equal to 0.00
    • Conditions
    • Actions
      • -------- ... --------
      • -------- Shadow Grab --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • (GDD_DamagedUnit has buff Shadow Grab (Pause)) Equal to True
              • (GDD_DamagedUnit is A ground unit) Equal to True
        • Then - Actions
          • Set TempLoc = (Position of GDD_DamagedUnit)
          • Special Effect - Create a special effect attached to the chest of GDD_DamageSource using war3mapImported\DarkVoid.mdx
          • Special Effect - Destroy (Last created special effect)
          • Unit - Move GDD_DamageSource instantly to TempLoc
          • Custom script: call RemoveLocation(udg_TempLoc)
          • Unit - Set the custom value of GDD_DamagedUnit to (((Player number of (Owner of GDD_DamageSource)) x 10) + (Level of Shadow Grab for GDD_DamageSource))
        • Else - Actions
  • Global DIES Event
    • Events
      • Unit - A unit Dies
    • Conditions
    • Actions
      • -------- Shadow Grab --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • ((Dying unit) has buff Shadow Grab (Pause)) Equal to True
              • ((Dying unit) is A ground unit) Equal to True
        • Then - Actions
          • Set TempInt[0] = ((Custom value of (Dying unit)) mod 10)
          • Set TempInt[1] = (((Custom value of (Dying unit)) - ((Custom value of (Dying unit)) mod 10)) / 10)
          • Unit - Create 1 MAP_Summons[TempInt[0]] for (Player(TempInt[1])) at (Position of (Dying unit)) facing Default building facing degrees
          • Animation - Play (Last created unit)'s birth animation
          • Animation - Queue (Last created unit)'s stand animation
          • Unit - Make (Last created unit) Explode on death
          • Unit - Add a (30.00 + (5.00 x (Real(TempInt[0])))) second Generic expiration timer to (Last created unit)
          • Set TempInt[0] = 0
          • Set TempInt[1] = 0
        • Else - Actions
Yeah... Not sure how to phrase, "Am I doing this right?"...
 
Level 7
Joined
Mar 9, 2008
Messages
101
Oh... Well then... how do... Uh... Huh. I guess I should get a dummy caster to cast a modified Black Arrow or something...

Thanks, I was wondering about that (Was waiting to get hero/team/difficulty selection coded GUI'd before testing).

EDIT: What about now?
  • Global GDD Event
    • Events
      • Game - GDD_Event becomes Equal to 0.00
    • Conditions
    • Actions
      • -------- ... --------
      • -------- Shadow Grab --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • (GDD_DamagedUnit has buff Shadow Grab (Pause)) Equal to True
              • (GDD_DamagedUnit is A ground unit) Equal to True
              • (Level of Shadow Grab for GDD_DamageSource) Greater than 0
        • Then - Actions
          • Set TempLoc = (Position of GDD_DamagedUnit)
          • Unit - Create 1 DUMMY CASTER for (Owner of GDD_DamageSource) at (Position of GDD_DamageSource) facing TempLoc
          • Unit - Add Shadow Grab (Spawn Part) to (Last created unit)
          • Unit - Set level of Shadow Grab (Spawn Part) for (Last created unit) to (Level of Shadow Grab for GDD_DamageSource)
          • Trigger - Turn off (This trigger)
          • Unit - Order (Last created unit) to Neutral Dark Ranger - Black Arrow GDD_DamageSource
          • Trigger - Turn on (This trigger)
          • Unit - Remove Shadow Grab (Spawn Part) from (Last created unit)
          • Unit - Make (Last created unit) Explode on death
          • Unit - Kill (Last created unit)
          • Special Effect - Create a special effect at (Position of GDD_DamageSource) using war3mapImported\WarpDarkCaster.mdx
          • Special Effect - Destroy (Last created special effect)
          • Unit - Move GDD_DamageSource instantly to TempLoc
          • Custom script: call RemoveLocation(udg_TempLoc)
          • Special Effect - Create a special effect at (Position of GDD_DamageSource) using war3mapImported\WarpDarkTarget.mdx
          • Special Effect - Destroy (Last created special effect)
        • Else - Actions
 
Last edited:
Level 7
Joined
Mar 9, 2008
Messages
101
Like so?
  • -------- Shadow Grab --------
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • And - All (Conditions) are true
        • Conditions
          • (GDD_DamagedUnit has buff Shadow Grab (Pause)) Equal to True
          • (GDD_DamagedUnit is A ground unit) Equal to True
          • (Level of Shadow Grab for GDD_DamageSource) Greater than 0
    • Then - Actions
      • Set TempLoc[0] = (Position of GDD_DamagedUnit)
      • Set TempLoc[1] = (Position of GDD_DamageSource)
      • Unit - Create 1 DUMMY CASTER for (Owner of GDD_DamageSource) at TempLoc[1] facing TempLoc[1]
      • Unit - Add Shadow Grab (Spawn Part) to (Last created unit)
      • Unit - Set level of Shadow Grab (Spawn Part) for (Last created unit) to (Level of Shadow Grab for GDD_DamageSource)
      • Trigger - Turn off (This trigger)
      • Unit - Order (Last created unit) to Neutral Dark Ranger - Black Arrow GDD_DamageSource
      • Trigger - Turn on (This trigger)
      • Unit - Make (Last created unit) Explode on death
      • Unit - Add a 0.01 second Generic expiration timer to (Last created unit)
      • Special Effect - Create a special effect at TempLoc[1] using war3mapImported\WarpDarkCaster.mdx
      • Special Effect - Destroy (Last created special effect)
      • Unit - Move GDD_DamageSource instantly to TempLoc[0]
      • Custom script: call RemoveLocation(udg_TempLoc[0])
      • Custom script: call RemoveLocation(udg_TempLoc[1])
      • Set TempLoc[1] = (Position of GDD_DamageSource)
      • Special Effect - Create a special effect at TempLoc[1] using war3mapImported\WarpDarkTarget.mdx
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation(udg_TempLoc[1])
    • Else - Actions
 
Last edited:
Level 7
Joined
Mar 9, 2008
Messages
101
Eh?
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • And - All (Conditions) are true
        • Conditions
          • (GDD_DamagedUnit has buff Shadow Grab (Pause)) Equal to True
          • (GDD_DamagedUnit is A ground unit) Equal to True
          • (Level of Shadow Grab for GDD_DamageSource) Greater than 0
    • Then - Actions
      • Set TempXPos = (X of (Position of GDD_DamagedUnit))
      • Set TempYPos = (Y of (Position of GDD_DamagedUnit))
      • Set TempLoc = (Position of GDD_DamageSource)
      • Unit - Create 1 DUMMY CASTER for (Owner of GDD_DamageSource) at TempLoc facing (Point(TempXPos, TempYPos))
      • Unit - Add Shadow Grab (Spawn Part) to (Last created unit)
      • Unit - Set level of Shadow Grab (Spawn Part) for (Last created unit) to (Level of Shadow Grab for GDD_DamageSource)
      • Trigger - Turn off (This trigger)
      • Unit - Order (Last created unit) to Neutral Dark Ranger - Black Arrow GDD_DamageSource
      • Trigger - Turn on (This trigger)
      • Unit - Make (Last created unit) Explode on death
      • Unit - Add a 0.01 second Generic expiration timer to (Last created unit)
      • Special Effect - Create a special effect at (Position of GDD_DamageSource) using war3mapImported\WarpDarkCaster.mdx
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call SetUnitX(udg_GDD_DamageSource, udg_TempXPos)
      • Custom script: call SetUnitY(udg_GDD_DamageSource, udg_TempYPos)
      • Special Effect - Create a special effect at TempLoc using war3mapImported\WarpDarkTarget.mdx
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation(udg_TempLoc)
      • Set TempXPos = 0.00
      • Set TempYPos = 0.00
    • Else - Actions
 
Last edited:
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • (GDD_DamagedUnit has buff Shadow Grab (Pause)) Equal to True
      • (GDD_DamagedUnit is A ground unit) Equal to True
      • (Level of Shadow Grab for GDD_DamageSource) Greater than 0
    • Then - Actions
      • Set TempLoc = (Position of GDD_DamageSource)
      • Unit - Create 1 DUMMY CASTER for (Owner of GDD_DamageSource) at TempLoc facing Default building facing degrees
      • Unit - Add Shadow Grab (Spawn Part) to (Last created unit)
      • Unit - Set level of Shadow Grab (Spawn Part) for (Last created unit) to (Level of Shadow Grab for GDD_DamageSource)
      • Trigger - Turn off (This trigger)
      • Unit - Order (Last created unit) to Neutral Dark Ranger - Black Arrow GDD_DamageSource
      • Trigger - Turn on (This trigger)
      • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
      • Special Effect - Create a special effect at TempLoc using war3mapImported\WarpDarkCaster.mdx
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call SetUnitX (udg_GDD_DamageSource, GetUnitX (udg_GDD_DamagedUnit))
      • Custom script: call SetUnitY (udg_GDD_DamageSource, GetUnitY (udg_GDD_DamagedUnit))
      • Special Effect - Create a special effect at TempLoc using war3mapImported\WarpDarkTarget.mdx
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation(udg_TempLoc)
 
Status
Not open for further replies.
Top