REM Play Level Orc City part 2

REM ******* Basic settings *******

SET_GENERATE_SPEED(400)

MAX_CREATURES(PLAYER0,27)
MAX_CREATURES(PLAYER3,7)

START_MONEY(PLAYER0,15000)
START_MONEY(PLAYER1,9000000)
START_MONEY(PLAYER2,25000)
START_MONEY(PLAYER3,9000000)

COMPUTER_PLAYER(PLAYER1,0)
COMPUTER_PLAYER(PLAYER3,0)
COMPUTER_PLAYER(PLAYER_GOOD,0)

ALLY_PLAYERS(PLAYER0,PLAYER1)

ALLY_PLAYERS(PLAYER2,PLAYER3)
ALLY_PLAYERS(PLAYER2,PLAYER_GOOD)
ALLY_PLAYERS(PLAYER3,PLAYER_GOOD)

ADD_CREATURE_TO_POOL(SORCEROR,20)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(ORC,20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,10)
ADD_CREATURE_TO_POOL(SKELETON,27)
ADD_CREATURE_TO_POOL(HELL_HOUND,20)
ADD_CREATURE_TO_POOL(HORNY,9)
ADD_CREATURE_TO_POOL(KNIGHT,1)
ADD_CREATURE_TO_POOL(WIZARD,3)
ADD_CREATURE_TO_POOL(FAIRY,2)

REM ********** Available creatures ********** 

                CREATURE_AVAILABLE(PLAYER0,SORCEROR,1,1)
                CREATURE_AVAILABLE(PLAYER0,TROLL,1,1)
	        CREATURE_AVAILABLE(PLAYER0,ORC,1,1)
                CREATURE_AVAILABLE(PLAYER0,DARK_MISTRESS,1,1)
                CREATURE_AVAILABLE(PLAYER0,SKELETON,1,1)
                CREATURE_AVAILABLE(PLAYER0,HELL_HOUND,1,1)
                CREATURE_AVAILABLE(PLAYER0,HORNY,1,1)

                CREATURE_AVAILABLE(PLAYER3,KNIGHT,1,1)
                CREATURE_AVAILABLE(PLAYER3,ARCHER,1,1)
                CREATURE_AVAILABLE(PLAYER3,SAMURAI,1,1)
                CREATURE_AVAILABLE(PLAYER3,WIZARD,1,1)
                CREATURE_AVAILABLE(PLAYER3,FAIRY,1,1)

REM ********** Available rooms **********

		ROOM_AVAILABLE(PLAYER0,TREASURE,1,1)
		ROOM_AVAILABLE(PLAYER0,LAIR,1,1)
		ROOM_AVAILABLE(PLAYER0,GARDEN,1,1)
		ROOM_AVAILABLE(PLAYER0,TRAINING,1,1)
		ROOM_AVAILABLE(PLAYER0,RESEARCH,1,1)
		ROOM_AVAILABLE(PLAYER0,GUARD_POST,1,0)
		ROOM_AVAILABLE(PLAYER0,WORKSHOP,1,0)
		ROOM_AVAILABLE(PLAYER0,BARRACKS,1,0)
		ROOM_AVAILABLE(PLAYER0,TEMPLE,1,0)
		ROOM_AVAILABLE(PLAYER0,GRAVEYARD,1,0)

REM ********** Available spells **********

                MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
        	MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
                MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_LIGHTNING,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)

REM ********** Available doors & traps **********

                DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
                TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,0)
		TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)

REM ********** Game settings **********

IF(PLAYER0,DUNGEON_DESTROYED == 1)
	LOSE_GAME
ENDIF

REM ********** Triggers & End game **********

SET_TIMER(PLAYER0,TIMER0)

SET_TIMER(PLAYER0,TIMER1)

IF(PLAYER0,TIMER1>=10000)
	SET_TIMER(PLAYER0,TIMER2)
ENDIF

IF(PLAYER0,TIMER0>=350)
	IF(PLAYER0,IMP<16)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,IMP,PLAYER0,1,1,0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER0)
	ENDIF
ENDIF

IF(PLAYER0,TIMER2>=500)
	IF(PLAYER3,IMP<3)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER3,IMP,PLAYER3,1,1,0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER2)
	ENDIF
ENDIF

SET_TIMER(PLAYER0,TIMER3)
SET_TIMER(PLAYER0,TIMER4)

