ALLY_PLAYERS(PLAYER0,PLAYER1)

REM For those looking for a more difficult challange, erase the "REM" off of the next three commands.
REM This will ally the three Dungeon Keepers together (Heroes act like Dungeon Keeper) and will thus
REM focus mainly on you.

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

START_MONEY(PLAYER0,10000)
START_MONEY(PLAYER1,9999999999)

COMPUTER_PLAYER(PLAYER1,8)
COMPUTER_PLAYER(PLAYER2,0)
COMPUTER_PLAYER(PLAYER3,0)

SET_TIMER(PLAYER0,TIMER0)

CREATE_PARTY(THUGS)

ADD_TO_PARTY(THUGS,ORC,4,0,ATTACK_ENEMIES,0)
ADD_TO_PARTY(THUGS,DEMONSPAWN,5,0,ATTACK_ENEMIES,0)
ADD_TO_PARTY(THUGS,DEMONSPAWN,5,0,ATTACK_ENEMIES,0)
ADD_TO_PARTY(THUGS,BILE_DEMON,1,0,ATTACK_ENEMIES,0)
ADD_TO_PARTY(THUGS,SORCEROR,4,0,ATTACK_ENEMIES,0)
ADD_TO_PARTY(THUGS,SORCEROR,4,0,ATTACK_ENEMIES,0)
ADD_TO_PARTY(THUGS,SORCEROR,4,0,ATTACK_ENEMIES,0)

IF(PLAYER0,TIMER0>=1000)
	ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,1,DUNGEON,1,1,0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THUGS,1,2)
	SET_TIMER(PLAYER0,TIMER1)
ENDIF

SET_CREATURE_MAX_LEVEL(PLAYER0,SAMURAI,9)
SET_CREATURE_MAX_LEVEL(PLAYER0,DWARFA,9)
SET_CREATURE_MAX_LEVEL(PLAYER0,BARBARIAN,9)
SET_CREATURE_MAX_LEVEL(PLAYER0,ARCHER,9)

IF(PLAYER0,TIMER1>=5000)
	IF(PLAYER_GOOD,DUNGEON_DESTROYED==0)
		IF(PLAYER1,DUNGEON_DESTROYED==0)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THUGS,2,3)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER1)
		ENDIF
	ENDIF
ENDIF

SET_GENERATE_SPEED(400)

MAX_CREATURES(PLAYER0,0)
MAX_CREATURES(PLAYER1,0)
MAX_CREATURES(PLAYER2,22)
MAX_CREATURES(PLAYER3,22)

START_MONEY(PLAYER2,25000)
START_MONEY(PLAYER3,25000)

ADD_CREATURE_TO_POOL(BILE_DEMON,20)
ADD_CREATURE_TO_POOL(DRAGON,20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)
ADD_CREATURE_TO_POOL(HELL_HOUND,20)
ADD_CREATURE_TO_POOL(TENTACLE,20)
ADD_CREATURE_TO_POOL(DEMONSPAWN,20)
ADD_CREATURE_TO_POOL(SORCEROR,20)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(SPIDER,20)
ADD_CREATURE_TO_POOL(BUG,20)
ADD_CREATURE_TO_POOL(FLY,20)
ADD_CREATURE_TO_POOL(ORC,20)
		
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,TENTACLE,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,BUG,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,1)

ROOM_AVAILABLE(PLAYER0,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER0,LAIR,1,1)
ROOM_AVAILABLE(PLAYER0,GARDEN,1,1)

ROOM_AVAILABLE(PLAYER2,GUARD_POST,1,0)
ROOM_AVAILABLE(PLAYER2,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER2,RESEARCH,1,1)
ROOM_AVAILABLE(PLAYER2,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER2,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER2,LAIR,1,1)
ROOM_AVAILABLE(PLAYER2,GRAVEYARD,1,0)
ROOM_AVAILABLE(PLAYER2,PRISON,1,0)
ROOM_AVAILABLE(PLAYER2,TORTURE,1,0)
ROOM_AVAILABLE(PLAYER2,TRAINING,1,1)
ROOM_AVAILABLE(PLAYER2,SCAVENGER,1,0)
ROOM_AVAILABLE(PLAYER2,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER2,TEMPLE,1,0)

ROOM_AVAILABLE(PLAYER3,GUARD_POST,1,0)
ROOM_AVAILABLE(PLAYER3,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER3,RESEARCH,1,1)
ROOM_AVAILABLE(PLAYER3,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER3,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER3,LAIR,1,1)
ROOM_AVAILABLE(PLAYER3,GRAVEYARD,1,0)
ROOM_AVAILABLE(PLAYER3,PRISON,1,0)
ROOM_AVAILABLE(PLAYER3,TORTURE,1,0)
ROOM_AVAILABLE(PLAYER3,TRAINING,1,1)
ROOM_AVAILABLE(PLAYER3,SCAVENGER,1,0)
ROOM_AVAILABLE(PLAYER3,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER3,TEMPLE,1,0)

MAGIC_AVAILABLE(PLAYER2,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_PROTECT,1,0)

MAGIC_AVAILABLE(PLAYER3,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_PROTECT,1,0)

DOOR_AVAILABLE(PLAYER2,WOOD,1,0)
TRAP_AVAILABLE(PLAYER2,ALARM,1,0)
DOOR_AVAILABLE(PLAYER2,BRACED,1,0)
TRAP_AVAILABLE(PLAYER2,POISON_GAS,1,0)
DOOR_AVAILABLE(PLAYER2,STEEL,1,0)
TRAP_AVAILABLE(PLAYER2,LIGHTNING,1,0)
TRAP_AVAILABLE(PLAYER2,WORD_OF_POWER,1,0)

DOOR_AVAILABLE(PLAYER3,WOOD,1,0)
TRAP_AVAILABLE(PLAYER3,ALARM,1,0)
DOOR_AVAILABLE(PLAYER3,BRACED,1,0)
TRAP_AVAILABLE(PLAYER3,POISON_GAS,1,0)
DOOR_AVAILABLE(PLAYER3,STEEL,1,0)
TRAP_AVAILABLE(PLAYER3,LIGHTNING,1,0)
TRAP_AVAILABLE(PLAYER3,WORD_OF_POWER,1,0)

QUICK_OBJECTIVE(0,"Samurai-I am one of the highest Samurais in this land. I must make sure my master survives. I sense great evil... the darkness comes...",PLAYER0)

IF(PLAYER1,DUNGEON_DESTROYED==1)
	QUICK_OBJECTIVE(1,"Samurai-I have failed to keep my master alive...",PLAYER0)
	LOSE_GAME
ENDIF

IF(PLAYER0,TOTAL_CREATURES==0)
	QUICK_OBJECTIVE(2,"You have failed to keep your heroes alive.",PLAYER0)
	LOSE_GAME
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED==1)
	QUICK_INFORMATION(3,"Samurai-This should stop the invasions from one of the Dungeon Keepers.",PLAYER0)
	IF(PLAYER2,DUNGEON_DESTROYED==1)
		IF(PLAYER3,DUNGEON_DESTROYED==1)
			QUICK_OBJECTIVE(4,"Samurai-I have succeeded in my mission. But now, I must part ways with my master. I shall travel through the lands in search for evil to destroy.",PLAYER0)
			WIN_GAME
		ENDIF
	ENDIF
ENDIF