REM ********************************************
REM
REM             Script for Level 20002
REM
REM ********************************************

LEVEL_VERSION(1)

RUN_AFTER_VICTORY(1)

SET_GENERATE_SPEED(200)

COMPUTER_PLAYER(PLAYER1,2)
COMPUTER_PLAYER(PLAYER2,7)
COMPUTER_PLAYER(PLAYER3,13)
COMPUTER_PLAYER(PLAYER4,7)
COMPUTER_PLAYER(PLAYER5,2)
COMPUTER_PLAYER(PLAYER6,13)

ALLY_PLAYERS(PLAYER1,PLAYER2,3)
ALLY_PLAYERS(PLAYER1,PLAYER3,3)
ALLY_PLAYERS(PLAYER1,PLAYER4,3)
ALLY_PLAYERS(PLAYER1,PLAYER5,3)
ALLY_PLAYERS(PLAYER1,PLAYER6,3)
ALLY_PLAYERS(PLAYER2,PLAYER3,3)
ALLY_PLAYERS(PLAYER2,PLAYER4,3)
ALLY_PLAYERS(PLAYER2,PLAYER5,3)
ALLY_PLAYERS(PLAYER2,PLAYER6,3)
ALLY_PLAYERS(PLAYER3,PLAYER4,3)
ALLY_PLAYERS(PLAYER3,PLAYER5,3)
ALLY_PLAYERS(PLAYER3,PLAYER6,3)
ALLY_PLAYERS(PLAYER4,PLAYER5,3)
ALLY_PLAYERS(PLAYER4,PLAYER6,3)
ALLY_PLAYERS(PLAYER5,PLAYER6,3)

START_MONEY(PLAYER0,250000)
START_MONEY(PLAYER1,1000000)
START_MONEY(PLAYER2,1000000)
START_MONEY(PLAYER3,1000000)
START_MONEY(PLAYER4,1000000)
START_MONEY(PLAYER5,1000000)
START_MONEY(PLAYER6,1000000)
START_MONEY(PLAYER_GOOD,100000)

MAX_CREATURES(PLAYER0,30)
MAX_CREATURES(PLAYER1,20)
MAX_CREATURES(PLAYER2,20)
MAX_CREATURES(PLAYER3,20)
MAX_CREATURES(PLAYER4,20)
MAX_CREATURES(PLAYER5,20)
MAX_CREATURES(PLAYER6,20)

SET_TIMER(PLAYER0,TIMER0)
SET_TIMER(PLAYER0,TIMER2)

ADD_CREATURE_TO_POOL(BILE_DEMON,30)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,30)
ADD_CREATURE_TO_POOL(SORCEROR,30)
ADD_CREATURE_TO_POOL(ORC,30)
ADD_CREATURE_TO_POOL(DRAGON,30)
ADD_CREATURE_TO_POOL(TROLL,30)
ADD_CREATURE_TO_POOL(MAIDEN,30)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,MAIDEN,1,0)

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,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_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_POSSESS,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_TIME_BOMB,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_FREEZE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLOW,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_REBOUND,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TRAINING,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GARDEN,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,RESEARCH,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(PLAYER0,BRIDGE,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,TNT,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)

CREATE_PARTY(ONE)

