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

[Trigger] How to change the range the laser should go?

Status
Not open for further replies.
Level 14
Joined
Jul 19, 2007
Messages
772
Well once again I've got a little problem with a spell imported from a spellpack-map. Atm I think the range of the laser travels is way too long and I want it to be shorter and also I want to add some special-effects to units who gets damaged by the laser and how does the damage thing works like? There is 2 triggers which causes damage and I set them both to the same amount. To bad there was no describtion about the spell in the spellpack-map and there was just 1 level of the spell but I need to be 3 levels. Anyone help please?

Here is the triggers of the spell..
  • Star Serious Laser Beam
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Star Serious Laser
    • Actions
      • Set SBC_Cast = (Triggering unit)
      • Set Point[8] = (Position of SBC_Cast)
      • Set Cell_Angle[1] = (Facing of SBC_Cast)
      • Set Point[9] = (Point[8] offset by 100.00 towards Cell_Angle[1] degrees)
      • Set Point[14] = (Point[9] offset by 22.00 towards (Cell_Angle[1] + 90.00) degrees)
      • Set Integer[0] = 0
      • Set Integer[1] = 0
      • Set Integer[2] = 0
      • Unit - Pause SBC_Cast
      • Animation - Play SBC_Cast's Spell Swim Channel animation
      • Animation - Change SBC_Cast's animation speed to 50.00% of its original speed
      • Special Effect - Create a special effect attached to the left hand of SBC_Cast using war3mapImported\WaterAurora.mdx
      • Set Effect[0] = (Last created special effect)
      • Wait 0.50 seconds
      • Special Effect - Create a special effect attached to the left hand of SBC_Cast using war3mapImported\WaterAurora.mdx
      • Set Effect[1] = (Last created special effect)
      • Wait 0.50 seconds
      • Special Effect - Create a special effect attached to the left hand of SBC_Cast using war3mapImported\WaterAurora.mdx
      • Set Effect[2] = (Last created special effect)
      • Wait 0.50 seconds
      • Special Effect - Destroy Effect[0]
      • Special Effect - Destroy Effect[1]
      • Special Effect - Destroy Effect[2]
      • Animation - Play SBC_Cast's Spell Swim Throw animation
      • Animation - Change SBC_Cast's animation speed to 200.00% of its original speed
      • Unit - Create 1 SBC 3 for (Owner of SBC_Cast) at Point[14] facing Cell_Angle[1] degrees
      • Set Dummy[6] = (Last created unit)
      • Unit - Create 1 SBC 4 for (Owner of SBC_Cast) at Point[14] facing Cell_Angle[1] degrees
      • Animation - Change Dummy[8]'s animation speed to 0.00% of its original speed
      • Trigger - Turn on Star Serious Laser Cannon <gen>
  • Star Serious Laser Cannon
    • Events
      • Time - Every (0.01 / 2.00) seconds of game time
    • Conditions
    • Actions
      • Set Integer[0] = (Integer[0] + 1)
      • Set Integer[2] = (Integer[2] + 1)
      • Set Point[10] = (Position of Dummy[6])
      • Set Point[11] = (Point[10] offset by 20.00 towards Cell_Angle[1] degrees)
      • Unit - Move Dummy[6] instantly to Point[11]
      • Unit - Create 1 SBC for (Owner of SBC_Cast) at (Position of Dummy[6]) facing Cell_Angle[1] degrees
      • Unit - Add a 10.00 second Generic expiration timer to (Last created unit)
      • Animation - Change (Last created unit)'s animation speed to 0.00% of its original speed
      • Set Cell_Group[3] = (Units within 120.00 of Point[10] matching ((((Matching unit) is in Cell_Group[0]) Equal to False) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of SB
      • Unit Group - Pick every unit in Cell_Group[3] and do (Actions)
        • Loop - Actions
          • Unit - Cause SBC_Cast to damage (Picked unit), dealing (15.00 x ((Real((Level of Star Serious Laser for SBC_Cast))) + 0.00)) damage of attack type Spells and damage type Magic
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Integer[0] Equal to 6
        • Then - Actions
          • Set Integer[0] = 0
          • Set Point[10] = (Position of Dummy[6])
          • Unit - Create 1 SBC 2 for (Owner of SBC_Cast) at (Position of (Last created unit)) facing Cell_Angle[1] degrees
          • Unit - Add a 10.00 second Generic expiration timer to (Last created unit)
          • Unit - Create 1 holing 2 for (Owner of SBC_Cast) at (Position of (Last created unit)) facing Cell_Angle[1] degrees
          • Unit - Add a 10.00 second Generic expiration timer to (Last created unit)
          • Animation - Change (Last created unit)'s animation speed to 200.00% of its original speed
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Integer[2] Equal to 100
        • Then - Actions
          • Set Integer[2] = 0
          • Set Point[10] = (Position of Dummy[6])
          • Set Cell_Group[4] = (Units within 350.00 of Point[10] matching ((((Matching unit) is in Cell_Group[0]) Equal to False) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of SB
          • Unit - Kill Dummy[6]
          • Unit - Remove Dummy[6] from the game
          • Unit - Kill Dummy[8]
          • Unit - Remove Dummy[6] from the game
          • Unit Group - Pick every unit in Cell_Group[4] and do (Actions)
            • Loop - Actions
              • Unit - Cause SBC_Cast to damage (Picked unit), dealing (0.00 + (15.00 x (Real((Level of Star Serious Laser for SBC_Cast))))) damage of attack type Spells and damage type Magic
          • Unit - Create 1 SBC ex for (Owner of SBC_Cast) at Point[10] facing (Cell_Angle[1] + 180.00) degrees
          • Unit - Add a 10.00 second Generic expiration timer to (Last created unit)
          • Animation - Change (Last created unit)'s animation speed to 30.00% of its original speed
          • Unit - Create 1 SBC ex 2 for (Owner of SBC_Cast) at Point[10] facing (Cell_Angle[1] + 180.00) degrees
          • Unit - Add a 10.00 second Generic expiration timer to (Last created unit)
          • Animation - Change (Last created unit)'s animation speed to 100.00% of its original speed
          • Unit - Remove Dummy[6] from the game
          • Unit Group - Pick every unit in (Units owned by (Owner of SBC_Cast) of type SBC) and do (Actions)
            • Loop - Actions
              • Unit - Remove (Picked unit) from the game
          • Unit Group - Pick every unit in (Units owned by (Owner of SBC_Cast) of type SBC 4) and do (Actions)
            • Loop - Actions
              • Unit - Remove (Picked unit) from the game
          • Unit Group - Pick every unit in (Units owned by (Owner of SBC_Cast) of type SBC 2) and do (Actions)
            • Loop - Actions
              • Unit - Remove (Picked unit) from the game
          • Animation - Change SBC_Cast's animation speed to 100.00% of its original speed
          • Unit - Unpause SBC_Cast
          • Custom script: call RemoveLocation(udg_Point[10])
          • Custom script: call RemoveLocation(udg_Point[11])
          • Trigger - Turn off (This trigger)
        • Else - Actions
 

Bribe

Code Moderator
Level 50
Joined
Sep 26, 2009
Messages
9,468
The spell isn't MUI, has memory leaks, is inaccurate in timings due to using waits instead of dynamic indexing and uses an absurdly-unoptimal periodic timeout. Fastest timer you want for a loop like that is 1/60.00 (60 FPS) although most go for 32 FPS.

Where did you dig up this spellpack? I don't think such an abomination would be approved on The Hive.
 
Level 14
Joined
Jul 19, 2007
Messages
772
Level 24
Joined
Aug 1, 2013
Messages
4,657
He explains why that is not a good spell to use.
I would recommend to make the spells yourself by using a system that supports the needs of the spell.
It is good for both the experience with the editor, triggers and systems and it is much easier to edit it to your needs.
 

Bribe

Code Moderator
Level 50
Joined
Sep 26, 2009
Messages
9,468
Level 14
Joined
Jul 19, 2007
Messages
772
He explains why that is not a good spell to use.
I would recommend to make the spells yourself by using a system that supports the needs of the spell.
It is good for both the experience with the editor, triggers and systems and it is much easier to edit it to your needs.

That spell is set to "needs fix" for several reasons and the author hasn't bothered to fix it in over a year. In the future, I recommend sticking to spells whose screenshots aren't obscured by "needs fix" or "rejected". "Pending" resources are sometimes fine.
Oh I missed that... Well I've given up this spell and I found another one kinda similar to this one which was way more easy to import :p
 
Status
Not open for further replies.
Top