rem 	LEVELPACK				rem
rem 	Undivine Dungeon 1.34	rem
rem 	02, SALTICIDAROSE		rem
rem		by Shinthoras0815		rem

LEVEL_VERSION(1)

DISPLAY_OBJECTIVE(​12,​PLAYER2)

COMPUTER_PLAYER(PLAYER2,9)
NEXT_COMMAND_REUSABLE
ALLY_PLAYERS(PLAYER0,PLAYER2,1)

rem "hide second part of the map"
CONCEAL_MAP_RECT(PLAYER0, 127,160, 254, 186, 1)

SET_GAME_RULE(BodyRemainsFor,1000)

rem "Set Custom Mysteribox describtion"
SET_BOX_TOOLTIP_ID(3,41)
rem ("Press to continue")


START_MONEY(PLAYER0,10000)

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

		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_POSSESS,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,1)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,1)

		DOOR_AVAILABLE(ALL_PLAYERS,WOOD,1,0)
		DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)
		TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
		TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,0)
		TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)

MAX_CREATURES(PLAYER0,30)
SET_CREATURE_MAX_LEVEL(​ALL_PLAYERS,FLOATING_SPIRIT,​9)
CREATE_PARTY(BUGParty1)
ADD_TO_PARTY(​BUGParty1,​SPIDER,​1,​0,​ATTACK_DUNGEON_HEART,​0)
ADD_TO_PARTY(​BUGParty1,FLY,​1,​0,​ATTACK_DUNGEON_HEART,​0)
ADD_TO_PARTY(​BUGParty1,FLY,​1,​0,​ATTACK_DUNGEON_HEART,​0)

CREATE_PARTY(FLYParty1)
ADD_TO_PARTY(​FLYParty1,FLY,​1,​0,​,​DEFEND_LOCATION,​0)
ADD_TO_PARTY(​FLYParty1,FLY,​1,​0,​,​DEFEND_LOCATION,​0)
ADD_TO_PARTY(​FLYParty1,FLY,​1,​0,​,​DEFEND_LOCATION,​0)
ADD_TO_PARTY(​FLYParty1,FLY,​1,​0,​,​DEFEND_LOCATION,​0)

CREATE_PARTY(IIIHHHHH)
ADD_TO_PARTY(​IIIHHHHH,​SPIDER,​4,​0,​DEFEND_PARTY,​0)
ADD_TO_PARTY(​IIIHHHHH,​TUNNELLER,​4,​0,​DEFEND_PARTY,​0)
ADD_TO_PARTY(​IIIHHHHH,TUNNELLER,​4,​0,​DEFEND_PARTY,​0)

CREATE_PARTY(FAIRYfly)
ADD_TO_PARTY(​FAIRYfly,​FAIRY,​6,​0,​DEFEND_PARTY,​0)
ADD_TO_PARTY(​FAIRYfly,​FLY,​4,​0,​DEFEND_PARTY,​0)

rem-------------------------------------------------------------------------------------------------------------------------------
rem "part 2 Party's"

CREATE_PARTY(BARRACKS)
ADD_TO_PARTY(​BARRACKS,BARBARIAN,​6,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​BARRACKS,​ARCHER,​5,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​BARRACKS,THIEF,​4,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​BARRACKS,​THIEF,​4,​0,​DEFEND_ROOMS,​0)

CREATE_PARTY(TREASURE1)
ADD_TO_PARTY(​TREASURE1,DWARFA,​6,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TREASURE1,​DWARFA,​5,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TREASURE1,DWARFA,​4,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TREASURE1,​DWARFA,​4,​0,​DEFEND_ROOMS,​0)

CREATE_PARTY(LAIRRange)
ADD_TO_PARTY(​LAIRRange,WIZARD,​5,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​LAIRRange,WIZARD,​5,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​LAIRRange,WIZARD,​5,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​LAIRRange,​ARCHER,​5,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​LAIRRange,​ARCHER,​5,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​LAIRRange,​ARCHER,​5,​0,​DEFEND_ROOMS,​0)

CREATE_PARTY(LAIRMelee)
ADD_TO_PARTY(​LAIRMelee,SAMURAI,​7,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​LAIRMelee,SAMURAI,​5,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​LAIRMelee,SAMURAI,​5,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​LAIRMelee,​SAMURAI,​5,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​LAIRMelee,​GIANT,​5,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​LAIRMelee,​BARBARIAN,​5,​0,​DEFEND_ROOMS,​0)

CREATE_PARTY(WORKSHOP)
ADD_TO_PARTY(​WORKSHOP,ARCHER,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​WORKSHOP,​DWARFA,​9,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​WORKSHOP,GIANT,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​WORKSHOP,BARBARIAN,​8,​0,​DEFEND_ROOMS,​0)

CREATE_PARTY(LIBRARY)
ADD_TO_PARTY(​LIBRARY,THIEF,​9,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​LIBRARY,​THIEF,​9,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​LIBRARY,WIZARD,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​LIBRARY,WIZARD,​8,​0,​DEFEND_ROOMS,​0)

CREATE_PARTY(TRAINING)
ADD_TO_PARTY(​TRAINING,DWARFA,​9,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TRAINING,​DWARFA,​9,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TRAINING,DWARFA,​9,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TRAINING,SAMURAI,7,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TRAINING,​WIZARD,​6,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TRAINING,ARCHER,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TRAINING,GIANT,8,​0,​DEFEND_ROOMS,​0)

CREATE_PARTY(TORTURE)
ADD_TO_PARTY(​TORTURE,MONK,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TORTURE,​MONK,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TORTURE,GHOST,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TORTURE,GHOST,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TORTURE,GHOST,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TORTURE,GHOST,​8,​0,​DEFEND_ROOMS,​0)