ADD_TO_PARTY(ONE,SAMURAI,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(ONE,SAMURAI,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(ONE,SAMURAI,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(ONE,SAMURAI,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(ONE,SAMURAI,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(ONE,SAMURAI,5,0,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(TWO)

ADD_TO_PARTY(TWO,SAMURAI,9,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(TWO,SAMURAI,9,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(TWO,SAMURAI,9,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(TWO,SAMURAI,9,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(TWO,WIZARD,10,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(TWO,WIZARD,10,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(TWO,WIZARD,10,0,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(THREE)

ADD_TO_PARTY(THREE,SAMURAI,9,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(THREE,SAMURAI,9,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(THREE,SAMURAI,9,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(THREE,GIANT,10,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(THREE,GIANT,10,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(THREE,GIANT,10,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(THREE,GIANT,10,0,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(FOUR)

ADD_TO_PARTY(FOUR,DWARFA,7,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(FOUR,WIZARD,6,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(FOUR,SAMURAI,5,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(FOUR,MONK,6,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(FOUR,WITCH,6,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(FOUR,GIANT,5,0,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(FIVE)

ADD_TO_PARTY(FIVE,WITCH,8,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(FIVE,WIZARD,9,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(FIVE,WIZARD,8,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(FIVE,MONK,8,0,ATTACK_DUNGEON_HEART,0) 
ADD_TO_PARTY(FIVE,WITCH,9,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(FIVE,GIANT,10,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(FIVE,SAMURAI,9,0,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(SIX)

ADD_TO_PARTY(SIX,WITCH,10,0,ATTACK_ENEMIES,0)
ADD_TO_PARTY(SIX,WITCH,10,0,ATTACK_ENEMIES,0)
ADD_TO_PARTY(SIX,MONK,10,0,ATTACK_ENEMIES,0)
ADD_TO_PARTY(SIX,SAMURAI,10,0,ATTACK_ENEMIES,0)
ADD_TO_PARTY(SIX,WIZARD,10,0,ATTACK_ENEMIES,0)
ADD_TO_PARTY(SIX,WITCH,10,0,ATTACK_ENEMIES,0)
ADD_TO_PARTY(SIX,MONK,10,0,ATTACK_ENEMIES,0)

CREATE_PARTY(SEVEN)

ADD_TO_PARTY(SEVEN,AVATAR,10,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(SEVEN,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(SEVEN,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(SEVEN,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(SEVEN,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(SEVEN,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(SEVEN,SAMURAI,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(SEVEN,SAMURAI,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(SEVEN,SAMURAI,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(SEVEN,SAMURAI,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(SEVEN,SAMURAI,10,0,DEFEND_PARTY,0)

CREATE_PARTY(EIGHT)

ADD_TO_PARTY(EIGHT,SAMURAI,6,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(EIGHT,SAMURAI,6,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(EIGHT,SAMURAI,6,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(EIGHT,GIANT,8,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(EIGHT,GIANT,8,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(EIGHT,GIANT,8,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(EIGHT,GIANT,8,0,ATTACK_DUNGEON_HEART,0)

SET_FLAG(PLAYER0,FLAG0,0)
SET_FLAG(PLAYER0,FLAG1,0)
SET_FLAG(PLAYER0,FLAG2,0)
SET_FLAG(PLAYER0,FLAG3,0)
SET_FLAG(PLAYER0,FLAG4,0)
SET_FLAG(PLAYER0,FLAG5,0)

SET_FLAG(PLAYER_GOOD,FLAG0,0)
SET_FLAG(PLAYER_GOOD,FLAG1,0)
SET_FLAG(PLAYER_GOOD,FLAG2,0)
SET_FLAG(PLAYER_GOOD,FLAG3,0)

SET_CREATURE_PROPERTY(KNIGHT,LORD,0)
SET_CREATURE_PROPERTY(GHOST,PASS_LOCKED_DOORS,0)

DISPLAY_COUNTDOWN(PLAYER0,TIMER2,40000,1)

SET_BOX_TOOLTIP_ID(0,7)
SET_BOX_TOOLTIP_ID(1,9)

DISPLAY_OBJECTIVE(1,ALL_PLAYERS)

IF(PLAYER_GOOD,MONEY<5000)
    DISPLAY_INFORMATION(5,ALL_PLAYERS)
    NEXT_COMMAND_REUSABLE
    ADD_GOLD_TO_PLAYER(PLAYER_GOOD,50000)
ENDIF

IF_ACTION_POINT(1,PLAYER0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,1,10,7,0)
    DISPLAY_INFORMATION(4,ALL_PLAYERS)
ENDIF

IF_ACTION_POINT(2,PLAYER0)
    SET_FLAG(PLAYER_GOOD,FLAG1,1)
ENDIF

IF_ACTION_POINT(3,PLAYER0)
    SET_FLAG(PLAYER_GOOD,FLAG1,1)
ENDIF

IF_ACTION_POINT(14,PLAYER0)
    SET_FLAG(PLAYER_GOOD,FLAG1,1)
ENDIF

IF_ACTION_POINT(15,PLAYER0)
    IF(PLAYER0,FLAG2==0)
        NEXT_COMMAND_REUSABLE
        RANDOMISE_FLAG(PLAYER0,FLAG3,6)
        NEXT_COMMAND_REUSABLE
        CREATE_EFFECT_AT_POS(EFFECT_COLFOUNTN_3,280,170)
        NEXT_COMMAND_REUSABLE
        SET_TIMER(PLAYER0,TIMER3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0,FLAG2,1)
    ENDIF
ENDIF

IF_ACTION_POINT(16,PLAYER0)
    DISPLAY_INFORMATION(10,16)
    DISPLAY_INFORMATION(11,15)
    CHANGE_SLAB_TYPE(76,89,LAVA)
    PLAY_MESSAGE(PLAYER0,SOUND,856)
ENDIF

IF_ACTION_POINT(17,PLAYER0)
    CHANGE_SLAB_TYPE(49,10,PRETTY_PATH)
    CHANGE_SLAB_TYPE(50,10,PRETTY_PATH)
ENDIF

IF_ACTION_POINT(18,PLAYER0)
    CHANGE_SLAB_TYPE(57,92,PRETTY_PATH)
ENDIF

IF_ACTION_POINT(19,PLAYER0)
    CHANGE_SLAB_TYPE(58,92,PRETTY_PATH)
ENDIF

IF_ACTION_POINT(20,PLAYER0)
    CHANGE_SLAB_TYPE(59,92,PRETTY_PATH)
ENDIF

IF_ACTION_POINT(21,PLAYER0)
    IF_SLAB_TYPE(93,61,LAVA)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0,FLAG4,1)
    ENDIF
    IF(PLAYER0,FLAG4==0)
        NEXT_COMMAND_REUSABLE
        RESET_ACTION_POINT(21,PLAYER0)
    ENDIF
ENDIF

IF_ACTION_POINT(22,PLAYER0)
    CHANGE_SLAB_TYPE(2,10,PRETTY_PATH)
    CHANGE_SLAB_TYPE(2,11,PRETTY_PATH)
    CHANGE_SLAB_TYPE(2,12,PRETTY_PATH)
    CHANGE_SLAB_TYPE(2,13,PRETTY_PATH)
    CHANGE_SLAB_TYPE(2,14,PRETTY_PATH)
    SET_FLAG(PLAYER0,FLAG5,1)
ENDIF

IF_ACTION_POINT(23,PLAYER0)
    IF(PLAYER0,FLAG5==0)
        NEXT_COMMAND_REUSABLE
        USE_SPELL_ON_CREATURE(PLAYER0,ANY_CREATURE,AT_ACTION_POINT[23],SPELL_FREEZE)
        NEXT_COMMAND_REUSABLE
        RESET_ACTION_POINT(23,PLAYER0)
    ENDIF
ENDIF

IF(PLAYER0,TIMER0>=3000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FOUR,-2,1)
ENDIF

IF(PLAYER0,TIMER0>=3500)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FOUR,-1,1)
ENDIF

IF(PLAYER0,TIMER0>=4000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FOUR,2,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FOUR,3,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FOUR,14,1)
    DISPLAY_INFORMATION(2,ALL_PLAYERS)
ENDIF

IF(PLAYER0,TIMER0>=5000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ONE,2,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ONE,-2,1)
ENDIF

IF(PLAYER0,TIMER0>=7000)
    SET_FLAG(PLAYER_GOOD,FLAG1,1)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,8,30,6,0)
ENDIF

IF(PLAYER0,TIMER0>=7200)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,8,30,6,0)
ENDIF

IF(PLAYER0,TIMER0>=8000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ONE,6,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ONE,11,1)
ENDIF

IF(PLAYER0,TIMER0>=10000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,EIGHT,6,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,EIGHT,11,1)
ENDIF

IF(PLAYER0,TIMER0>=11500)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,EIGHT,-2,3)
ENDIF

IF(PLAYER0,TIMER0>=13000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FIVE,-1,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,EIGHT,-2,2)
ENDIF

IF(PLAYER0,TIMER0>=15000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FIVE,-1,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,EIGHT,10,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,11,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FIVE,-2,2)
ENDIF

IF(PLAYER0,TIMER0>=16000)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,-2,20,7,0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FIVE,-1,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,EIGHT,-1,2)
ENDIF

IF(PLAYER0,TIMER0>=17500)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,8,15,7,0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,8,15,7,0)
ENDIF

IF(PLAYER0,TIMER0>=18000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FIVE,2,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,EIGHT,3,1)
    DISPLAY_INFORMATION(3,ALL_PLAYERS)
ENDIF

IF(PLAYER0,TIMER0>=21000)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,-1,15,10,0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,11,10,8,0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,3,1)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,4,10,10,0)
ENDIF

IF(PLAYER0,TIMER0>=22500)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,-2,15,7,0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FIVE,10,1)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,4,10,10,0)
ENDIF

IF(PLAYER0,TIMER0>=25000)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,-1,10,9,0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-1,10,10,0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,4,10,10,0)
ENDIF

IF(PLAYER0,TIMER0>=30000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SEVEN,-1,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THREE,12,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SIX,10,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THREE,11,1)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WITCH,2,10,10,0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,-2,10,9,0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,13,5,9,0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,5,5,9,0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,9,5,9,0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,6,5,9,0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,2,5,9,0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,3,5,9,0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,14,5,9,0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THREE,7,1)
    IF(PLAYER_GOOD,DUNGEON_DESTROYED==0)
        SET_FLAG(PLAYER_GOOD,FLAG0,1)
    ENDIF
ENDIF

IF(PLAYER0,TIMER2>=40000)
    IF(PLAYER_GOOD,DUNGEON_DESTROYED==0)
        IF(PLAYER0,FLAG0==0)
            SET_FLAG(PLAYER0,FLAG1,1)
        ENDIF
    ENDIF
ENDIF

IF(PLAYER_GOOD,FLAG0==1)
    SET_TIMER(PLAYER_GOOD,TIMER0)
    IF(PLAYER_GOOD,TIMER0>=5000)
        NEXT_COMMAND_REUSABLE
        ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,10,15,10,0)
        NEXT_COMMAND_REUSABLE
        ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WITCH,11,10,10,0)
        NEXT_COMMAND_REUSABLE
        SET_TIMER(PLAYER_GOOD,TIMER0)
    ENDIF
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED==1)
    SET_FLAG(PLAYER_GOOD,FLAG0,2)
    SET_FLAG(PLAYER0,FLAG1,0)
ENDIF

IF(PLAYER0,ALL_DUNGEONS_DESTROYED==1)
    IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES<=0)
        DISPLAY_OBJECTIVE(12,ALL_PLAYERS)
        WIN_GAME
    ENDIF
ENDIF

IF(PLAYER_GOOD,FLAG1==1)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,2,5,6,0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,3,5,6,0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,14,5,6,0)
ENDIF

IF(PLAYER_GOOD,FLAG2==1)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,-3,15,9,0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SIX,-3,1)
ENDIF

IF(PLAYER_GOOD,HEART_HEALTH<30000)
    SET_FLAG(PLAYER_GOOD,FLAG2,1)
ENDIF

IF(PLAYER0,FLAG1==1)
    SET_TIMER(PLAYER0,TIMER1)
    DISPLAY_INFORMATION(6,PLAYER0)
    IF(PLAYER0,TIMER1>=20)
        NEXT_COMMAND_REUSABLE
        ADD_HEART_HEALTH(PLAYER0,-25,0)
        NEXT_COMMAND_REUSABLE
        SET_TIMER(PLAYER0,TIMER1)
    ENDIF
ENDIF

IF(PLAYER0,BOX0_ACTIVATED > 0)
    SET_FLAG(PLAYER0,FLAG0,1)
    SET_FLAG(PLAYER0,FLAG1,0)
ENDIF

IF(PLAYER0,BOX1_ACTIVATED > 0)
    SET_TRAP_CONFIGURATION(LAVA,TriggerType,PRESSURE_SUBTILE)
ENDIF

IF_SLAB_OWNER(56,13,PLAYER0)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER_GOOD,FLAG3,0)
ENDIF

IF(PLAYER_GOOD,FLAG3==0)
    IF_SLAB_TYPE(56,13,LAVA)
        NEXT_COMMAND_REUSABLE
        SET_TIMER(PLAYER_GOOD,TIMER1)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER_GOOD,FLAG3,1)
    ENDIF
ENDIF

IF(PLAYER_GOOD,TIMER1>=200)
    IF(PLAYER_GOOD,FLAG3==1)
        NEXT_COMMAND_REUSABLE
        CHANGE_SLAB_TYPE(56,13,PRETTY_PATH)
        NEXT_COMMAND_REUSABLE
        CHANGE_SLAB_OWNER(56,13,PLAYER_GOOD)
        NEXT_COMMAND_REUSABLE
        PLACE_TRAP(PLAYER_GOOD,LAVA,169,40,1)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER_GOOD,FLAG3,0)
    ENDIF
ENDIF

IF_SLAB_TYPE(26,16,PRETTY_PATH)
    DISPLAY_INFORMATION(8,ALL_PLAYERS)
ENDIF

IF(PLAYER0,FLAG2==1)
    IF(PLAYER0,FLAG3==1)
        NEXT_COMMAND_REUSABLE
        ADD_OBJECT_TO_LEVEL_AT_POS(SPECBOX_MULTPLY,280,170,0,PLAYER_NEUTRAL)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0,FLAG2,2)
    ENDIF
    IF(PLAYER0,FLAG3==2)
        NEXT_COMMAND_REUSABLE
        ADD_OBJECT_TO_LEVEL_AT_POS(SPECBOX_INCLEV,280,170,0,PLAYER_NEUTRAL)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0,FLAG2,2)
    ENDIF
    IF(PLAYER0,FLAG3==3)
        NEXT_COMMAND_REUSABLE
        ADD_OBJECT_TO_LEVEL_AT_POS(SPECBOX_STEALHR,280,170,0,PLAYER_NEUTRAL)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0,FLAG2,2)
    ENDIF
    IF(PLAYER0,FLAG3==4)
        NEXT_COMMAND_REUSABLE
        ADD_OBJECT_TO_LEVEL_AT_POS(SPECBOX_RESURCT,280,170,0,PLAYER_NEUTRAL)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0,FLAG2,2)
    ENDIF
    IF(PLAYER0,FLAG3==5)
        NEXT_COMMAND_REUSABLE
        ADD_OBJECT_TO_LEVEL_AT_POS(SPECBOX_HEALALL,280,170,0,PLAYER_NEUTRAL)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0,FLAG2,2)
    ENDIF
    IF(PLAYER0,FLAG3==6)
        NEXT_COMMAND_REUSABLE
        ADD_OBJECT_TO_LEVEL_AT_POS(SPECBOX_MKANGRY,280,170,0,PLAYER_NEUTRAL)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0,FLAG2,2)
    ENDIF
ENDIF

IF(PLAYER0,TIMER3>=200)
    IF(PLAYER0,FLAG2==2)
        NEXT_COMMAND_REUSABLE
        RESET_ACTION_POINT(15,PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0,FLAG2,0)
    ENDIF
ENDIF

IF(PLAYER0,FLAG4==1)
    NEXT_COMMAND_REUSABLE
    CHANGE_SLAB_TYPE(93,61,PRETTY_PATH)
    NEXT_COMMAND_REUSABLE
    RESET_ACTION_POINT(21,PLAYER0)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER0,FLAG4,0)
ENDIF

IF(PLAYER0,PRISON>0)
    ROOM_AVAILABLE(PLAYER0,PRISON,1,0)
ENDIF

IF(PLAYER0,TEMPLE>0)
    ROOM_AVAILABLE(PLAYER0,TEMPLE,1,0)
ENDIF