Blade Pool trigger, Minimum Wait Time?

Edward

New Member
Reaction score
2
Hello, I am trying to create a trigger that rotates units around a fixed point very rapidly before they meet a horrible death!

The problem is that I cannot animate this trigger to be smooth enough. Each mini-rotation should be 0.02 seconds apart so that the human eye cannot see each rotation-frame.

I have removed variables and custom script leak fixes, as well as the other 97 repetitions of the rotation in order to please the eye.

The main problem is that it seems that the game has a minimum wait time of about one-tenth of a second.

I know this because if you remove all of the wait times then all you see is the units change position. Meaning it ran fluidly in zero-time. However if you insert "Wait - 0.0 seconds" you can see each rotation frame and it takes 10 seconds to complete 2 rotations instead of 1 second to complete 2 rotations. This occurs whether or not you use Wait - Time or Wait - Game Time. Overall it seems that there is a minimum wait time! Help!

Trigger:
  • Blade Pool 1
    • Events
      • Destructible - Lever 2699 <gen> dies
    • Conditions
    • Actions
      • Destructible - Resurrect Lever 2699 <gen> with (Max life of Lever 2697 <gen>) life and Hide birth animation
      • Unit Group - Pick every unit in (Units in Blade Pool <gen>) and do (Actions)
        • Loop - Actions
          • Unit - Move (Picked unit) instantly to ((Center of BladeFocalRegion <gen>) offset by (2.00 + (Distance between (Center of BladeFocalRegion <gen>) and (Position of (Picked unit)))) towards (14.40 + (Angle from (Center of BladeFocalRegion <gen>) to (Position of (Picked unit)))) degrees), facing (Center of BladeFocalRegion <gen>)
      • Wait 0.02 game-time seconds
      • Unit Group - Pick every unit in (Units in Blade Pool <gen>) and do (Actions)
        • Loop - Actions
          • Unit - Move (Picked unit) instantly to ((Center of BladeFocalRegion <gen>) offset by (2.00 + (Distance between (Center of BladeFocalRegion <gen>) and (Position of (Picked unit)))) towards (14.40 + (Angle from (Center of BladeFocalRegion <gen>) to (Position of (Picked unit)))) degrees), facing (Center of BladeFocalRegion <gen>)
      • Wait 0.02 game-time seconds
      • Unit Group - Pick every unit in (Units in Blade Pool <gen>) and do (Actions)
        • Loop - Actions
          • Unit - Move (Picked unit) instantly to ((Center of BladeFocalRegion <gen>) offset by (2.00 + (Distance between (Center of BladeFocalRegion <gen>) and (Position of (Picked unit)))) towards (14.40 + (Angle from (Center of BladeFocalRegion <gen>) to (Position of (Picked unit)))) degrees), facing (Center of BladeFocalRegion <gen>)
      • Wait 0.02 game-time seconds
 

Edward

New Member
Reaction score
2
I created a fix that does the same thing as the trigger, but it requires four triggers.

Trigger:
  • Blade Pool 1
    • Events
      • Destructible - Lever 2699 <gen> dies
    • Conditions
    • Actions
      • Set BladeAngleZ = 0.00
      • Destructible - Remove (Random destructible in Blade Pool <gen>)
      • Sound - Play AcidScream1 <gen>
      • Sound - Play AcidScream2 <gen>
      • Sound - Play AcidScream2Low <gen>
      • Sound - Play AcidScreamHighest <gen>
      • Sound - Play FireScreamHigh <gen>
      • Sound - Play AcidScreamHigh <gen>
      • Sound - Play SpikesHigh <gen>
      • Set BladeGroup = (Units in Blade Pool <gen>)
      • Unit Group - Pick every unit in BladeGroup and do (Actions)
        • Loop - Actions
          • Set BladeUnitPoint = (Position of (Picked unit))
          • Set BladeFocalPoint = (Center of BladeFocalRegion <gen>)
          • Unit - Turn collision for (Picked unit) Off
          • Unit - Move (Picked unit) instantly to (BladeFocalPoint offset by ((Distance between BladeFocalPoint and BladeUnitPoint) / 10.00) towards (14.40 + (Angle from BladeFocalPoint to BladeUnitPoint)) degrees), facing BladeFocalPoint
          • Custom script: call RemoveLocation (udg_BladeUnitPoint)
          • Custom script: call RemoveLocation (udg_BladeFocalPoint)
      • Custom script: call DestroyGroup (udg_BladeGroup)
      • Trigger - Turn on Blade Pool Execution <gen>
      • Trigger - Turn on Blade Pool Execution Follow <gen>
      • Wait 2.50 game-time seconds
      • Trigger - Run Blade Pool Exe Off <gen> (ignoring conditions)
      • Wait 57.50 game-time seconds
      • Destructible - Resurrect Lever 2699 <gen> with (Max life of Lever 2697 <gen>) life and Hide birth animation


Trigger:
  • Blade Pool Execution
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • Destructible - Remove (Last created destructible)
      • Set BladeGroup = (Units in Blade Pool <gen>)
      • Set BladePoint = ((Center of BladeFocalRegion <gen>) offset by 100.00 towards BladeAngleZ degrees)
      • Set BladeAngle = (Angle from (Center of BladeFocalRegion <gen>) to BladePoint)
      • Destructible - Create a Barrel at BladePoint facing BladeAngle with scale 3.00 and variation 0
      • Set BladeAngleZ = (BladeAngle + 14.40)
      • Unit Group - Pick every unit in BladeGroup and do (Actions)
        • Loop - Actions
          • Set BladeUnitPoint = (Position of (Picked unit))
          • Set BladeFocalPoint = (Center of BladeFocalRegion <gen>)
          • Unit - Move (Picked unit) instantly to (BladeFocalPoint offset by (2.00 + (Distance between BladeFocalPoint and BladeUnitPoint)) towards (14.40 + (Angle from BladeFocalPoint to BladeUnitPoint)) degrees), facing BladeFocalPoint
          • Custom script: call RemoveLocation (udg_BladeUnitPoint)
          • Custom script: call RemoveLocation (udg_BladeFocalPoint)
      • Custom script: call DestroyGroup (udg_BladeGroup)
      • Custom script: call RemoveLocation (udg_BladePoint)


Trigger:
  • Blade Pool Execution Follow
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • Set GroupBladeExplode = (Units in Blade Pool <gen>)
      • Unit - Explode (Random unit from GroupBladeExplode)
      • Custom script: call DestroyGroup (udg_GroupBladeExplode)


Trigger:
  • Blade Pool Exe Off
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set GroupBladeDeath = (Units in Blade Pool <gen>)
      • Sound - Play AcidScream1 <gen>
      • Sound - Play AcidScream2 <gen>
      • Sound - Play AcidScreamHighest <gen>
      • Sound - Play FireScream2 <gen>
      • Unit Group - Pick every unit in GroupBladeDeath and do (Actions)
        • Loop - Actions
          • Unit - Kill (Picked unit)
      • Custom script: call DestroyGroup (udg_GroupBladeDeath)
      • Trigger - Turn off Blade Pool Execution <gen>
      • Trigger - Turn off Blade Pool Execution Follow <gen>
      • Trigger - Turn off (This trigger)



Actually these four triggers are quite lovely together! Nothing like a group of 100 footmen getting blended in shallow water! Problem self-resolved!
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top