REM Cheater.

REM I WONDER IF THIS WORKS
SET_MUSIC(3)

SET_GENERATE_SPEED(32767)

REM STARTING_GOOOOOOLD

START_MONEY(PLAYER0,66666)
START_MONEY(PLAYER_GOOD,0)

ADD_CREATURE_TO_POOL(HORNY,250)
ADD_CREATURE_TO_POOL(AVATAR,17)
ADD_CREATURE_TO_POOL(VAMPIRE,20)
ADD_CREATURE_TO_POOL(SKELETON,39)
ADD_CREATURE_TO_POOL(TUNNELLER,2)

CREATURE_AVAILABLE(PLAYER0,HORNY,1,1)
CREATURE_AVAILABLE(PLAYER0,AVATAR,1,1)
CREATURE_AVAILABLE(PLAYER0,VAMPIRE,1,1)
CREATURE_AVAILABLE(PLAYER0,SKELETON,1,1)
CREATURE_AVAILABLE(PLAYER0,TUNNELLER,1,1)

REM Have fun trying to get them. >:D

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,PRISON,1,1)

ROOM_AVAILABLE(PLAYER0,GUARD_POST,1,0)
ROOM_AVAILABLE(PLAYER0,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER0,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER0,GRAVEYARD,1,0)

DOOR_AVAILABLE(PLAYER0,BRACED,1,0)
DOOR_AVAILABLE(PLAYER0,STEEL,1,0)

TRAP_AVAILABLE(PLAYER0,POISON_GAS,1,0)
TRAP_AVAILABLE(PLAYER0,LIGHTNING,1,0)

MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_DISEASE,1,0)

CREATE_PARTY(BUGS)
CREATE_PARTY(PEANUT)
CREATE_PARTY(BOSS1)
CREATE_PARTY(DOGGY)
CREATE_PARTY(FATTY)
CREATE_PARTY(BOSS2)
CREATE_PARTY(HOT)
CREATE_PARTY(TOOHOT)
CREATE_PARTY(BOSS3)

ADD_TO_PARTY(BUGS,FLY,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BUGS,TROLL,6,750,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BUGS,FLY,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BUGS,BUG,4,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BUGS,BUG,4,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BUGS,SPIDER,4,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BUGS,SPIDER,4,0,ATTACK_DUNGEON_HEART,0)

