Code:
IF_ACTION_POINT(1,PLAYER0)
QUICK_INFORMATION(1,"Well done. With this hero door liberated, these barbarians will join you")
ADD_CREATURE_TO_LEVEL(PLAYER0,BARBARIAN,-1,5,1,0)
SET_TIMER(PLAYER0,TIMER1)
ENDIF
REM Every minute add a barbarian until the player is back up to 4 out of 5 barbarians.
IF(PLAYER0,TIMER1 >= 1200)
IF(PLAYER0, BARBARIAN <= 3)
NEXT_COMMAND_REUSABLE
ADD_CREATURE_TO_LEVEL(PLAYER0,BARBARIAN,-1,1,1,0)
ENDIF
NEXT_COMMAND_REUSABLE
SET_TIMER(PLAYER0,TIMER1)
ENDIF
IF_AVAILABLE(PLAYER_GOOD,SORCEROR <= 0)
QUICK_INFORMATION(1,"Good, with the Warlocks defeated, we can get the help of our wizards and sorceresses.")
ADD_CREATURE_TO_LEVEL(PLAYER0,WIZARD,-2,2,1,0)
ADD_CREATURE_TO_LEVEL(PLAYER0,WITCH,-2,2,1,0)
SET_TIMER(PLAYER0,TIMER2)
ENDIF
REM Every three minutes add a Wizard and Witch until the player has 2 wizards and 3 witches.
IF(PLAYER0,TIMER2 >= 3600)
IF(PLAYER0, WIZARD <= 2)
NEXT_COMMAND_REUSABLE
ADD_CREATURE_TO_LEVEL(PLAYER0,WIZARD,-2,1,1,0)
ENDIF
IF(PLAYER0, WITCH <= 3)
NEXT_COMMAND_REUSABLE
ADD_CREATURE_TO_LEVEL(PLAYER0,WITCH,-2,1,1,0)
ENDIF
NEXT_COMMAND_REUSABLE
SET_TIMER(PLAYER0,TIMER2)
ENDIF
If you run out of if statements, you can be a more efficient by using flags.