• 🏆 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!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

Lasso

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Hi!

This is my first spell using dynamic index recycling (well... this is my first spell with indexes) so please give feedback.

About the spell: It's hard to use, can be useful anywhere but its a little weird.
Now, here is the description:

The hero catches an enemy with a magical fiery lasso and start swinging it. The swing gets faster by time. After 3 seconds or the caster cancels the spell the hero will throw the unit away, dealing damage around the landing location.
Level 1 - 100 damage.
Level 2 - 200 damage.
Level 3 - 300 damage.


  • Lasso
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Lasso
    • Actions
      • -------- If there are no running insances, we turn on the loop and the cancel trigger. --------
      • -------- -------------------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Index1 Equal to 0
        • Then - Actions
          • Trigger - Turn on Lasso Loop <gen>
          • Trigger - Turn on Lasso Throw Cancel <gen>
        • Else - Actions
      • -------- Here we add the triggering unit into this group, so we can detect if the caster cancels the spell. --------
      • -------- -------------------- --------
      • Unit Group - Add (Triggering unit) to Lasso_CancelGroup
      • -------- -------------------- --------
      • -------- Setting Indexes... --------
      • -------- -------------------- --------
      • Set Index1 = (Index1 + 1)
      • For each (Integer Index3) from 1 to Index2, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Lasso_IsInstanceOn[Index3] Equal to False
              • IsDynIndexSet Equal to False
            • Then - Actions
              • Set Dynamic_Index = Index3
              • Set IsDynIndexSet = True
            • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • IsDynIndexSet Equal to False
        • Then - Actions
          • Set Index2 = (Index2 + 1)
          • Set Dynamic_Index = Index2
        • Else - Actions
      • Set IsDynIndexSet = False
      • -------- -------------------- --------
      • -------- Setting general variables... --------
      • -------- -------------------- --------
      • -------- The caster: --------
      • Set Lasso_Caster[Dynamic_Index] = (Triggering unit)
      • -------- The target: --------
      • Set Lasso_Target[Dynamic_Index] = (Target unit of ability being cast)
      • -------- Location of the caster: --------
      • Set Lasso_CasterLoc[Dynamic_Index] = (Position of (Triggering unit))
      • -------- Location of the target: --------
      • Set Lasso_TargetLoc[Dynamic_Index] = (Target point of ability being cast)
      • -------- Angle from caster loc to target loc: --------
      • Set Lasso_Angle[Dynamic_Index] = (Angle from Lasso_CasterLoc[Dynamic_Index] to Lasso_TargetLoc[Dynamic_Index])
      • -------- The distance between the two points. --------
      • Set Lasso_Distance[Dynamic_Index] = (Distance between Lasso_CasterLoc[Dynamic_Index] and Lasso_TargetLoc[Dynamic_Index])
      • -------- This is the starting speed of the pull, it will increase over time in the loop. --------
      • Set Lasso_Speed[Dynamic_Index] = 3.00
      • -------- This is the starting height to support air units. If the height of the unit is greater than the maximum (deafult is 400), it's flying height won't be changed. --------
      • Set Lasso_StartHeight[Dynamic_Index] = (Current flying height of (Target unit of ability being cast))
      • Set Lasso_Height[Dynamic_Index] = Lasso_StartHeight[Dynamic_Index]
      • -------- This will be the variable we set to true when the caster finishes swinging and throws the target away, now leave it as false. --------
      • Set Lasso_Throw[Dynamic_Index] = False
      • -------- This will check if the caster is finished casting and prevents bugs in the loop. --------
      • Set Lasso_IsInstanceOn[Dynamic_Index] = True
      • -------- If the target is far this below is true (the caster will PULL it towards him), otherwise it's false (the caster will PUSH it away). --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Lasso_Distance[Dynamic_Index] Greater than or equal to 300.00
        • Then - Actions
          • Set Lasso_PullOn[Dynamic_Index] = True
        • Else - Actions
          • Set Lasso_PullOn[Dynamic_Index] = False
      • -------- -------------------- --------
      • -------- The effect. We will remove so it's needed to store it in a variable. --------
      • -------- -------------------- --------
      • Special Effect - Create a special effect attached to the origin of (Target unit of ability being cast) using Abilities\Spells\Human\AerialShackles\AerialShacklesTarget.mdl
      • Set Lasso_Effect[Dynamic_Index] = (Last created special effect)
      • -------- -------------------- --------
      • -------- And the lightning. Same as above. --------
      • -------- -------------------- --------
      • Lightning - Create a Magic Leash lightning effect from source Lasso_CasterLoc[Dynamic_Index] to target Lasso_TargetLoc[Dynamic_Index]
      • Set Lasso_Lightning[Dynamic_Index] = (Last created lightning effect)
      • -------- -------------------- --------
      • -------- We add crow form to the target, so it can fly. --------
      • -------- -------------------- --------
      • Custom script: if UnitAddAbility(GetSpellTargetUnit(), 'Arav') then
      • Custom script: call UnitRemoveAbility(GetSpellTargetUnit(), 'Arav')
      • Custom script: endif
      • -------- -------------------- --------
      • -------- I recommend to add invulnerablity to the target, otherwise when the spell is casted 2 times on the same target it may cause bugs. --------
      • -------- -------------------- --------
      • Unit - Add Invulnerable (Neutral) to (Target unit of ability being cast)
      • -------- -------------------- --------
      • -------- And also this to don't push air units away. --------
      • Unit - Turn collision for (Target unit of ability being cast) Off
      • -------- -------------------- --------
      • -------- We only needed this for the distance and the angle, so we remove it. We will use this variable later. --------
      • Custom script: call RemoveLocation(udg_Lasso_TargetLoc[udg_Dynamic_Index])
      • -------- -------------------- --------
  • [/HIDDEN]
