REM ********************************************
REM
REM   Script for Matter of Time (Single-Player)
REM
REM ********************************************


LEVEL_VERSION(1)

SET_GENERATE_SPEED(945)

MAX_CREATURES(	ALL_PLAYERS,	70)

START_MONEY(	ALL_PLAYERS,	60000)

COMPUTER_PLAYER(PLAYER1,	0)


ADD_CREATURE_TO_POOL(	BILE_DEMON,	4)
ADD_CREATURE_TO_POOL(	DRAGON,		1)
ADD_CREATURE_TO_POOL(	DEMONSPAWN,	9)
ADD_CREATURE_TO_POOL(	DARK_MISTRESS,	20)
ADD_CREATURE_TO_POOL(	HELL_HOUND,	10)
ADD_CREATURE_TO_POOL(	TENTACLE,	8)
ADD_CREATURE_TO_POOL(	SORCEROR,	2)
ADD_CREATURE_TO_POOL(	TROLL,		16)
ADD_CREATURE_TO_POOL(	SPIDER,		6)
ADD_CREATURE_TO_POOL(	BUG,		0)
ADD_CREATURE_TO_POOL(	SKELETON,	20)
ADD_CREATURE_TO_POOL(	ORC,		20)
ADD_CREATURE_TO_POOL(	WIZARD,		10)
ADD_CREATURE_TO_POOL(	MONK,		20)
ADD_CREATURE_TO_POOL(	ARCHER,		20)
ADD_CREATURE_TO_POOL(	BARBARIAN,	20)
ADD_CREATURE_TO_POOL(	FAIRY,		12)
ADD_CREATURE_TO_POOL(	GIANT,		16)
ADD_CREATURE_TO_POOL(	THIEF,		3)
ADD_CREATURE_TO_POOL(	DWARFA,		6)
ADD_CREATURE_TO_POOL(	SAMURAI,	0)
ADD_CREATURE_TO_POOL(	HORNY,		0)


REM			Player		Creatures	Can be attracted	Amount forced

CREATURE_AVAILABLE(	PLAYER0,	BILE_DEMON,	1,			1)
CREATURE_AVAILABLE(	PLAYER0,	SORCEROR,	1,			1)
CREATURE_AVAILABLE(	PLAYER0,	BUG,		1,			1)
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,	DRAGON,		1,			1)
CREATURE_AVAILABLE(	ALL_PLAYERS,	ORC,		1,			1)
CREATURE_AVAILABLE(	ALL_PLAYERS,	DARK_MISTRESS,	1,			1)
CREATURE_AVAILABLE(	ALL_PLAYERS,	SPIDER,		1,			1)
CREATURE_AVAILABLE(	ALL_PLAYERS,	HELL_HOUND,	1,			30)
CREATURE_AVAILABLE(	ALL_PLAYERS,	SKELETON,	1,			30)
CREATURE_AVAILABLE(	ALL_PLAYERS,	ARCHER,		1,			30)
CREATURE_AVAILABLE(	ALL_PLAYERS,	WIZARD,		1,			1)
CREATURE_AVAILABLE(	ALL_PLAYERS,	MONK,		1,			1)
CREATURE_AVAILABLE(	ALL_PLAYERS,	BARBARIAN,	1,			1)
CREATURE_AVAILABLE(	ALL_PLAYERS,	FAIRY,		1,			1)
CREATURE_AVAILABLE(	ALL_PLAYERS,	GIANT,		1,			1)
CREATURE_AVAILABLE(	ALL_PLAYERS,	THIEF,		1,			1)
CREATURE_AVAILABLE(	ALL_PLAYERS,	DWARFA,		1,			1)
CREATURE_AVAILABLE(	PLAYER0,	SAMURAI,	1,			1)
CREATURE_AVAILABLE(	PLAYER1,	HORNY,		1,			1)


REM			Player		Room type	Can be available	Is available

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

IF(PLAYER1,GAME_TURN > 30000)
ROOM_AVAILABLE(		PLAYER1,	BRIDGE,		1,			1)
SET_COMPUTER_PROCESS(​	PLAYER1,​"DIG TO CLOSE GOLD",10,0,5000,1,84)
ADD_GOLD_TO_PLAYER(	PLAYER1,-100000)
ENDIF


REM			Player		Door type		Can be available	Is available

DOOR_AVAILABLE(		ALL_PLAYERS,	WOOD,			0,			0)
DOOR_AVAILABLE(		ALL_PLAYERS,	BRACED,			1,			0)
DOOR_AVAILABLE(		ALL_PLAYERS,	STEEL,			1,			0)
DOOR_AVAILABLE(		ALL_PLAYERS,	MAGIC,			1,			0)


REM			Player		Trap type		Can be available	Is available

TRAP_AVAILABLE(		ALL_PLAYERS,	ALARM,			0,			0)
TRAP_AVAILABLE(		ALL_PLAYERS,	POISON_GAS,		1,			0)
TRAP_AVAILABLE(		ALL_PLAYERS,	LAVA,			0,			0)
TRAP_AVAILABLE(		ALL_PLAYERS,	BOULDER,		0,			0)
TRAP_AVAILABLE(		ALL_PLAYERS,	LIGHTNING,		0,			0)
TRAP_AVAILABLE(		ALL_PLAYERS,	WORD_OF_POWER,		1,			0)


REM			Player		Spell type		Can be available	Is available

