So you already know that:
1) You want to track how many Nights have passed.
2) Your example is: Night 1, Night 2, Night 3, etc.
So, you have to ask yourself, what tool can accomplish this? Since we're dealing with Triggers you should be thinking about Events, Conditions, Actions, and Variables. In this case we can focus on the Variable first.
You've already written down the type of variable you need in your post -> "Night
1", the number
1 is an
Integer:
-
Set Variable Night_Cycles = 1
So now that you have a variable which tracks the current "night cycle", you need to figure out how to detect when it becomes Night. Funnily enough, I made a day/night system for you in this thread a little while ago:
Is there a way to make a player team sleep like creeps do?
So now you just need to use that system to increase the number of Night cycles whenever it becomes Night time:
-
Night Has Started
-

Events
-


Game - TOD_Event becomes Equal to 1.00
-

Conditions
-


TOD_Is_Night_Time Equal to True
-

Actions
-


Set Variable Night_Cycles = (Night_Cycles + 1)
-


-------- You can use this variable to determine what to do next --------
This is also a good time to setup your Night time predators. When you want to ask questions in your Actions you use the If Then Else action:
-
Set Variable Night_Cycles = (Night_Cycles + 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-

If - Conditions
-

Then - Actions
-


Trigger - Run Third Night <gen> (ignoring conditions)
-

Else - Actions
The Run trigger in this example would include all of your "Night 3" logic.
But a
Trigger array variable would be even better here since it helps keep things organized and scales
infinitely:
-
Events
-

Time - Elapsed game time is 0.00 seconds
-
Conditions
-
Actions
-

Set Variable Night_Trigger[1] = First Night <gen>
-

Set Variable Night_Trigger[2] = Second Night <gen>
-

Set Variable Night_Trigger[3] = Third Night <gen>
-
Night Has Started ADVANCED
-

Events
-


Game - TOD_Event becomes Equal to 1.00
-

Conditions
-


TOD_Is_Night_Time Equal to True
-

Actions
-


Set Variable Night_Cycles = (Night_Cycles + 1)
-


Trigger - Run Night_Trigger[Night_Cycles] (ignoring conditions)
Now every time it becomes Night, the Night_Cycles variable will increase by 1, and it's associated Night_Trigger that we setup beforehand will run. First Night, Second Night, and Third Night would be their own triggers which have Actions for doing anything you want. This could involve removing existing daytime units and creating new nighttime units (predators). Each trigger is unique so you can customize each Night to your liking.
Taking this further, you can introduce other Array variables and create a sort of automated system which can alleviate you from creating redundant triggers:
-
Actions
-

Unit - Create Night_Spawn_Count[Night_Cyles] Night_Spawn_Type[Night_Cycles] for Neutral Hostile at (Random point in (Playable map area))
Night_Spawn_Count is an Integer array. Night_Spawn_Type is a Unit-Type array. These would get setup along with Night_Trigger[1] -> [3].
So Night_Spawn_Type[1] could be a couple of foxes where as Night_Spawn_Type[3] could be a wild pack of coyotes.