CREATE_PARTY(TREASURE2)
ADD_TO_PARTY(​TREASURE2,DWARFA,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TREASURE2,​DWARFA,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TREASURE2,DWARFA,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TREASURE2,ARCHER,​8,​0,​DEFEND_ROOMS,​0)

CREATE_PARTY(TEMPLE1)
ADD_TO_PARTY(​TEMPLE1, MONK,​9,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TEMPLE1, ​MONK,​9,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TEMPLE1, SAMURAI,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TEMPLE1, THIEF,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TEMPLE1, ARCHER,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TEMPLE1, GIANT,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TEMPLE1, FAIRY,9,​0,​DEFEND_ROOMS,​0)

CREATE_PARTY(TEMPLE2)
ADD_TO_PARTY(​TEMPLE2,WIZARD,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TEMPLE2,​FAIRY,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TEMPLE2,FAIRY,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TEMPLE2,THIEF,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TEMPLE2,ARCHER,​8,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TEMPLE2,BARBARIAN,​10,​0,​DEFEND_ROOMS,​0)
ADD_TO_PARTY(​TEMPLE2,FAIRY,10,​0,​DEFEND_ROOMS,​0)

CREATE_PARTY(HEARTH1)
ADD_TO_PARTY(​HEARTH1,MONK,​7,​0,​DEFEND_HEART,​0)
ADD_TO_PARTY(​HEARTH1,​MONK,​7,​0,​DEFEND_HEART,​0)
ADD_TO_PARTY(​HEARTH1,SAMURAI,​8,​0,​DEFEND_HEART,​0)
ADD_TO_PARTY(​HEARTH1,SAMURAI,​8,​0,​DEFEND_HEART,​0)
ADD_TO_PARTY(​HEARTH1,GIANT,​8,​0,​DEFEND_HEART,​0)
ADD_TO_PARTY(​HEARTH1,GIANT,​8,​0,​DEFEND_HEART,​0)
ADD_TO_PARTY(​HEARTH1,FAIRY,8,​0,​DEFEND_HEART,​0)

CREATE_PARTY(HEARTH2)
ADD_TO_PARTY(​HEARTH2,KNIGHT,​6,​0,​DEFEND_HEART,​0)
ADD_TO_PARTY(​HEARTH2,​KNIGHT,​8,​0,​DEFEND_HEART,​0)
ADD_TO_PARTY(​HEARTH2,SAMURAI,​7,​0,​DEFEND_HEART,​0)
ADD_TO_PARTY(​HEARTH2,WITCH,​7,​0,​DEFEND_HEART,​0)
ADD_TO_PARTY(​HEARTH2,FAIRY,​8,​0,​DEFEND_HEART,​0)
ADD_TO_PARTY(​HEARTH2,FAIRY,​10,​0,​DEFEND_HEART,​0)
ADD_TO_PARTY(​HEARTH2,FAIRY,​10,​0,​DEFEND_HEART,​0)

CREATE_PARTY(HEROGATEFORT1)
ADD_TO_PARTY(​HEROGATEFORT1,ARCHER,​5,​0,​ATTACK_DUNGEON_HEART,​0)
ADD_TO_PARTY(​HEROGATEFORT1,​DWARFA,​8,​0,​ATTACK_DUNGEON_HEART,​0)
ADD_TO_PARTY(​HEROGATEFORT1,GIANT,​6,​0,​ATTACK_DUNGEON_HEART,​0)
ADD_TO_PARTY(​HEROGATEFORT1,FAIRY,​8,​0,​ATTACK_DUNGEON_HEART,​0)

CREATE_PARTY(HEROGATEFORT2)
ADD_TO_PARTY(​HEROGATEFORT2,ARCHER,​8,​0,​ATTACK_DUNGEON_HEART,​0)
ADD_TO_PARTY(​HEROGATEFORT2,​DWARFA,​8,​0,​ATTACK_DUNGEON_HEART,​0)
ADD_TO_PARTY(​HEROGATEFORT2,​DWARFA,​8,​0,​ATTACK_DUNGEON_HEART,​0)
ADD_TO_PARTY(​HEROGATEFORT2,​DWARFA,​8,​0,​ATTACK_DUNGEON_HEART,​0)
ADD_TO_PARTY(​HEROGATEFORT2,GIANT,​8,​0,​ATTACK_DUNGEON_HEART,​0)
ADD_TO_PARTY(​HEROGATEFORT2,FAIRY,​9,​0,​ATTACK_DUNGEON_HEART,​0)
ADD_TO_PARTY(​HEROGATEFORT2,FAIRY,​9,​0,​ATTACK_DUNGEON_HEART,​0)

CREATE_PARTY(HEROGATEFORT1)
ADD_TO_PARTY(​HEROGATEFORT1,ARCHER,​5,​0,​ATTACK_DUNGEON_HEART,​0)
ADD_TO_PARTY(​HEROGATEFORT1,​DWARFA,​8,​0,​ATTACK_DUNGEON_HEART,​0)
ADD_TO_PARTY(​HEROGATEFORT1,GIANT,​6,​0,​ATTACK_DUNGEON_HEART,​0)
ADD_TO_PARTY(​HEROGATEFORT1,FAIRY,​8,​0,​ATTACK_DUNGEON_HEART,​0)

SET_CREATURE_MAX_LEVEL(​PLAYER_GOOD,​TUNNELLER,​5)
SET_CREATURE_MAX_LEVEL(​PLAYER_GOOD,​SPIDER,​3)
SET_CREATURE_MAX_LEVEL(​PLAYER_GOOD,​FLY,​5)

rem part1

IF(PLAYER_GOOD,FLAG0 == 0)
rem "Message "your Hearth is under Attack"
SET_TIMER(PLAYER_GOOD, TIMER3)
	IF(PLAYER_GOOD, TIMER3 >= 500)
	IF_ACTION_POINT(19,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	PLAY_MESSAGE(PLAYER0,SPEECH,8)
	NEXT_COMMAND_REUSABLE
	RESET_ACTION_POINT(19)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD, TIMER3)
	ENDIF
	ENDIF
	
