LEVEL_VERSION(1)
SET_GENERATE_SPEED(400)
SET_GAME_RULE(GhostConvertChance,0)
START_MONEY(ALL_PLAYERS,0)
MAX_CREATURES(ALL_PLAYERS,20)

QUICK_OBJECTIVE(1,"There's something strange about this place. We have to find out what they're doing here. It looks like the magic in this place is so strong that we can't build any rooms for now. Good luck, Keeper!",PLAYER0)

ADD_CREATURE_TO_POOL(FLY,16)
ADD_CREATURE_TO_POOL(BUG,16)
ADD_CREATURE_TO_POOL(DEMONSPAWN,16)
ADD_CREATURE_TO_POOL(TROLL,16)
ADD_CREATURE_TO_POOL(SPIDER,16)
ADD_CREATURE_TO_POOL(HELL_HOUND,16)
ADD_CREATURE_TO_POOL(TENTACLE,16)
ADD_CREATURE_TO_POOL(SORCEROR,16)
ADD_CREATURE_TO_POOL(ORC,16)
ADD_CREATURE_TO_POOL(BILE_DEMON,16)
ADD_CREATURE_TO_POOL(DRAGON,16)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,16)

CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BUG,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TENTACLE,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,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)

TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)

IF(PLAYER0,SKELETON > 11)
    NEXT_COMMAND_REUSABLE
    SET_GAME_RULE(PrisonSkeletonChance,0)
ENDIF

REM IF ALL IMPS GET LOST
SET_TIMER(PLAYER0,TIMER2)
IF(PLAYER0,TIMER2 >= 1000)
	QUICK_INFORMATION(5,"Take extra care of your Imps. The spell is far away in the enemy's fortress. But a few friendly Imps will join you once you find them along the way.",PLAYER0)
    IF(PLAYER0,IMP <= 1)
		NEXT_COMMAND_REUSABLE
		QUICK_INFORMATION(6,"You lost all your Imps. Here's a new one. Be more careful this time, Keeper!",PLAYER0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER0,IMP,PLAYER0,1,1,100)
            NEXT_COMMAND_REUSABLE
            SET_TIMER(PLAYER0,TIMER2)
    ENDIF
ENDIF

IF(PLAYER0,BRIDGE > 0)
	ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
		TUTORIAL_FLASH_BUTTON(18,100)
	ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,1)
	ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,1)
	TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,1)
	DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,1)
	QUICK_INFORMATION(4,"Now we have some more options to build and some more traps. Make the best of it, Keeper!",PLAYER0)
ENDIF

CREATE_PARTY(UNDEAD1)
    ADD_TO_PARTY(UNDEAD1,VAMPIRE,8,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(UNDEAD1,SKELETON,8,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD1,GHOST,8,500,ATTACK_ENEMIES,0)
	
CREATE_PARTY(UNDEAD2)
    ADD_TO_PARTY(UNDEAD2,SKELETON,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD2,SKELETON,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD2,SKELETON,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD2,SKELETON,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD2,SKELETON,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD2,SKELETON,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD2,SKELETON,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD2,SKELETON,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD2,SKELETON,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD2,SKELETON,10,500,ATTACK_ENEMIES,0)
	
CREATE_PARTY(UNDEAD3)
    ADD_TO_PARTY(UNDEAD3,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD3,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD3,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD3,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD3,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD3,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD3,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD3,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD3,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD3,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD3,VAMPIRE,9,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD3,VAMPIRE,9,500,ATTACK_ENEMIES,0)
	
CREATE_PARTY(UNDEAD4)
    ADD_TO_PARTY(UNDEAD4,VAMPIRE,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD4,VAMPIRE,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD4,VAMPIRE,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD4,VAMPIRE,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD4,VAMPIRE,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD4,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD4,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD4,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD4,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD4,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD4,SKELETON,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD4,SKELETON,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD4,SKELETON,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD4,SKELETON,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD4,SKELETON,10,500,ATTACK_ENEMIES,0)

CREATE_PARTY(UNDEAD5)
    ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(UNDEAD5,GHOST,10,500,ATTACK_ENEMIES,0)
    
IF_ACTION_POINT(1,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,UNDEAD1,1,1)
QUICK_INFORMATION(1,"It looks like the heroes in this place are trying to summon undead. This could be very dangerous for us. We have to stop it! Are there any more powerful summoning circles in this realm? I hope not.",PLAYER0)
ENDIF

IF_ACTION_POINT(2,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,UNDEAD2,2,1)
QUICK_INFORMATION(2,"The summoned creatures are getting stronger and stronger!",PLAYER0)
ENDIF

IF_ACTION_POINT(3,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,UNDEAD1,1,1)
ENDIF

IF_ACTION_POINT(4,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,UNDEAD3,4,1)
ENDIF

IF_ACTION_POINT(5,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,UNDEAD4,5,1)
ENDIF

IF_ACTION_POINT(6,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,UNDEAD4,6,1)
ENDIF

IF_ACTION_POINT(7,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,UNDEAD5,7,1)
ENDIF

IF_ACTION_POINT(8,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,UNDEAD5,8,1)
QUICK_INFORMATION(3,"This is where the power seems to be strongest. What is hiding behind these two magic doors?",PLAYER0)
ENDIF

IF_ACTION_POINT(9,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,UNDEAD3,1,1)
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,-1,4,10,400)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,-2,4,10,400)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,AVATAR,-3,4,10,400)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,KNIGHT,-3,4,10,400)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,-4,4,10,400)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,-5,4,10,400)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,-6,4,10,400)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,TUNNELLER,-12,4,10,400)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,-11,4,10,400)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,-10,4,10,400)

    IF(PLAYER_GOOD,TOTAL_CREATURES == 0)
        WIN_GAME
    ENDIF
ENDIF