Ok I apologize in advance for the length of the my post because I need help with a problem that I think involves up to three triggers so I've included them all just to be sure the problem can be found.
Ok so first of all in this map the player can build towers in a lane to advance how much of the lane they control, and therefore, make more income every x seconds. However, they have a base with other buildings that can be built and to keep the player from building towers in their base to cheat the system, I used a different buildable terrain type in the base, so this trigger checks to make sure the tower is not in the base:
But: you can't build towers on the next column until you've taken up both slots of the previous column, this prevents players from rushing each other's column spaces so it's fair game. That means this trigger involves checking if the tower is in a column, then the previous column must have 2 towers by that player built, as well as each column before it, if any.
But for some reason, it's not working in registering that the previous columns meet the all spaces occupied first. I can still build towers in columns I'm not eligible for because a tower in my previous column is destroyed. That's why I'm also including this trigger:
So I've looked over all my triggers multiple times and I just can't seem to find what's wrong with it and why it isn't working. It used to work and now it doesn't for some reason I know it's a lot to look at in one go so I understand if I don't get a solution right away but if you can help, then it would be greatly appreciated.
Ok so first of all in this map the player can build towers in a lane to advance how much of the lane they control, and therefore, make more income every x seconds. However, they have a base with other buildings that can be built and to keep the player from building towers in their base to cheat the system, I used a different buildable terrain type in the base, so this trigger checks to make sure the tower is not in the base:
-
An Obsidian Statue is Misplaced
-
Events
- Unit - A unit Begins construction
-
Conditions
- (Unit-type of (Constructing structure)) Equal to Territorial Banner (forgotten worker)
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Terrain type at (Position of (Constructing structure))) Equal to Cityscape - Grass Trim
-
Then - Actions
- Unit - Remove (Constructing structure) from the game
- Player - Add 100 to (Owner of (Triggering unit)) Current gold
- Player - Add 15 to (Owner of (Triggering unit)) Current lumber
- Quest - Display to (All players matching ((Matching player) Equal to (Owner of (Triggering unit)))) the Hint message: |cff32cd32HINT|r: Y...
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
But: you can't build towers on the next column until you've taken up both slots of the previous column, this prevents players from rushing each other's column spaces so it's fair game. That means this trigger involves checking if the tower is in a column, then the previous column must have 2 towers by that player built, as well as each column before it, if any.
-
An Obsidian Statue is Placed
-
Events
- Unit - A unit Finishes construction
-
Conditions
- (Unit-type of (Constructed structure)) Equal to Territorial Banner (forgotten worker)
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Owner of (Constructed structure)) Equal to Player 8 (Pink)
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Column 1 <gen> contains (Constructed structure)) Equal to True
-
Then - Actions
- Set column1 = (column1 + 1)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Column 2 <gen> contains (Constructed structure)) Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- column1 Equal to 2
-
Then - Actions
- Set column2 = (column2 + 1)
-
Else - Actions
- Unit - Remove (Constructed structure) from the game
- Player - Add 100 to (Owner of (Triggering unit)) Current gold
- Player - Add 15 to (Owner of (Triggering unit)) Current lumber
- Quest - Display to (All players matching ((Matching player) Equal to (Owner of (Triggering unit)))) the Hint message: |cff32cd32HINT|r: Y...
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Column 3 <gen> contains (Constructed structure)) Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- column1 Equal to 2
- column2 Equal to 2
-
Then - Actions
- Set column3 = (column3 + 1)
-
Else - Actions
- Unit - Remove (Constructed structure) from the game
- Player - Add 100 to (Owner of (Triggering unit)) Current gold
- Player - Add 15 to (Owner of (Triggering unit)) Current lumber
- Quest - Display to (All players matching ((Matching player) Equal to (Owner of (Triggering unit)))) the Hint message: |cff32cd32HINT|r: Y...
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Column4 <gen> contains (Constructed structure)) Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- column1 Equal to 2
- column2 Equal to 2
- column3 Equal to 2
-
Then - Actions
- Set column4 = (column4 + 1)
-
Else - Actions
- Unit - Remove (Constructed structure) from the game
- Player - Add 100 to (Owner of (Triggering unit)) Current gold
- Player - Add 15 to (Owner of (Triggering unit)) Current lumber
- Quest - Display to (All players matching ((Matching player) Equal to (Owner of (Triggering unit)))) the Hint message: |cff32cd32HINT|r: Y...
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (blue statue <gen> contains (Constructed structure)) Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- column1 Equal to 2
- column2 Equal to 2
- column3 Equal to 2
- column4 Equal to 2
- Then - Actions
-
Else - Actions
- Unit - Remove (Constructed structure) from the game
- Player - Add 100 to (Owner of (Triggering unit)) Current gold
- Player - Add 15 to (Owner of (Triggering unit)) Current lumber
- Quest - Display to (All players matching ((Matching player) Equal to (Owner of (Triggering unit)))) the Hint message: |cff32cd32HINT|r: Y...
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
- Do nothing
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Column4 <gen> contains (Constructed structure)) Equal to True
-
Then - Actions
- Set p2column1 = (p2column1 + 1)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Column 3 <gen> contains (Constructed structure)) Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- p2column1 Equal to 2
-
Then - Actions
- Set p2column2 = (p2column2 + 1)
-
Else - Actions
- Unit - Remove (Constructed structure) from the game
- Player - Add 100 to (Owner of (Triggering unit)) Current gold
- Player - Add 15 to (Owner of (Triggering unit)) Current lumber
- Quest - Display to (All players matching ((Matching player) Equal to (Owner of (Triggering unit)))) the Hint message: |cff32cd32HINT|r: Y...
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Column 2 <gen> contains (Constructed structure)) Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- p2column1 Equal to 2
- p2column2 Equal to 2
-
Then - Actions
- Set p2column3 = (p2column3 + 1)
-
Else - Actions
- Unit - Remove (Constructed structure) from the game
- Player - Add 100 to (Owner of (Triggering unit)) Current gold
- Player - Add 15 to (Owner of (Triggering unit)) Current lumber
- Quest - Display to (All players matching ((Matching player) Equal to (Owner of (Triggering unit)))) the Hint message: |cff32cd32HINT|r: Y...
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Column 1 <gen> contains (Constructed structure)) Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- p2column1 Equal to 2
- p2column2 Equal to 2
- p2column3 Equal to 2
-
Then - Actions
- Set p2column4 = (p2column4 + 1)
-
Else - Actions
- Unit - Remove (Constructed structure) from the game
- Player - Add 100 to (Owner of (Triggering unit)) Current gold
- Player - Add 15 to (Owner of (Triggering unit)) Current lumber
- Quest - Display to (All players matching ((Matching player) Equal to (Owner of (Triggering unit)))) the Hint message: |cff32cd32HINT|r: Y...
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (red statue <gen> contains (Constructed structure)) Equal to True
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- p2column1 Equal to 2
- p2column2 Equal to 2
- p2column3 Equal to 2
- p2column4 Equal to 2
- Then - Actions
-
Else - Actions
- Unit - Remove (Constructed structure) from the game
- Player - Add 100 to (Owner of (Triggering unit)) Current gold
- Player - Add 15 to (Owner of (Triggering unit)) Current lumber
- Quest - Display to (All players matching ((Matching player) Equal to (Owner of (Triggering unit)))) the Hint message: |cff32cd32HINT|r: Y...
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
- Do nothing
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Constructed structure) is alive) Equal to True
-
Then - Actions
- If ((Owner of (Triggering unit)) Equal to Player 4 (Purple)) then do (Set bluecolumn = (bluecolumn + 1)) else do (Do nothing)
- If ((Owner of (Triggering unit)) Equal to Player 8 (Pink)) then do (Set redcolumn = (redcolumn + 1)) else do (Do nothing)
-
Else - Actions
- Do nothing
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Constructed structure) is alive) Equal to True
-
Then - Actions
- Leaderboard - Change the value for Player 2 (Blue) in (Last created leaderboard) to (Integer(((String((bluecolumn x 10))) + %)))
- Leaderboard - Change the value for Player 1 (Red) in (Last created leaderboard) to (Integer(((String((redcolumn x 10))) + %)))
- Unit Group - Add (Constructed structure) to towerclub[(Player number of (Owner of (Constructed structure)))]
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
But for some reason, it's not working in registering that the previous columns meet the all spaces occupied first. I can still build towers in columns I'm not eligible for because a tower in my previous column is destroyed. That's why I'm also including this trigger:
-
An Obsidian Statue is Displaced
-
Events
- Unit - A unit owned by Player 8 (Pink) Dies
- Unit - A unit owned by Player 4 (Purple) Dies
-
Conditions
- (Unit-type of (Dying unit)) Equal to Territorial Banner (forgotten worker)
- ((Dying unit) is in towerclub[(Player number of (Owner of (Dying unit)))]) Equal to True
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Owner of (Dying unit)) Equal to Player 4 (Purple)
-
Then - Actions
- Set bluecolumn = (bluecolumn - 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Column4 <gen> contains (Dying unit)) Equal to True
-
Then - Actions
- Set p2column1 = (p2column1 - 1)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Column 3 <gen> contains (Dying unit)) Equal to True
-
Then - Actions
- Set p2column2 = (p2column2 - 1)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Column 2 <gen> contains (Dying unit)) Equal to True
-
Then - Actions
- Set p2column3 = (p2column3 - 1)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Column 1 <gen> contains (Dying unit)) Equal to True
-
Then - Actions
- Set p2column4 = (p2column4 - 1)
-
Else - Actions
- Do nothing
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Quest - Display to Player Group - Player 4 (Purple) the Warning message: |cffff0000WARNING|r...
- Quest - Display to Player Group - Player 2 (Blue) the Warning message: |cffff0000WARNING|r...
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Owner of (Dying unit)) Equal to Player 8 (Pink)
-
Then - Actions
- Set redcolumn = (redcolumn - 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Column 1 <gen> contains (Dying unit)) Equal to True
-
Then - Actions
- Set column1 = (column1 - 1)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Column 2 <gen> contains (Dying unit)) Equal to True
-
Then - Actions
- Set column2 = (column2 - 1)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Column 3 <gen> contains (Dying unit)) Equal to True
-
Then - Actions
- Set column3 = (column3 - 1)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Column4 <gen> contains (Dying unit)) Equal to True
-
Then - Actions
- Set column4 = (column4 - 1)
-
Else - Actions
- Do nothing
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Quest - Display to Player Group - Player 8 (Pink) the Warning message: |cffff0000WARNING|r...
- Quest - Display to Player Group - Player 1 (Red) the Warning message: |cffff0000WARNING|r...
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Leaderboard - Change the value for Player 1 (Red) in (Last created leaderboard) to (Integer(((String((redcolumn x 10))) + %)))
- Leaderboard - Change the value for Player 2 (Blue) in (Last created leaderboard) to (Integer(((String((bluecolumn x 10))) + %)))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
So I've looked over all my triggers multiple times and I just can't seem to find what's wrong with it and why it isn't working. It used to work and now it doesn't for some reason I know it's a lot to look at in one go so I understand if I don't get a solution right away but if you can help, then it would be greatly appreciated.