rem infinite Money
IF(PLAYER0,MONEY < 12000)
NEXT_COMMAND_REUSABLE
ADD_GOLD_TO_PLAYER(PLAYER0,34)
ENDIF

rem Horny level up through the first level and become stronger
rem Insects become stronger to still provide a challenge without frustrating by freeze skill
IF(PLAYER0,BATTLES_WON >= 4)
	LEVEL_UP_CREATURE(PLAYER0,HORNY,ANYWHERE,1) rem" level 2"
	IF(PLAYER0,BATTLES_WON >= 12)
	SET_FLAG(PLAYER0,FLAG0, 1)
	LEVEL_UP_CREATURE(PLAYER0,HORNY,ANYWHERE,1)rem" level 3"
	IF(PLAYER0,BATTLES_WON >= 18)
	SET_CREATURE_STRENGTH(HORNY,​95)
	SET_CREATURE_ARMOUR(​HORNY,​73)
	SET_CREATURE_STRENGTH(Spider,​55)
	SET_CREATURE_HEALTH(​Spider,​500)
	SET_CREATURE_ARMOUR(​Spider,​40)
	SET_CREATURE_STRENGTH(TUNNELLER,​35)
	SET_CREATURE_HEALTH(​TUNNELLER,​500)
	SET_CREATURE_ARMOUR(​TUNNELLER,​30)
	SET_CREATURE_STRENGTH(FLY,​15)
	SET_CREATURE_HEALTH(​FLY,​300)
	SET_CREATURE_ARMOUR(​FLY,​20)
	LEVEL_UP_CREATURE(PLAYER0,HORNY,ANYWHERE,1)rem" level 4"
	IF(PLAYER0,BATTLES_WON >= 25)
	LEVEL_UP_CREATURE(PLAYER0,HORNY,ANYWHERE,1)rem" level 5"
	IF(PLAYER0,BATTLES_WON >= 35)
	SET_FLAG(PLAYER0,FLAG0, 2)
	LEVEL_UP_CREATURE(PLAYER0,HORNY,ANYWHERE,1)rem" level 6"
		SET_CREATURE_STRENGTH(HORNY,​105)
	SET_CREATURE_ARMOUR(​HORNY,​76)
		SET_CREATURE_STRENGTH(Spider,​80)
	SET_CREATURE_HEALTH(​Spider,​900)
	SET_CREATURE_ARMOUR(​Spider,​50)
	SET_CREATURE_STRENGTH(TUNNELLER,​50)
	SET_CREATURE_HEALTH(​TUNNELLER,​1000)
	SET_CREATURE_ARMOUR(​TUNNELLER,​40)
		SET_CREATURE_STRENGTH(FLY,​20)
	SET_CREATURE_HEALTH(​FLY,​500)
	SET_CREATURE_ARMOUR(​FLY,​25)
	IF(PLAYER0,BATTLES_WON >= 45)
	LEVEL_UP_CREATURE(PLAYER0,HORNY,ANYWHERE,1)rem" level 7"
	SET_CREATURE_STRENGTH(HORNY,​112)
	IF(PLAYER0,BATTLES_WON >= 60)
	SET_FLAG(PLAYER0,FLAG0, 3)
	SET_CREATURE_STRENGTH(HORNY,​124)
	LEVEL_UP_CREATURE(PLAYER0,HORNY,ANYWHERE,1)rem" level 8"
		IF(PLAYER0,BATTLES_WON >= 90)
	LEVEL_UP_CREATURE(PLAYER0,HORNY,ANYWHERE,1)rem" level 9"
		SET_CREATURE_STRENGTH(HORNY,​130)
	SET_CREATURE_ARMOUR(​HORNY,​80)
		SET_CREATURE_STRENGTH(Spider,​110)
	SET_CREATURE_HEALTH(​Spider,​1000)
	SET_CREATURE_ARMOUR(​Spider,​55)
	SET_CREATURE_STRENGTH(TUNNELLER,​80)
	SET_CREATURE_HEALTH(​TUNNELLER,​1200)
	SET_CREATURE_ARMOUR(​TUNNELLER,​45)
	SET_CREATURE_STRENGTH(FLY,​40)
	SET_CREATURE_HEALTH(​FLY,​700)
	SET_CREATURE_ARMOUR(​FLY,​30)
		IF(PLAYER0,BATTLES_WON >= 100)
	LEVEL_UP_CREATURE(PLAYER0,HORNY,ANYWHERE,1)rem" level 10"
	SET_FLAG(PLAYER0,FLAG1, 1)
	SET_CREATURE_STRENGTH(HORNY,​140)
		SET_CREATURE_HEALTH(​HORNY,3000)
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF

rem Heal Horny in LAIR
Set_Timer(PLAYER0,TIMER0)
rem slower heal
IF(PLAYER0,FLAG1 == 0)
IF(PLAYER0,TIMER0 >= 50)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER0,FLAG2, 1)
ENDIF
ENDIF
rem faster heal if Horny 10
IF(PLAYER0,FLAG1 == 1)
IF(PLAYER0,TIMER0 >= 25)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER0,FLAG2, 1)
ENDIF
ENDIF
IF(PLAYER0,FLAG2 == 1)
rem Horny 1-2 Heal Power 3
IF(PLAYER0,FLAG0 == 0)
NEXT_COMMAND_REUSABLE
USE_POWER_ON_CREATURE(PLAYER0,HORNY,AT_ACTION_POINT[2],PLAYER0,POWER_HEAL_CREATURE,3,1)
ENDIF
rem Horny 3-5 Heal Power 5
IF(PLAYER0,FLAG0 == 1)
NEXT_COMMAND_REUSABLE
USE_POWER_ON_CREATURE(PLAYER0,HORNY,AT_ACTION_POINT[2],PLAYER0,POWER_HEAL_CREATURE,5,1)
ENDIF
rem Horny 6-7 Heal Power 7
IF(PLAYER0,FLAG0 == 2)
NEXT_COMMAND_REUSABLE
USE_POWER_ON_CREATURE(PLAYER0,HORNY,AT_ACTION_POINT[2],PLAYER0,POWER_HEAL_CREATURE,7,1)
ENDIF
rem Horny 8-10 Heal Power 3
IF(PLAYER0,FLAG0 == 3)
NEXT_COMMAND_REUSABLE
USE_POWER_ON_CREATURE(PLAYER0,HORNY,AT_ACTION_POINT[2],PLAYER0,POWER_HEAL_CREATURE,9,1)
ENDIF

