Duel System Problem

Denegoth

New Member
Reaction score
18
I coded an entire Duel system myself, but since I did I have encountered a problem that I don't know how to fix. I have tried quite a few things but nothing so far has helped.

The players enter the duel arena fine, but the second team ALWAYS wins after a certain amount of time/deaths. Even if one only one light player dies, the dark team will win.

Here is my code.

Duel start:
Trigger:
  • Duel
    • Events
      • Time - DuelTimer expires
    • Conditions
    • Actions
      • Wait 0.10 seconds
      • For each (Integer A) from 1 to 10, do (Actions)
        • Loop - Actions
          • Selection - Select Hero[(Integer A)] for (Owner of Hero[(Integer A)])
          • Hero - Instantly revive Hero[(Integer A)] at ((Owner of Hero[(Integer A)]) start location), Hide revival graphics
          • Visibility - Create an initially Enabled visibility modifier for (Owner of Hero[(Integer A)]) emitting Visibility across Region 007 <gen>
          • Unit - Remove All buffs from Hero[(Integer A)]
      • For each (Integer B) from 1 to 5, do (Actions)
        • Loop - Actions
          • Camera - Pan camera for (Owner of Hero[(Integer B)]) to (Center of DuelTeam1 <gen>) over 0.00 seconds
          • Unit - Move Hero[(Integer B)] instantly to (Center of DuelTeam1 <gen>), facing 90.00 degrees
      • For each (Integer B) from 6 to 10, do (Actions)
        • Loop - Actions
          • Camera - Pan camera for (Owner of Hero[(Integer B)]) to (Center of DuelTeam2 <gen>) over 0.00 seconds
          • Unit - Move Hero[(Integer B)] instantly to (Center of DuelTeam2 <gen>), facing 270.00 degrees
      • Wait 0.10 seconds
      • Set Duellers[1] = (Number of units in (Units in DuelTeam1 <gen>))
      • Set Duellers[2] = (Number of units in (Units in DuelTeam2 <gen>))
      • Set DuelHealGroup = (Units in Region 007 <gen>)
      • Game - Display to (All players) the text: (String(Duellers[2]))
      • Unit Group - Pick every unit in DuelHealGroup and do (Actions)
        • Loop - Actions
          • Unit - Set life of (Picked unit) to 100.00%
          • Unit - Set mana of (Picked unit) to 100.00%
          • Unit - Reset ability cooldowns for (Picked unit)
      • Custom script: call DestroyGroup(udg_DuelHealGroup)


Death:
Trigger:
  • Dying Region
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Region 007 <gen> contains (Dying unit)) Equal to True
    • Actions
      • Wait 0.10 seconds
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Duellers[1] Not equal to 0
          • Duellers[2] Not equal to 0
          • ((Owner of (Dying unit)) is an ally of Player 11 (Dark Green)) Equal to True
        • Then - Actions
          • Set Duellers[1] = (Duellers[1] - 1)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Duellers[1] Not equal to 0
              • Duellers[2] Not equal to 0
              • ((Owner of (Dying unit)) is an ally of Player 12 (Brown)) Equal to True
            • Then - Actions
              • Set Duellers[2] = (Duellers[2] - 1)
            • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Duellers[1] Equal to 0
        • Then - Actions
          • For each (Integer B) from 1 to 10, do (Actions)
            • Loop - Actions
              • Camera - Pan camera for (Owner of Hero[(Integer B)]) to ((Owner of Hero[(Integer B)]) start location) over 0.00 seconds
              • Selection - Select Hero[(Integer B)] for (Owner of Hero[(Integer B)])
              • Hero - Instantly revive Hero[(Integer B)] at ((Owner of Hero[(Integer B)]) start location), Hide revival graphics
              • Unit - Move Hero[(Integer B)] instantly to ((Owner of Hero[(Integer B)]) start location)
          • Game - Display to (All players) the text: |cff80FF00The Dark ...
          • Countdown Timer - Start DuelTimer as a One-shot timer that will expire in 600.00 seconds
          • For each (Integer A) from 6 to 10, do (Actions)
            • Loop - Actions
              • Player - Add 250 to (Owner of Hero[(Integer A)]) Current gold
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Duellers[2] Equal to 0
            • Then - Actions
              • For each (Integer B) from 1 to 10, do (Actions)
                • Loop - Actions
                  • Camera - Pan camera for (Owner of Hero[(Integer B)]) to ((Owner of Hero[(Integer B)]) start location) over 0.00 seconds
                  • Selection - Select Hero[(Integer B)] for (Owner of Hero[(Integer B)])
                  • Hero - Instantly revive Hero[(Integer B)] at ((Owner of Hero[(Integer B)]) start location), Hide revival graphics
                  • Unit - Move Hero[(Integer B)] instantly to ((Owner of Hero[(Integer B)]) start location)
              • Game - Display to (All players) the text: |cff80FF00The Light...
              • Countdown Timer - Start DuelTimer as a One-shot timer that will expire in 600.00 seconds
              • For each (Integer A) from 1 to 5, do (Actions)
                • Loop - Actions
                  • Player - Add 250 to (Owner of Hero[(Integer A)]) Current gold
            • Else - Actions
              • Do nothing



Thanks in advance!
 

deebee

New Member
Reaction score
15
Try adding another debug gametext for Duellers[1]. You can probably do a better unit count detection with that variable as well.
 

Denegoth

New Member
Reaction score
18
Try adding another debug gametext for Duellers[1]. You can probably do a better unit count detection with that variable as well.

I actually did that before, and it pretty much just showed what I expected. Abnormal changes in the variable out of nowhere.
 

deebee

New Member
Reaction score
15
I also used a similar unit count detection on helping chenobi and its gave me miscounted results :p

I definitely recommend using a different method
 
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