I split the code into 3 smaller parts for easier understanding.
1. The Pull: The caster starts the spell and pulls (or pushes) the target 300 range away from the caster.
2. The Swing: Continues the spell with a swinging effect around the caster.
3. The Throw: Throws the target away to the direction where the swing stands. If the spell is canceled during the pull it has reduces effects.
  • Lasso Loop
    • Events
      • Time - Every 0.05 seconds of game time
    • Conditions
    • Actions
      • -------- -------------------- --------
      • -------- We create some locals for the lighning effect. --------
      • -------- -------------------- --------
      • Custom script: local real x1
      • Custom script: local real y1
      • Custom script: local real z1
      • Custom script: local real x2
      • Custom script: local real y2
      • Custom script: local real z2
      • -------- -------------------- --------
      • For each (Integer Index3) from 1 to Index2, do (Actions)
        • Loop - Actions
          • -------- -------------------- --------
          • -------- This checks if a caster finished the spell, but the loop is still going on. --------
          • -------- -------------------- --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Lasso_IsInstanceOn[Index3] Equal to True
            • Then - Actions
              • -------- -------------------- --------
              • -------- This checks the the spell. If it's true we entered part 3. --------
              • -------- -------------------- --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Lasso_Throw[Index3] Equal to False
                • Then - Actions
                  • -------- ---------------------------------------------- --------
                  • -------- Part 1: The Pull --------
                  • -------- ---------------------------------------------- --------
                  • -------- -------------------- --------
                  • -------- We set the parameters of the lightning --------
                  • -------- -------------------- --------
                  • Custom script: set x1 = GetUnitX(udg_Lasso_Caster[udg_Index3])
                  • Custom script: set y1 = GetUnitY(udg_Lasso_Caster[udg_Index3])
                  • Custom script: set z1 = GetUnitFlyHeight(udg_Lasso_Caster[udg_Index3])
                  • Custom script: set x2 = GetUnitX(udg_Lasso_Target[udg_Index3])
                  • Custom script: set y2 = GetUnitY(udg_Lasso_Target[udg_Index3])
                  • Custom script: set z2 = GetUnitFlyHeight(udg_Lasso_Target[udg_Index3])
                  • -------- -------------------- --------
                  • -------- This increases the flying height of the target over the pull and the swing part. The 400 value is the max height of the swing. --------
                  • -------- -------------------- --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Lasso_Height[Index3] Less than 400.00
                    • Then - Actions
                      • -------- -------------------- --------
                      • -------- The + 10 value is the height the loop increases the target's height every 0.05 sec. Change it if you want. --------
                      • -------- -------------------- --------
                      • Set Lasso_Height[Index3] = (Lasso_Height[Index3] + 10.00)
                      • Animation - Change Lasso_Target[Index3] flying height to Lasso_Height[Index3] at 0.00
                    • Else - Actions
                  • -------- -------------------- --------
                  • -------- If the target is far away the Lasso_PullOn[Index3] is true, so we pull the target, otherwise we push it to 300 range away from the caster. Change the 300 for the swing circle radius. --------
                  • -------- -------------------- --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Or - Any (Conditions) are true
                        • Conditions
                          • And - All (Conditions) are true
                            • Conditions
                              • Lasso_PullOn[Index3] Equal to True
                              • Lasso_Distance[Index3] Greater than 300.00
                          • And - All (Conditions) are true
                            • Conditions
                              • Lasso_PullOn[Index3] Equal to False
                              • Lasso_Distance[Index3] Less than 300.00
                    • Then - Actions
                      • -------- -------------------- --------
                      • -------- We increase this over time, so the pull (or push) becomes faster and faster until it reaches the swing part. --------
                      • -------- -------------------- --------
                      • Set Lasso_Speed[Index3] = (Lasso_Speed[Index3] + 0.10)
                      • -------- -------------------- --------
                      • -------- This is the angle we change every loop, so it creates a circle. --------
                      • -------- -------------------- --------
                      • Set Lasso_Angle[Index3] = (Lasso_Angle[Index3] + Lasso_Speed[Index3])
                      • -------- -------------------- --------
                      • -------- We increase or decrease the distance to be look like the swing part is the continue of the pull. --------
                      • -------- -------------------- --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Lasso_PullOn[Index3] Equal to True
                        • Then - Actions
                          • Set Lasso_Distance[Index3] = (Lasso_Distance[Index3] - 10.00)
                        • Else - Actions
                          • Set Lasso_Distance[Index3] = (Lasso_Distance[Index3] + 10.00)
                      • -------- -------------------- --------
                      • -------- And we move the target. --------
                      • -------- -------------------- --------
                      • Set Lasso_TempLoc[Index3] = (Lasso_CasterLoc[Index3] offset by Lasso_Distance[Index3] towards Lasso_Angle[Index3] degrees)
                      • Unit - Move Lasso_Target[Index3] instantly to Lasso_TempLoc[Index3]
                      • -------- -------------------- --------
                      • -------- We destroy the current lightning effect and immediately create a new one in a new position. --------
                      • -------- -------------------- --------
                      • Lightning - Destroy Lasso_Lightning[Index3]
                      • Custom script: set udg_Lasso_Lightning[udg_Index3] = AddLightningEx("LEAS", true, x1, y1, z1, x2, y2, z2)
                      • -------- -------------------- --------
                      • -------- This checks if the caster has canceled the spell, and if it has we jump to the throw part. --------
                      • -------- -------------------- --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Lasso_Caster[Index3] is in Lasso_CancelGroup) Equal to False
                        • Then - Actions
                          • Special Effect - Destroy Lasso_Effect[Index3]
                          • Lightning - Destroy Lasso_Lightning[Index3]
                          • Set Lasso_Distance[Index3] = 0.00
                          • Set Lasso_TargetLoc[Index3] = (Position of Lasso_Target[Index3])
                          • Set Lasso_Throw[Index3] = True
                          • Set Lasso_Angle[Index3] = ((Angle from Lasso_CasterLoc[Index3] to Lasso_TargetLoc[Index3]) + 90.00)
                        • Else - Actions
                      • -------- -------------------- --------
                    • Else - Actions
                      • -------- ---------------------------------------------- --------
                      • -------- Part 2: The Swing --------
                      • -------- ---------------------------------------------- --------
                      • -------- -------------------- --------
                      • -------- The maximum duration of the swing. Change it if you want. --------
                      • -------- -------------------- --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Lasso_Dur[Index3] Less than 3.00
                        • Then - Actions
                          • -------- -------------------- --------
                          • -------- Here we move the target and destroy and create the lightning effect. --------
                          • -------- -------------------- --------
                          • Set Lasso_TempLoc[Index3] = (Lasso_CasterLoc[Index3] offset by Lasso_Distance[Index3] towards Lasso_Angle[Index3] degrees)
                          • Set Lasso_Angle[Index3] = (Lasso_Angle[Index3] + 10.00)
                          • Unit - Move Lasso_Target[Index3] instantly to Lasso_TempLoc[Index3]
                          • Set Lasso_Dur[Index3] = (Lasso_Dur[Index3] + 0.05)
                          • Lightning - Destroy Lasso_Lightning[Index3]
                          • Custom script: set udg_Lasso_Lightning[udg_Index3] = AddLightningEx("LEAS", true, x1, y1, z1, x2, y2, z2)
                          • -------- -------------------- --------
                          • -------- This checks if the caster has canceled the spell, and if it has we jump to the throw part. --------
                          • -------- -------------------- --------
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (Lasso_Caster[Index3] is in Lasso_CancelGroup) Equal to False
                            • Then - Actions
                              • Set Lasso_Dur[Index3] = 3.00
                            • Else - Actions
                        • Else - Actions
                          • -------- -------------------- --------
                          • -------- When the swing duration ends this will clear the effects and set some variables for the throw part. --------
                          • -------- -------------------- --------
                          • Special Effect - Destroy Lasso_Effect[Index3]
                          • Lightning - Destroy Lasso_Lightning[Index3]
                          • Set Lasso_Distance[Index3] = 0.00
                          • Set Lasso_Throw[Index3] = True
                          • Set Lasso_TargetLoc[Index3] = (Position of Lasso_Target[Index3])
                          • Set Lasso_Angle[Index3] = ((Angle from Lasso_CasterLoc[Index3] to Lasso_TargetLoc[Index3]) + 90.00)
                • Else - Actions
                  • -------- ---------------------------------------------- --------
                  • -------- Part 3: The Throw --------
                  • -------- ---------------------------------------------- --------
                  • -------- -------------------- --------
                  • -------- The target will fly away until it touches the ground (or a wall). --------
                  • -------- -------------------- --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Lasso_Height[Index3] Greater than 0.00
                    • Then - Actions
                      • -------- -------------------- --------
                      • -------- These sets the location where the target will fly and moves it there. --------
                      • -------- -------------------- --------
                      • Set Lasso_Distance[Index3] = (Lasso_Distance[Index3] + 100.00)
                      • Set Lasso_TempLoc[Index3] = (Lasso_TargetLoc[Index3] offset by Lasso_Distance[Index3] towards Lasso_Angle[Index3] degrees)
                      • -------- -------------------- --------
                      • -------- Here we decrease the height of the target. --------
                      • -------- -------------------- --------
                      • Set Lasso_Height[Index3] = (Lasso_Height[Index3] - 40.00)
                      • Animation - Change Lasso_Target[Index3] flying height to Lasso_Height[Index3] at 0.00
                      • -------- -------------------- --------
                      • -------- This checks if the cliff level is less than the start point, and if it is changes the flying height accordingly. --------
                      • -------- -------------------- --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Terrain cliff level at Lasso_TempLoc[Index3]) Less than (Terrain cliff level at Lasso_CasterLoc[Index3])
                        • Then - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Lasso_Cliff_Debug[Index3] Equal to False
                            • Then - Actions
                              • Set Lasso_Cliff_Debug[Index3] = True
                              • Animation - Change Lasso_Target[Index3] flying height to ((Current flying height of Lasso_Target[Index3]) + (100.00 x ((Real((Terrain cliff level at Lasso_CasterLoc[Index3]))) - (Real((Terrain cliff level at Lasso_TempLoc[Index3])))))) at 0.00
                            • Else - Actions
                        • Else - Actions
                          • Set Lasso_Cliff_Debug[Index3] = False
                      • -------- If the location is unpathable or is a wall the unit will stop there and only the flying height will change. --------
                      • -------- -------------------- --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Terrain pathing at Lasso_TempLoc[Index3] of type Flyability is off) Equal to False
                          • (100 x ((Terrain cliff level at Lasso_TempLoc[Index3]) - (Terrain cliff level at Lasso_CasterLoc[Index3]))) Less than (Integer(Lasso_Height[Index3]))
                        • Then - Actions
                          • Unit - Move Lasso_Target[Index3] instantly to Lasso_TempLoc[Index3]
                        • Else - Actions
                      • -------- -------------------- --------
                    • Else - Actions
                      • -------- -------------------- --------
                      • -------- The target touched the ground, here we damage nearby units and do some neccesary stuff. --------
                      • -------- -------------------- --------
                      • Set Lasso_TempLoc[Index3] = (Position of Lasso_Target[Index3])
                      • Unit - Remove Invulnerable (Neutral) from Lasso_Target[Index3]
                      • -------- -------------------- --------
                      • -------- If the target was a flying unit, this will change it's height to it's deafult. --------
                      • -------- -------------------- --------
                      • Animation - Change Lasso_Target[Index3] flying height to Lasso_StartHeight[Index3] at (Lasso_StartHeight[Index3] x 2.00)
                      • -------- -------------------- --------
                      • -------- If the target is in deep water, this instantly kills it. --------
                      • -------- -------------------- --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Terrain pathing at Lasso_TempLoc[Index3] of type Floatability is off) Equal to False
                          • (Terrain pathing at Lasso_TempLoc[Index3] of type Walkability is off) Equal to True
                          • (Lasso_Target[Index3] is A flying unit) Equal to False
                        • Then - Actions
                          • Unit - Cause Lasso_Caster[Index3] to damage Lasso_Target[Index3], dealing 9999999.00 damage of attack type Chaos and damage type Disease
                        • Else - Actions
                      • -------- -------------------- --------
                      • Custom script: set bj_wantDestroyGroup = true
                      • Unit Group - Pick every unit in (Units within 200.00 of Lasso_TempLoc[Index3] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is dead) Equal to False) and ((((Matching unit) belongs to an enemy of (Owner of Lasso_Caster[Index3])) Equal to True) and (((Matc and do (Actions)
                        • Loop - Actions
                          • -------- -------------------- --------
                          • -------- Set the damage here. --------
                          • -------- -------------------- --------
                          • Unit - Cause Lasso_Caster[Index3] to damage (Picked unit), dealing ((Real((Level of Lasso for Lasso_Caster[Index3]))) x 100.00) damage of attack type Normal and damage type Normal
                      • -------- -------------------- --------
                      • -------- Destroying trees. --------
                      • -------- -------------------- --------
                      • Destructible - Pick every destructible within 200.00 of Lasso_TempLoc[Index3] and do (Actions)
                        • Loop - Actions
                          • Destructible - Kill (Picked destructible)
                      • -------- -------------------- --------
                      • Unit - Turn collision for Lasso_Target[Index3] On
                      • Unit - Order Lasso_Caster[Index3] to Stop
                      • -------- -------------------- --------
                      • -------- Creating an effect --------
                      • -------- -------------------- --------
                      • Special Effect - Create a special effect at Lasso_TempLoc[Index3] using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
                      • Special Effect - Destroy (Last created special effect)
                      • -------- -------------------- --------
                      • -------- We decrease the number of instances by 1. --------
                      • -------- -------------------- --------
                      • Set Index1 = (Index1 - 1)
                      • -------- -------------------- --------
                      • -------- We null some variables and clear the leaks. --------
                      • -------- -------------------- --------
                      • Set Lasso_Dur[Index3] = 0.00
                      • Set Lasso_Throw[Index3] = False
                      • Set Lasso_IsInstanceOn[Index3] = False
                      • Set Lasso_Cliff_Debug[Index3] = False
                      • Custom script: call RemoveLocation(udg_Lasso_CasterLoc[udg_Index3])
                      • Custom script: call RemoveLocation(udg_Lasso_TargetLoc[udg_Index3])
                      • -------- -------------------- --------
                      • -------- If there are no running instances we null the max instances and turn off the trigger. --------
                      • -------- -------------------- --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Index1 Equal to 0
                        • Then - Actions
                          • Set Index2 = 0
                          • Trigger - Turn off (This trigger)
                          • Trigger - Turn off Lasso Throw Cancel <gen>
                        • Else - Actions
              • -------- -------------------- --------
              • -------- This location is used in all parts, so we can remove it at the end of the code. --------
              • -------- -------------------- --------
              • Custom script: call RemoveLocation(udg_Lasso_TempLoc[udg_Index3])
              • -------- -------------------- --------
            • Else - Actions
  • Lasso Throw Cancel
    • Events
      • Unit - A unit Stops casting an ability
      • Unit - A unit Finishes casting an ability
    • Conditions
      • ((Triggering unit) is in Lasso_CancelGroup) Equal to True
    • Actions
      • -------- -------------------- --------
      • -------- When the caster cancels the spell we remove it from this group and the loop instantly jumps to the throw part. --------
      • -------- -------------------- --------
      • Unit Group - Remove (Triggering unit) from Lasso_CancelGroup
      • -------- -------------------- --------
Keywords:
lasso, rope, shackles, fire, throw, swing, knockback, cliff, asd
Contents

Lasso (Map)

Reviews
12th Dec 2015 IcemanBo: For too long time as NeedsFix. Rejected. 19th Jul 2011 Bribe: (Position of (Target unit of ability being cast)) -> (Target point of ability being cast) If (All Conditions are True) then do (Then Actions) else do...

Moderator

M

Moderator

12th Dec 2015
IcemanBo: For too long time as NeedsFix. Rejected.

19th Jul 2011
Bribe:

(Position of (Target unit of ability being cast)) -> (Target point of ability being cast)

  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • Lasso_Distance[Dynamic_Index] Greater than or equal to 300.00
    • Then - Actions
      • Set Lasso_PullOn[Dynamic_Index] = true
    • Else - Actions
      • Set Lasso_PullOn[Dynamic_Index] = false
Does GUI not let you do something like this?:

Set Lasso_PullOn[Dynamic_Index] = Lasso_Distance[Dynamic_Index] Greater than or equal to 300.00

If you examine your code carefully, you will notice that sometimes
"Lasso_TargetLoc" will be set multiple times before the location
can be removed.


Maker, 2nd Aug, Lasso

The casting trigger is disable by default, check it.
 
No. If done correctly you check if the unit had crow form already because it would bug otherwhise AND you don't even need to add it.

It never caused problems in the past.
It shouldn't cause problems here.
If we add crow form to a unit then remove it, if it already had crow form, nothing would bug. Check out "Autofly" by Nestharus. There's another one by azlier at The Helper.
 
Level 13
Joined
Mar 16, 2008
Messages
941
It never caused problems in the past.
It shouldn't cause problems here.
If we add crow form to a unit then remove it, if it already had crow form, nothing would bug. Check out "Autofly" by Nestharus. There's another one by azlier at The Helper.
Removing an ability is not a problem? For sure this only happens with the original crow form but a single check is worth this.
If the original crow form is used for a unit, adding does nothing and removing will cause crow form to be removed.
 
Level 3
Joined
Feb 1, 2010
Messages
16
I created a custom crow form so it doesn't cause bugs anymore. Also I'm working on the air unit support. I will update in 30 min.

Updated: Now can target air units, fixed some bugs in the throw part when the unit flies above a lower terrain and now destroys trees when the target lands.
 
Last edited:
Level 3
Joined
Feb 1, 2010
Messages
16
Bribe said:
(Position of (Target unit of ability being cast)) -> (Target point of ability being cast)
Changed.

Bribe said:
Does GUI not let you do something like this?:

Set Lasso_PullOn[Dynamic_Index] = Lasso_Distance[Dynamic_Index] Greater than or equal to 300.00
No, it doesn't.

Bribe said:
If you examine your code carefully, you will notice that sometimes
"Lasso_TargetLoc" will be set multiple times before the location
can be removed.
Can't find it.:goblin_boom: It can't be set twice at the same unit in the loop.
 
Last edited:
Top