Confusing ability order

Crusher

You can change this now in User CP.
Reaction score
121
So, I have 2 triggers - test1 and test2. Test 2 is working fine, however, it lags if you use him more than 5 times rapidly. But, the test 1 seems better, but it's not working. I'm basing my spell on rejuvation, and the main spell is item area effect heal. The item has function to heal all nearby allies (which he does) and these triggers should enable rejuvation after the first effect.

Trigger:
  • Test1
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Book of Healing Touch
    • Actions
      • -------- -------------------------------------------- --------
      • -------- Getting position of casting unit --------
      • -------- -------------------------------------------- --------
      • Set TargetLoc = (Position of (Triggering unit))
      • -------- -------------------------------------------- --------
      • -------- -------------------------------------------- --------
      • Set TempLoc = (Position of (Triggering unit))
      • Set BookGroup = (Units within 500.00 of TempLoc matching (((Matching unit) belongs to an ally of (Owner of BookCast)) Equal to True))
      • Unit Group - Pick every unit in BookGroup and do (Actions)
        • Loop - Actions
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at TempLoc facing TargetLoc
          • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Test Reju to (Last created unit)
          • Unit - Order (Last created unit) to Night Elf Druid Of The Claw - Rejuvenation (Picked unit)
          • -------- --------
      • Custom script: call RemoveLocation (udg_TargetLoc)
      • Custom script: call RemoveLocation(udg_TempLoc)
      • Custom script: call DestroyGroup(udg_BookGroup)
      • Custom script: set bj_wantDestroyGroup = true


Trigger:
  • Test2
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Book of Healing Touch
    • Actions
      • -------- -------------------------------------------- --------
      • -------- Getting position of casting unit --------
      • -------- -------------------------------------------- --------
      • Set TargetLoc = (Position of (Triggering unit))
      • -------- -------------------------------------------- --------
      • Set TempLoc = (Position of (Triggering unit))
      • Unit Group - Pick every unit in (Units within 500.00 of TargetLoc matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is A structure) Equal to False) and (((Matching unit) belongs to an ally of (Owner of (Triggering unit))) Equal to True)))) and do (Actions)
        • Loop - Actions
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at TempLoc facing TargetLoc
          • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Test Reju to (Last created unit)
          • Unit - Order (Last created unit) to Night Elf Druid Of The Claw - Rejuvenation (Picked unit)
          • -------- --------
      • Custom script: call RemoveLocation (udg_TargetLoc)
      • Custom script: call RemoveLocation(udg_TempLoc)
      • Custom script: set bj_wantDestroyGroup = true
 

lovexylitol

New Member
Reaction score
2
Well it cant be 100% narrowed that this is the problem
but I don't see BookCast being set with a value.

Test 1
(Owner of BookCast)

In Test 2 you are using
(((Matching unit) belongs to an ally of (Owner of (Triggering unit)))

Now, since the test 1 is not iterating any units(if this is the problem), then this will indeed make test 1 work. However, if test2 does lag, then I see no difference that will make test 1 not lag. (Actually, I don't think test 2 should lag either. But I'm not really used to reading GUI anyway :eek:)

So, I have 2 triggers - test1 and test2. Test 2 is working fine, however, it lags if you use him more than 5 times rapidly. But, the test 1 seems better, but it's not working. I'm basing my spell on rejuvation, and the main spell is item area effect heal. The item has function to heal all nearby allies (which he does) and these triggers should enable rejuvation after the first effect.

Trigger:
  • Test1
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Book of Healing Touch
    • Actions
      • -------- -------------------------------------------- --------
      • -------- Getting position of casting unit --------
      • -------- -------------------------------------------- --------
      • Set TargetLoc = (Position of (Triggering unit))
      • -------- -------------------------------------------- --------
      • -------- -------------------------------------------- --------
      • Set TempLoc = (Position of (Triggering unit))
      • Set BookGroup = (Units within 500.00 of TempLoc matching (((Matching unit) belongs to an ally of (Owner of BookCast)) Equal to True))
      • Unit Group - Pick every unit in BookGroup and do (Actions)
        • Loop - Actions
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at TempLoc facing TargetLoc
          • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Test Reju to (Last created unit)
          • Unit - Order (Last created unit) to Night Elf Druid Of The Claw - Rejuvenation (Picked unit)
          • -------- --------
      • Custom script: call RemoveLocation (udg_TargetLoc)
      • Custom script: call RemoveLocation(udg_TempLoc)
      • Custom script: call DestroyGroup(udg_BookGroup)
      • Custom script: set bj_wantDestroyGroup = true


Trigger:
  • Test2
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Book of Healing Touch
    • Actions
      • -------- -------------------------------------------- --------
      • -------- Getting position of casting unit --------
      • -------- -------------------------------------------- --------
      • Set TargetLoc = (Position of (Triggering unit))
      • -------- -------------------------------------------- --------
      • Set TempLoc = (Position of (Triggering unit))
      • Unit Group - Pick every unit in (Units within 500.00 of TargetLoc matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is A structure) Equal to False) and (((Matching unit) belongs to an ally of (Owner of (Triggering unit))) Equal to True)))) and do (Actions)
        • Loop - Actions
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at TempLoc facing TargetLoc
          • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Test Reju to (Last created unit)
          • Unit - Order (Last created unit) to Night Elf Druid Of The Claw - Rejuvenation (Picked unit)
          • -------- --------
      • Custom script: call RemoveLocation (udg_TargetLoc)
      • Custom script: call RemoveLocation(udg_TempLoc)
      • Custom script: set bj_wantDestroyGroup = true
 

Crusher

You can change this now in User CP.
Reaction score
121
That group destroying was causing leaks.

Problem solved>!
 
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