LEVEL_VERSION(1)
COMPUTER_PLAYER(PLAYER1, 0)
SET_COMPUTER_GLOBALS(PLAYER1, 0, 0, 0, 0, 0, 0, 0)

REM Flags:
REM PLAYER0,FLAG0 FIGHT_PHASE_ENDED
REM PLAYER0,FLAG1 PREPARNG_PHASE
REM PLAYER0,FLAG2 PLAYER COLLUM CREATURE RANDOM 
REM PLAYER0,FLAG3 PLAYER ROW CREATURE RANDOM
REM PLAYER0,FLAG4 CREATURE RANDOM
REM PLAYER0,FLAG5 DESTROY BOXES TIMER
REM PLAYER0,FLAG6 PLAYER COUNTER CREATURE 
REM PLAYER0,FLAG7 ROUND COUNTER 
REM PLAYER1,FLAG0 PREPARING COUNTDOWN 
REM PLAYER1,FLAG1 END_PASE
REM PLAYER1,FLAG2 PLAYER0 LEFT CREATURE COUNT 
REM PLAYER1,FLAG3 PLAYER0 RIGHT CREATURE COUNT 
REM PLAYER1,FLAG4 PLAYER1 CREATURE COUNT
REM PLAYER1,FLAG5 WINFLAG FOR COMPUTER
REM PLAYER1,FLAG6 WINFLAG FOR PLAYER

IF(PLAYER0, BOX18_ACTIVATED == 1)
    REVEAL_MAP_RECT(PLAYER0, 133, 121, 70, 70)
    if(PLAYER0, FLAG7 == 3)
        NEXT_COMMAND_REUSABLE
        DISPLAY_VARIABLE(PLAYER0, FLAG6, 3, 0)
    ENDIF
    if(PLAYER0, FLAG7 == 6)
        NEXT_COMMAND_REUSABLE
        DISPLAY_VARIABLE(PLAYER0, FLAG6, 6, 0)
    ENDIF
    if(PLAYER0, FLAG7 == 9)
        NEXT_COMMAND_REUSABLE
        DISPLAY_VARIABLE(PLAYER0, FLAG6, 9, 0)
    ENDIF
    IF(PLAYER0, FLAG1 == 0)
        NEXT_COMMAND_REUSABLE
        HIDE_VARIABLE
    ENDIF
ENDIF

SET_FLAG(PLAYER0, FLAG0, 1)
SET_FLAG(PLAYER0, FLAG1, 1)
SET_FLAG(PLAYER0, FLAG4, 1)
SET_FLAG(PLAYER0, FLAG7, 3)
SET_FLAG(PLAYER1, FLAG0, 1)
SET_FLAG(PLAYER0, FLAG2, 4)

CONCEAL_MAP_RECT(PLAYER0, 133, 121, 100, 100, 1)
REVEAL_MAP_LOCATION(PLAYER0, PLAYER0, 18)
SET_CREATURE_INSTANCE(DRUID, 2, RANGED_HEAL, 2)
SET_CREATURE_INSTANCE(DRUID, 3, RANGED_SPEED, 3)
SET_CREATURE_INSTANCE(DRUID, 4, RANGED_ARMOUR, 4)
MAGIC_AVAILABLE(PLAYER0, POWER_IMP, 0, 0)
MAGIC_AVAILABLE(PLAYER1, POWER_IMP, 0, 0)
MAGIC_AVAILABLE(PLAYER1, POWER_HAND, 0, 0)
MAGIC_AVAILABLE(PLAYER1, POWER_SLAP, 0, 0)
MAGIC_AVAILABLE(PLAYER0, POWER_POSSESS, 0, 0)
SET_FLAG(PLAYER0, FLAG5, 0)
SET_OBJECT_CONFIGURATION(SPECBOX_CUSTOM, DestroyOnLava, 1)
NEXT_COMMAND_REUSABLE
KILL_CREATURE(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[64], 1)

