REM silent spider
LEVEL_VERSION(1)
COMPUTER_PLAYER(PLAYER1,1)
SET_COMPUTER_PROCESS(PLAYER1,"BUILD A LAIR ROOM",0,3,3,14,-1)
SET_COMPUTER_PROCESS(PLAYER1,"BUILD A HATCHERY",0,8,8,13,-1)
SET_GENERATE_SPEED(220)
DISPLAY_OBJECTIVE(137,PLAYER0) 
START_MONEY(PLAYER0,500000)
START_MONEY(PLAYER1,50000000)
MAX_CREATURES(PLAYER0,50)
MAX_CREATURES(PLAYER1,100)

REM won flag
SET_FLAG(PLAYER0, FLAG0, 0)

REM party multiplier
SET_FLAG(PLAYER_GOOD, FLAG0, 0)

REM calculation switcher
SET_FLAG(PLAYER_GOOD, FLAG1, 0)

ADD_CREATURE_TO_POOL(WIZARD,15)
ADD_CREATURE_TO_POOL(SPIDER,50)
ADD_CREATURE_TO_POOL(SAMURAI,16)
ADD_CREATURE_TO_POOL(THIEF,5)
ADD_CREATURE_TO_POOL(FAIRY,40)
ADD_CREATURE_TO_POOL(GIANT,12)
ADD_CREATURE_TO_POOL(WITCH,5)
ADD_CREATURE_TO_POOL(TUNNELLER,55)
ADD_CREATURE_TO_POOL(KNIGHT,5)
ADD_CREATURE_TO_POOL(DWARFA,40)
ADD_CREATURE_TO_POOL(MONK,10)
ADD_CREATURE_TO_POOL(ARCHER,25)
ADD_CREATURE_TO_POOL(BARBARIAN,15)

CREATURE_AVAILABLE(PLAYER1,WIZARD,1,0)
CREATURE_AVAILABLE(PLAYER1,SAMURAI,1,0)
CREATURE_AVAILABLE(PLAYER1,THIEF,1,0)
CREATURE_AVAILABLE(PLAYER1,FAIRY,1,0)
CREATURE_AVAILABLE(PLAYER1,GIANT,1,0)
CREATURE_AVAILABLE(PLAYER1,WITCH,1,0)
CREATURE_AVAILABLE(PLAYER1,TUNNELLER,1,0)
CREATURE_AVAILABLE(PLAYER1,KNIGHT,1,0)
CREATURE_AVAILABLE(PLAYER1,DWARFA,1,0)
CREATURE_AVAILABLE(PLAYER1,MONK,1,0)
CREATURE_AVAILABLE(PLAYER1,ARCHER,1,0)
CREATURE_AVAILABLE(PLAYER1,BARBARIAN,1,0)
CREATURE_AVAILABLE(PLAYER0,SPIDER,1,0)

MAGIC_AVAILABLE(PLAYER1,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_OBEY,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_HAND,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_SLAP,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_POSSESS,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_DISEASE,1,0)
ROOM_AVAILABLE(PLAYER1,BRIDGE,1,0)
ROOM_AVAILABLE(PLAYER1,ENTRANCE,1,1)
ROOM_AVAILABLE(PLAYER1,TRAINING,1,0)
ROOM_AVAILABLE(PLAYER1,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER1,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER1,WORKSHOP,1,1)
ROOM_AVAILABLE(PLAYER1,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER1,RESEARCH,1,1)
ROOM_AVAILABLE(PLAYER1,LAIR,1,1)
TRAP_AVAILABLE(PLAYER1,LAVA,1,0)
TRAP_AVAILABLE(PLAYER1,ALARM,1,1)
TRAP_AVAILABLE(PLAYER1,POISON_GAS,1,0)
TRAP_AVAILABLE(PLAYER1,LIGHTNING,1,0)
TRAP_AVAILABLE(PLAYER1,BOULDER,1,0)
TRAP_AVAILABLE(PLAYER1,WORD_OF_POWER,1,0)
DOOR_AVAILABLE(PLAYER1,BRACED,1,0)
DOOR_AVAILABLE(PLAYER1,MAGIC,1,0)
DOOR_AVAILABLE(PLAYER1,WOOD,1,0)

CREATE_PARTY(NEWPARTY)
ADD_TO_PARTY(NEWPARTY,BILE_DEMON,10,500,ATTACK_ENEMIES,0)

