Code:
REM ****************************************************************************
REM Campaigns Consolidation Project for KeeperFX strategy game.
REM ****************************************************************************
REM Script for Level Flowerhat
REM Campaign: DK Original
REM Authors: based on Bullfrog script
REM KeeperFX CCP Team
REM Date: 17 Dec 1996 - 11 Feb 2011
REM Copying and copyrights:
REM This program is free software; you can redistribute it and/or modify
REM it under the terms of the GNU General Public License as published by
REM the Free Software Foundation; either version 2 of the License, or
REM (at your option) any later version.
REM ****************************************************************************
REM New rooms for the player:
REM BRIDGE - Researchable
REM WORKSHOP - When other rooms are built
REM New creatures for the player:
REM TROLL - Attracted by WORKSHOP
REM New powers for the player:
REM POWER_CALL_TO_ARMS - Researchable
REM POWER_HEAL_CREATURE - Researchable
REM New manufacture for the player:
REM DOOR_WOOD - Manufacture
REM TRAP_POISON_GAS - Manufacture
SET_GENERATE_SPEED(400)
START_MONEY(PLAYER0,29999)
MAX_CREATURES(PLAYER0,20)
ADD_CREATURE_TO_POOL(FLY,5)
ADD_CREATURE_TO_POOL(BUG,10)
ADD_CREATURE_TO_POOL(DEMONSPAWN,20)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(SORCEROR,5)
REM SET_CREATURE_MAX_LEVEL(PLAYER_GOOD,KNIGHT,3)
REM SET_CREATURE_MAX_LEVEL(PLAYER_GOOD,THIEF,3)
REM SET_CREATURE_MAX_LEVEL(PLAYER_GOOD,DWARFA,3)
REM SET_CREATURE_MAX_LEVEL(PLAYER_GOOD,TUNNELLER,3)
REM SET_CREATURE_MAX_LEVEL(PLAYER_GOOD,ARCHER,3)
REM SET_CREATURE_MAX_LEVEL(PLAYER_GOOD,BARBARIAN,2)
SET_CREATURE_MAX_LEVEL(PLAYER0,DEMONSPAWN,10)
CREATURE_AVAILABLE(PLAYER0,BUG,1,1)
CREATURE_AVAILABLE(PLAYER0,FLY,1,1)
CREATURE_AVAILABLE(PLAYER0,DEMONSPAWN,1,1)
CREATURE_AVAILABLE(PLAYER0,SORCEROR,1,1)
ROOM_AVAILABLE(PLAYER0,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER0,LAIR,1,1)
ROOM_AVAILABLE(PLAYER0,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER0,TRAINING,1,1)
ROOM_AVAILABLE(PLAYER0,RESEARCH,1,1)
ROOM_AVAILABLE(PLAYER0,BRIDGE,1,0)
DOOR_AVAILABLE(PLAYER0,WOOD,1,0)
TRAP_AVAILABLE(PLAYER0,POISON_GAS,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SLAP,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_HAND,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,0)
CREATE_PARTY(WEAKLINGS)
ADD_TO_PARTY(WEAKLINGS,ARCHER,8,100,ATTACK_ENEMIES,0)
ADD_TO_PARTY(WEAKLINGS,DWARFA,8,100,ATTACK_ENEMIES,0)
ADD_TO_PARTY(WEAKLINGS,ARCHER,7,100,ATTACK_ENEMIES,0)
ADD_TO_PARTY(WEAKLINGS,DWARFA,9,100,ATTACK_ENEMIES,0)
CREATE_PARTY(THIEVES)
ADD_TO_PARTY(THIEVES,THIEF,10,100,ATTACK_ENEMIES,0)
ADD_TO_PARTY(THIEVES,THIEF,10,100,ATTACK_ENEMIES,0)
CREATE_PARTY(BARBS)
ADD_TO_PARTY(BARBS,BARBARIAN,10,100,ATTACK_ENEMIES,0)
ADD_TO_PARTY(BARBS,BARBARIAN,10,100,ATTACK_ENEMIES,0)
CREATE_PARTY(HEROMIX)
ADD_TO_PARTY(HEROMIX,BARBARIAN,10,100,ATTACK_ENEMIES,0)
ADD_TO_PARTY(HEROMIX,ARCHER,9,100,ATTACK_ENEMIES,0)
CREATE_PARTY(LANDLORD)
ADD_TO_PARTY(LANDLORD,KNIGHT,10,20000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(LANDLORD,SAMURAI,9,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(LANDLORD,SAMURAI,9,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(LANDLORD,SAMURAI,9,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(LANDLORD,SAMURAI,9,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(LANDLORD,HORNY,9,2000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(LANDLORD,HORNY,9,2000,ATTACK_ENEMIES,0)
REM ****************************************************************************
REM "Build up a dungeon including a treasure room, a lair, a hatchery, a training room and a research room. Also dig to and claim an entrance. Do not venture north yet as there are powerful enemies there."
DISPLAY_OBJECTIVE(45,PLAYER0)
IF_AVAILABLE(PLAYER0,BRIDGE == 1)
REM "Your researchers have given you the ability to lay down bridges. You will need them to cross over lava."
DISPLAY_INFORMATION(46)
ENDIF
REM Let's use flags to support a situation when player builds a room and then sells it
IF(PLAYER0,TREASURE > 0)
SET_FLAG(PLAYER0,FLAG0,1)
ENDIF
IF(PLAYER0,LAIR > 0)
SET_FLAG(PLAYER0,FLAG1,1)
ENDIF
IF(PLAYER0,GARDEN > 0)
SET_FLAG(PLAYER0,FLAG2,1)
ENDIF
IF(PLAYER0,TRAINING > 0)
SET_FLAG(PLAYER0,FLAG3,1)
ENDIF
IF(PLAYER0,RESEARCH > 0)
SET_FLAG(PLAYER0,FLAG4,1)
ENDIF
IF(PLAYER0,ENTRANCE > 0)
SET_FLAG(PLAYER0,FLAG6,1)
ENDIF
REM When all the available rooms are built, allow the player to build WORKSHOP
IF(PLAYER0,FLAG0 == 1)
IF(PLAYER0,FLAG1 == 1)
IF(PLAYER0,FLAG2 == 1)
IF(PLAYER0,FLAG3 == 1)
IF(PLAYER0,FLAG4 == 1)
IF(PLAYER0,FLAG6 == 1)
REM "When you are happy with your dungeon, build a 3x3 workshop which is now available to you. There, your creatures will be able to build doors and traps."
DISPLAY_OBJECTIVE(47,PLAYER0)
ROOM_AVAILABLE(PLAYER0,WORKSHOP,1,1)
TUTORIAL_FLASH_BUTTON(13,-1)
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
IF(PLAYER0,WORKSHOP >= 9)
REM "To manufacture Traps and Doors in your Workshop you will need to assign creatures to it, by dropping them into the room. Manufactured items can be selected from the Workshop Panel as soon as they're ready."
DISPLAY_INFORMATION(48)
SET_FLAG(PLAYER0,FLAG5,1)
ENDIF
IF(PLAYER0,FLAG5 == 1)
IF_AVAILABLE(PLAYER0,BRIDGE == 1)
IF_ACTION_POINT(2,PLAYER0)
REM "When your troops are sufficient in number and have had some training, lead them north and crush any who oppose you."
DISPLAY_OBJECTIVE(49,PLAYER0)
ENDIF
ENDIF
ENDIF
IF(PLAYER0,FLAG5 == 1)
IF_AVAILABLE(PLAYER0,BRIDGE == 0)
IF_ACTION_POINT(2,PLAYER0)
REM "You will have to find a way to cross the river of molten lava that bars your way."
DISPLAY_OBJECTIVE(50,PLAYER0)
ENDIF
ENDIF
ENDIF
IF(PLAYER0,FLAG5 == 1)
CREATURE_AVAILABLE(PLAYER0,BUG,1,0)
CREATURE_AVAILABLE(PLAYER0,FLY,1,0)
CREATURE_AVAILABLE(PLAYER0,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(PLAYER0,SORCEROR,1,0)
CREATURE_AVAILABLE(PLAYER0,TROLL,1,1)
ENDIF
IF_ACTION_POINT(1,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WEAKLINGS,3,4)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BARBS,7,4)
ENDIF
IF_ACTION_POINT(5,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THIEVES,4,4)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THIEVES,8,4)
ENDIF
IF_ACTION_POINT(6,PLAYER0)
REM "The enemy's Dungeon Heart throbs before you. Assemble your minions nearby and administer the coup de grace."
DISPLAY_OBJECTIVE(51,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LANDLORD,-1,2)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HEROMIX,-1,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HEROMIX,-1,1)
ENDIF
IF(PLAYER0,TROLL > 0)
CREATURE_AVAILABLE(PLAYER0,BUG,1,1)
CREATURE_AVAILABLE(PLAYER0,FLY,1,1)
CREATURE_AVAILABLE(PLAYER0,DEMONSPAWN,1,1)
CREATURE_AVAILABLE(PLAYER0,SORCEROR,1,1)
CREATURE_AVAILABLE(PLAYER0,TROLL,1,1)
REM "A Troll has joined you. Skilled in the craft of manufacturing, trolls are best employed doing dark deeds in your Workshop. They don't complain about the hours, because their labours keep them away from combat."
DISPLAY_INFORMATION(52)
ENDIF
IF_AVAILABLE(PLAYER0,WOOD == 1)
REM "Your engineers have come up with a wooden door. Place them down in corridors. They will keep out the enemy but allow your creatures to pass. You can lock doors by tagging them."
DISPLAY_INFORMATION(54)
ENDIF
IF_AVAILABLE(PLAYER0,POISON_GAS == 1)
REM "Your engineers have manufactured a poison gas trap. Lay them down and when triggered, it will shroud that area in a deadly vapour."
DISPLAY_INFORMATION(55)
ENDIF
IF_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS == 1)
REM "You have researched the call to arms spell. Cast it once to gather creatures into a group, then cast it again to where you want that group to go. Call to arms is free on your land, but costs on all other land."
DISPLAY_INFORMATION(56)
ENDIF
IF_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE == 1)
REM "Your researchers have discovered the HEAL CREATURE spell that allows to replenish the health of your creatures and keep them from dying for a while longer."
DISPLAY_INFORMATION(176)
ENDIF
IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
REM "With the enemy Dungeon Heart in ruins, you have trounced the once proud opposition. Rule your new domain with terror and loathing, for a laugh."
DISPLAY_OBJECTIVE(53,PLAYER0)
WIN_GAME
ENDIF