Trigger Creates Massive Lag (+rep)

Dark_Phoenix

New Member
Reaction score
3
Trigger:
  • Damage Detector
    • Events
      • Unit - A unit Is attacked
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Triggering unit) is in DamageGroup) Not equal to True
        • Then - Actions
          • Unit Group - Add (Triggering unit) to DamageGroup
          • Trigger - Add to FireArrows <gen> the event (Unit - (Triggering unit) Takes damage)
          • Trigger - Add to AttackArrows <gen> the event (Unit - (Triggering unit) Takes damage)
          • Trigger - Add to FrostArrows <gen> the event (Unit - (Triggering unit) Takes damage)
          • Trigger - Add to EarthArrows <gen> the event (Unit - (Triggering unit) Takes damage)
          • Trigger - Add to Critical Strike1 <gen> the event (Unit - (Triggering unit) Takes damage)
        • Else - Actions


Trigger:
  • Critical Strike1
    • Events
    • Conditions
      • ((Damage source) is A Hero) Equal to True
    • Actions
      • Trigger - Turn off (This trigger)
      • Set CritInteger = (Integer((Random real number between 0.00 and 100.00)))
      • Set CritInteger2 = (((Agility of (Damage source) (Include bonuses)) / 30) + 5)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Unit-type of (Damage source)) Equal to Wizard
        • Then - Actions
          • Set CritInteger2 = (((Intelligence of (Damage source) (Include bonuses)) / 30) + 5)
        • Else - Actions
      • For each (Integer A) from 1 to 6, do (Actions)
        • Loop - Actions
          • If ((Item-type of (Item carried by (Damage source) in slot (Integer A))) Equal to Dark Orb) then do (Set CritInteger2 = (CritInteger2 + 10)) else do (Do nothing)
      • If ((Level of Critical Strike for (Damage source)) Not equal to 0) then do (Set CritInteger2 = (CritInteger2 + (Level of Critical Strike for (Damage source)))) else do (Do nothing)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • CritInteger2 Greater than or equal to CritInteger
        • Then - Actions
          • Unit - Cause (Damage source) to damage (Triggering unit), dealing (Damage taken) damage of attack type Hero and damage type Normal
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Ultima Critical for (Damage source)) Equal to 1
            • Then - Actions
              • Set tempPoint = (Position of (Damage source))
              • Unit - Create 1 Dummy for (Owner of (Damage source)) at tempPoint facing Default building facing degrees
              • Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
              • Unit - Add Furious Strike (Buff) to (Last created unit)
              • Unit - Order (Last created unit) to Orc Shaman - Bloodlust (Damage source)
              • Custom script: call RemoveLocation(udg_tempPoint)
            • Else - Actions
              • Do nothing
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Unit-type of (Damage source)) Equal to Lord of Hell
            • Then - Actions
              • Set tempPoint = (Position of (Triggering unit))
              • Unit - Create 1 Dummy for (Owner of (Damage source)) at tempPoint facing Default building facing degrees
              • Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
              • Unit - Add Fires of Hell to (Last created unit)
              • Unit - Set level of Fires of Hell for (Last created unit) to 1
              • Unit - Order (Last created unit) to Human Blood Mage - Flame Strike tempPoint
              • Custom script: call RemoveLocation(udg_tempPoint)
            • Else - Actions
              • Do nothing
          • Floating Text - Create floating text that reads (Critical! + ( + ((String((Damage taken))) + !))) above (Triggering unit) with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
          • Floating Text - Change (Last created floating text): Disable permanence
          • Floating Text - Change the lifespan of (Last created floating text) to 2.00 seconds
          • Floating Text - Change the fading age of (Last created floating text) to 1.00 seconds
          • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
        • Else - Actions
          • Do nothing
      • Trigger - Turn on (This trigger)


For some reason, the trigger is causing massive lag.
Can anyone identify what is causing this?

Edit: Damage Group is only used for this trigger.
 

Exide

I am amazingly focused right now!
Reaction score
448
The trigger seems fine.. You can remove the 'Do Nothing' actions, though.

What is 'DamageGroup'?
Any related triggers? Maybe that's the cause of the lag?

Is this lag only the first time your trigger runs or is it constant?
 

AoW_Hun7312

I'm a magic man, I've got magic hands.
Reaction score
76
I do believe all of those If/Thens are outside of this. Put them under the Else.
 

Dark_Phoenix

New Member
Reaction score
3
The trigger seems fine.. You can remove the 'Do Nothing' actions, though.

What is 'DamageGroup'?
Any related triggers? Maybe that's the cause of the lag?

Is this lag only the first time your trigger runs or is it constant?

Thanks..fixed a bug where DamageGroup got deleted in one of my triggers
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top