OldKeeperReader/test/map00021/orig/map00021.txt
Nicholas George 70ef6a1ee9 begin project
2022-08-26 21:24:57 -05:00

348 lines
10 KiB
Plaintext

REM PLAY Level 34
SET_GENERATE_SPEED(700)
MAX_CREATURES(PLAYER0,25)
MAX_CREATURES(PLAYER1,35)
START_MONEY(PLAYER0,20000)
START_MONEY(PLAYER1,60000)
COMPUTER_PLAYER(PLAYER1,6)
REM ALL PLAYERS
ADD_CREATURE_TO_POOL(FLY,20)
ADD_CREATURE_TO_POOL(SPIDER,25)
ADD_CREATURE_TO_POOL(DEMONSPAWN,45)
ADD_CREATURE_TO_POOL(TROLL,30)
ADD_CREATURE_TO_POOL(SORCEROR,17)
ADD_CREATURE_TO_POOL(BILE_DEMON,25)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)
ADD_CREATURE_TO_POOL(VAMPIRE,11)
ADD_CREATURE_TO_POOL(DRAGON,11)
ADD_CREATURE_TO_POOL(HELL_HOUND,30)
ADD_CREATURE_TO_POOL(ORC,30)
REM Creature_Availability
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,VAMPIRE,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,1)
REM Room_Availability
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,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,PRISON,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,SCAVENGER,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TEMPLE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,1,0)
REM Spells
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
REM doors & traps
DOOR_AVAILABLE(ALL_PLAYERS,WOOD,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)
REM research order
rem CREATE_TEXT(0,134"YOUR MISSION HERE IS TO CAPTURE THE AVATAR AND TURN THIS WHOLE WORLD EVIL. A RIVAL KEEPER CHALLENGES YOU FOR THE CROWN OF THE MOST EVIL.")
rem CREATE_TEXT(1,135"WELL DONE,YOU HAVE DESTROYED THE AVATAR'S CASTLE, BUT YOUR RIVAL HAS ALREADY MADE OFF WITH THE CAPTURED AVATAR.ONLY THE MOST EVIL OF DUNGEON KEEPER'S CAN KILL THE AVATAR. PROVE YOUR WORTH, RAMSACK YOUR RIVALS CASTLE AND KILL THE AVATAR")
rem CREATE_TEXT(2,136"THE AVATAR IS DEAD BUT NOT BURIED, HE HAS RESSURECTED HIMSELF IN A HIDDEN HERO STRONGHOLD AND IS ENTHUSING HIS ARMIES TO DESTROY YOUR DUNGEON. THIS NOW IS THE ULTIMATE BATTLE BETWEEN GOOD AND EVIL, THERE CAN ONLY BE ONE SURVIVOR.")
DISPLAY_OBJECTIVE(134,PLAYER0)
CREATE_PARTY(ONE)
ADD_TO_PARTY(ONE,ARCHER,2,300,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ONE,ARCHER,2,300,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ONE,ARCHER,2,300,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ONE,ARCHER,2,300,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ONE,ARCHER,2,300,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ONE,ARCHER,2,300,ATTACK_ENEMIES,0)
CREATE_PARTY(TWO)
ADD_TO_PARTY(TWO,ARCHER,3,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(TWO,BARBARIAN,3,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(TWO,BARBARIAN,3,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(TWO,ARCHER,3,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(TWO,ARCHER,3,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(TWO,ARCHER,3,500,ATTACK_ENEMIES,0)
CREATE_PARTY(THREE)
ADD_TO_PARTY(THREE,DWARFA,4,550,ATTACK_ENEMIES,0)
ADD_TO_PARTY(THREE,DWARFA,4,550,ATTACK_ENEMIES,0)
ADD_TO_PARTY(THREE,DWARFA,4,550,ATTACK_ENEMIES,0)
ADD_TO_PARTY(THREE,DWARFA,4,550,ATTACK_ENEMIES,0)
ADD_TO_PARTY(THREE,DWARFA,4,550,ATTACK_ENEMIES,0)
ADD_TO_PARTY(THREE,WIZARD,5,650,ATTACK_ENEMIES,0)
CREATE_PARTY(FOUR)
ADD_TO_PARTY(FOUR,WIZARD,5,650,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FOUR,WIZARD,5,650,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FOUR,WIZARD,5,650,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FOUR,WIZARD,5,650,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FOUR,DWARFA,5,650,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FOUR,DWARFA,5,650,ATTACK_ENEMIES,0)
CREATE_PARTY(FIVE)
ADD_TO_PARTY(FIVE,BARBARIAN,5,750,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FIVE,BARBARIAN,5,750,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FIVE,BARBARIAN,5,750,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FIVE,FAIRY,5,750,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FIVE,FAIRY,5,750,ATTACK_ENEMIES,0)
CREATE_PARTY(THIEVES)
ADD_TO_PARTY(THIEVES,THIEF,8,2000,STEAL_GOLD,0)
ADD_TO_PARTY(THIEVES,THIEF,8,2000,STEAL_GOLD,0)
CREATE_PARTY(SKELETON)
ADD_TO_PARTY(SKELETON(SKELETON,6,300,ATTACK_ENEMIES,0)
CREATE_PARTY(DWARVEN)
ADD_TO_PARTY(DWARVEN,DWARFA,5,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(DWARVEN,DWARFA,5,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(DWARVEN,DWARFA,5,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(DWARVEN,DWARFA,5,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(DWARVEN,DWARFA,5,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(DWARVEN,DWARFA,5,2000,ATTACK_ENEMIES,0)
CREATE_PARTY(TRAINERS)
ADD_TO_PARTY(TRAINERS,BARBARIAN,4,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(TRAINERS,BARBARIAN,4,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(TRAINERS,WIZARD,5,1200,STEAL_SPELLS,0)
ADD_TO_PARTY(TRAINERS,WIZARD,3,700,ATTACK_ENEMIES,0)
ADD_TO_PARTY(TRAINERS,ARCHER,3,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(TRAINERS,THIEF,7,3000,STEAL_GOLD,0)
CREATE_PARTY(SAMURAIII)
ADD_TO_PARTY(SAMURAIII,SAMURAI,6,2500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(SAMURAIII,SAMURAI,6,2500,ATTACK_ENEMIES,0)
IF_ACTION_POINT(1,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ONE,2,1)
SET_FLAG(PLAYER_GOOD,FLAG0,1)
SET_TIMER(PLAYER_GOOD,TIMER0)
ENDIF
IF_ACTION_POINT(10,PLAYER0)
SET_FLAG(PLAYER_GOOD,FLAG0,1)
ENDIF
IF_ACTION_POINT(17,PLAYER0)
SET_FLAG(PLAYER_GOOD,FLAG0,1)
ENDIF
IF(PLAYER_GOOD,FLAG0 == 1)
IF(PLAYER_GOOD,TIMER0 >= 1500)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,-4,1)
SET_TIMER(PLAYER_GOOD,TIMER0)
ENDIF
ENDIF
IF(PLAYER_GOOD,FLAG0 == 1)
IF(PLAYER_GOOD,TIMER0 >= 6000)
NEXT_COMMAND_REUSABLE
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THREE,-4,1)
next_command_reusable
SET_TIMER(PLAYER_GOOD,TIMER0)
ENDIF
ENDIF
IF(PLAYER_GOOD,FLAG0 == 1)
IF(PLAYER0,TORTURE >= 1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THIEVES,-4,1)
ENDIF
ENDIF
IF_ACTION_POINT(3,PLAYER0)
IF(PLAYER_GOOD,FLAG0 == 1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SKELETON,4,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SKELETON,5,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SKELETON,6,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SKELETON,7,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SKELETON,8,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SKELETON,9,1)
SET_TIMER(PLAYER_GOOD,TIMER1)
ENDIF
ENDIF
IF(PLAYER_GOOD,TIMER1 >= 250)
ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GHOST,6,1,8,0)
ENDIF
IF(PLAYER_GOOD,TIMER1 >= 290)
ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GHOST,9,1,8,0)
ENDIF
IF(PLAYER_good,DUNGEON_DESTROYED == 1)
SET_FLAG(PLAYER_GOOD,FLAG0,2)
DISPLAY_OBJECTIVE(135,PLAYER_GOOD)
ADD_CREATURE_TO_LEVEL(PLAYER1,HORNY,PLAYER1,1,10,0)
ENDIF
IF_ACTION_POINT(10,PLAYER0)
IF(PLAYER_GOOD,FLAG0 == 1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TRAINERS,11,1)
ENDIF
ENDIF
IF_ACTION_POINT(12,PLAYER0)
IF(PLAYER_GOOD,FLAG0 == 1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FIVE,-5,1)
ENDIF
ENDIF
IF_ACTION_POINT(13,PLAYER0)
IF(PLAYER_GOOD,FLAG0 == 1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SAMURAIII,14,1)
ENDIF
ENDIF
IF_ACTION_POINT(13,PLAYER0)
IF(PLAYER_GOOD,FLAG0 == 1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SAMURAIII,15,1)
ENDIF
ENDIF
IF_ACTION_POINT(16,PLAYER0)
IF(PLAYER_GOOD,FLAG0 == 1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DWARVEN,-4,1)
ENDIF
ENDIF
CREATE_PARTY(TUNNELLER)
ADD_TO_PARTY(TUNNELLER,TUNNELLER,6,200,ATTACK_ENEMIES,0)
ADD_TO_PARTY(TUNNELLER,TUNNELLER,6,200,ATTACK_ENEMIES,0)
ADD_TO_PARTY(TUNNELLER,TUNNELLER,6,200,ATTACK_ENEMIES,0)
ADD_TO_PARTY(TUNNELLER,TUNNELLER,6,200,ATTACK_ENEMIES,0)
CREATE_PARTY(AVATAR_I)
ADD_TO_PARTY(AVATAR_I,KNIGHT,7,3000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(AVATAR_I,BARBARIAN,5,750,ATTACK_ENEMIES,0)
ADD_TO_PARTY(AVATAR_I,BARBARIAN,5,750,ATTACK_ENEMIES,0)
ADD_TO_PARTY(AVATAR_I,ARCHER,3,550,ATTACK_ENEMIES,0)
ADD_TO_PARTY(AVATAR_I,ARCHER,3,550,ATTACK_ENEMIES,0)
CREATE_PARTY(AVATAR_II)
ADD_TO_PARTY(AVATAR_II,KNIGHT,8,3500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(AVATAR_II,SAMURAI,5,1750,ATTACK_ENEMIES,0)
ADD_TO_PARTY(AVATAR_II,SAMURAI,5,1750,ATTACK_ENEMIES,0)
ADD_TO_PARTY(AVATAR_II,SAMURAI,5,1750,ATTACK_ENEMIES,0)
CREATE_PARTY(AVATAR_III)
ADD_TO_PARTY(AVATAR_III,KNIGHT,9,4000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(AVATAR_III,MONK,7,3000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(AVATAR_III,MONK,7,3000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(AVATAR_III,MONK,7,3000,ATTACK_ENEMIES,0)
CREATE_PARTY(AVATAR)
ADD_TO_PARTY(AVATAR,KNIGHT,9,4000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(AVATAR,KNIGHT,9,4000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(AVATAR,KNIGHT,9,4000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(AVATAR,KNIGHT,9,4000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(AVATAR,AVATAR,10,20000,ATTACK_ENEMIES,0)
CREATE_PARTY(FAIRY)
ADD_TO_PARTY(FAIRY,FAIRY,9,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FAIRY,FAIRY,9,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FAIRY,FAIRY,9,2000,ATTACK_ENEMIES,0)
IF(PLAYER1,DUNGEON_DESTROYED == 1)
SET_FLAG(PLAYER0,FLAG0,3)
ENDIF
IF(PLAYER_GOOD,FLAG0 == 3)
IF(PLAYER_GOOD,AVATAR == 0)
DISPLAY_OBJECTIVE(136,PLAYER0)
SET_FLAG(PLAYER0,FLAG0,4)
ENDIF
ENDIF
IF(PLAYER0,FLAG0 == 4)
ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,TUNNELLER,18,DUNGEON,0,6,200)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AVATAR_I,-1,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AVATAR_II,-2,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AVATAR_III,-3,1)
SET_TIMER(PLAYER_GOOD,TIMER3)
IF(PLAYER_GOOD,TIMER3 >= 300)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AVATAR,-1,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FAIRY,-2,1)
IF(PLAYER_GOOD,AVATAR == 0)
WIN_GAME
ENDIF
ENDIF
ENDIF
IF(PLAYER0,DUNGEON_DESTROYED == 1)
LOSE_GAME
ENDIF