REM Preparing phase
If(PLAYER0, FLAG1 == 1)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(BILE_DEMON, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(BUG, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(DARK_MISTRESS, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(DEMONSPAWN, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(DRAGON, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(DRUID, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(FLY, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(GHOST, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(HELL_HOUND, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(HORNY, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(ORC, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(SKELETON, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(SORCEROR, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(SPIDER, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(TENTACLE, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(TIME_MAGE, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(TROLL, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(VAMPIRE, BaseSpeed, 0)
    NEXT_COMMAND_REUSABLE
    MAGIC_AVAILABLE(PLAYER0, POWER_HAND, 1, 1)
ENDIF

If(PLAYER0, FLAG0 > 0)
    NEXT_COMMAND_REUSABLE
    CHANGE_SLAB_TYPE(40, 40, DRAPE_WALL, MATCH)
ENDIF


IF(PLAYER0, FLAG4 == 1)
    IF(PLAYER0, FLAG2 == 4)
        NEXT_COMMAND_REUSABLE
        RANDOMISE_FLAG(PLAYER0, FLAG2, 3)
    ENDIF
    IF(PLAYER0, FLAG3 == 6)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG3, 0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 2)
    ENDIF
    IF(PLAYER0, FLAG3 == 0)
        IF(PLAYER0, FLAG2 == 3)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 61, 0, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, BILE_DEMON, 62, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF

    IF(PLAYER0, FLAG3 == 1)
        IF(PLAYER0, FLAG2 == 3)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 33, 1, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, BUG, 38, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF


    IF(PLAYER0, FLAG3 == 2)
        IF(PLAYER0, FLAG2 == 3)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 34, 2, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, DARK_MISTRESS, 39, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF


    IF(PLAYER0, FLAG3 == 3)
        IF(PLAYER0, FLAG2 == 3)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 35, 3, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, DEMONSPAWN, 40, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF


    IF(PLAYER0, FLAG3 == 4)
        IF(PLAYER0, FLAG2 == 3)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 36, 4, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, DRAGON, 41, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF


    IF(PLAYER0, FLAG3 == 5)
        IF(PLAYER0, FLAG2 == 3)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 37, 5, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, DRUID, 42, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF



    IF(PLAYER0, FLAG3 == 0)
        IF(PLAYER0, FLAG2 == 1)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 61, 6, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, FLY, 62, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF


    IF(PLAYER0, FLAG3 == 1)
        IF(PLAYER0, FLAG2 == 1)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 33, 7, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, GHOST, 38, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF


    IF(PLAYER0, FLAG3 == 2)
        IF(PLAYER0, FLAG2 == 1)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 34, 8, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, HELL_HOUND, 39, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF


    IF(PLAYER0, FLAG3 == 3)
        IF(PLAYER0, FLAG2 == 1)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 35, 9, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, HORNY, 40, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF


    IF(PLAYER0, FLAG3 == 4)
        IF(PLAYER0, FLAG2 == 1)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 36, 10, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, ORC, 41, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF


    IF(PLAYER0, FLAG3 == 5)
        IF(PLAYER0, FLAG2 == 1)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 37, 11, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, SKELETON, 42, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF



    IF(PLAYER0, FLAG3 == 0)
        IF(PLAYER0, FLAG2 == 2)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 61, 12, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, SORCEROR, 62, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF


    IF(PLAYER0, FLAG3 == 1)
        IF(PLAYER0, FLAG2 == 2)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 33, 13, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, SPIDER, 38, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF


    IF(PLAYER0, FLAG3 == 2)
        IF(PLAYER0, FLAG2 == 2)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 34, 14, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, TENTACLE, 39, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF


    IF(PLAYER0, FLAG3 == 3)
        IF(PLAYER0, FLAG2 == 2)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 35, 15, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, TIME_MAGE, 40, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF


    IF(PLAYER0, FLAG3 == 4)
        IF(PLAYER0, FLAG2 == 2)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 36, 16, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, TROLL, 41, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF


    IF(PLAYER0, FLAG3 == 5)
        IF(PLAYER0, FLAG2 == 2)
            NEXT_COMMAND_REUSABLE
            ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 37, 17, PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, VAMPIRE, 42, 1, DRAWFROM(1 ~ 10), 0)
            NEXT_COMMAND_REUSABLE
            ADD_TO_FLAG(PLAYER0, FLAG3, 1)
            NEXT_COMMAND_REUSABLE
            SET_FLAG(PLAYER0, FLAG2, 4)
        ENDIF
    ENDIF
ENDIF

IF(PLAYER0, FLAG4 == 2)
    IF(PLAYER0, BOX0_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[62], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX0_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX1_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[38], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX1_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX2_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[39], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX2_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX3_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[40], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX3_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX4_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[41], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX4_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX5_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[42], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX5_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX6_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[62], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX6_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX7_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[38], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX7_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX8_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[39], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX8_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX9_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[40], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX9_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX10_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[41], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX10_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX11_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[42], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX11_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX12_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[62], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX12_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX13_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[38], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX13_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX14_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[39], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX14_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX15_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[40], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX15_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX16_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[41], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX16_ACTIVATED, 0)
    ENDIF
    IF(PLAYER0, BOX17_ACTIVATED == 1)
        NEXT_COMMAND_REUSABLE
        CHANGE_CREATURE_OWNER(ALL_PLAYERS, ANY_CREATURE, AT_ACTION_POINT[42], PLAYER0)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, FLAG4, 3)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER0, BOX17_ACTIVATED, 0)
    ENDIF
ENDIF

IF(PLAYER0, FLAG5 == 0)
    NEXT_COMMAND_REUSABLE
    SET_TIMER(PLAYER0, TIMER1)
ENDIF
IF(PLAYER0, TIMER1 > 5)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER0, FLAG5, 0)
    NEXT_COMMAND_REUSABLE
    CHANGE_SLAB_TYPE(40, 46, PATH, MATCH)
    NEXT_COMMAND_REUSABLE
    CHANGE_SLAB_OWNER(40, 46, PLAYER0, MATCH)
ENDIF

REM WTF
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER1, FLAG2, 0)
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER1, FLAG3, 1)

IF(PLAYER0, FLAG5 == 0)
    IF(PLAYER0, FLAG4 == 4)
        NEXT_COMMAND_REUSABLE
        COUNT_CREATURES_AT_ACTION_POINT(65, PLAYER0, ANY_CREATURE, PLAYER1, FLAG2)
        NEXT_COMMAND_REUSABLE
        COUNT_CREATURES_AT_ACTION_POINT(66, PLAYER0, ANY_CREATURE, PLAYER1, FLAG3)
        REM WTF
        IF(PLAYER1, FLAG2 == PLAYER1, FLAG3)
            IF(PLAYER0, FLAG1 != 0)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG5, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 5)
            ENDIF
        ENDIF
    ENDIF
ENDIF

REM remove white
IF(PLAYER1, FLAG6 == 0)
    NEXT_COMMAND_REUSABLE
    SET_TIMER(PLAYER0, TIMER2)
ENDIF
IF(PLAYER0, TIMER2 > 10)
    rem   NEXT_COMMAND_REUSABLE
    rem   MOVE_CREATURE(PLAYER_GOOD, ANY_CREATURE, AT_ACTION_POINT[65], 4, PLAYER_GOOD, EFFECT_BALL_PUFF_WHITE)
    rem   NEXT_COMMAND_REUSABLE
    rem   MOVE_CREATURE(PLAYER_GOOD, ANY_CREATURE, AT_ACTION_POINT[66], 4, PLAYER_GOOD, EFFECT_BALL_PUFF_WHITE)

    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER1, FLAG6, 0)
ENDIF

IF(PLAYER0, FLAG4 == 3)
    NEXT_COMMAND_REUSABLE
    USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD, ANY_CREATURE, SPELL_TELEPORT)
    NEXT_COMMAND_REUSABLE
    CHANGE_SLAB_TYPE(40, 46, LAVA, MATCH)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER0, FLAG5, 1)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER1, FLAG6, 1)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER0, FLAG4, 4)
ENDIF

IF(PLAYER0, FLAG4 == 5)
    IF(PLAYER1, FLAG4 != PLAYER0, FLAG7)
        IF(PLAYER0, FLAG7 == 3)
            IF(PLAYER1, FLAG4 == 0)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 == 1)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 == 2)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 > 2)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
        ENDIF

        IF(PLAYER0, FLAG7 == 6)
            IF(PLAYER1, FLAG4 == 0)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 == 1)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 == 2)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 == 3)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 == 4)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 == 5)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 == 6)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 > 6)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF

        ENDIF

        IF(PLAYER0, FLAG7 == 9)
            IF(PLAYER1, FLAG4 == 0)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 == 1)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 == 2)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 == 3)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 == 4)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 == 5)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 == 6)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 == 7)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 == 8)
                NEXT_COMMAND_REUSABLE
                ADD_CREATURE_TO_LEVEL(PLAYER1, DRAWFROM(DRAWFROM(BILE_DEMON, BUG, DARK_MISTRESS, DEMONSPAWN, DRAGON, DRUID), DRAWFROM(FLY, GHOST, HELL_HOUND, HORNY, ORC, SKELETON), DRAWFROM(SORCEROR, SPIDER, TENTACLE, TIME_MAGE, TROLL, VAMPIRE)), DRAWFROM(DRAWFROM(1, 2, 3, 4, 5, 6, 7, 8), DRAWFROM(9, 10, 11, 12, 13, 14, 15, 16), DRAWFROM(17, 18, 19, 20, 21, 22, 23, 24), DRAWFROM(25, 26, 27, 28, 29, 30)), 1, DRAWFROM(1 ~ 10), 0)
                NEXT_COMMAND_REUSABLE
                ADD_TO_FLAG(PLAYER1, FLAG4, 1)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
            IF(PLAYER1, FLAG4 > 8)
                NEXT_COMMAND_REUSABLE
                SET_FLAG(PLAYER0, FLAG4, 1)
            ENDIF
        ENDIF
    ENDIF
