SET_GENERATE_SPEED(275)

MAX_CREATURES(PLAYER0,36)

START_MONEY(PLAYER0,10000)

DISPLAY_OBJECTIVE(122,PLAYER0)

ADD_CREATURE_TO_POOL(BILE_DEMON,18)
ADD_CREATURE_TO_POOL(DRAGON,18)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,7)
ADD_CREATURE_TO_POOL(TENTACLE,18)
ADD_CREATURE_TO_POOL(SORCEROR,18)
ADD_CREATURE_TO_POOL(TROLL,18)
ADD_CREATURE_TO_POOL(ORC,12)
ADD_CREATURE_TO_POOL(HELL_HOUND,9)

CREATURE_AVAILABLE(PLAYER0,DRAGON,1,1)
CREATURE_AVAILABLE(PLAYER0,DARK_MISTRESS,1,1)
CREATURE_AVAILABLE(PLAYER0,SORCEROR,1,1)
CREATURE_AVAILABLE(PLAYER0,BILE_DEMON,1,1)
CREATURE_AVAILABLE(PLAYER0,TENTACLE,1,1)
CREATURE_AVAILABLE(PLAYER0,TROLL,1,1)
CREATURE_AVAILABLE(PLAYER0,ORC,1,1)
CREATURE_AVAILABLE(PLAYER0,HELL_HOUND,1,1)

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

MAGIC_AVAILABLE(PLAYER0,POWER_HAND,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_SLAP,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_DESTROY_WALLS,1,0)

TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)



CREATE_PARTY(LOW1)
REM Basic Gold Stealing Bunch
ADD_TO_PARTY(LOW1,THIEF,4,500,STEAL_GOLD,0)
ADD_TO_PARTY(LOW1,THIEF,4,500,STEAL_GOLD,0)
ADD_TO_PARTY(LOW1,DWARFA,5,500,STEAL_GOLD,0)
ADD_TO_PARTY(LOW1,DWARFA,5,500,STEAL_GOLD,0)