rem keep the Lair heal actionpoint in use
NEXT_COMMAND_REUSABLE
RESET_ACTION_POINT(2)
NEXT_COMMAND_REUSABLE
Set_Timer(PLAYER0,TIMER0)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER0,FLAG2, 0)
ENDIF

rem first monsterbox traps contain Beetle
SET_TRAP_CONFIGURATION(MONSTERBOX,EffectType,8) rem"BUG(TUNNELLER)"

rem after hatching the insects level up over time 
SET_TIMER(PLAYER_GOOD,TIMER0)
IF(PLAYER_GOOD,TIMER0 >= 90)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,AT_ACTION_POINT[1],1)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,AT_ACTION_POINT[11],1)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,AT_ACTION_POINT[15],1)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,AT_ACTION_POINT[4],1)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,AT_ACTION_POINT[12],1)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER_GOOD,FLY,AT_ACTION_POINT[12],1)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER_GOOD,FLY,AT_ACTION_POINT[18],1)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER_GOOD,TUNNELLER,AT_ACTION_POINT[18],1)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER_GOOD,SPIDER,AT_ACTION_POINT[18],1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD,TIMER0)
	SET_TIMER(PLAYER_GOOD,TIMER1)
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 125)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,AT_ACTION_POINT[11],1)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,AT_ACTION_POINT[4],1)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER_GOOD,FLY,AT_ACTION_POINT[12],1)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER_GOOD,FLY,AT_ACTION_POINT[18],1)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER_GOOD,TUNNELLER,AT_ACTION_POINT[18],1)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER_GOOD,SPIDER,AT_ACTION_POINT[18],1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD,TIMER1)
ENDIF

rem second cave contains Spider trap boxes
IF_ACTION_POINT(15, PLAYER0)
		SET_TRAP_CONFIGURATION(MONSTERBOX,EffectType,26) rem"SPIDER"


ENDIF

rem after that Traps that contain Flies on sight
IF_ACTION_POINT(4, PLAYER0)
		SET_TRAP_CONFIGURATION(MONSTERBOX,EffectType,19) rem"FLY"
		SET_TRAP_CONFIGURATION(MONSTERBOX,TriggerType,3)
		ADD_PARTY_TO_LEVEL(​PLAYER_GOOD,​BUGParty1,15,​1)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER0,FLY,AT_ACTION_POINT[4],1)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FLYParty1,7,1)
ENDIF

IF_ACTION_POINT(10, PLAYER0)
SET_CREATURE_MAX_LEVEL(​PLAYER_GOOD,​TUNNELLER,​6)
SET_CREATURE_MAX_LEVEL(​PLAYER_GOOD,​SPIDER,​7)
ENDIF

IF_ACTION_POINT(11, PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,IIIHHHHH,11,2)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FLYParty1,11,1)
ENDIF
IF_ACTION_POINT(12, PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,IIIHHHHH,12,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BUGParty1, 15,1)
CHANGE_SLAB_TYPE(70,19,PATH)
ENDIF

IF_ACTION_POINT(13, PLAYER0)
DISPLAY_INFORMATION(​15,ALL_PLAYERS)
SET_CREATURE_MAX_LEVEL(​PLAYER_GOOD,​TUNNELLER,6)
SET_CREATURE_HEALTH(​TUNNELLER,​1800)
SET_CREATURE_MAX_LEVEL(​PLAYER_GOOD,​SPIDER,6)
SET_CREATURE_MAX_LEVEL(​PLAYER_GOOD,​FLY,10)
SET_CREATURE_MAX_LEVEL(​PLAYER_GOOD,​FAIRY,6)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FAIRYfly,13,2)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FLYParty1,13,2)
ENDIF

IF_ACTION_POINT(14, PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FAIRYfly,14,2)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FAIRYfly,14,2)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,IIIHHHHH,14,2)
ENDIF

rem Intro
rem Insects switch sides
IF(PLAYER0,GAME_TURN >= 500)
PLAY_MESSAGE(PLAYER0,SOUND,785)
PLAY_MESSAGE(PLAYER0,SPEECH,63)
 DISPLAY_INFORMATION(​13,PLAYER2)
  CHANGE_CREATURE_OWNER(​PLAYER0,​SPIDER,​ANYWHERE,​PLAYER_GOOD)
    CHANGE_CREATURE_OWNER(​PLAYER0,​FLY,​ANYWHERE,​PLAYER_GOOD)
	  CHANGE_CREATURE_OWNER(​PLAYER0,​TUNNELLER,​ANYWHERE,​PLAYER_GOOD)
	    CHANGE_CREATURE_OWNER(​PLAYER0,​SPIDER,​ANYWHERE,​PLAYER_GOOD)
    CHANGE_CREATURE_OWNER(​PLAYER0,​FLY,​ANYWHERE,​PLAYER_GOOD)
	  CHANGE_CREATURE_OWNER(​PLAYER0,​TUNNELLER,​ANYWHERE,​PLAYER_GOOD)