ENDIF

REM PREPARING COUNTDOWN
IF(PLAYER1, FLAG0 == 1)
    NEXT_COMMAND_REUSABLE
    BONUS_LEVEL_TIME(0, 1)
    NEXT_COMMAND_REUSABLE
    SET_TIMER(PLAYER0, TIMER0)
ENDIF
IF(PLAYER1, FLAG0 == 0)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER0, FLAG4, 3)
    NEXT_COMMAND_REUSABLE
    BONUS_LEVEL_TIME(100, 1)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER0, FLAG1, 0)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER1, FLAG0, 2)
ENDIF
IF(PLAYER0, TIMER0 > 100)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER0, FLAG0, 0)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER1, FLAG0, 1)
ENDIF


REM END PREPERING PHASE 
NEXT_COMMAND_REUSABLE
SET_FLAG(PLAYER0, FLAG6, 0)
IF(PLAYER0, FLAG1 == 1)
    NEXT_COMMAND_REUSABLE
    COUNT_CREATURES_AT_ACTION_POINT(63, PLAYER0, ANY_CREATURE, PLAYER0, FLAG6)
    REM ROUND1
    IF(PLAYER0, FLAG6 == PLAYER0, FLAG7)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER1, FLAG0, 0)
    ENDIF
