Doesn''t Kill the unit behind the target

Status
Not open for further replies.
Level 5
Joined
Aug 8, 2008
Messages
113
SUppose when you attack the target another unit is created that attacks the unit behind the target but it doesn't do that.



  • Shooter
    • Events
      • Game - DamageModifierEvent becomes Equal to 1.00
    • Conditions
      • (Unit-type of DamageEventTarget) Equal to Scout
      • (Unit-type of DamageEventSource) Equal to Sniper
      • DamageEventOverride Equal to False
    • Actions
      • Set DamageEventOverride = True
      • Custom script: call ExecuteFunc("shackle")
      • Custom script: endfunction
      • Custom script: function shackle takes nothing returns nothing
      • Wait until ((Unit-type of DamageEventSource) Equal to Sniper), checking every 1.00 seconds
      • Wait until ((Unit-type of DamageEventTarget) Equal to Scout), checking every 1.00 seconds
      • Set ShackleCasterPosition = (Position of DamageEventSource)
      • Set ShackleTargetPosition = (Position of (Triggering unit))
      • Set ShackleGroup = (Units within 550.00 of ShackleTargetPosition)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Picked unit) is A structure) Equal to False
          • ((Picked unit) belongs to an enemy of (Owner of DamageEventSource)) Equal to True
          • (Angle from ShackleTargetPosition to ShacklePickedUnitPosition) Greater than or equal to ((Angle from ShackleCasterPosition to ShackleTargetPosition) - 3.00)
          • (Angle from ShackleTargetPosition to ShacklePickedUnitPosition) Less than or equal to ((Angle from ShackleCasterPosition to ShackleTargetPosition) + 3.00)
          • ((Picked unit) is alive) Equal to True
          • (Picked unit) Not equal to (Triggering unit)
          • (Picked unit) Not equal to DamageEventSource
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Number of units in ShackleTargetsBehind) Equal to 0
            • Then - Actions
              • Unit Group - Add (Picked unit) to ShackleTargetsBehind
            • Else - Actions
        • Else - Actions
      • Set ShackleTargetPick = (Random 1 units from ShackleTargetsBehind)
      • Unit Group - Remove all units of ShackleTargetsBehind from ShackleTargetsBehind
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Number of units in ShackleTargetPick) Greater than 0
        • Then - Actions
          • Unit - Create 1 Shooter for (Owner of DamageEventSource) at ShackleTargetPosition facing ShackleTargetPosition2
          • Set TempUnit = (Last created unit)
          • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          • Unit Group - Pick every unit in ShackleTargetPick and do (Actions)
            • Loop - Actions
              • Unit Group - Remove (Picked unit) from ShackleTargetsBehind
              • Set ShacklePickedUnitPosition2 = (Position of (Picked unit))
              • Unit - Order TempUnit to Attack (Picked unit)
          • Custom script: call RemoveLocation(udg_ShacklePickedUnitPosition2)
          • Set ShackleInstances[0] = (ShackleInstances[0] + 1)
          • Set ShackleInstances[1] = (ShackleInstances[1] + 1)
          • Custom script: if udg_ShackleInstances[0] >= 8000 then
          • Set ShackleInstances[0] = 0
          • Custom script: call RemoveLocation(udg_ShackleCasterPosition)
          • Custom script: call RemoveLocation(udg_ShackleTargetPosition)
          • Custom script: call RemoveLocation(udg_ShacklePickedUnitPosition)
          • Custom script: call RemoveLocation(udg_ShacklePickedTreePosition)
          • Custom script: call DestroyGroup(udg_ShackleTargetPick)
          • Custom script: call DestroyGroup(udg_ShackleGroup)
          • Custom script: endif
        • Else - Actions
          • Set ShackleTargetPosition2 = (ShackleTargetPosition offset by 353.55 towards (Angle from ShackleCasterPosition to ShackleTargetPosition) degrees)
          • Destructible - Pick every destructible in (Region centered at ShackleTargetPosition2 with size (500.00, 500.00)) and do (Actions)
            • Loop - Actions
              • Set ShacklePickedTreePosition = (Position of (Picked destructible))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((Picked destructible) is alive) Equal to True
                  • (Angle from ShackleTargetPosition to ShacklePickedTreePosition) Greater than or equal to ((Angle from ShackleCasterPosition to ShackleTargetPosition) - 3.00)
                  • (Angle from ShackleTargetPosition to ShacklePickedTreePosition) Less than or equal to ((Angle from ShackleCasterPosition to ShackleTargetPosition) + 3.00)
                • Then - Actions
                  • Unit - Create 1 Shooter for (Owner of DamageEventSource) at ShackleTargetPosition facing ShackleTargetPosition2
                  • Set TempUnit = (Last created unit)
                  • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                  • Unit - Order TempUnit to Attack (Picked unit)
                  • Custom script: if udg_ShacklePickedTree == null then
                  • Set ShacklePickedTree = (Picked destructible)
                  • Set ShacklePickedTreePosition2 = (Position of ShacklePickedTree)
                  • Custom script: endif
                • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ShacklePickedTree Not equal to No destructible
            • Then - Actions
              • Custom script: call RemoveLocation(udg_ShackleCasterPosition)
              • Custom script: call RemoveLocation(udg_ShackleTargetPosition)
              • Custom script: call RemoveLocation(udg_ShacklePickedUnitPosition)
              • Custom script: call RemoveLocation(udg_ShacklePickedTreePosition)
              • Custom script: call DestroyGroup(udg_ShackleTargetPick)
              • Custom script: call DestroyGroup(udg_ShackleGroup)
            • Else - Actions
 
Status
Not open for further replies.
Back
Top