ENDIF
rem Magic is again aviable, Insects break through walls
IF(PLAYER0,GAME_TURN >= 650)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_POSSESS,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
ADD_PARTY_TO_LEVEL(​PLAYER_GOOD,​BUGParty1,1, ​1)
CHANGE_SLAB_TYPE(74,13,PATH)
PLAY_MESSAGE(PLAYER0,SPEECH,7)
ENDIF
rem Horny arrives, Must Obey is activated
IF(PLAYER0,GAME_TURN >= 800)
PLAY_MESSAGE(PLAYER0,SOUND,785)
 DISPLAY_INFORMATION(​14,PLAYER2)
USE_POWER(PLAYER0,POWER_OBEY,1)
ADD_CREATURE_TO_LEVEL(PLAYER0, HORNY, PLAYER2, 1, 1, 0)
ENDIF

rem when most of the fairies are dead and the queen is reached 
rem spawn the special box to finish the section and reveal the secret
IF_ACTION_POINT(17,PLAYER0)
	IF(PLAYER_GOOD, FAIRY <= 4)
	PLAY_MESSAGE(PLAYER0,SOUND,785)
	DISPLAY_OBJECTIVE(​18,​PLAYER2)
	ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,6,3)
	CHANGE_SLAB_TYPE(50,14,PATH)
ENDIF
ENDIF

rem activate secret 
IF(PLAYER_GOOD, FAIRY == 0)
PLAY_MESSAGE(PLAYER0,SOUND,943)
SET_FLAG(PLAYER1,FLAG6, 1)
ENDIF
ENDIF

rem----------------------------------------------------------------------------------------------------------------------------------------------------
rem "Part 2"
rem ("Eggs of the queen, click to hatch")
SET_BOX_TOOLTIP_ID(2,42)
SET_BOX_TOOLTIP_ID(1,42)
rem if Continue Box is activated
IF(PLAYER0, BOX3_ACTIVATED == 1)
DISPLAY_OBJECTIVE(​16,​PLAYER0)
rem hide map completly
CONCEAL_MAP_RECT(PLAYER0, 127,127, 255, 255, 1)
rem reval second part of the Map
REVEAL_MAP_RECT(PLAYER0, 127,166, 254, 180)
rem enable "Fog of War"
CONCEAL_MAP_RECT(PLAYER0, 127,166, 254, 180, 0)
rem "deactivate" infinte Money
ADD_GOLD_TO_PLAYER(PLAYER0,-13000)
ADD_GOLD_TO_PLAYER(PLAYER0,4000)
rem Set original attributes for the insects
	SET_CREATURE_STRENGTH(Spider,​40)
	SET_CREATURE_HEALTH(​Spider,​400)
	SET_CREATURE_ARMOUR(​Spider,​30)
	SET_CREATURE_STRENGTH(TUNNELLER,​30)
	SET_CREATURE_HEALTH(​TUNNELLER,​500)
	SET_CREATURE_ARMOUR(​TUNNELLER,​35)
	SET_CREATURE_STRENGTH(FLY,​20)
	SET_CREATURE_HEALTH(​FLY,​300)
	SET_CREATURE_ARMOUR(​FLY,​20)
SET_FLAG(PLAYER_GOOD, Flag0, 1)
KILL_CREATURE(PLAYER0,HORNY,ANYWHERE,1)
rem remove Lair, Hatchery, Treasureroom, GUARD_POST from first part
CHANGE_SLAB_OWNER(​74,​9,​PLAYER_NEUTRAL​)
CHANGE_SLAB_OWNER(​79,​9,​PLAYER_NEUTRAL​)
CHANGE_SLAB_OWNER(​74,​4,​PLAYER_NEUTRAL​)
KILL_CREATURE(PLAYER_GOOD,TUNNELLER,ANYWHERE,20)
KILL_CREATURE(PLAYER_GOOD,FLY,ANYWHERE,40)
KILL_CREATURE(PLAYER_GOOD,SPIDER,ANYWHERE,20)
ENDIF

IF(PLAYER_GOOD,FLAG0 == 1)
PLAY_MESSAGE(PLAYER0,SOUND,777)
ADD_CREATURE_TO_LEVEL(​PLAYER0,​FLOATING_SPIRIT,​PLAYER0,​1,​1,​0)
ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,1)
		ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,1)
		ROOM_AVAILABLE(ALL_PLAYERS,GARDEN,1,1)
		ROOM_AVAILABLE(ALL_PLAYERS,TRAINING,1,1)
		ROOM_AVAILABLE(ALL_PLAYERS,RESEARCH,1,1)

		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,0)
rem hide Eggchamber
	CONCEAL_MAP_RECT(PLAYER0, 118,238, 15, 15, 1)
	CONCEAL_MAP_RECT(PLAYER0, 127,247, 8, 6, 1)
	SET_TIMER(PLAYER0,TIMER1)

rem set appearance of the egg MysteryBoxes
SET_OBJECT_CONFIGURATION(SPECBOX_CUSTOM,AnimationID,899)
SET_OBJECT_CONFIGURATION(SPECBOX_CUSTOM,MaximumSize,800)
SET_OBJECT_CONFIGURATION(SPECBOX_CUSTOM,AnimationSpeed,100)
SET_TRAP_CONFIGURATION(MONSTERBOX,Hidden,0)


rem Wisp respawn
IF(PLAYER0,FLOATING_SPIRIT == 0)
	IF(PLAYER0,FLAG3 == 0)
	NEXT_COMMAND_REUSABLE
	PLAY_MESSAGE(PLAYER0,SOUND,778)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0, FLAG3, 1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER2, TIMER0)
	ENDIF
		IF(PLAYER2,TIMER0 >=300)
			IF(PLAYER0,FLAG3 == 1)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECTS_LINE(PLAYER0,PLAYER0,0, 0, 0, 48)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(​PLAYER0,​FLOATING_SPIRIT,​PLAYER0,​1,​1,​0)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0, FLAG3, 0)
			ENDIF
		ENDIF
