REM Play Level *** black moon returns ***
REM Published by DzjeeAr

REM ******* Basic settings *******

SET_GENERATE_SPEED(450)

MAX_CREATURES(PLAYER0,45)

SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,THIEF,10)

START_MONEY(PLAYER0,50000)

ADD_CREATURE_TO_POOL(FLY,30)
ADD_CREATURE_TO_POOL(BUG,30)
ADD_CREATURE_TO_POOL(SPIDER,30)
ADD_CREATURE_TO_POOL(DEMONSPAWN,30)
ADD_CREATURE_TO_POOL(SORCEROR,40)
ADD_CREATURE_TO_POOL(BILE_DEMON,50)
ADD_CREATURE_TO_POOL(DRAGON,50)
ADD_CREATURE_TO_POOL(TROLL,30)
ADD_CREATURE_TO_POOL(ORC,30)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)
ADD_CREATURE_TO_POOL(SKELETON,10)
ADD_CREATURE_TO_POOL(GHOST,10)
ADD_CREATURE_TO_POOL(VAMPIRE,10)
ADD_CREATURE_TO_POOL(TENTACLE,10)

REM ********** Available creatures **********

                CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,1)
                CREATURE_AVAILABLE(ALL_PLAYERS,BUG,1,1)
                CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,1)
                CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,1)
                CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,1)
                CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,1)
                CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,1)
                CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,1)
	        CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,1)
                CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,1)
                CREATURE_AVAILABLE(ALL_PLAYERS,SKELETON,1,1)
                CREATURE_AVAILABLE(ALL_PLAYERS,GHOST,1,1)
                CREATURE_AVAILABLE(ALL_PLAYERS,VAMPIRE,1,1)
                CREATURE_AVAILABLE(ALL_PLAYERS,TENTACLE,1,1)
                CREATURE_AVAILABLE(ALL_PLAYERS,HORNY,1,1)

REM ********** Available rooms **********

		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,BARRACKS,1,0)
		ROOM_AVAILABLE(ALL_PLAYERS,PRISON,1,0)
		ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
		ROOM_AVAILABLE(ALL_PLAYERS,TEMPLE,1,0)
		ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,1,0)

REM ********** Available spells **********

                MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
        	MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,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_CONCEAL,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_LIGHTNING,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)

IF(PLAYER0,IMP>1)
        MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,0)
ENDIF

REM ********** Available doors & traps **********

                DOOR_AVAILABLE(ALL_PLAYERS,WOOD,1,0)
		DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)
                DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
		DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,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,LAVA,1,0)
		TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)

REM ********** settings **********

IF(PLAYER0,DUNGEON_DESTROYED == 1)
	LOSE_GAME
ENDIF

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

SET_CREATURE_STRENGTH(KNIGHT,255)
SET_CREATURE_HEALTH(KNIGHT,6000)
SET_CREATURE_ARMOUR(KNIGHT,255)

REM ********** Party's **********


CREATE_PARTY(ONE)
	ADD_TO_PARTY(ONE,GIANT,8,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ONE,GIANT,8,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ONE,BARBARIAN,8,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ONE,FAIRY,8,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ONE,FAIRY,8,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ONE,WIZARD,8,300,ATTACK_ENEMIES,0)

CREATE_PARTY(TWO)
	ADD_TO_PARTY(TWO,WITCH,8,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TWO,FAIRY,8,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TWO,FAIRY,8,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TWO,FAIRY,8,300,ATTACK_ENEMIES,0)
        ADD_TO_PARTY(TWO,THIEF,8,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TWO,THIEF,8,300,ATTACK_ENEMIES,0)

CREATE_PARTY(THREE)
	ADD_TO_PARTY(THREE,SAMURAI,8,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(THREE,SAMURAI,8,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(THREE,FAIRY,8,400,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(THREE,GIANT,8,400,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(THREE,BARBARIAN,8,200,ATTACK_ENEMIES,0)
        ADD_TO_PARTY(THREE,WITCH,8,300,ATTACK_ENEMIES,0)

CREATE_PARTY(FOUR)
	ADD_TO_PARTY(FOUR,MONK,8,900,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FOUR,MONK,8,900,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FOUR,MONK,8,900,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FOUR,WIZARD,8,900,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FOUR,WIZARD,8,900,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FOUR,ARCHER,8,900,ATTACK_ENEMIES,0)

CREATE_PARTY(FIVE)
	ADD_TO_PARTY(FIVE,WIZARD,8,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FIVE,WIZARD,8,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FIVE,WITCH,8,400,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FIVE,ARCHER,8,400,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FIVE,SAMURAI,8,1000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FIVE,SAMURAI,8,1000,ATTACK_ENEMIES,0)

CREATE_PARTY(SIX)
	ADD_TO_PARTY(SIX,FAIRY,10,600,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SIX,WIZARD,10,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SIX,WIZARD,10,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SIX,GIANT,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SIX,GIANT,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SIX,ARCHER,10,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SIX,ARCHER,10,500,ATTACK_ENEMIES,0)

CREATE_PARTY(SEVEN)
	ADD_TO_PARTY(SEVEN,SAMURAI,9,400,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SEVEN,SAMURAI,9,400,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SEVEN,HORNY,10,900,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SEVEN,HORNY,10,900,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SEVEN,AVATAR,10,3000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SEVEN,AVATAR,10,3000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SEVEN,KNIGHT,10,30000,ATTACK_ENEMIES,0)

CREATE_PARTY(X)
	ADD_TO_PARTY(X,WIZARD,9,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(X,WIZARD,9,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(X,DRAGON,10,400,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(X,MONK,9,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(X,MONK,9,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(X,WITCH,9,600,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(X,FAIRY,9,600,ATTACK_ENEMIES,0)

REM ********** Action points **********

IF_ACTION_POINT(6,PLAYER0)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ONE,1,DUNGEON_HEART,0,6,300)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,2,DUNGEON_HEART,0,6,300)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,THREE,4,DUNGEON_HEART,0,6,300)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,FOUR,5,DUNGEON_HEART,0,6,300)
	IF(PLAYER_GOOD,BATTLES_LOST>=5)
                ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ONE,1,DUNGEON_HEART,0,6,300)
                ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,2,DUNGEON_HEART,0,6,300)
                ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,THREE,4,DUNGEON_HEART,0,6,300)
	        ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,FOUR,5,DUNGEON_HEART,0,6,300)
        ENDIF
ENDIF

IF_ACTION_POINT(1,PLAYER0)
	IF_ACTION_POINT(2,PLAYER0)
                IF_ACTION_POINT(4,PLAYER0)
	                IF_ACTION_POINT(5,PLAYER0)
                                ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,FOUR,3,DUNGEON_HEART,0,6,300)
                        ENDIF
                ENDIF
        ENDIF
ENDIF

IF_ACTION_POINT(8,PLAYER0)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,FIVE,7,ACTION_POINT,10,8,500)
        ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,1,0)
ENDIF

IF_ACTION_POINT(9,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,X,-1,2)
        ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SIX,5,2)
        ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SEVEN,5,1)
ENDIF