MAGIC_AVAILABLE(	ALL_PLAYERS,	POWER_OBEY,		0,			0)
MAGIC_AVAILABLE(	ALL_PLAYERS,	POWER_IMP,		0,			0)
MAGIC_AVAILABLE(	ALL_PLAYERS,	POWER_SLAP,		1,			1)
MAGIC_AVAILABLE(	ALL_PLAYERS,	POWER_SIGHT,		0,			0)
MAGIC_AVAILABLE(	ALL_PLAYERS,	POWER_CALL_TO_ARMS,	1,			0)
MAGIC_AVAILABLE(	ALL_PLAYERS,	POWER_CAVE_IN,		0,			0)
MAGIC_AVAILABLE(	ALL_PLAYERS,	POWER_HEAL_CREATURE,	1,			0)
MAGIC_AVAILABLE(	ALL_PLAYERS,	POWER_HOLD_AUDIENCE,	1,			0)
MAGIC_AVAILABLE(	ALL_PLAYERS,	POWER_CHICKEN,		0,			0)
MAGIC_AVAILABLE(	ALL_PLAYERS,	POWER_SPEED,		1,			0)
MAGIC_AVAILABLE(	ALL_PLAYERS,	POWER_LIGHTNING,	0,			0)
MAGIC_AVAILABLE(	ALL_PLAYERS,	POWER_CONCEAL,		1,			0)
MAGIC_AVAILABLE(	ALL_PLAYERS,	POWER_PROTECT,		1,			0)
MAGIC_AVAILABLE(	ALL_PLAYERS,	POWER_DISEASE,		0,			0)
MAGIC_AVAILABLE(	ALL_PLAYERS,	POWER_DESTROY_WALLS,	0,			0)
MAGIC_AVAILABLE(	ALL_PLAYERS,	POWER_ARMAGEDDON,	0,			0)

QUICK_OBJECTIVE(​0,"Welcome, Keeper. These are the map's game rules: Your creature cap is 70, and your Imp cap is 40. The creature pool lets you attract 1 of each available creature right away without having the required rooms. Build the rooms if you want more. Take care of your creatures... Good luck!",ALL_PLAYERS)

IF_ACTION_POINT(1,PLAYER0)
	SET_GENERATE_SPEED(420)
ENDIF

IF_ACTION_POINT(1,PLAYER1)
	SET_GENERATE_SPEED(420)
ENDIF

IF(PLAYER0,BARRACKS > 0)
	ROOM_AVAILABLE(PLAYER0,BARRACKS,1,1)
ENDIF

IF(PLAYER0,TORTURE > 0)
	ROOM_AVAILABLE(PLAYER0,TORTURE,1,1)
ENDIF

IF(PLAYER0,TEMPLE > 0)
	ROOM_AVAILABLE(PLAYER0,TEMPLE,1,1)
ENDIF

SET_CREATURE_HEALTH(​WITCH,​3000)

IF(PLAYER0,GAME_TURN > 24000)
	SET_GAME_RULE(GhostConvertChance,0)
ENDIF

IF(PLAYER0,GAME_TURN > 25000)
	SET_GAME_RULE(GhostConvertChance,100)
	SET_CREATURE_HEALTH(​WITCH,​300)
IF(​PLAYER0,​AVATAR ==​ DRAWFROM(1~5))
	ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL,​AVATAR,​PLAYER1,​1,​1,2000)
ENDIF
ENDIF

IF(​PLAYER0,​WITCH ==​ 1)
	KILL_CREATURE(​PLAYER0,WITCH,LEAST_EXPERIENCED,​1)
	ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL,​AVATAR,​PLAYER0,​1,​1,2000)
	ADD_CREATURE_TO_LEVEL(PLAYER0,​IMP,PLAYER0,​1,​2,0)
ENDIF

IF(PLAYER0,​TOTAL_DIGGERS >= 20)
	IF(​PLAYER0,​TOTAL_DIGGERS <= 39)
		NEXT_COMMAND_REUSABLE
		MAGIC_AVAILABLE(PLAYER0,POWER_IMP,		1,			1)
	ENDIF
ENDIF

IF(PLAYER1,​TOTAL_DIGGERS >= 20)
	IF(​PLAYER1,​TOTAL_DIGGERS <= 39)
		NEXT_COMMAND_REUSABLE
		MAGIC_AVAILABLE(PLAYER1,POWER_IMP,		1,			1)
	ENDIF
ENDIF

IF(​PLAYER0,​TOTAL_DIGGERS >= 40)
	NEXT_COMMAND_REUSABLE
	MAGIC_AVAILABLE(PLAYER0,	POWER_IMP,		0,			0)
	QUICK_INFORMATION(​1,​"You have reached the maximum number of Imps allowed on this map. Do not attempt to glitch above the cap of 40 due to the game's total creature limit.", ALL_PLAYERS)
ENDIF

IF(​PLAYER1,​TOTAL_DIGGERS >= 40)
	NEXT_COMMAND_REUSABLE
	MAGIC_AVAILABLE(PLAYER1,	POWER_IMP,		0,			0)
ENDIF

IF(PLAYER0,TOTAL_DIGGERS == 0)
	IF_AVAILABLE(PLAYER0,POWER_IMP == 0)
		LOSE_GAME
	ENDIF
ENDIF

IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
		WIN_GAME
ENDIF