ENDIF
ENDIF

rem Hero Fortress Defender
IF_ACTION_POINT(9,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BARRACKS,9,1)
ENDIF

IF_ACTION_POINT(20,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LAIRMelee,20,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LAIRRange,20,1)
CHANGE_SLAB_TYPE(47,34,PRETTY_PATH)
ENDIF

IF_ACTION_POINT(21,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WORKSHOP,21,1)
ENDIF

IF_ACTION_POINT(22,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LIBRARY,22,2)
ENDIF

IF_ACTION_POINT(23,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TRAINING,23,1)
ENDIF

IF_ACTION_POINT(24,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TORTURE,24,2)
ENDIF

IF_ACTION_POINT(25,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TREASURE2,25,2)
ENDIF

IF_ACTION_POINT(26,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HEARTH1,26,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HEARTH2,26,1)
ENDIF

rem prevent the wisp from teleporting to the heart chamber
rem if Player reach ACTION_POINT Earth will switch to path
IF_ACTION_POINT(29,PLAYER0)
CHANGE_SLAB_TYPE(70,46,PRETTY_PATH)
ENDIF

IF_ACTION_POINT(8,PLAYER0)
CHANGE_SLAB_TYPE(14,35,PRETTY_PATH)
ENDIF

rem spawn start worker
IF(PLAYER0,TIMER1 >= 300)
PLAY_MESSAGE(PLAYER0,SOUND,778)
DISPLAY_INFORMATION(​17,​PLAYER0)
ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL​,​TUNNELLER,​28,​4,​1,​0)
CHANGE_SLAB_TYPE(44,81,PRETTY_PATH)
REVEAL_MAP_RECT(PLAYER0, 118,238, 15, 15)
ENDIF

rem enable secret trap
IF_AVAILABLE(PLAYER0,WORKSHOP == 1)
IF(PLAYER1,FLAG6 == 1)
PLAY_MESSAGE(PLAYER0,SOUND,777)
TRAP_AVAILABLE(ALL_PLAYERS,Slowveil,1,1)
DISPLAY_INFORMATION(20,ALL_PLAYERS)
ENDIF
ENDIF

rem Max creature setting
rem if player reach more than max creature
rem Hatchery will lose all Chicken and no new one will spawn
rem till under max creature

rem normal hatchery settings
IF(​PLAYER0,TOTAL_CREATURES < 31)
NEXT_COMMAND_REUSABLE
SET_GAME_RULE(FoodGenerationSpeed,2000)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER1,FLAG7, 0)
ENDIF
IF(PLAYER1,FLAG7 == 0)
rem kill all chickens
IF(​PLAYER0,TOTAL_CREATURES > 30)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER0,SACRIfICED[GHOST], 2)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER1,FLAG7, 2)
NEXT_COMMAND_REUSABLE
DISPLAY_INFORMATION(19,PLAYER0)
NEXT_COMMAND_REUSABLE
PLAY_MESSAGE(PLAYER0,SOUND,785)
ENDIF
ENDIF
IF(PLAYER1,FLAG7 == 2)
rem extremly slowed Chicken spawn
IF(​PLAYER0,TOTAL_CREATURES > 25)
NEXT_COMMAND_REUSABLE
SET_GAME_RULE(FoodGenerationSpeed,65535)
ENDIF
ENDIF


rem Settings for Portal replacement with respawning costume mystery boxes
rem randomis 1 or 2 Mysteryboxes
SET_FLAG(PLAYER1,FLAG0,1)
SET_TIMER(PLAYER0,TIMER2)
IF(PLAYER1,FLAG0 >= 1)
IF(PLAYER0,TIMER2 >= 500)
NEXT_COMMAND_REUSABLE
RANDOMISE_FLAG(PLAYER1,FLAG1,4)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER1,FLAG0,0)
ENDIF
ENDIF
IF(PLAYER1,FLAG1 >= 1)
IF(PLAYER1,FLAG1 <= 3)
NEXT_COMMAND_REUSABLE
ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,5,1)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER1,FLAG2, 1)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER1,FLAG1, 0)
ENDIF
ENDIF
IF(PLAYER1,FLAG1 >= 4)
NEXT_COMMAND_REUSABLE
ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,5,1)
NEXT_COMMAND_REUSABLE
ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,5,2)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER1,FLAG3, 1)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER1,FLAG1, 0)
ENDIF

rem randomize content of eggs
IF(PLAYER0,BOX1_ACTIVATED == 1)
NEXT_COMMAND_REUSABLE
RANDOMISE_FLAG(PLAYER0,FLAG4,3)
	IF(PLAYER0,FLAG4 == 1)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(​PLAYER0,​SPIDER,5,​1,​1,​0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,FLAG4,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG4, 0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX1_ACTIVATED, 0)
	ENDIF
	IF(PLAYER0,FLAG4 == 2)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(​PLAYER0,​FLY,​5,​1,​1,​0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,FLAG4,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG4, 0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX1_ACTIVATED, 0)
	ENDIF
	IF(PLAYER0,FLAG4 == 3)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(​PLAYER0,​TUNNELLER,​5,​1,​1,​0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,FLAG4,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG4, 0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX1_ACTIVATED, 0)
	ENDIF
	ENDIF