ENDIF

REM Fight phase
If(PLAYER0, FLAG0 == 0)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(BILE_DEMON, BaseSpeed, 48)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(BUG, BaseSpeed, 48)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(DARK_MISTRESS, BaseSpeed, 64)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(DEMONSPAWN, BaseSpeed, 48)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(DRAGON, BaseSpeed, 32)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(DRUID, BaseSpeed, 32)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(FLY, BaseSpeed, 128)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(GHOST, BaseSpeed, 64)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(HELL_HOUND, BaseSpeed, 96)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(HORNY, BaseSpeed, 96)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(ORC, BaseSpeed, 48)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(SKELETON, BaseSpeed, 64)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(SORCEROR, BaseSpeed, 32)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(SPIDER, BaseSpeed, 48)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(TENTACLE, BaseSpeed, 32)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(TIME_MAGE, BaseSpeed, 32)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(TROLL, BaseSpeed, 48)
    NEXT_COMMAND_REUSABLE
    SET_CREATURE_CONFIGURATION(VAMPIRE, BaseSpeed, 56)
    NEXT_COMMAND_REUSABLE
    CHANGE_SLAB_TYPE(40, 40, BRIDGE_FRAME, MATCH)
    NEXT_COMMAND_REUSABLE
    MAGIC_AVAILABLE(PLAYER0, POWER_HAND, 0, 0)