CREATE_PARTY(LOW2)
REM Low Tanks And Rangers 1
ADD_TO_PARTY(LOW2,ARCHER,4,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(LOW2,ARCHER,4,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(LOW2,BARBARIAN,5,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(LOW2,BARBARIAN,5,500,ATTACK_ENEMIES,0)

CREATE_PARTY(LOW3)
REM Low Tanks and Rangers 2
ADD_TO_PARTY(LOW3,WIZARD,5,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(LOW3,WIZARD,5,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(LOW3,GIANT,5,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(LOW3,GIANT,5,500,ATTACK_ENEMIES,0)

CREATE_PARTY(MEDIUM1)
REM Drain The Crap Out Of You
ADD_TO_PARTY(MEDIUM1,WIZARD,8,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(MEDIUM1,WIZARD,8,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(MEDIUM1,MONK,7,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(MEDIUM1,MONK,7,500,ATTACK_ENEMIES,0)

CREATE_PARTY(MEDIUM2)
REM Lightning The Crap Out Of You
ADD_TO_PARTY(MEDIUM2,WITCH,7,750,ATTACK_ENEMIES,0)
ADD_TO_PARTY(MEDIUM2,WITCH,7,750,ATTACK_ENEMIES,0)
ADD_TO_PARTY(MEDIUM2,SAMURAI,6,750,ATTACK_ENEMIES,0)
ADD_TO_PARTY(MEDIUM2,SAMURAI,6,750,ATTACK_ENEMIES,0)

CREATE_PARTY(HARD1)
REM Hard Melee 1
ADD_TO_PARTY(HARD1,SAMURAI,7,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(HARD1,SAMURAI,7,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(HARD1,BARBARIAN,8,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(HARD1,BARBARIAN,8,1000,ATTACK_ENEMIES,0)

CREATE_PARTY(HARD2)
REM Hard Melee 2
ADD_TO_PARTY(HARD2,BARBARIAN,8,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(HARD2,BARBARIAN,8,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(HARD2,GIANT,8,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(HARD2,GIANT,8,1000,ATTACK_ENEMIES,0)

CREATE_PARTY(HARD3)
REM Hard Casters 1
ADD_TO_PARTY(HARD3,MONK,8,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(HARD3,MONK,8,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(HARD3,ARCHER,10,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(HARD3,ARCHER,10,1000,ATTACK_ENEMIES,0)

CREATE_PARTY(HARD4)
REM Hard Casters 2
ADD_TO_PARTY(HARD4,WIZARD,9,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(HARD4,WIZARD,9,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(HARD4,WITCH,8,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(HARD4,WITCH,8,1000,ATTACK_ENEMIES,0)

CREATE_PARTY(ELITE1)
REM Elite Tanks And Rangers 1
ADD_TO_PARTY(ELITE1,WIZARD,10,1250,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ELITE1,WIZARD,10,1250,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ELITE1,GIANT,10,1250,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ELITE1,GIANT,10,1250,ATTACK_ENEMIES,0)

CREATE_PARTY(ELITE2)
REM Elite Tanks And Rangers 1
ADD_TO_PARTY(ELITE2,MONK,10,1250,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ELITE2,MONK,10,1250,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ELITE2,BARBARIAN,10,1250,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ELITE2,BARBARIAN,10,1250,ATTACK_ENEMIES,0)

CREATE_PARTY(ELITE3)
REM Elite Samurai Party
ADD_TO_PARTY(ELITE3,SAMURAI,10,1500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ELITE3,SAMURAI,10,1500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ELITE3,SAMURAI,9,1500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ELITE3,SAMURAI,9,1500,ATTACK_ENEMIES,0)

CREATE_PARTY(KNIGHT_PARTY)
REM If Those Ninjas And Monks Dont Kill You The Knight Will
ADD_TO_PARTY(KNIGHT_PARTY,SAMURAI,9,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(KNIGHT_PARTY,KNIGHT,10,17500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(KNIGHT_PARTY,SAMURAI,9,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(KNIGHT_PARTY,SAMURAI,9,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(KNIGHT_PARTY,SAMURAI,9,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(KNIGHT_PARTY,MONK,10,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(KNIGHT_PARTY,MONK,10,2000,ATTACK_ENEMIES,0)

SET_CREATURE_STRENGTH(KNIGHT,90)
SET_CREATURE_HEALTH(KNIGHT,1150)
REM Totally not rigging this... :)
REM (why are you reading this anyway, you're not supposed to)

SET_CREATURE_STRENGTH(TUNNELLER,75)
SET_CREATURE_HEALTH(TUNNELLER,900)
REM Just making Tunnellers more of a bitch to deal with, they're all level 1 anyway

REM Hero doors: 1-HeroHeart,2,3-HeroDungeon,4-11-ClockwiseRotateAroundDungeon,12-GemArea,13-GoldArea

IF(PLAYER0,GAME_TURN >= 9500)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,LOW1,-5,DUNGEON,0,1,500)
ENDIF

IF(PLAYER0,GAME_TURN >= 9540)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,LOW1,-4,DUNGEON,0,1,500)
ENDIF

IF(PLAYER0,GAME_TURN >= 11200)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,LOW2,RANDOM(-11,-4),DUNGEON,0,1,500)
ENDIF

IF(PLAYER0,GAME_TURN >= 12000)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,LOW3,-13,DUNGEON,0,1,500)
ENDIF

IF(PLAYER0,GAME_TURN >= 18400)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,MEDIUM1,RANDOM(-11,-4),DUNGEON,0,1,750)
ENDIF

IF(PLAYER0,GAME_TURN >= 20800)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,MEDIUM2,-12,DUNGEON,0,1,750)
ENDIF

IF(PLAYER0,GAME_TURN >= 27700)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,HARD1,RANDOM(-11,-4),DUNGEON,0,1,1000)
ENDIF

IF(PLAYER0,GAME_TURN >= 28600)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,HARD3,RANDOM(-11,-4),DUNGEON,0,1,1000)
ENDIF

IF(PLAYER0,GAME_TURN >= 29800)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,HARD2,RANDOM(-11,-4),DUNGEON,0,1,1000)
ENDIF

IF(PLAYER0,GAME_TURN >= 30700)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,HARD4,RANDOM(-11,-4),DUNGEON,0,1,1000)
ENDIF

IF(PLAYER0,GAME_TURN >= 34000)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,HARD1,RANDOM(-11,-4),DUNGEON,0,1,1000)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,HARD2,RANDOM(-11,-4),DUNGEON,0,1,1000)
ENDIF


IF_ACTION_POINT(1,PLAYER0)
	IF(PLAYER_GOOD,FLAG2==0)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,KNIGHT_PARTY,-1,1)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ELITE1,-2,1)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ELITE2,-3,1)
		SET_FLAG(PLAYER_GOOD,FLAG0,1)
		SET_FLAG(PLAYER_GOOD,FLAG2,1)
		SET_TIMER(PLAYER_GOOD,TIMER0)
	ENDIF
ENDIF

IF(PLAYER0,GAME_TURN>=39850)
	IF(PLAYER_GOOD,FLAG2==0)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,TUNNELLER,-1,2,1,1000)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ELITE1,-2,DUNGEON,0,1,2500)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ELITE2,-3,DUNGEON,0,0,2500)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,KNIGHT_PARTY,-1,1)
		SET_FLAG(PLAYER_GOOD,FLAG0,1)
		SET_FLAG(PLAYER_GOOD,FLAG2,1)
		SET_TIMER(PLAYER_GOOD,TIMER0)
	ENDIF
ENDIF

IF(PLAYER_GOOD,TIMER0>=1670)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ELITE3,-1,1)
	SET_FLAG(PLAYER_GOOD,FLAG1,1)
ENDIF

IF(PLAYER_GOOD,FLAG0==1)
	IF(PLAYER_GOOD,FLAG1==1)
		IF(PLAYER_GOOD,TOTAL_CREATURES==0)
			IF(PLAYER_GOOD,DUNGEON_DESTROYED==1)
				WIN_GAME
			ENDIF
		ENDIF
	ENDIF
ENDIF