rem do the same with the second Egg
IF(PLAYER0,BOX2_ACTIVATED == 1)
NEXT_COMMAND_REUSABLE
RANDOMISE_FLAG(PLAYER0,FLAG5,3)
	IF(PLAYER0,FLAG5 == 1)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(​PLAYER0,​SPIDER,​5,​1,​1,​0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,FLAG5,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG5, 0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX2_ACTIVATED, 0)
	ENDIF
	IF(PLAYER0,FLAG5 == 2)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(​PLAYER0,​FLY,​5,​1,​1,​0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,FLAG5,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG5, 0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX2_ACTIVATED, 0)
	ENDIF
	IF(PLAYER0,FLAG5 == 3)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(​PLAYER0,​TUNNELLER,​5,​1,​1,​0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,FLAG5,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG5, 0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX2_ACTIVATED, 0)
	ENDIF
ENDIF

rem Reset Mystery Boxes
IF(PLAYER1, FLAG3 == 1)
	IF(PLAYER1,FLAG4 == 1)
		IF(PLAYER1,FLAG5 == 1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,FLAG3, 0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,FLAG0, 1)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER2)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1, FLAG4 ,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1, FLAG5 ,0)
		ENDIF
	ENDIF
ENDIF
IF(PLAYER1, FLAG2 == 1)
	IF(PLAYER1,FLAG4 == 1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,FLAG2, 0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,FLAG0, 1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER0,TIMER2)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1, FLAG4 ,0)
	ENDIF
ENDIF
rem create the procedural hero group that gets stronger after each wave
CREATE_PARTY(HEROGATE)

rem set the conditions to spawn that hero group
rem and randomize the gate they step through
IF(PLAYER3,FLAG2 == 1)
PLAY_MESSAGE(PLAYER0,SOUND,785)
DISPLAY_INFORMATION(24,ALL_PLAYERS)
ENDIF

IF(PLAYER0,TOTAL_GOLD_MINED >= 15000)
RANDOMISE_FLAG(PLAYER0,FLAG6,10)
SET_FLAG(PLAYER3,FLAG2,1)
ENDIF


IF(PLAYER0,TOTAL_GOLD_MINED >= 25000)
RANDOMISE_FLAG(PLAYER0,FLAG6,10)
SET_FLAG(PLAYER3,FLAG2,1)
ENDIF



IF_CONTROLS(​PLAYER_GOOD,​TOTAL_CREATURES​ <​ 30)
IF(PLAYER0,TIMER1 >= 10000)
ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,​HEROGATE, -9,​DUNGEON_HEART,​0,​3,​1000)
ADD_TO_FLAG(PLAYER0,FLAG7,1)
SET_FLAG(PLAYER3,FLAG2,1)
ENDIF
ENDIF

IF_CONTROLS(​PLAYER_GOOD,​TOTAL_CREATURES​ <​ 30)
IF(PLAYER0,TIMER1 >= 13000)
RANDOMISE_FLAG(PLAYER0,FLAG6,10)
ENDIF
ENDIF

IF_CONTROLS(​PLAYER_GOOD,​TOTAL_CREATURES​ <​ 30)
IF(PLAYER0,TIMER1 >= 16050)
RANDOMISE_FLAG(PLAYER0,FLAG6,10)
ENDIF
ENDIF

IF_CONTROLS(​PLAYER_GOOD,​TOTAL_CREATURES​ <​ 30)
IF(PLAYER0,TIMER1 >= 18500)
ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,​HEROGATE, -5,​DUNGEON_HEART,​0,​3,​1000)
ADD_TO_FLAG(PLAYER0,FLAG7,1)
ENDIF
ENDIF

IF_CONTROLS(​PLAYER_GOOD,​TOTAL_CREATURES​ <​ 40)
IF(PLAYER0,TIMER1 >= 20250)
RANDOMISE_FLAG(PLAYER0,FLAG6,10)
ENDIF
ENDIF

IF_CONTROLS(​PLAYER_GOOD,​TOTAL_CREATURES​ <​ 40)
IF(PLAYER0,TIMER1 >= 23000)
ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,​HEROGATE, -7,​DUNGEON_HEART,​0,​3,​1000)
ADD_TO_FLAG(PLAYER0,FLAG7,1)
SET_FLAG(PLAYER_GOOD, FLAG2,1)
ENDIF
ENDIF


IF(PLAYER_GOOD, FLAG2 == 1)
IF(PLAYER_GOOD, DUNGEON_DESTROYED == 0)
SET_TIMER(PLAYER0,TIMER1)
IF_CONTROLS(​PLAYER_GOOD,​TOTAL_CREATURES​ <​ 50)
	IF(PLAYER0,TIMER1 >= 5000)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,FLAG6,10)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER0,TIMER1)
	ENDIF
ENDIF
ENDIF
ENDIF

rem Settings for the Gates
IF(PLAYER0,FLAG6 == 1)
NEXT_COMMAND_REUSABLE
ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,​HEROGATE, -1,​DUNGEON_HEART,​0,​3,​1000)
NEXT_COMMAND_REUSABLE
ADD_TO_FLAG(PLAYER0,FLAG7,1)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER0,FLAG6, 0)
ENDIF

IF(PLAYER0,FLAG6 == 2)
NEXT_COMMAND_REUSABLE
ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,​HEROGATE, -2,​DUNGEON_HEART,​0,​3,​1000)
NEXT_COMMAND_REUSABLE
ADD_TO_FLAG(PLAYER0,FLAG7,1)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER0,FLAG6, 0)
ENDIF

IF(PLAYER0,FLAG6 == 3)
NEXT_COMMAND_REUSABLE
ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,​HEROGATE, -3,​DUNGEON_HEART,​0,​3,​1000)
NEXT_COMMAND_REUSABLE
ADD_TO_FLAG(PLAYER0,FLAG7,1)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER0,FLAG6, 0)
ENDIF

IF(PLAYER0,FLAG6 == 4)
NEXT_COMMAND_REUSABLE
ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,​HEROGATE, -4,​DUNGEON_HEART,​0,​3,​1000)
NEXT_COMMAND_REUSABLE
ADD_TO_FLAG(PLAYER0,FLAG7,1)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER0,FLAG6, 0)
ENDIF

