LEVEL_VERSION(1)
SET_GENERATE_SPEED(400)
START_MONEY(ALL_PLAYERS,10500)
MAX_CREATURES(ALL_PLAYERS,9)


COMPUTER_PLAYER(PLAYER4,ROAMING)
COMPUTER_PLAYER(PLAYER5,ROAMING)
COMPUTER_PLAYER(PLAYER6,ROAMING)


ALLY_PLAYERS(PLAYER0,PLAYER1,3)
ALLY_PLAYERS(PLAYER0,PLAYER2,3)
ALLY_PLAYERS(PLAYER0,PLAYER3,3)
ALLY_PLAYERS(PLAYER0,PLAYER4,3)
ALLY_PLAYERS(PLAYER0,PLAYER5,3)
ALLY_PLAYERS(PLAYER0,PLAYER6,3)
ALLY_PLAYERS(PLAYER1,PLAYER0,3)
ALLY_PLAYERS(PLAYER1,PLAYER2,3)
ALLY_PLAYERS(PLAYER1,PLAYER3,3)
ALLY_PLAYERS(PLAYER2,PLAYER0,3)
ALLY_PLAYERS(PLAYER2,PLAYER1,3)
ALLY_PLAYERS(PLAYER2,PLAYER3,3)
ALLY_PLAYERS(PLAYER3,PLAYER0,3)
ALLY_PLAYERS(PLAYER3,PLAYER1,3)
ALLY_PLAYERS(PLAYER3,PLAYER2,3)
ALLY_PLAYERS(BLACK,ORANGE,3)
ALLY_PLAYERS(BLACK,PURPLE,3)
ALLY_PLAYERS(ORANGE,BLACK,3)
ALLY_PLAYERS(ORANGE,PURPLE,3)
ALLY_PLAYERS(PURPLE,BLACK,3)
ALLY_PLAYERS(PURPLE,ORANGE,3)


SET_TIMER(PLAYER_GOOD,TIMER0)
SET_TIMER(PLAYER0,TIMER0)
SET_TIMER(BLUE,TIMER0)
SET_TIMER(YELLOW,TIMER0)
SET_TIMER(GREEN,TIMER0)

QUICK_OBJECTIVE(1,"Red is on his own, work together to figure out how to help him.Creatures are limited so watchout to not loose em.")
QUICK_INFORMATION(16,"After about 5 minutes you will be hit with more instructions...")



SET_CREATURE_PROPERTY(KNIGHT,LORD,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)
ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,PRISON,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,1,0)

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_POSSESS,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DESTROY_WALLS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_TIME_BOMB,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_REBOUND,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_FREEZE,1,0)


TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,SENTRY,1,0)




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

REM PARTY TIIIIME


CREATE_PARTY(purple1)
CREATE_PARTY(purple2)
CREATE_PARTY(purple3)
CREATE_PARTY(black1)
CREATE_PARTY(black2)
CREATE_PARTY(black3)
CREATE_PARTY(orange1)
CREATE_PARTY(orange2)
CREATE_PARTY(orange3)







CREATE_PARTY(trapkiller)
    ADD_TO_PARTY(trapkiller,THIEF,2,100,STEAL_GOLD,0)
    ADD_TO_PARTY(trapkiller,THIEF,2,100,STEAL_GOLD,0)
    ADD_TO_PARTY(trapkiller,THIEF,2,100,STEAL_GOLD,0)
    ADD_TO_PARTY(trapkiller,THIEF,2,100,STEAL_GOLD,0)
    ADD_TO_PARTY(trapkiller,THIEF,2,100,STEAL_GOLD,0)
    ADD_TO_PARTY(trapkiller,THIEF,2,100,STEAL_GOLD,0)
    ADD_TO_PARTY(trapkiller,THIEF,2,100,STEAL_GOLD,0)
    ADD_TO_PARTY(trapkiller,THIEF,3,100,STEAL_GOLD,0)
    ADD_TO_PARTY(trapkiller,THIEF,3,100,STEAL_GOLD,0)
    ADD_TO_PARTY(trapkiller,THIEF,3,100,STEAL_GOLD,0)
    ADD_TO_PARTY(trapkiller,THIEF,3,100,STEAL_GOLD,0)
    ADD_TO_PARTY(trapkiller,THIEF,3,100,STEAL_GOLD,0)
    ADD_TO_PARTY(trapkiller,THIEF,3,100,STEAL_GOLD,0)
    ADD_TO_PARTY(trapkiller,THIEF,4,100,STEAL_GOLD,0)