IF(PLAYER0,TIMER3>=375)
	IF(PLAYER1,TROLL<7)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,TROLL,-1,1,1,0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER3)
	ENDIF
ENDIF

IF(PLAYER0,TIMER4>=400)
	IF(PLAYER1,ORC<4)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,ORC,-2,1,2,0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER4)
	ENDIF
ENDIF

SET_TIMER(PLAYER2,TIMER0)
SET_TIMER(PLAYER2,TIMER1)
SET_TIMER(PLAYER2,TIMER2)
SET_TIMER(PLAYER2,TIMER3)
SET_TIMER(PLAYER2,TIMER4)

IF(PLAYER2,TIMER0>=1600)
	IF(PLAYER3,BUG<9)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER2,BUG,6,1,3,0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER2,TIMER0)
	ENDIF
ENDIF

IF(PLAYER2,TIMER1>=3400)
	IF(PLAYER3,DRAGON<13)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER2,DRAGON,7,1,1,0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER2,TIMER1)
	ENDIF
ENDIF

IF(PLAYER2,TIMER2>=4600)
	IF(PLAYER3,TENTACLE<4)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER2,TENTACLE,-3,1,1,0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER2,TIMER2)
	ENDIF
ENDIF

IF(PLAYER2,TIMER3>=1900)
	IF(PLAYER3,DEMONSPAWN<8)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER2,DEMONSPAWN,6,1,3,0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER2,TIMER3)
	ENDIF
ENDIF

IF(PLAYER2,TIMER4>=5100)
	IF(PLAYER3,SPIDER<7)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER2,SPIDER,-3,1,1,0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER2,TIMER4)
	ENDIF
ENDIF

IF_ACTION_POINT(1,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,SPIDER,2,6,6,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,DRAGON,2,4,2,0)	
	ADD_CREATURE_TO_LEVEL(PLAYER2,DEMONSPAWN,2,6,5,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,TENTACLE,2,3,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,FLY,2,6,5,0)
ENDIF

IF_ACTION_POINT(3,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,SPIDER,4,8,7,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,DRAGON,4,11,4,0)	
	ADD_CREATURE_TO_LEVEL(PLAYER2,BILE_DEMON,4,6,6,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,TENTACLE,4,6,8,0)
ENDIF


SET_TIMER(PLAYER_GOOD,TIMER0)

IF(PLAYER_GOOD,TIMER0>=10000)
	SET_TIMER(PLAYER_GOOD,TIMER1)
	SET_TIMER(PLAYER_GOOD,TIMER2)
	SET_TIMER(PLAYER_GOOD,TIMER3)
ENDIF

IF(PLAYER_GOOD,TIMER0>=12000)
	SET_TIMER(PLAYER_GOOD,TIMER4)
	SET_TIMER(PLAYER_GOOD,TIMER5)
ENDIF

IF(PLAYER_GOOD,TIMER0>=15000)
	SET_TIMER(PLAYER_GOOD,TIMER6)
	SET_TIMER(PLAYER_GOOD,TIMER7)
ENDIF

IF(PLAYER_GOOD,TIMER1>=6000)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FLY,4,6,10,0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD,TIMER1)
ENDIF

IF(PLAYER_GOOD,TIMER2>=7600)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DRAGON,4,2,4,0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD,TIMER2)
ENDIF

IF(PLAYER_GOOD,TIMER3>=4400)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,PLAYER3,3,3,0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD,TIMER3)
ENDIF

IF(PLAYER_GOOD,TIMER4>=4800)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,PLAYER3,2,2,0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD,TIMER4)
ENDIF

IF(PLAYER_GOOD,TIMER5>=5900)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,PLAYER3,1,5,0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD,TIMER5)
ENDIF

IF(PLAYER_GOOD,TIMER6>=7200)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,PLAYER3,1,7,0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD,TIMER6)
ENDIF

IF(PLAYER_GOOD,TIMER7>=9100)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,PLAYER3,1,6,0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD,TIMER7)
ENDIF

IF(PLAYER_GOOD,TIMER0>=22000)
	ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,5,DUNGEON_HEART,PLAYER0,5,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DRAGON,5,3,6,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FLY,5,5,7,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SPIDER,5,4,6,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,TENTACLE,5,1,3,0)
ENDIF

IF(PLAYER0,ENTRANCE==18)
	WIN_GAME
ENDIF