IF(PLAYER0,FLAG6 == 5)
NEXT_COMMAND_REUSABLE
ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,​HEROGATE, -5,​DUNGEON_HEART,​0,​3,​1000)
NEXT_COMMAND_REUSABLE
ADD_TO_FLAG(PLAYER0,FLAG7,1)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER0,FLAG6, 0)
ENDIF

IF(PLAYER0,FLAG6 == 6)
NEXT_COMMAND_REUSABLE
ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,​HEROGATE, -6,​DUNGEON_HEART,​0,​3,​1000)
NEXT_COMMAND_REUSABLE
ADD_TO_FLAG(PLAYER0,FLAG7,1)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER0,FLAG6, 0)
ENDIF

IF(PLAYER0,FLAG6 == 7)
NEXT_COMMAND_REUSABLE
ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,​HEROGATE, -7,​DUNGEON_HEART,​0,​3,​1000)
NEXT_COMMAND_REUSABLE
ADD_TO_FLAG(PLAYER0,FLAG7,1)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER0,FLAG6, 0)
ENDIF

IF(PLAYER0,FLAG6 == 8)
NEXT_COMMAND_REUSABLE
ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,​HEROGATE, -8,​DUNGEON_HEART,​0,​3,​1000)
NEXT_COMMAND_REUSABLE
ADD_TO_FLAG(PLAYER0,FLAG7,1)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER0,FLAG6, 0)
ENDIF

IF(PLAYER0,FLAG6 == 9)
NEXT_COMMAND_REUSABLE
ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,​HEROGATE, -9,​DUNGEON_HEART,​0,​3,​1000)
NEXT_COMMAND_REUSABLE
ADD_TO_FLAG(PLAYER0,FLAG7,1)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER0,FLAG6, 0)
ENDIF

IF(PLAYER0,FLAG6 == 10)
NEXT_COMMAND_REUSABLE
ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,​HEROGATE, -10,​DUNGEON_HEART,​0,​3,​1000)
NEXT_COMMAND_REUSABLE
ADD_TO_FLAG(PLAYER0,FLAG7,1)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER0,FLAG6, 0)
ENDIF

rem Settings for changes in the Hero group
IF(PLAYER0,FLAG7 == 1)
ADD_TO_PARTY(HEROGATE,ARCHER,​2,​0,​ATTACK_DUNGEON_HEART,​0)
ENDIF

IF(PLAYER0,FLAG7 == 2)
ADD_TO_PARTY(HEROGATE,FAIRY,​3,​0,​ATTACK_DUNGEON_HEART,​0)
ENDIF

IF(PLAYER0,FLAG7 == 3)
ADD_TO_PARTY(HEROGATE,DWARFA,3,​0,​ATTACK_DUNGEON_HEART,​0)
ENDIF

IF(PLAYER0,FLAG7 == 4)
DELETE_FROM_PARTY(HEROGATE, ARCHER, 2)
ADD_TO_PARTY(HEROGATE,WIZARD,​4,​0,​ATTACK_DUNGEON_HEART,​0)
ENDIF

IF(PLAYER0,FLAG7 == 5)
DELETE_FROM_PARTY(HEROGATE, DWARFA, 3)
ADD_TO_PARTY(HEROGATE,THIEF,5,​0,​ATTACK_DUNGEON_HEART,​0)
ENDIF

IF(PLAYER0,FLAG7 == 6)
ADD_TO_PARTY(HEROGATE,DWARFA,5,​0,​ATTACK_DUNGEON_HEART,​0)
ENDIF

IF(PLAYER0,FLAG7 == 7)
DELETE_FROM_PARTY(HEROGATE, FAIRY, 3)
ADD_TO_PARTY(HEROGATE,FAIRY,​5,​0,​ATTACK_DUNGEON_HEART,​0)
ENDIF

IF(PLAYER0,FLAG7 == 8)
DELETE_FROM_PARTY(HEROGATE, THIEF, 5)
ADD_TO_PARTY(HEROGATE,GIANT,​5,​0,​ATTACK_DUNGEON_HEART,​0)
ENDIF

IF(PLAYER0,FLAG7 == 9)
DELETE_FROM_PARTY(HEROGATE, WIZARD, 4)
ADD_TO_PARTY(HEROGATE,FAIRY,​7,​0,​ATTACK_DUNGEON_HEART,​0)
ENDIF

IF(PLAYER0,FLAG7 == 10)
ADD_TO_PARTY(HEROGATE,ARCHER,​6,​0,​ATTACK_DUNGEON_HEART,​0)
ENDIF

IF(PLAYER0,FLAG7 == 11)
DELETE_FROM_PARTY(HEROGATE, DWARFA, 5)
ADD_TO_PARTY(HEROGATE,DWARFA,6,​0,​ATTACK_DUNGEON_HEART,​0)
ENDIF

IF(PLAYER0,FLAG7 == 12)
DELETE_FROM_PARTY(HEROGATE, GIANT, 7)
ADD_TO_PARTY(HEROGATE,SAMURAI,6,​0,​ATTACK_DUNGEON_HEART,​0)
ENDIF

IF(PLAYER_GOOD,FLAG0 == 0)
	IF(PLAYER0,GAME_TURN >= 810)
		IF(PLAYER0,HORNY <= 0)
		LOSE_GAME
		ENDIF
	ENDIF
	rem first part get a Heart from a other Keeper to able the dividing of the map
	IF(PLAYER2,DUNGEON_DESTROYED == 1)
      LOSE_GAME
	ENDIF
ENDIF

IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
	PLAY_MESSAGE(PLAYER0,SOUND,777)
	DISPLAY_INFORMATION(21,ALL_PLAYERS)
	WIN_GAME
ENDIF