CREATE_PARTY(weak1)
    ADD_TO_PARTY(weak1,ARCHER,2,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(weak1,ARCHER,3,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(weak1,GIANT,2,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(weak1,GIANT,3,200,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(weak2)
    ADD_TO_PARTY(weak2,BARBARIAN,3,100,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(weak2,BARBARIAN,2,100,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(weak2,BARBARIAN,3,100,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(weak2,BARBARIAN,2,100,ATTACK_DUNGEON_HEART,0)


CREATE_PARTY(weak3)
    ADD_TO_PARTY(weak3,WIZARD,2,100,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(weak3,WIZARD,2,100,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(weak3,WITCH,2,100,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(weak3,WITCH,2,100,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(weak4)
    ADD_TO_PARTY(weak4,DWARFA,2,100,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(weak4,DWARFA,2,100,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(weak4,DWARFA,3,100,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(weak4,DWARFA,3,100,ATTACK_DUNGEON_HEART,0)


CREATE_PARTY(medium1)
    ADD_TO_PARTY(medium1,ARCHER,4,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(medium1,ARCHER,5,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(medium1,GIANT,4,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(medium1,GIANT,5,200,ATTACK_DUNGEON_HEART,0)


CREATE_PARTY(medium2)
    ADD_TO_PARTY(medium2,FAIRY,4,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(medium2,FAIRY,4,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(medium2,FAIRY,4,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(medium2,FAIRY,5,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(medium2,FAIRY,5,200,ATTACK_DUNGEON_HEART,0)


CREATE_PARTY(medium3)
    ADD_TO_PARTY(medium3,SAMURAI,4,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(medium3,SAMURAI,4,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(medium3,SAMURAI,4,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(medium3,SAMURAI,5,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(medium3,SAMURAI,5,200,ATTACK_DUNGEON_HEART,0)




CREATE_PARTY(hard1)
    ADD_TO_PARTY(hard1,SAMURAI,7,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(hard1,SAMURAI,7,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(hard1,SAMURAI,7,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(hard1,SAMURAI,8,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(hard1,SAMURAI,8,200,ATTACK_DUNGEON_HEART,0)


CREATE_PARTY(hard2)
    ADD_TO_PARTY(hard2,DWARFA,7,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(hard2,DWARFA,7,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(hard2,BARBARIAN,8,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(hard2,WITCH,8,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(hard2,WITCH,8,200,ATTACK_DUNGEON_HEART,0)


CREATE_PARTY(hard3)
    ADD_TO_PARTY(hard3,TIME_MAGE,7,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(hard3,TIME_MAGE,7,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(hard3,WIZARD,8,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(hard3,WIZARD,8,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(hard3,KNIGHT,8,200,ATTACK_DUNGEON_HEART,0)



CREATE_PARTY(extreme1)
    ADD_TO_PARTY(extreme1,TIME_MAGE,10,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(extreme1,TIME_MAGE,10,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(extreme1,GIANT,10,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(extreme1,GIANT,10,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(extreme1,FAIRY,10,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(extreme1,KNIGHT,10,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(extreme1,KNIGHT,10,200,ATTACK_DUNGEON_HEART,0)



CREATE_PARTY(extreme2)
    ADD_TO_PARTY(extreme2,WITCH,10,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(extreme2,WITCH,10,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(extreme2,HORNY,10,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(extreme2,HORNY,10,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(extreme2,FAIRY,10,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(extreme2,KNIGHT,10,200,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(extreme2,KNIGHT,10,200,ATTACK_DUNGEON_HEART,0)




CREATE_PARTY(defense)
    ADD_TO_PARTY(defense,AVATAR,10,200,DEFEND_HEART,0)
    ADD_TO_PARTY(defense,AVATAR,10,200,DEFEND_HEART,0)
    ADD_TO_PARTY(defense,AVATAR,10,200,DEFEND_HEART,0)
    ADD_TO_PARTY(defense,AVATAR,10,200,DEFEND_HEART,0)
    ADD_TO_PARTY(defense,FAIRY,10,200,DEFEND_HEART,0)
    ADD_TO_PARTY(defense,FAIRY,10,200,DEFEND_HEART,0)
    ADD_TO_PARTY(defense,FAIRY,10,200,DEFEND_HEART,0)
    ADD_TO_PARTY(defense,WIZARD,10,200,DEFEND_HEART,0)
    ADD_TO_PARTY(defense,WIZARD,10,200,DEFEND_HEART,0)
    ADD_TO_PARTY(defense,WIZARD,10,200,DEFEND_HEART,0)
    ADD_TO_PARTY(defense,KNIGHT,10,200,DEFEND_HEART,0)
    ADD_TO_PARTY(defense,KNIGHT,10,200,DEFEND_HEART,0)
    ADD_TO_PARTY(defense,SAMURAI,10,200,DEFEND_HEART,0)
    ADD_TO_PARTY(defense,SAMURAI,10,200,DEFEND_HEART,0)
    ADD_TO_PARTY(defense,DWARFA,10,200,DEFEND_HEART,0)
    ADD_TO_PARTY(defense,DWARFA,10,200,DEFEND_HEART,0)

REM HERO WAVES
REM TIME 20 Gameturns = 1 Second 1200 = 1 Minute 6000 = 5 Minutes 12000 = 10 Minutes

REM WEAK ONES 

IF(PLAYER_GOOD,TIMER0 >= 3600)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,trapkiller,-3,1)
    SET_TIMER(PLAYER_GOOD,TIMER1)
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 3600)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,weak1,-1,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,weak2,-2,1)
    SET_TIMER(PLAYER_GOOD,TIMER2)
ENDIF

IF(PLAYER_GOOD,TIMER2 >= 3600)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,weak3,-1,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,weak4,-2,1)
    SET_TIMER(PLAYER_GOOD,TIMER3)
ENDIF

IF(PLAYER_GOOD,TIMER3 >= 6000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,medium1,-1,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,medium2,-2,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,medium3,-3,1)
    SET_TIMER(PLAYER_GOOD,TIMER4)
ENDIF

IF(PLAYER_GOOD,TIMER4 >= 7200)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,hard1,-1,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,hard2,-2,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,hard3,-3,1)
    SET_TIMER(PLAYER_GOOD,TIMER5)
ENDIF

IF(PLAYER_GOOD,TIMER5 >= 7200)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,extreme1,-8,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,extreme1,-9,1)
    SET_TIMER(PLAYER_GOOD,TIMER6)
ENDIF

IF(PLAYER_GOOD,FLAG1 == 0)
    IF(PLAYER_GOOD,TIMER6 >= 7200)
        NEXT_COMMAND_REUSABLE
        ADD_PARTY_TO_LEVEL(PLAYER_GOOD,extreme1,-8,1)
        NEXT_COMMAND_REUSABLE
        ADD_PARTY_TO_LEVEL(PLAYER_GOOD,extreme2,-9,1)
        NEXT_COMMAND_REUSABLE
        SET_TIMER(PLAYER_GOOD,TIMER6)
    ENDIF
ENDIF

REM Deactivation for Hero waves

IF_SLAB_OWNER(35,75,PLAYER0)
    SET_FLAG(PLAYER_GOOD,FLAG1,1)
ENDIF

IF_SLAB_TYPE(35,74,PRETTY_PATH)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,extreme1,-10,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,extreme2,-10,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,defense,1,1)
ENDIF


REM Path for Red to get into Whites Dungeon

IF(PLAYER0,FLAG0 == 0)
    NEXT_COMMAND_REUSABLE
    COUNT_CREATURES_AT_ACTION_POINT(2,PURPLE,ANY_CREATURE,PLAYER0,FLAG1)    
ENDIF
IF(PLAYER0,GAME_TURN > 10)
    IF(PLAYER0,FLAG1 == 0)
        SET_FLAG(PLAYER0,FLAG0,1)
    ENDIF
ENDIF
IF(PLAYER0,FLAG0 >= 1)
    SET_FLAG(PLAYER_GOOD,FLAG0,1)
    ALLY_PLAYERS(PURPLE,PLAYER1,3)
    ALLY_PLAYERS(PLAYER1,PURPLE,3)
    ALLY_PLAYERS(PURPLE,PLAYER2,3)
    ALLY_PLAYERS(PLAYER2,PURPLE,3)
    ALLY_PLAYERS(PURPLE,PLAYER3,3)
    ALLY_PLAYERS(PLAYER3,PURPLE,3)
ENDIF


IF(PLAYER0,FLAG2 == 0)
    NEXT_COMMAND_REUSABLE
    COUNT_CREATURES_AT_ACTION_POINT(3,BLACK,ANY_CREATURE,PLAYER0,FLAG3)    
ENDIF
IF(PLAYER0,GAME_TURN > 10)
    IF(PLAYER0,FLAG3 == 0)
        SET_FLAG(PLAYER0,FLAG2,1)
    ENDIF
ENDIF
IF(PLAYER0,FLAG2 >= 1)
    SET_FLAG(PLAYER_GOOD,FLAG1,1)
    ALLY_PLAYERS(BLACK,PLAYER1,3)
    ALLY_PLAYERS(PLAYER1,BLACK,3)
    ALLY_PLAYERS(BLACK,PLAYER2,3)
    ALLY_PLAYERS(PLAYER2,BLACK,3)
    ALLY_PLAYERS(BLACK,PLAYER3,3)
    ALLY_PLAYERS(PLAYER3,BLACK,3)
ENDIF


IF(PLAYER0,FLAG4 == 0)
    NEXT_COMMAND_REUSABLE
    COUNT_CREATURES_AT_ACTION_POINT(4,ORANGE,ANY_CREATURE,PLAYER0,FLAG5)    
ENDIF
IF(PLAYER0,GAME_TURN > 10)
    IF(PLAYER0,FLAG5 == 0)
        SET_FLAG(PLAYER0,FLAG4,1)
    ENDIF
ENDIF
IF(PLAYER0,FLAG4 >= 1)
    SET_FLAG(PLAYER_GOOD,FLAG2,1)
    ALLY_PLAYERS(ORANGE,PLAYER1,3)
    ALLY_PLAYERS(PLAYER1,ORANGE,3)
    ALLY_PLAYERS(ORANGE,PLAYER2,3)
    ALLY_PLAYERS(PLAYER2,ORANGE,3)
    ALLY_PLAYERS(ORANGE,PLAYER3,3)
    ALLY_PLAYERS(PLAYER3,ORANGE,3)
ENDIF


IF(PLAYER_GOOD,FLAG0 == 1)
    CHANGE_SLAB_TYPE(35,139,PATH,NONE)
    QUICK_INFORMATION(4,"Purple has joined the Cause!")
ENDIF

IF(PLAYER_GOOD,FLAG1 == 1)
    CHANGE_SLAB_TYPE(35,138,PATH,NONE)
    QUICK_INFORMATION(7,"Black has joined the Cause!")
ENDIF

IF(PLAYER_GOOD,FLAG2 == 1)
    CHANGE_SLAB_TYPE(35,137,PATH,NONE)
    QUICK_INFORMATION(10,"Orange has joined the Cause!")
ENDIF


REM PURPLE WAVES

IF_CONTROLS(PURPLE,WIZARD == 0)
    ADD_TO_PARTY(purple1,WIZARD,8,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(purple1,WIZARD,9,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(purple1,WIZARD,10,0,ATTACK_DUNGEON_HEART,0)
    SET_FLAG(PURPLE,FLAG0,1)
ENDIF

IF(PURPLE,FLAG0 >= 1)
    ADD_PARTY_TO_LEVEL(PURPLE,purple1,-11,1)
    SET_TIMER(PURPLE,TIMER0)
ENDIF

IF(PURPLE,TIMER0 >= 6000)
    NEXT_COMMAND_REUSABLE
    ADD_PARTY_TO_LEVEL(PURPLE,purple1,-11,1)
    NEXT_COMMAND_REUSABLE
    ADD_PARTY_TO_LEVEL(PURPLE,purple2,-11,1)
    NEXT_COMMAND_REUSABLE
    ADD_PARTY_TO_LEVEL(PURPLE,purple3,-11,1)
    NEXT_COMMAND_REUSABLE
    SET_TIMER(PURPLE,TIMER0)
ENDIF


IF_CONTROLS(PURPLE,BILE_DEMON == 0)
    ADD_TO_PARTY(purple1,BILE_DEMON,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(purple1,BILE_DEMON,6,0,ATTACK_DUNGEON_HEART,0)
ENDIF

IF_CONTROLS(PURPLE,SAMURAI == 0)
    ADD_TO_PARTY(purple1,SAMURAI,6,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(purple1,SAMURAI,7,0,ATTACK_DUNGEON_HEART,0)
ENDIF

IF_CONTROLS(PURPLE,DWARFA == 0)
    ADD_TO_PARTY(purple1,DWARFA,4,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(purple1,DWARFA,8,0,ATTACK_DUNGEON_HEART,0)
ENDIF
IF_CONTROLS(PURPLE,TENTACLE == 0)
    ADD_TO_PARTY(purple2,TENTACLE,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(purple2,TENTACLE,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(purple2,TENTACLE,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(purple2,TENTACLE,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(purple2,TENTACLE,5,0,ATTACK_DUNGEON_HEART,0)
ENDIF
IF_CONTROLS(PURPLE,ARCHER == 0)
    ADD_TO_PARTY(purple3,ARCHER,4,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(purple3,ARCHER,4,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(purple3,ARCHER,4,0,ATTACK_DUNGEON_HEART,0)
ENDIF
IF_CONTROLS(PURPLE,BARBARIAN == 0)
    ADD_TO_PARTY(purple3,BARBARIAN,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(purple3,BARBARIAN,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(purple3,BARBARIAN,5,0,ATTACK_DUNGEON_HEART,0)
ENDIF

IF_CONTROLS(PURPLE,GIANT == 0)
    ADD_TO_PARTY(purple3,GIANT,7,0,ATTACK_DUNGEON_HEART,0)
ENDIF


REM BLACK WAVES

IF_CONTROLS(BLACK,WIZARD == 0)
    ADD_TO_PARTY(black1,WIZARD,8,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(black1,WIZARD,9,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(black1,WIZARD,10,0,ATTACK_DUNGEON_HEART,0)
    SET_FLAG(BLACK,FLAG0,1)
ENDIF

IF(BLACK,FLAG0 >= 1)
    ADD_PARTY_TO_LEVEL(BLACK,black1,-13,1)
    SET_TIMER(BLACK,TIMER0)
ENDIF

IF(BLACK,TIMER0 >= 4200)
    NEXT_COMMAND_REUSABLE
    ADD_PARTY_TO_LEVEL(BLACK,black1,-13,1)
    NEXT_COMMAND_REUSABLE
    ADD_PARTY_TO_LEVEL(BLACK,black2,-13,1)
    NEXT_COMMAND_REUSABLE
    ADD_PARTY_TO_LEVEL(BLACK,black3,-13,1)
    NEXT_COMMAND_REUSABLE
    SET_TIMER(BLACK,TIMER0)
ENDIF


IF_CONTROLS(BLACK,BILE_DEMON == 0)
    ADD_TO_PARTY(black1,BILE_DEMON,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(black1,BILE_DEMON,6,0,ATTACK_DUNGEON_HEART,0)
ENDIF

IF_CONTROLS(BLACK,SAMURAI == 0)
    ADD_TO_PARTY(black1,SAMURAI,6,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(black1,SAMURAI,7,0,ATTACK_DUNGEON_HEART,0)
ENDIF

IF_CONTROLS(BLACK,DWARFA == 0)
    ADD_TO_PARTY(black1,DWARFA,4,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(black1,DWARFA,8,0,ATTACK_DUNGEON_HEART,0)
ENDIF
IF_CONTROLS(BLACK,TENTACLE == 0)
    ADD_TO_PARTY(black2,TENTACLE,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(black2,TENTACLE,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(black2,TENTACLE,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(black2,TENTACLE,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(black2,TENTACLE,5,0,ATTACK_DUNGEON_HEART,0)
ENDIF
IF_CONTROLS(BLACK,ARCHER == 0)
    ADD_TO_PARTY(black3,ARCHER,4,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(black3,ARCHER,4,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(black3,ARCHER,4,0,ATTACK_DUNGEON_HEART,0)
ENDIF
IF_CONTROLS(BLACK,BARBARIAN == 0)
    ADD_TO_PARTY(black3,BARBARIAN,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(black3,BARBARIAN,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(black3,BARBARIAN,5,0,ATTACK_DUNGEON_HEART,0)
ENDIF

IF_CONTROLS(BLACK,GIANT == 0)
    ADD_TO_PARTY(black3,GIANT,7,0,ATTACK_DUNGEON_HEART,0)
ENDIF

REM ORANGE WAVES

IF_CONTROLS(ORANGE,WIZARD == 0)
    ADD_TO_PARTY(orange1,WIZARD,8,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(orange1,WIZARD,9,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(orange1,WIZARD,10,0,ATTACK_DUNGEON_HEART,0)
    SET_FLAG(ORANGE,FLAG0,1)
ENDIF

IF(ORANGE,FLAG0 >= 1)
    ADD_PARTY_TO_LEVEL(ORANGE,orange1,-12,1)
    SET_TIMER(ORANGE,TIMER0)
ENDIF

IF(ORANGE,TIMER0 >= 4200)
    NEXT_COMMAND_REUSABLE
    ADD_PARTY_TO_LEVEL(ORANGE,orange1,-12,1)
    NEXT_COMMAND_REUSABLE
    ADD_PARTY_TO_LEVEL(ORANGE,orange2,-12,1)
    NEXT_COMMAND_REUSABLE
    ADD_PARTY_TO_LEVEL(ORANGE,orange3,-12,1)
    NEXT_COMMAND_REUSABLE
    SET_TIMER(ORANGE,TIMER0)
ENDIF


IF_CONTROLS(ORANGE,BILE_DEMON == 0)
    ADD_TO_PARTY(orange1,BILE_DEMON,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(orange1,BILE_DEMON,6,0,ATTACK_DUNGEON_HEART,0)
ENDIF

IF_CONTROLS(ORANGE,SAMURAI == 0)
    ADD_TO_PARTY(orange1,SAMURAI,6,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(orange1,SAMURAI,7,0,ATTACK_DUNGEON_HEART,0)
ENDIF

IF_CONTROLS(ORANGE,DWARFA == 0)
    ADD_TO_PARTY(orange1,DWARFA,4,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(orange1,DWARFA,8,0,ATTACK_DUNGEON_HEART,0)
ENDIF
IF_CONTROLS(ORANGE,TENTACLE == 0)
    ADD_TO_PARTY(orange2,TENTACLE,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(orange2,TENTACLE,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(orange2,TENTACLE,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(orange2,TENTACLE,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(orange2,TENTACLE,5,0,ATTACK_DUNGEON_HEART,0)
ENDIF
IF_CONTROLS(ORANGE,ARCHER == 0)
    ADD_TO_PARTY(orange3,ARCHER,4,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(orange3,ARCHER,4,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(orange3,ARCHER,4,0,ATTACK_DUNGEON_HEART,0)
ENDIF
IF_CONTROLS(ORANGE,BARBARIAN == 0)
    ADD_TO_PARTY(orange3,BARBARIAN,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(orange3,BARBARIAN,5,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(orange3,BARBARIAN,5,0,ATTACK_DUNGEON_HEART,0)
ENDIF

IF_CONTROLS(ORANGE,GIANT == 0)
    ADD_TO_PARTY(orange3,GIANT,7,0,ATTACK_DUNGEON_HEART,0)
ENDIF




REM Creatures for Blue,Yellow,Green

IF(BLUE,TIMER0 >= 4800)
    IF_CONTROLS(BLUE,FAIRY < 3)
        NEXT_COMMAND_REUSABLE
        ADD_CREATURE_TO_LEVEL(BLUE,FAIRY,-14,1,1,100,DEFAULT)
    ENDIF
    IF_CONTROLS(BLUE,KNIGHT < 3)
        NEXT_COMMAND_REUSABLE
        ADD_CREATURE_TO_LEVEL(BLUE,KNIGHT,-14,1,1,100,DEFAULT)
    ENDIF
    IF_CONTROLS(BLUE,BARBARIAN < 3)
        NEXT_COMMAND_REUSABLE
        ADD_CREATURE_TO_LEVEL(BLUE,BARBARIAN,-14,1,1,100,DEFAULT)
    ENDIF
    NEXT_COMMAND_REUSABLE
    SET_TIMER(BLUE,TIMER0)
ENDIF

IF(YELLOW,TIMER0 >= 4800)
    IF_CONTROLS(GREEN,FAIRY < 3)
        NEXT_COMMAND_REUSABLE
        ADD_CREATURE_TO_LEVEL(GREEN,FAIRY,-15,1,1,100,DEFAULT)
    ENDIF
    IF_CONTROLS(GREEN,KNIGHT < 3)
        NEXT_COMMAND_REUSABLE
        ADD_CREATURE_TO_LEVEL(GREEN,KNIGHT,-15,1,1,100,DEFAULT)
    ENDIF
    IF_CONTROLS(GREEN,BARBARIAN < 3)
        NEXT_COMMAND_REUSABLE
        ADD_CREATURE_TO_LEVEL(GREEN,BARBARIAN,-15,1,1,100,DEFAULT)
    ENDIF
    NEXT_COMMAND_REUSABLE
    SET_TIMER(YELLOW,TIMER0)
ENDIF

IF(GREEN,TIMER0 >= 4800)
    IF_CONTROLS(YELLOW,FAIRY < 3)
        NEXT_COMMAND_REUSABLE
        ADD_CREATURE_TO_LEVEL(YELLOW,FAIRY,-16,1,1,100,DEFAULT)
    ENDIF
    IF_CONTROLS(YELLOW,KNIGHT < 3)
        NEXT_COMMAND_REUSABLE
        ADD_CREATURE_TO_LEVEL(YELLOW,KNIGHT,-16,1,1,100,DEFAULT)
    ENDIF
    IF_CONTROLS(YELLOW,BARBARIAN < 3)
        NEXT_COMMAND_REUSABLE
        ADD_CREATURE_TO_LEVEL(YELLOW,BARBARIAN,-16,1,1,100,DEFAULT)
    ENDIF
    NEXT_COMMAND_REUSABLE
    SET_TIMER(GREEN,TIMER0)
ENDIF




IF(PLAYER1,DUNGEON_DESTROYED == 1)
    QUICK_INFORMATION(11,"Bloo is Poo...",PLAYER1)
ENDIF

IF(PLAYER2,DUNGEON_DESTROYED == 1)
    QUICK_INFORMATION(12,"Green is Toast...",PLAYER2)
ENDIF

IF(PLAYER3,DUNGEON_DESTROYED == 1)
    QUICK_INFORMATION(13,"Yellow made his Pants yellow...",PLAYER3)
ENDIF


IF(PLAYER0,DUNGEON_DESTROYED == 1)
    QUICK_INFORMATION(14,"Red's dead... it's time for Bed...",PLAYER0)
    LOSE_GAME
ENDIF


IF(PLAYER0,TIMER0 >= 6000)
    QUICK_INFORMATION(15,"How to keep an Idiot waiting....")
ENDIF








IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
    WIN_GAME
ENDIF