ADD_TO_PARTY(PEANUT,SPIDER,6,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(PEANUT,SPIDER,8,1250,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(PEANUT,SPIDER,6,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(PEANUT,DEMONSPAWN,4,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(PEANUT,DEMONSPAWN,4,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(PEANUT,TROLL,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(PEANUT,TROLL,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(PEANUT,TROLL,5,0,ATTACK_DUNGEON_HEART,0)

ADD_TO_PARTY(BOSS1,DEMONSPAWN,7,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS1,DEMONSPAWN,10,2500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS1,DEMONSPAWN,7,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS1,DEMONSPAWN,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS1,DEMONSPAWN,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS1,TROLL,7,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS1,TROLL,7,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS1,TROLL,7,0,ATTACK_DUNGEON_HEART,0)

ADD_TO_PARTY(DOGGY,HELL_HOUND,4,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(DOGGY,ORC,7,3000,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(DOGGY,HELL_HOUND,4,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(DOGGY,ORC,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(DOGGY,ORC,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(DOGGY,TENTACLE,4,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(DOGGY,BILE_DEMON,4,0,ATTACK_DUNGEON_HEART,0)

ADD_TO_PARTY(FATTY,DRAGON,4,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(FATTY,BILE_DEMON,7,4000,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(FATTY,DRAGON,4,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(FATTY,HELL_HOUND,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(FATTY,HELL_HOUND,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(FATTY,HELL_HOUND,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(FATTY,ORC,7,0,ATTACK_DUNGEON_HEART,0)

ADD_TO_PARTY(BOSS2,ORC,6,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS2,DRAGON,10,6000,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS2,ORC,6,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS2,HELL_HOUND,8,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS2,HELL_HOUND,8,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS2,TENTACLE,7,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS2,TENTACLE,7,0,ATTACK_DUNGEON_HEART,0)

ADD_TO_PARTY(HOT,HELL_HOUND,8,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(HOT,DARK_MISTRESS,7,7000,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(HOT,DRAGON,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(HOT,DRAGON,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(HOT,ORC,6,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(HOT,ORC,6,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(HOT,TENTACLE,7,0,ATTACK_DUNGEON_HEART,0)

ADD_TO_PARTY(TOOHOT,DARK_MISTRESS,8,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(TOOHOT,DARK_MISTRESS,9,10000,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(TOOHOT,DARK_MISTRESS,7,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(TOOHOT,DARK_MISTRESS,6,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(TOOHOT,DARK_MISTRESS,6,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(TOOHOT,TENTACLE,7,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(TOOHOT,TENTACLE,7,0,ATTACK_DUNGEON_HEART,0)

ADD_TO_PARTY(BOSS3,HELL_HOUND,9,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS3,HORNY,5,15000,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS3,DARK_MISTRESS,7,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS3,DARK_MISTRESS,6,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS3,DARK_MISTRESS,6,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS3,HELL_HOUND,9,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BOSS3,HELL_HOUND,9,0,ATTACK_DUNGEON_HEART,0)

SET_CREATURE_STRENGTH(SORCEROR,50)
SET_CREATURE_HEALTH(SORCEROR,750)
SET_CREATURE_ARMOUR(WIZARD,70)

SET_CREATURE_STRENGTH(WIZARD,255)
SET_CREATURE_HEALTH(WIZARD,3000)
SET_CREATURE_ARMOUR(WIZARD,210)

SET_CREATURE_STRENGTH(SAMURAI,255)
SET_CREATURE_HEALTH(SAMURAI,7650)
SET_CREATURE_ARMOUR(SAMURAI,180)

REM TIMER0 IS WHEN GOLD IS MINED, FOR THE MAIN INVASION.
REM TIMER1 IS 100 MINUTES, WHEN SUMMONER FINISHES HIS SPELL AND CREATES HORNED REAPERS TO ATTACK.
REM FLAG0 IS TO CHECK IF A TUNNELLER WAS SPAWNED IN THE SOUTH TO MINE OUT THE REINFORCED WALL.
REM FLAG1 IS TO CHECK IF PLAYER0 HAS WON OR NOT. RATHER THAN CHECKING IF PLAYERGOOD HEART IS DESTROYED AND IF WIZARD LIVES.

SET_TIMER(PLAYER0,TIMER1)

SET_FLAG(PLAYER0,FLAG0,0)

SET_FLAG(PLAYER0,FLAG1,0)

BONUS_LEVEL_TIME(120000)


REM WARLOCKY MAN

QUICK_OBJECTIVE(0,"You are a mighty Necromancer by the name of Nessiah. A Summoner who goes by the name of Zurvaner, also immense in power, has challenged you. He has ambushed you here, where he plans to summon a great and powerful force to destroy you. However, it takes time to prepare such a summoning. You must do what you can to slow him down, and likewise does he plan to do the same. He believes sending his underlings will weaken you and seal your fate. What a foolish thing to believe when facing a Necromancer.",ALL_PLAYERS)


IF(PLAYER0,GAME_TURN>=20)
	ADD_CREATURE_TO_LEVEL(PLAYER0,SORCEROR,PLAYER0,1,5,32000)
	IF(PLAYER0,SORCEROR==0)
		QUICK_OBJECTIVE(1,"Summoner Zurvaner is victorious, you have lost.",ALL_PLAYERS)
		LOSE_GAME
	ENDIF
ENDIF


IF(PLAYER0,GAME_TURN>=2500)
	QUICK_INFORMATION(8,"It would seem as if Zurvaner's castle has been sealed off. Perhaps there is magic at work here? You must find a way to break the seal and force your way into his castle.",ALL_PLAYERS)
ENDIF


REM WIN CONDITIONS


IF(PLAYER_GOOD,DUNGEON_DESTROYED==1)
	QUICK_OBJECTIVE(2,"The source of Zurvaner's summoning power has been destroyed. Zurvaner will be furious when he realizes this, and will likely challenge you himself. Beware, for he is a force known to be feared.",ALL_PLAYERS)
	SET_FLAG(PLAYER0,FLAG1,1)
	SET_TIMER(PLAYER0,TIMER2)
	IF(PLAYER0,TIMER2>=1200)
		QUICK_OBJECTIVE(7,"The Summoner arrives. Make to it that his visit is both short... and comfortable.",ALL_PLAYERS)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,2,1,10,32000)
		IF(PLAYER_GOOD,WIZARD==0)
			QUICK_OBJECTIVE(2,"Zurvaner lies dead. Now no one will ever think to question your power again.",ALL_PLAYERS)
			WIN_GAME
		ENDIF
	ENDIF
ENDIF


REM HERO INVASION


IF(PLAYER0,TOTAL_GOLD_MINED>0)
	SET_TIMER(PLAYER0,TIMER0)
	ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,-1,DUNGEON_HEART,0,2,0)
	ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,-2,DUNGEON_HEART,0,2,0)
ENDIF


IF(PLAYER_GOOD,HORNY<=2)
	IF(PLAYER0,FLAG0==0)
		QUICK_INFORMATION(3,"You've successfully destroyed the magic around Zurvaner's castle walls. The way is clear.",ALL_PLAYERS)
		ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,1,DUNGEON_HEART,0,7,0)
		SET_FLAG(PLAYER0,FLAG0,1)
		MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,0)
	ENDIF	
ENDIF


IF(PLAYER0,FLAG1==0)
	IF(PLAYER0,TIMER1>=120000)
		QUICK_OBJECTIVE(4,"Zurvaner has finished casting his spell. Now his beasts from hell will come to devour you. I hope you are well prepared. To be perfectly honest, I doubt it.",ALL_PLAYERS)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,1,5,10,0)
		IF(PLAYER0,FLAG0==0)
			QUICK_OBJECTIVE(5,"The Summoner's walls have fallen, and of his own free will. That cannot be a good sign. He must have finished his spell. If this proves true, you may want to get a head start running.",ALL_PLAYERS)
			ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,1,DUNGEON_HEART,0,7,0)
			SET_FLAG(PLAYER0,FLAG0,1)
		ENDIF
	ENDIF
	IF(PLAYER0,TIMER0>=10000) 100
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BUGS,-1,1)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BUGS,-2,1)
		IF(PLAYER0,TIMER0>=20000)
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PEANUT,-1,1)
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PEANUT,-2,1)
			IF(PLAYER0,TIMER0>=30000)
				ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BOSS1,-1,1)
				ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BOSS1,-2,1)
				IF(PLAYER0,TIMER0>=40000)
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DOGGY,-1,1)
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DOGGY,-2,1)
					IF(PLAYER0,TIMER0>=50000)
						ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FATTY,-1,1)
						ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FATTY,-2,1)
						IF(PLAYER0,TIMER0>=60000)
							ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BOSS2,-1,1)
							ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BOSS2,-2,1)
							IF(PLAYER0,TIMER0>=70000)
								ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HOT,-1,1)
								ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HOT,-2,1)
								IF(PLAYER0,TIMER0>=80000)
									ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TOOHOT,-1,1)
									ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TOOHOT,-2,1)
									IF(PLAYER0,TIMER0>=90000)
										ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BOSS3,-1,1)
										ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BOSS3,-2,1)
									ENDIF
								ENDIF
							ENDIF
						ENDIF
					ENDIF
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF
