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

Custom Shockwave Problem

Status
Not open for further replies.
Level 5
Joined
Oct 20, 2019
Messages
60
Hello, i've made this simple custom shockwave and it works pretty well but sometimes the missile get stuck on its way forward to its destination and i don't know why

i would appreciate if someone could take a look at it and maybe show me how to improve this without getting too advanced

Thank you =)


  • Ancient Shockwave Cast Left
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Ancient Shockwave (Left)
    • Actions
      • Set VariableSet SWCasterLeft = (Triggering unit)
      • Set VariableSet SWCasterPointLeft = (Position of SWCasterLeft)
      • Set VariableSet SWTargetPointLeft = (Target point of ability being cast)
      • Unit - Create 1 Shockwave Dummy Left for (Owner of SWCasterLeft) at SWCasterPointLeft facing SWTargetPointLeft
      • Set VariableSet SWDummyLeft = (Last created unit)
      • Set VariableSet SWDistanceLeft = 0.00
      • Set VariableSet SWDamageLeft = 600.00
      • Custom script: call RemoveLocation(udg_SWCasterPointLeft)
      • Custom script: call RemoveLocation(udg_SWTargetPointLeft)
      • Trigger - Turn on Ancient Shockwave Loop Left <gen>

  • Ancient Shockwave Loop Left
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • Set VariableSet SWDistanceLeft = (SWDistanceLeft + 25.00)
      • Set VariableSet SWDummyPointLeft = (Position of SWDummyLeft)
      • Set VariableSet SWMovingPointLeft = (SWDummyPointLeft offset by 25.00 towards (Facing of SWDummyLeft) degrees.)
      • Unit - Move SWDummyLeft instantly to SWMovingPointLeft
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units within 125.00 of SWMovingPointLeft.) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) belongs to an enemy of (Owner of SWCasterLeft).) Equal to True
              • ((Picked unit) is alive) Equal to True
              • ((Picked unit) is in SWDamageGroupLeft.) Equal to False
            • Then - Actions
              • Unit Group - Add (Picked unit) to SWDamageGroupLeft
              • Unit - Cause SWCasterLeft to damage (Picked unit), dealing SWDamageLeft damage of attack type Spells and damage type Normal
            • Else - Actions
      • Custom script: call RemoveLocation(udg_SWDummyPointLeft)
      • Custom script: call RemoveLocation(udg_SWMovingPointLeft)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • SWDistanceLeft Greater than or equal to 800.00
        • Then - Actions
          • Unit - Remove SWDummyLeft from the game
          • Unit Group - Remove all units from SWDamageGroupLeft.
          • Trigger - Turn off (This trigger)
        • Else - Actions
 
Status
Not open for further replies.
Top