ENDIF


REM Evaluation phase
If(PLAYER0, FLAG1 == 0)
    IF(PLAYER0, TOTAL_CREATURES == 0)
        NEXT_COMMAND_REUSABLE
        ADD_TO_FLAG(PLAYER1, FLAG5, 1)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER1, FLAG1, 1)
        NEXT_COMMAND_REUSABLE
        ADD_HEART_HEALTH(PLAYER0, -9999)
        NEXT_COMMAND_REUSABLE
        CREATE_EFFECTS_LINE(COMBAT, PLAYER0, 0, 6, 10, EFFECTELEMENT_BLUE_SPARKLES_LARGE)
        NEXT_COMMAND_REUSABLE
        CREATE_EFFECT(EFFECT_WORD_OF_POWER, PLAYER0)
    ENDIF
    IF(PLAYER1, TOTAL_CREATURES == 0)
        NEXT_COMMAND_REUSABLE
        ADD_TO_FLAG(PLAYER1, FLAG6, 1)
        NEXT_COMMAND_REUSABLE
        SET_FLAG(PLAYER1, FLAG1, 1)
        NEXT_COMMAND_REUSABLE
        ADD_HEART_HEALTH(PLAYER1, -9999)
        NEXT_COMMAND_REUSABLE
        CREATE_EFFECTS_LINE(COMBAT, PLAYER1, 0, 6, 10, EFFECTELEMENT_RED_SPARKLES_LARGE)
        NEXT_COMMAND_REUSABLE
        CREATE_EFFECT(EFFECT_WORD_OF_POWER, PLAYER1)
    ENDIF
ENDIF

REM End phase
If(PLAYER1, FLAG1 == 1)
    NEXT_COMMAND_REUSABLE
    ADD_TO_FLAG(PLAYER0, FLAG7, 3)
    NEXT_COMMAND_REUSABLE
    MOVE_CREATURE(PLAYER0, ANY_CREATURE, AT_ACTION_POINT[63], 20, PLAYER_GOOD, EFFECT_BALL_PUFF_RED)
    NEXT_COMMAND_REUSABLE
    MOVE_CREATURE(PLAYER1, ANY_CREATURE, AT_ACTION_POINT[63], 20, PLAYER_GOOD, EFFECT_BALL_PUFF_BLUE)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER0, FLAG3, 0)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER0, FLAG2, 4)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER0, FLAG1, 1)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER0, FLAG0, 1)
    NEXT_COMMAND_REUSABLE
    SET_GAME_RULE(BodyRemainsFor, 0)
    NEXT_COMMAND_REUSABLE
    SET_GAME_RULE(BodyRemainsFor, 500)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER1, FLAG4, 0)
    NEXT_COMMAND_REUSABLE
    SET_FLAG(PLAYER1, FLAG1, 0)
ENDIF

REM GAME END
IF(PLAYER0, FLAG7 == 12)
    IF(PLAYER1, FLAG5 > PLAYER1, FLAG6)
        SET_HEART_HEALTH(PLAYER0, 0)
        LOSE_GAME
    ENDIF
    IF(PLAYER1, FLAG5 < PLAYER1, FLAG6)
        SET_HEART_HEALTH(PLAYER1, 0)
        WIN_GAME
    ENDIF
ENDIF
IF(PLAYER1, DUNGEON_DESTROYED == 1)
    WIN_GAME
ENDIF