IF(PLAYER1,DUNGEON_DESTROYED == 1)
	MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,1,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,1,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_HOLD_AUDIENCE,1,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,1,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_HAND,1,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_SLAP,1,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_CAVE_IN,1,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_CONCEAL,1,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_POSSESS,1,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_SIGHT,1,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,0)
	ROOM_AVAILABLE(PLAYER0,BRIDGE,1,0)
	ROOM_AVAILABLE(PLAYER0,ENTRANCE,1,0)
	ROOM_AVAILABLE(PLAYER0,TRAINING,1,0)
	ROOM_AVAILABLE(PLAYER0,BARRACKS,1,0)
	ROOM_AVAILABLE(PLAYER0,TREASURE,1,0)
	ROOM_AVAILABLE(PLAYER0,WORKSHOP,1,0)
	ROOM_AVAILABLE(PLAYER0,GARDEN,1,0)
	ROOM_AVAILABLE(PLAYER0,RESEARCH,1,0)
	ROOM_AVAILABLE(PLAYER0,LAIR,1,0)
	DOOR_AVAILABLE(PLAYER0,WOOD,1,0)
	TRAP_AVAILABLE(PLAYER0,ALARM,1,0)
	TRAP_AVAILABLE(PLAYER0,LAVA,1,0)
	TRAP_AVAILABLE(PLAYER0,POISON_GAS,1,0)
	TRAP_AVAILABLE(PLAYER0,LIGHTNING,1,0)
	TRAP_AVAILABLE(PLAYER0,BOULDER,1,0)
	TRAP_AVAILABLE(PLAYER0,WORD_OF_POWER,1,0)
	DOOR_AVAILABLE(PLAYER0,BRACED,1,0)
	DOOR_AVAILABLE(PLAYER0,MAGIC,1,0)
	BONUS_LEVEL_TIME(6000)
	SET_GENERATE_SPEED(1000)
	IF(PLAYER_GOOD, TOTAL_CREATURES < 1)
		ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,1,APPROPIATE_DUNGEON,0,9,400)
	endif

	SET_TIMER(PLAYER0,TIMER0)
	SET_TIMER(PLAYER0,TIMER1)
	IF(PLAYER_GOOD, TOTAL_CREATURES == 0)
		SET_FLAG(PLAYER0, FLAG0, 1)
		WIN_GAME
	endif
endif

IF(PLAYER0,FLAG0==0)
	IF(PLAYER0,TIMER0>=3000)
		NEXT_COMMAND_REUSABLE
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,NEWPARTY,1,dungeon,0,10,600)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER0)
	endif

	IF(PLAYER0,TIMER1>=10000)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,NEWPARTY,1,1)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,NEWPARTY,2,1)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER1)
	endif

	IF(PLAYER0,TIMER2>=5000)
		NEXT_COMMAND_REUSABLE
		ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,1,APPROPIATE_DUNGEON,0,9,400)
		NEXT_COMMAND_REUSABLE
		ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,2,APPROPIATE_DUNGEON,0,9,400)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER2)
	endif

	IF(PLAYER0,TIMER3>=14000)
		IF(PLAYER_GOOD,FLAG1==0)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER_GOOD, FLAG1, 1)
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER_GOOD, FLAG0, INCREASE, PLAYER0, TOTAL_CREATURES, 0)
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER_GOOD, FLAG0, INCREASE, PLAYER1, TOTAL_CREATURES, 0)
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER_GOOD, FLAG0, DECREASE, PLAYER_GOOD, TOTAL_CREATURES, 0)
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER_GOOD, FLAG0, MULTIPLY, PLAYER_GOOD, BATTLES_LOST, 0)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,NEWPARTY,1,1)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER_GOOD, FLAG1, 2)
		ENDIF
		IF(PLAYER_GOOD,FLAG1==2)
			IF(PLAYER_GOOD,FLAG0>0)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BILE_DEMON,2,1,10,400)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-300)
			ENDIF
			IF(PLAYER_GOOD,FLAG0<=0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER0,TIMER3)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER_GOOD, FLAG1, 0)
			ENDIF
		ENDIF
	endif
endif

IF(PLAYER1,TOTAL_CREATURES>=33)
SET_TIMER(PLAYER0,TIMER2)
ENDIF

IF(PLAYER1,TOTAL_CREATURES>=66)
SET_TIMER(PLAYER0,TIMER3)
ENDIF

IF(PLAYER0,BATTLES_won>=50)
ADD_CREATURE_TO_LEVEL(PLAYER0,MONK,3,1,1,400)
endif

IF(PLAYER0,BATTLES_won>=100)
ADD_CREATURE_TO_LEVEL(PLAYER0,IMP,3,1,1,400)
endif

IF(PLAYER0,BATTLES_won>=150)
ADD_CREATURE_TO_LEVEL(PLAYER0,GHOST,3,1,3,400)
endif

SET_TIMER(PLAYER1,TIMER0)
IF(PLAYER1,DUNGEON_DESTROYED==0)
	IF(PLAYER1,IMP<14)
		IF(PLAYER1,TIMER0>=200)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER1,IMP,player1,1,1,0)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER1,TIMER0)
		ENDIF
	ENDIF
ENDIF

REM EOF