






DUNGEON KEEPER 
EDITOR MANUAL







CONTENTS

CONTENTS	2
1.0 INSTALLATION	4
2.0 STARTING NEW MAPS, PULL-DOWN MENUS	5
2.1 FILE MENU	5
2.1.1 NEW MAP	5
2.1.2 LOAD	5
2.1.3 SAVE	5
2.1.4 QUIT	6
2.2 THE EDIT MENU	6
2.2.1 FILL	6
2.2.2 BRUSH	6
2.2.3 CLEAR MAP	7
2.3 THE VIEW MENU	7
2.3.1 1ST PERSON	7
2.3.2 PLAN	7
2.3.3 ISOMETRIC	7
2.3.4 LIGHTS	7
2.3.5 MAP	8
2.3.6 WALL HEIGHT	8
2.4 ACTION POINTS	8
2.4.1 ADD ACTION POINT	8
2.4.2 HERO DOOR	8
3.0 THE CONTROL PANEL	9
3.1 LIGHTS AND SPECIAL EFFECTS	9
3.1.1 STATIC LIGHTS	9
3.1.2 SPECIAL EFFECTS	10
3.1.3 Lava	10
3.1.4 Drip	10
3.1.5 Portal Ice and Dry Ice	10
3.2 TILES AND ROOMS	11
3.2.1 TILES	11
3.2.2 ROOMS	11
3.3 CREATURES	12
3.4 TRAPS, DOORS AND ITEMS	12
3.4.1 TRAPS AND DOORS	12
3.4.2 ITEMS	13
3.5 SPELLS AND SECRETS	13
4.0 CHANGING THE TILE TEXTURES	14
5.0 SCRIPTING YOUR MAP	15
5.0.1 ADJUSTING THE CREATURE STATISTICS	16
5.1 EXAMPLE MAPS	16
5.2 SCRIPT COMMANDS	17
5.2.1.1 Game Turns	17
5.2.1.2 Players	17
5.2.1.3 Variables	18
5.2.1.4 Comparisons	19
5.2.1.5 Action Points	19
5.2.1.6 Creature Names	20
5.2.1.7 Room Names	21
5.2.1.8 Door and Trap Names	21
5.2.1.9 Spell Names	22
5.2.2 MISCELLANEOUS COMMANDS	23
5.2.2.1 REM	23
5.2.2.2 WIN_GAME	23
5.2.2.3 LOSE_GAME	23
5.2.2.4 SET_FLAG([player],[flag],[a])	23
5.2.2.5 SET_TIMER([player],[timer])	24
5.2.2.6 IF([player],[variable][comparison][a])	25
5.2.2.7 IF_ACTION_POINT([action point],[player])	26
5.2.2.8 IF_AVAILABLE([player],[name],[comparison],[a])	26
5.2.2.9 ENDIF	27
5.2.2.10 RESET_ACTION_POINT([action point])	27
5.2.2.11 NEXT_COMMAND_REUSEABLE	27
5.2.3 SETUP COMMANDS	29
5.2.3.1 SET_GENERATE_SPEED([a])	29
5.2.3.2 COMPUTER_PLAYER([player],[a])	29
5.2.3.3 START_MONEY([player],[a])	29
5.2.3.4 MAX_CREATURES([player],[a])	30
5.2.3.5 ALLY_PLAYERS([player],[player])	30
5.2.4 CREATURES, SPELLS, TRAPS AND DOORS	31
5.2.4.1 ADD_CREATURE_TO_POOL([creature],[a])	31
5.2.4.2 CREATURE_AVAILABLE([player],[creature],[can be available],[is 
available])	31
5.2.4.3 ROOM_AVAILABLE([player],[room],[can be available],[is available])	32
5.2.4.4 DOOR_AVAILABLE([player],[door],[can be available],[number available])	32
5.2.4.5 TRAP_AVAILABLE([player],[trap],[can be available],[number available])	33
5.2.4.6 MAGIC_AVAILABLE([player],[spell],[can be available],[is available])	34
5.2.5 MANIPULATING CREATURES	35
5.2.5.1 SET_CREATURE_MAX_LEVEL([player],[creature],[max experience])	35
5.2.5.2 SET_CREATURE_STRENGTH([creature],[a])	35
5.2.5.3 SET_CREATURE_HEALTH([creature],[a])	35
5.2.5.4 SET_CREATURE_ARMOUR([creature],[a])	36
5.2.5.5 SET_CREATURE_FEAR([creature],[a])	36
5.2.6 MANIPULATING RESEARCH	37
5.2.6.1 Default Values	37
5.2.6.2 RESEARCH([player],[research type],[room or spell],[a])	38
5.2.7 ADDING NEW CREATURES AND PARTIES TO THE LEVEL	39
5.2.7.1 ADD_CREATURE_TO_LEVEL([player],[creature],[action 
point],[a],[experience],[gold])	39
5.2.7.2 ADD_TUNNELLER_TO_LEVEL([player],[action point],[head for],[action 
point/target player],[experience],[gold])	40
5.2.7.3 CREATE_PARTY([party name])	41
5.2.7.4 ADD_TO_PARTY([party 
name],[creature],[experience],[gold],[objective],[0])	41
5.2.7.5 ADD_TUNNELLER_PARTY_TO_LEVEL([player],[party name],[action 
point],[head for],[action point/target player],[experience],[gold])	42
5.2.7.6 ADD_PARTY_TO_LEVEL([player],[name],[action point],[a])	43
5.2.8 CUSTOM OBJECTIVES (DEEPER DUNGEONS ONLY)	44
5.2.8.1 QUICK_OBJECTIVE([a],[objective],[player])	44
5.2.8.2 QUICK_INFORMATION([a],[information])	44
6.0 SINGLE PLAYER AND MULTIPLAYER LEVEL CHECKLIST	45
6.1 SINGLE PLAYER LEVELS	45
6.1.1 THE MAP	45
6.1.2 THE SCRIPT	45
6.2 MULTIPLAYER LEVELS	45
6.2.1THE MAP	45
6.2.2 THE SCRIPT	46
7.0 PLAYING YOUR MAPS	47
7.1 MS-DOS	47
7.2 WINDOWS 95	47
7.3 DEEPER DUNGEONS	47
7.4 PLAYING A MULTIPLAYER LEVEL	48
7.5 RENAMING YOUR MAP	49
8.0 TIPS FROM THE MASTERS	50
9.0 KEYS	51
10.0 CREDITS	52

1.0 INSTALLATION

The Dungeon Keeper Editor is Windows 95  only although levels created 
with it will work on both the MS-Dos and Windows 95 versions of the 
original game.

The Dungeon Keeper Editor is only available in SVGA high resolution 
modes and does not have a low resolution mode.

To install the editor, follow the instructions in the readme.txt file which 
accompanies this manual.

You are now ready to run the editor. Go to the Keeper directory and double 
click on editor.exe to start.


Note: when the manual instructs you to click on an item, it is asking you to 
click on the item with the left mouse button.




2.0 STARTING NEW MAPS, PULL-
DOWN MENUS

When you start the editor, the first map you see will be the special example 
map (see section 5.1 for more information on this map). The aim of this map 
is to give you an introduction to the editor and show you how your maps will 
look as you are constructing them. Take a few moments to look over the 
map and familiarise yourself with the layout. You can then either modify this 
map or start a completely new one. 


This section describes the Pull-Down Menus that appear at the top of the 
screen. To access these menus, click on the heading icon to bring up the 
options then either click on the heading icon again to get rid of the options or 
just move your mouse pointer away.


2.1 FILE MENU

This menu contains the new map, load, save and quit options.

2.1.1 NEW MAP

This option creates a completely new map for you to edit. Your previous 
map will disappear and the new map will be blank and have no name. You 
will be asked to confirm whether you want a new map.

2.1.2 LOAD

To load a map, select this option. If you have not recently saved the map 
you are currently editing, you will be asked whether you want to save it or 
not.

The Load Panel contains a list of the maps available. Scroll down the list by 
clicking on the arrow buttons. Click on the map you want to load.

To cancel, click on the cross icon at the bottom of the panel.

2.1.3 SAVE

To save a map, select this option. A panel will appear listing all the maps in 
the levels directory.

To save the map in an existing slot, scroll the list using the arrow icons and 
click on the slot. Another panel will appear asking you to confirm the save.

To save the map in a completely new slot, just click on the bar at the bottom 
of the panel and enter a name. When you press enter, a slot will be 
assigned to that map and it will be saved.

There are 800 slots for you to save your maps into. If there are no more 
slots available (you have used them all up) the editor will not save. Also, 
each map has a number of files it uses to create the map (see section 5.0 
for more information). These files take up about 350k in total (1024k is one 
megabyte) so make sure you have the space on your hard disk drive to 
store them.

To cancel, click on the cross icon at the bottom of the panel

Note: If your maps are not saving, make sure that you have followed all the 
installation instructions correctly and have altered all the files in the Levels 
directory so that they are not read only. To do this, refer to the readme.txt 
that accompanies this manual.

2.1.4 QUIT

Select this option to quit from the editor. If your map has altered since you 
last saved it, you will be asked whether you want to save those changes. If 
you do not, you will exit from the editor. If you do, you will return to the editor 
and you will then need to save the map following the instructions in section 
2.1.2 before quitting again.


2.2 THE EDIT MENU

The Edit Menu contains three options: Fill, Brush and Clear Map.

2.2.1 FILL

This option will allow you to flood fill an area of the map with a specific tile. 
You cannot flood fill areas with rooms because this can cause problems if 
there are objects in those rooms.

To flood fill an area, select the tile you want to fill and select the Fill Icon on 
the Edit Menu. Make sure the area you want to fill is fully enclosed and then 
click on a square inside the area. You will still have the fill option selected so 
that you can fill other areas.

To exit from fill mode, click on another icon on the Control Panel.

Shortcut key: f

2.2.2 BRUSH

This option allows you to store a rectangular area as a brush and place it 
down elsewhere.

First, select the Brush Icon on the Edit Menu. To set the area of the brush, 
move the mouse pointer over to one corner of the area you want to copy and 
hold down the right mouse button. Then drag the mouse until you have all 
the area you want within the bounding box. Then let go of the right mouse 
button. You will then be holding the brush. You can place it down anywhere 
by clicking the left mouse button. You cannot place it down over a Dungeon 
Heart or an Portal, however, as this can cause problems.

You cannot pick up in a brush Gems blocks, Guard Posts and Bridges due 
to the way Dungeon Keeper works.

To exit from brush mode, click on another icon on the Control Panel.

Shortcut key: b

2.2.3 CLEAR MAP

Clear Map will allow you to completely wipe the map and start afresh.

Click on the icon and you will be asked to confirm. If you click on the tick 
icon, all the tile blocks will be replaced by the earth tiles.


2.3 THE VIEW MENU

The View Menu contains the options you need to configure the editor: 1st 
Person View, Plan View, Isometric View, Lights, Map and Wall Height.

2.3.1 1ST PERSON

This changes the Dungeon View so that you are viewing your dungeon as if 
you were walking around inside it. You can only go into 1st Person when the 
centre of the screen if over an excavated area. If it is not, you will get a 
warning sound.

To exit from 1st Person View, you will need to press the keyboard shortcut 
for one of the other two views.

To move in 1st Person, use the mouse to rotate the view and look up and 
down. Press the cursor keys to move forwards and backwards and strafe.

Shortcut key: o

2.3.2 PLAN

This is a top-down functional view which is very useful for fine tuning the 
map. The main benefits of this view is that you can zoom out much further 
and extra information about the things you place down on the map are 
displayed.

The only way to exit this view is to change to a different view.

Shortcut key: p

2.3.3 ISOMETRIC

Isometric is the view of your map as it will appear in the main game. You will 
not be able to zoom out as far and it is slower than the Plan view.

The only way to exit this view is to change to a different view.

Shortcut key: i

2.3.4 LIGHTS

The Light option turns on all the dynamic lights so that you can see how your 
dungeon will look when it is finally played.

Shortcut toggle key: l

2.3.5 MAP

By selecting this option, you will be taken to the full-screen map.

Shortcut toggle key: m

2.3.6 WALL HEIGHT

This option allows your to toggle the height of the walls in the Isometric 
View.


2.4 ACTION POINTS

The Action Points Menu contains two options allowing you to place down the 
two types of Action Point. Action Points will be explained in detail in section 
5.2.1.5.

2.4.1 ADD ACTION POINT

Action Points are used in conjunction with your maps script and set special 
areas in your dungeon which can be used to trigger traps and introduce new 
creatures to the level. They will be explained in detail in the Scripting section 
of this manual (section 5.2.1.5).

2.4.2 HERO DOOR

A Hero Door is a special Action Point that appears in your dungeon as a 
rippling transparent portal. This is the door heroes often use to enter your 
dungeon and they cannot be deleted. They will be explained in detail in the 
Scripting section of this manual (section 5.2.1.5).



3.0 THE CONTROL PANEL

When you enter the editor, you will see two parts to the screen, The Control 
Panel and The Dungeon View. The Control Panel contains all the objects 
you need to construct your dungeon. The Dungeon View gives you a visual 
representation of your dungeon in a number of views. This section will 
describe the Control Panel and its features before you build a map.


The Control Panel is split into three sections:


At the top is the Scanner Map which is exactly the same as the one in 
Dungeon Keeper. You can also still press the map icon, or press m, to bring 
up a complete map of your dungeon.

In the middle are a number of panels that overlap and contain all the options 
you need to construct a fully working dungeon.

Right at the bottom are ten numbered icons and five coloured icons. These 
will remain visible even if you alter the panel. They tell you what experience 
level you currently have selected and what player type you currently have 
selected. When you put down a creature or a tile, these icons will tell the 
editor what experience level to make that creature or which player owns that 
tile.

Select Player 0 (red)			0
Select Player 1 (blue)			1
Select Player 2 (green)			2
Select Player 3 (yellow)			3
Select Hero Player			4
Select Neutral Player			5


3.1 LIGHTS AND SPECIAL EFFECTS

This is the first panel contains all the Lighting a Special Effects objects 
which you can place down to improve the look of your dungeon.

There are a number of issues you must be aware of before you place down 
too many of these objects. The lights in Dungeon Keeper are dynamic and 
are stored in a set list. This means there can only be so many of them and 
the more there are, the slower the game will be. If you place down too many, 
you may find that the list will run out of space and no more will be created. 
Keep the number of lights you place down as low as possible. The lava balls 
will create lights, torches are created as you dig out your dungeon in the full 
game and lights are created when certain spells are fired. These lights will 
not appear if you have too many.

The Dry Ice effects will also slow down your computer if too many are active 
at once. Use them carefully as an occasional effect.

3.1.1 STATIC LIGHTS

This option will create an ambient light where you place it. Bear in mind that 
this light will not have a visible source and could look out of place if not 
correctly used.

To place one down, click on the Ambient Light Icon and move the mouse 
over the dungeon. If you are in Light Mode (access Light Mode by clicking 
on the option in the View Menu or by pressing l), you will see that your 
mouse has a dynamic light attached to it. To place the light, just click the 
mouse button where you want it. The light will remain on the map and a light 
bulb icon will appear at the centre of the light.

As well as just placing lights, you can also increase their intensity, size and 
vertical position. To do this, you must adjust the light before you place it 
down.

Increase Intensity:		Keypad . (full stop)
Decrease Intensity:		Keypad 0
Increase Size:			Keypad 6
Decrease Size:			Keypad 4

Raise Light:			Keypad 8
Lower Light:			Keypad 2	

To delete the light, select the Ambient Light Icon (if you dont already have it 
selected) and right click over the position of the light.


3.1.2 SPECIAL EFFECTS

The following objects should be placed in the Plan View as you cannot see 
them in Isometric.

Each effect is placed down the same way. First, click on its icon on the 
Lights and Special Effects panel. Then move your mouse over to the 
Dungeon View and position it in the middle of where you want the effect to 
appear. Now press and hold down the left mouse button. If you move the 
mouse around, you will see a white circle around the position of the effect. 
This indicates the area within which the effect will appear. The wider the 
area, the more spread out the effect. It is best to experiment with each effect 
to see how they work best. You can re-edit the area by holding down your 
left mouse button while over the effect.

To delete each effect, just right click on the effects position. You must have 
one of the effects selected to do this.

3.1.3 LAVA

This creates the balls of fire that jump from the lava light and up the area 
around them. Although you can place it anywhere in your dungeon, it will 
only work when placed on lava.

3.1.4 DRIP

This creates the effect where water drips from the ceiling and splashes onto 
the floor. This can be placed anywhere in your dungeon and adds to the 
general atmosphere.

3.1.5 PORTAL ICE AND DRY ICE

Although there are two icons, they can be treated the same as they have 
similar properties. Both create a cloud of fog that floats over the ground 
before dissipating. The difference between each is that the Portal Ice starts 
a little way off the ground and drifts down while the Dry Ice constantly 
remains at ankle height.


3.2 TILES AND ROOMS

The second panel contains all the building blocks you need to create your 
dungeon, namely the floor tiles, gold and rock and all the rooms.

Click on the toggle button at the bottom of the panel to switch between the 
Tiles and Rooms panels.

This manual assumes that you have played Dungeon Keeper and know 
what each tile and room does. 

3.2.1 TILES

You paint down the tiles in exactly the same way as you would draw a 
picture. Select the type of tile you want to put down and move your mouse 
over to the Dungeon View. Press the left mouse button and the tile will be 
pasted down.

If you press the right mouse button, a blank earth tile will be pasted down.

Two tiles, the Claimed Floor tile and the Reinforced Wall Tile will be 
individual to each player so make sure you have the right one selected. You 
can select each player by clicking on one of the five coloured buttons at the 
bottom of the Control Panel.

You can quickly reinforce your dungeon without painting your entire 
perimeter wall. To do this, select the player whose dungeon you want to 
reinforce and press r. This will not work if the player does not have a 
dungeon heart.

Select Gold				F1
Select Rock				F2
Select Impenetrable Rock			F3
Select Dirt Path				F4
Select Pretty Path			F5
Select Pretty Wall				F6
Select Lava				F7
Select Water				F8
Select Diamond				F9

3.2.2 ROOMS

You paint down the rooms in the same way as the tiles. Select the room 
from the panel but make sure you always have the right player selected 
before you do. Then press the left mouse button to put down that room tile.

There are two special rooms which need mentioning. Also on this panel are 
the Portal and the Dungeon Heart. Both of these are three by three square 
rooms which have to be placed down in one go. You cannot draw over an 
Portal or a Dungeon Heart once they are on the map and the only way to 
delete them is to right click on them when you have either a room or tile 
selected. You will be asked to confirm whether you want to delete them and 
if you do, the ground will be replaced by the earth tile.

Note that you cannot save a map without a Dungeon Heart for the first 
player (red).


3.3 CREATURES

This panel allows you to place down any creature or hero and assign them 
to any player.

Click on the toggle button at the bottom of the panel to switch between the 
Evil Creatures and Heroes panels.

Note: When you place down any creature, first make sure that you have the 
right player and the right experience level selected. Both of these can be 
found at the bottom of the Control Panel (see section 3.0 for more 
information).

Click on the creatures icon and find an area of the dungeon to place the 
creature down. Press the left mouse button and the creature will appear on 
the map. It will have an energy indicator above its head to show what 
experience level it is and what player it belongs to.

To delete a creature, make sure you have another creature selected and 
right click on the creature.


Note, you can only have up to 255 creatures on the map at any one time. 
Bear this in mind when placing lots of creatures because each player still 
has to attract a certain amount of creatures to their dungeon and quite a few 
can be created in the Graveyard.


3.4 TRAPS, DOORS AND ITEMS

The fourth panel allows you to place down objects to improve your map.

Click on the toggle button at the bottom of the panel to switch between the 
Traps & Doors and Items panels.

3.4.1 TRAPS AND DOORS

Traps need to belong to a player otherwise they will be set off by the wrong 
person. You can place them down in same way as you do in the game, 
except now you can also place them down on unclaimed land. You cannot 
place one down on a square already occupied by a creature, item, spell or 
secret.

You can delete a trap by having a trap selected and left or right clicking on 
its position.

Note that boulder traps will always roll to the left when they hit a wall. This 
may cause problems if you have branches in your corridors.


Doors are placed down in the same way as Traps but they can only be 
placed down on the claimed floor tile of the same player and they also have 
to be placed directly between two walls (either earth or reinforced).

You can delete a door either by right clicking on it when you have any door 
selected.

You can lock a door by holding down the Ctrl key and left clicking on the 
door when you have any door selected.

3.4.2 ITEMS

Items are used to both reward the player and make your dungeon visually 
pleasing.

To place down these items down, click on an icon and click on any 
excavated area of the map. You can only place one item down in each 
square (a tile in Dungeon Keeper is made up of nine squares) but where you 
place it within that square will depend on where your mouse is. You cannot 
place one down on a square already occupied by a creature, trap, spell or 
secret.

You cannot place down Gold Bags in the Treasure Room.

To delete an item, right click on it when you have any item selected.


3.5 SPELLS AND SECRETS

This panel contains all the spells which you can place down for the player to 
find.

Click on the toggle button at the bottom of the panel to switch between the 
Spells and Secrets panels.

This manual assumes that you know what all the spells and secrets are and 
what they do.

To place one down, click on the icon on the panel and left click on the 
dungeon where you want the object to be. You cannot place one down on a 
square already occupied by a creature, trap or item.


To delete one, right click on its position.




4.0 CHANGING THE TILE TEXTURES

As you were playing Dungeon Keeper, you would have noticed that not all 
the levels had the same textured tiles. There are a number of texture sets in 
Dungeon Keeper and more in the Deeper Dungeons. You can change the 
texture set of your map by pressing the t button. This will cycle through all 
the sets you have available on your computer and the level will save it 
automatically.




5.0 SCRIPTING YOUR MAP

To get your map to work in Dungeon Keeper, you will need to script it first. If 
you do not, the map will not load properly and you will not be able to play it. 
The script will tell Dungeon Keeper what spells are available on the level, 
what creatures appear and other settings that are unique to the level.

When you first save your level, a number of files are created in the Levels 
directory. For example, for level 200 (the example map), the following files 
are created:

Map00200.apt
Map00200.clm
Map00200.dat
Map00200.inf
Map00200.lgt
Map00200.lif
Map00200.own
Map00200.slb
Map00200.tng
Map00200.txt
Map00200.wib
Map00200.wlb

You will notice that there is a .txt file included in the list. This is the script file 
which you will edit.

If you open it, you will see that it contains many commands which the game 
uses to create the level. When you have looked at the example script, open 
the script file of your own level.

Note: You can enter commands into the script in any order. The script does 
not run like a proper program or an HTML script. Instead, Dungeon Keeper 
stores it all in memory. This means that IF commands will be triggered 
immediately when their conditions are met. Bear this in mind when you are 
writing your scripts.

The example scripts are laid out in the following way:

Setup Commands

Set up Generation Speed
Set up Computer Players (is applicable)
Set up Starting Gold
Set up Maximum Creatures

Set up Creature Pool
Set up available Creatures
Set up available Rooms
Set up available Doors
Set up available Traps
Set up available Spells

Adjust any creature statistics
Adjust any research values

Set up Flags
Set up Timers

Setup Parties
Add all creatures to Parties

Main Script

IF commands

IF commands for Objectives
IF commands for Information Icons

IF command resulting in a lost level (if necessary)
IF command resulting in a won level (if necessary)


This is done to keep the script readable and easy to look at when searching 
for errors. Although not necessary, it is good practice to keep to this format 
so others can look at your script without finding it incomprehensible.

5.0.1 ADJUSTING THE CREATURE STATISTICS

In the Data directory of Dungeon Keeper is a file called creature.txt. This is a 
text file that Dungeon Keeper looks at every time it loads to find out all the 
statistics for all the creatures and rooms etc. in the game. You can adjust 
these easily in any text editor and they will directly affect the game.

Make a copy of the file first before making any changes. You may need a 
backup if something goes wrong. This manual will not explain the features of 
the creature.txt file but will leave you to experiment with it.


5.1 EXAMPLE MAPS

Included with the Dungeon Keeper Editor are two example maps that you 
can use to study and cut and paste from. The single player example map is 
level 200 and the multiplayer example map is level 201. They are playable 
levels with as many features included as possible. The script files have been 
heavily commented using the REM command to explain the script at every 
step.



5.2 SCRIPT COMMANDS

This section will describe all the script commands available to use in 
Dungeon Keeper. Each subsection has a different theme and you should try 
and go through each subsection and place the commands into your script in 
the same order. This is to keep the scripts similar so that other people can 
reference them easily.


Note: All action commands in the script (such as ADD_PARTY_TO_LEVEL) 
will only be triggered once. IF commands will keep triggering every time their 
conditions are met but the commands inside them will only trigger the one 
time. You will need to use the NEXT_COMMAND_REUSABLE command if 
you want them to keep triggering.


Below are a few common references explained:

5.2.1.1 GAME TURNS

A game turn is a counter that counts how many times Dungeon Keeper has 
run through its main loop. The main loop is a series of commands which 
tells the game to update and then draw everything on the screen. Each time 
it runs through these instructions, the game turn counter increases by one 
and the loop is run again.

On slower PCs, the game turns will increase slowly, while on fast machines 
the game turns will increase faster. To stop the game becoming too fast, 
there is a limit of 12 game turns a second. Bear these things in mind when 
you write your script so that timers are balanced on all machines.

5.2.1.2 PLAYERS

There are six players in the editor. Each has a number and colour.

Player
Player Command
Colour
Player 1 (single player)
PLAYER0
red
Player 2 (enemy)
PLAYER1
blue
Player 3 (enemy)
PLAYER2
green
Player 4 (enemy)
PLAYER3
yellow
Hero Dungeon
PLAYER_GOOD
white



Neutral

no colour/multicoloured



All Players
ALL_PLAYERS


Neutral is used for creatures and rooms that have not been claimed by any 
players, e.g. unclaimed Portals and bonus creatures hidden on the level.

Note: The player numbers start at 0 and not 1. The main (red) player is 
player 0 and the one you will always use for single player games.



5.2.1.3 VARIABLES

Variables are names that have a number associated with them, e.g. the 
MONEY variable contains the amount of gold that player has. Most variables 
in Dungeon Keeper are individual to each player and are constantly updated 
with the correct information. Some, such as the FLAGS (see section 5.2.2.4 
for more information) need to be created and updated by the script.

The following variables are used by Dungeon Keeper:

Command
Description
MONEY
The amount of money the player has
GAME_TURN
The current game turn (player 
independent)
TOTAL_IMPS
The number of Imps that player has 
got
TOTAL_CREATURES
The number of creatures that player 
has got
TOTAL_RESEARCH
The amount of research points that 
player has got (see section 5.2.6 for 
more information)
TOTAL_DOORS
The amount of doors that player has 
got
TOTAL_AREA
The amount of tiles that player owns
TOTAL_CREATURES_LEFT
The amount of creatures that have 
left that players dungeon because 
they were annoyed
CREATURES_ANNOYED
The number of creatures annoyed in 
that players dungeon
BATTLES_WON
The number of battles won by that 
player
BATTLES_LOST
The number of battles lost by that 
player
ROOMS_DESTROYED
The number of rooms destroyed by 
that player
SPELLS_STOLEN
The number of spells stolen by that 
player
TIMES_BROKEN_INTO
The number of times that players 
walls have been breached
DUNGEON_DESTROYED
Whether that players Dungeon Heart 
has been destroyed (0 if still active, 
1 if destroyed)
CREATURES_SCAVENGED_LOST
Number of creatures lost by that 
player due to scavenging
CREATURES_SCAVENGED_GAIN
ED
Number of creatures gained by that 
player through scavenging
ALL_DUNGEONS_DESTROYED
Whether all the players Dungeon 
Hearts has been destroyed (0 if still 
active, 1 if destroyed)(player 
independent)


FLAGn
FLAG number: n is a number 
between 0 and 7
TIMERn
TIMER number: n is a number 
between 0 and 7




5.2.1.4 COMPARISONS

The Comparisons are symbols which you can use to compare two values. 
These will be mainly used by the IF commands.

Command
Description


==
Equal to
!=
Not equal to
<
Less than
>
Greater than
<=
Less than or equal to
>=
Greater than or equal to


Note: If possible, use Less than or equal to or Greater than or equal to 
instead of the Equal to command because the IF command isnt checked 
every game turn. This may cause the game to miss things and therefore 
cause errors.  For example, instead of asking whether the player has 30 
creatures, ask if the player has 30 creatures or more.


5.2.1.5 ACTION POINTS

Action points are areas set in the editor that are triggered if a creature steps 
into it. The Action Point can only be triggered once (unless you use the 
RESET_ACTION_POINT command) and is player independent so you can 
only detect which player triggered it.

To put down an Action Point in the editor, go to the Action Point Menu and 
click on Action Point. Move your mouse pointer to where you want the centre 
of the Action Point to be and press and hold down the left mouse button.  
Move your mouse to expand the circle. Once you have the circle the right 
size, let go of the mouse button.

Each Action Point has a number which you will have to remember. You will 
use this number in the script later.


Hero Doors are special Action Points that act as Portals for Heroes. They do 
not have trigger areas so you cannot use them as traps, only as entry points 
for parties or new creatures. Like the Action Points, each Hero Door has a 
number and you will need to use this number in the script later.



5.2.1.6 CREATURE NAMES

All the creatures in the Dungeon Keeper have special names which you 
have to use when referring to them in the script. The following list shows you 
their proper name and the script name you should use.


Heroes
Command
Wizard
WIZARD
Barbarian
BARBARIAN
Archer
ARCHER
Monk
MONK
Dwarf
DWARFA
Knight
KNIGHT
Avatar
AVATAR
Tunneller Dwarf
TUNNELLER
Witch
WITCH
Giant
GIANT
Fairy
FAIRY
Thief
THIEF
Samurai
SAMURAI

Evil Creatures
Command
Imp
IMP
Horned Reaper
HORNY
Skeleton
SKELETON
Troll
TROLL
Dragon
DRAGON
Demonspawn
DEMONSPAWN
Fly
FLY
Dark Mistress
DARK_MISTRESS
Warlock
SORCEROR
Bile Demon
BILE_DEMON
Bug
BUG
Vampire
VAMPIRE
Spider
SPIDER
Hellhound
HELL_HOUND
Ghost
GHOST
Tentacle
TENTACLE
Orc
ORC


How you design your level is up to you but when Dungeon Keeper was 
being developed, it was decided that some creatures should not come 
through the Portals (although they can be placed on the map for the player 
to find). The reasons for this are: Ghosts are created when a creature dies 
on a torture table and Skeletons are created when a creature dies in a 
Prison. Horned Reapers are only available through a sacrifice in the Temple 
and Vampires only rise from the Graveyard. Tentacles like water and are 
only bonuses on those levels with water. Bear this in mind when you are 
scripting your level.



5.2.1.7 ROOM NAMES

Like the creatures, the rooms in Dungeon Keeper have special script names.

Room
Command
Portal
ENTRANCE
Treasure Room
TREASURE
Dark Library
RESEARCH
Prison
PRISON
Torture Chamber
TORTURE
Training Room
TRAINING
Workshop
WORKSHOP
Scavenger Room
SCAVENGER
Temple
TEMPLE
Graveyard
GRAVEYARD
Barracks
BARRACKS
Hatchery
GARDEN
Lair
LAIR
Bridge
BRIDGE
Guard Post
GUARD_POST


5.2.1.8 DOOR AND TRAP NAMES

Doors and Traps have script names which must be used when referring to 
them.


Door or Trap
Command
Wooden Door
WOOD
Braced Door
BRACED
Steel Door
STEEL
Magic Door
MAGIC


Boulder Trap
BOULDER
Alarm Trap
ALARM
Poison Gas Trap
POISON_GAS
Lightning Trap
LIGHTNING
Word of Power Trap
WORD_OF_POWER
Lava Trap
LAVA



5.2.1.9 SPELL NAMES

Spells have script names which must be used when referring to them.

Spell
Command
Create Imp
POWER_IMP
Obey
POWER_OBEY
Sight of Evil
POWER_SIGHT
Call to Arms
POWER_CALL_TO_ARMS
Cave-in
POWER_CAVE_IN
Heal Creature
POWER_HEAL_CREATURE
Hold Audience
POWER_HOLD_AUDIENCE
Lightning Strike
POWER_LIGHTNING
Speed Creature
POWER_SPEED
Protect Creature
POWER_PROTECT
Conceal Creature
POWER_CONCEAL
Disease
POWER_DISEASE
Chicken
POWER_CHICKEN
Destroy Walls
POWER_DESTROY_WALLS
Armageddon
POWER_ARMAGEDDON



5.2.2 MISCELLANEOUS COMMANDS

These commands can be placed anywhere in your script and do not directly 
affect the level.

5.2.2.1 REM

This can be placed at the start of a line to tell the game to ignore any text 
after it.

Example:

REM ***** Setup Level Section              *****

5.2.2.2 WIN_GAME

Tells the game that you have won the level.

This command must be included in single player games to tell the player he 
has won. In multiplayer levels, it is not necessary. You should always use 
them with IF commands to make sure something happens to cause the 
game to end.

Example:

REM ***** Win the level if Player 1s      *****
REM ***** dungeon is destroyed             *****

IF(PLAYER1,DUNGEON_DESTROYED==1)

	WIN_GAME

ENDIF


5.2.2.3 LOSE_GAME

Tells the game you have lost the level.

This command does not always need to be included as you will 
automatically lose the level if you Dungeon Heart is destroyed. You should 
include it if there is a strict goal the player needs to attain.

Example:

REM ***** Lose the level if Player 0s     *****
REM ***** total battles lost is 30         *****

IF(PLAYER0,BATTLES_LOST>=30)

	LOSE_GAME

ENDIF


5.2.2.4 SET_FLAG([player],[flag],[a])

Sets up a flag that is assigned a number.

[player] - The players name, e.g. PLAYER1.  See section 5.2.1.2 for more 
information.

[flag] - The flags name. There are eight flag names which can be used for 
multiple players:

FLAG0
FLAG1
FLAG2
FLAG3
FLAG4
FLAG5
FLAG6
FLAG7

[a] - The number assigned to the flag. This can be between 0 and 255.

Example:

REM ***** Setup FLAG0                      *****

SET_FLAG(PLAYER0,FLAG0,0)

..

REM ***** If Player 0s total creatures    *****
REM ***** is larger than 40 then set the   *****
REM ***** flag to 1                        *****

IF(PLAYER0,TOTAL_CREATURES>40)

	SET_FLAG(PLAYER0,FLAG0,1)

ENDIF

..

REM ***** If FLAG0 is equal to 1 then win  *****
REM ***** the game                         *****

IF(PLAYER0,FLAG0==1)

	WINGAME

ENDIF



5.2.2.5 SET_TIMER([player],[timer])

Sets up a timer that increases by 1 every game turn from when it was 
triggered.

[player] - The players name, e.g. PLAYER1.  See section 5.2.1.2 for more 
information.

[timer] - The timers name. Each player has their own set of eight timers you 
can trigger.

TIMER0
TIMER1
TIMER2
TIMER3
TIMER4
TIMER5
TIMER6
TIMER7

Example:

REM ***** Setup Player 0s TIMER0          *****

SET_TIMER(PLAYER0,TIMER0)

..

REM ***** When TIMER0 reaches 1000, win    *****
REM ***** the game                         *****

IF(PLAYER0,TIMER0>=1000)

	WIN_GAME

ENDIF



5.2.2.6 
IF([player],[variable][comparison][a])

This is used to test the differences between two values([variable] and [a]). If 
those two values agree with the comparison, the script will continue. If the 
two values do not agree with the comparison, the script will find the next 
ENDIF and continue from there.

[player] - The players name, e.g. PLAYER1. See section 5.2.1.2 for more 
information.

[variable] - The name of a variable used by Dungeon Keeper. See section 
5.2.1.3 for more information.

[comparison] - A comparison, e.g. == (equal to). See section 5.2.1.4 for 
more information.

[a] - A number to compare the variable to.

Note: You can only have a maximum of 48 IF conditions (all types) in your 
script.

Example

REM ***** Detect whether Player 0s total  *****
REM ***** number of creatures is larger    *****
REM ***** than 40. If so, win the game, if *****
REM ***** not, continue                    *****

IF(PLAYER0,TOTAL_CREATURES>=40)

	WIN_GAME

ENDIF

..

REM ***** If Player 0s Dungeon Heart is   *****
REM ***** destroyed then lose the game     *****

IF(PLAYER0,DUNGEON_DESTROYED==1)

	LOSE_GAME

ENDIF


5.2.2.7 IF_ACTION_POINT([action 
point],[player])

Detects whether an Action Point has been trigger by one of that players 
creatures. The Action point is only triggered once (unless you use the 
RESET_ACTION_POINT command) and you can only detect which player 
triggered it.

[action point] - Action Point number. See section 5.2.1.5 for more 
information.

[player] - The players name, e.g. PLAYER1.  See section 5.2.1.2 for more 
information.

Note: You can only have a maximum of 48 IF conditions (all types) in your 
script.

Example:

REM ***** If Action Point 2 has been       *****
REM ***** triggered by one of Player 1s   *****
REM ***** creatures then perform the       *****
REM ***** following tasks                  *****

IF_ACTION_POINT(2,PLAYER1)

	..

ENDIF


5.2.2.8 
IF_AVAILABLE([player],[name],[comparison],[
a])

Allows you to ask whether something is available to that player. If it is not, 
then the answer will be 0. If it is then the answer will be 1.

[player] - The players name, e.g. PLAYER1.  See section 5.2.1.2 for more 
information.

[name] - The name of a creature, spell, trap or door. See sections 5.2.1.6 to 
5.2.1.9 for more information.

[comparison] - A comparison, e.g == (equal to). See section 5.2.1.4 for more 
information.

[a] - A number to compare the variable to

Note: You can only have a maximum of 48 IF conditions (all types) in your 
script.

Example:

REM ***** If Player 2 has a Temple then    *****
REM ***** perform the following tasks      *****

IF_AVAILABLE(PLAYER2,ROOM_TEMPLE>=1)

	..

ENDIF


5.2.2.9 ENDIF

This command must be placed at the end of all IF statements. This tells the 
IF command where to jump to when the comparisons in the statement are 
not met.

See IF commands for examples.


5.2.2.10 RESET_ACTION_POINT([action point])

Once an Action Point has been triggered, it cannot be triggered again unless 
it has been reset by this command.

[action point] - Action Point number. See section 5.2.1.5 for more 
information.

Example:

RESET_ACTION_POINT(3)


5.2.2.11 NEXT_COMMAND_REUSEABLE

Once any action command, such as ADD_CREATURE_TO_LEVEL or 
SET_TIMER, has been triggered once, it cannot be triggered again. This 
means that you cannot create loops or generators that add heroes to the 
level each time one of your creatures steps foot in a room. To get around 
this, the Dungeon Keeper script has a special command to get around this 
called NEXT_COMMAND_REUSEABLE. You will need to place this in front 
of every command in the loop to make it work (it does not need to be placed 
in front of IF commands)

Example:

REM ***** This loop adds a new hero to the *****
REM ***** level at Action Point 5 while a  *****
REM ***** creature belonging to Player 0   *****
REM ***** is within the boundaries of      *****
REM ***** Action Point 5. It will only     *****
REM ***** stop when the Hero Dungeon Heart *****
REM ***** has been destroyed               *****

IF_ACTION_POINT(5,PLAYER0)

	IF(PLAYER_GOOD,DUNGEON_DESTROYED==0)

		NEXT_COMMAND_REUSEABLE
	
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,5,1,3,300
)

	ENDIF

ENDIF

..

REM ***** This loop adds a new hero to the *****
REM ***** level at Hero Door 3 every 1000  *****
REM ***** game turns. This is done by      *****
REM ***** starting a timer, adding the     *****
REM ***** hero when it reaches 1000 and    *****
REM ***** then resetting it again          *****

SET_TIMER(PLAYER0,TIMER0)

IF(PLAYER0,TIMER0>=1000)

	NEXT_COMMAND_REUSEABLE
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WITCH,-
3,1,6,600)

	NEXT_COMMAND_REUSEABLE
	SET_TIMER(PLAYER0,TIMER0)

ENDIF




5.2.3 SETUP COMMANDS

These commands set up your level and initialise your computer players (if 
you have any).

5.2.3.1 SET_GENERATE_SPEED([a])

This command tells the game how long to wait before generating a new 
creature for each player. The type of creatures that appear cannot be 
scripted and will depend on the rooms the player has built. This is a global 
setting and will apply to all Portals.

[a] - The number of game turns between each creature.

Example:

REM ***** Create a new creature for each   *****
REM ***** player every 500 game turns      *****

SET_GENERATE_SPEED(500)


5.2.3.2 COMPUTER_PLAYER([player],[a])

If you have placed down an enemy dungeon heart (not a hero dungeon 
heart) this command tells Dungeon Keeper that a computer player needs to 
be assigned.

[player] - The players name, e.g. PLAYER1.  See section 5.2.1.2 for more 
information.

[a] - A single number telling the game what attitude the computer player has:

Computer Player
Description


0
A general computer player with everything turned on.
1
An aggressive computer player.
3
A defensive computer player that only builds rooms 
3x3 tiles in size.
4
A defensive computer player that only builds rooms 
4x4 tiles in size.
5
A aggressive computer player that only builds rooms 
4x4 tiles in size.
10
A medium computer player.


Do not use any other numbers for computer players as the game will not 
work properly.

Example:

REM ***** Set up and aggressive computer   *****
REM ***** that uses Player 2s dungeon     *****

COMPUTER_PLAYER(PLAYER2,1)


5.2.3.3 START_MONEY([player],[a])

How much gold each player has at the start of the level.

[player] - The players name, e.g. PLAYER1.  See section 5.2.1.2 for more 
information.

[a] - The amount of gold for that player.

Example:

REM ***** Give all players 40000 in gold   *****
REM ***** at the start of the level        *****

START_MONEY(ALL_PLAYERS,40000)


5.2.3.4 MAX_CREATURES([player],[a])

The maximum number of creatures a player can have. The player can still 
gain creatures through Scavenging and Torturing but no more will come 
through the portal until the number of creatures drops below the maximum 
again.

[player] - The player name, e.g. PLAYER1.  See section 5.2.1.2 for more 
information.

[a] - The maximum number of creatures. This must be a number below 255.

Example:

REM ***** Player 1 will not gain any more  *****
REM ***** creatures through his Portal     *****
REM ***** once he has 40 creatures in his  *****
REM ***** dungeon                          *****

MAX_CREATURES(PLAYER1,40)


5.2.3.5 ALLY_PLAYERS([player],[player])

This command sets two players as allies at the start of the game.

[player] - The players name, e.g. PLAYER1.  See section 5.2.1.2 for more 
information.

Example:

ALLY_PLAYERS(PLAYER1,PLAYER2)




5.2.4 CREATURES, SPELLS, TRAPS AND DOORS

These commands set what creatures, spells, traps and doors appear on the 
level and whether they need to be researched or not. You do not need to 
use these commands for Heroes and their traps and doors.


5.2.4.1 
ADD_CREATURE_TO_POOL([creature],[a])

The creature pool is a set number of creatures that can be attracted by all 
the players. Imagine a large group of creatures waiting outside the Dungeon 
Area (all Portals share this group). A player puts down a room, e.g. a Torture 
Chamber, and a creature (Dark Mistress) is attracted. The Mistress is taken 
from this group. If there are no more Mistresses in the group then the player 
will not be able to gain any more unless he uses other means, e.g. 
scavenging. This is a first come, first serve system so players will need to 
hurry if they want to gain the rarest creatures. If a creature becomes angry, it 
will exit via an Portal and return to the pool. Dead creatures do not return to 
the pool so be careful the players do not run out.

This command sets the number of creatures that are placed in this pool. If 
you leave any creatures off the list then they will not appear in the pool.

[creature] - The creatures name, e.g. BILE_DEMON. See section 5.2.1.6 for 
more information.

[a] - The number of creatures of that type in the pool.

Example:

ADD_CREATURE_TO_POOL(BILE_DEMON,20)


5.2.4.2 
CREATURE_AVAILABLE([player],[creature],[can 
be available],[is available])

This command tells the game that a specific creature can come through that 
players Portal.

[player] - The players name, e.g. PLAYER1. See section 5.2.1.2 for more 
information.

[creature] - The creatures name, e.g. WARLOCK. See section 5.2.1.6 for 
more information.

[can be available] - This value should always be set to 1. Creatures, unlike 
spells and rooms, do not have to be pre-enabled.

[is available] - This value should either be 0 or 1. Set it to 1 to enable the 
creature to appear from the Portal.

Since the default value for [can be available] is 0, you can just include in the 
script file only those creatures you want the player to be able to attract. This 
will cut down your script file considerably.

Remember, you can use the ALL_PLAYERS option for [player] to cover all 
the players with one command.

Example:

REM ***** A Warlock can now appear at the  *****
REM ***** Portal if owned by player 2      *****

CREATURE_AVAILABLE(PLAYER2,SORCEROR,1,1)


5.2.4.3 ROOM_AVAILABLE([player],[room],[can 
be available],[is available])

This command tells the game that a specific room is available for the player 
to place down.

[player] - The players name, e.g. PLAYER1. See section 5.2.1.2 for more 
information.

[room] - The rooms name, e.g. TEMPLE. See section 5.2.1.7 for more 
information.

[can be available] - This value can be set to 0 or 1. If it is 1 then you are 
telling the game that the room may be researched at some point.

[is available] - This value should either be 0 or 1. If it is 1 then the room is 
available straight away. If it is 0 then the room cannot become available until 
it is set to 1 or it is researched.

Since the default value for [can be available] is 0, you can just include in the 
script file only those rooms you want the player to be able to research. This 
will cut down your script file considerably.

Remember, you can use the ALL_PLAYERS option for [player] to cover all 
the players with one command.

Example:

REM ***** This Treasure Room has been set  *****
REM ***** so that it is available from     *****
REM ***** the start of the level.          *****

ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,1)


REM ***** This Torture Chamber has been    *****
REM ***** set do that it needs to be       *****
REM ***** researched before it becomes     *****
REM ***** available.                       *****

ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)

Note: The Treasure Room, Lair, Hatchery, Training Room and Research 
Room should all be available at the start of each level.


5.2.4.4 DOOR_AVAILABLE([player],[door],[can 
be available],[number available])

This command tells the game that a specific door is available for the player 
to construct.

[player] - The players name, e.g. PLAYER1. See section 5.2.1.2 for more 
information.

[door] - The doors name, e.g. BRACED. See section 5.2.1.8 for more 
information.

[can be available] - This value can be set to 0 or 1. If it is 1 then you are 
telling the game that the door can be constructed.

[number available] - The number of doors available to the player at the start 
of the level or when they become available.

Since the default value for [can be available] is 0, you can just include in the 
script file only those doors you want the player to construct. This will cut 
down your script file considerably.

Remember, you can use the ALL_PLAYERS option for [player] to cover all 
the players with one command.

Example:

REM ***** The Wooden Door is now available *****
REM ***** to the player to manufacture     *****
REM ***** and none have been given to him  *****
REM ***** at the start                     *****

DOOR_AVAILABLE(PLAYER1,WOOD,1,0)


5.2.4.5 TRAP_AVAILABLE([player],[trap],[can 
be available],[number available])

This command tells the game that a specific trap is available for the player to 
construct.

[player] - The players name, e.g. PLAYER1. See section 5.2.1.2 for more 
information.

[trap] - The traps name, e.g. LAVA. See section 5.2.1.8 for more 
information.

[can be available] - This value can be set to 0 or 1. If it is 1 then you are 
telling the game that the trap may be constructed at some point.

[number available] - The number of doors available to the player at the start 
of the level or when they become available. Bear in mind that without a 
Workshop, the traps cannot be armed. This may cause problems in the 
game. It is best to leave this at 0 when you write your scripts.

Since the default value for [can be available] is 0, you can just include in the 
script file only those traps you want the player to construct. This will cut 
down your script file considerably.

Remember, you can use the ALL_PLAYERS option for [player] to cover all 
the players with one command.

Example:

REM ***** The Word of Power Trap is now    *****
REM ***** available to the player to       *****
REM ***** manufacture and none have been   *****
REM ***** given to him at the start        *****

TRAP_AVAILABLE(PLAYER1,WORD_OF_POWER,1,0)


5.2.4.6 
MAGIC_AVAILABLE([player],[spell],[can be 
available],[is available])

This command tells the game that a specific spell is available for the player 
to cast.

[player] - The players name, e.g. PLAYER1. See section 5.2.1.2 for more 
information.

[spell] - The spells name, e.g. POWER_LIGHTNING. See section 5.2.1.9 for 
more information.

[can be available] - This value can be set to 0 or 1. If it is 1 then you are 
telling the game that the spell may be researched at some point.

[is available] - This value should either be 0 or 1. If it is 1 then the spell is 
available straight away. If it is 0 then the spell cannot become available until 
it is set to 1 or researched.

Since the default value for [can be available] is 0, you can just include in the 
script file only those spells you want the player to research. This will cut 
down your script file considerably.

Remember, you can use the ALL_PLAYERS option for [player] to cover all 
the players with one command.

Example:

REM ***** This Speed Creature spell has    *****
REM ***** been set so that it is available *****
REM ***** from the start of the level.     *****

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,1)


REM ***** This Conceal Creature spell has  *****
REM ***** been set do that it needs to be  *****
REM ***** researched before it becomes     *****
REM ***** available.                       *****

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)




5.2.5 MANIPULATING CREATURES

With the following commands, you can manipulate the creature statistic 
directly and alter them specifically for your level. This will not affect the 
statistics in the creature.txt file and can be set for a specific player.


5.2.5.1 
SET_CREATURE_MAX_LEVEL([player],[creature],
[max experience])

This command sets the maximum experience level the creature can train to. 
You can use this to stop certain creatures from becoming too powerful.

[player] - The players name, e.g. PLAYER1. See section 5.2.1.2 for more 
information.

[creature] - The creatures name, e.g. SKELETON. See section 5.2.1.6 for 
more information.

[max experience] - The maximum experience level for that creature. The 
maximum experience level of any creature is 10.

Example:

SET_CREATURE_MAX_LEVEL(PLAYER0,HELL_HOUND,5)


5.2.5.2 
SET_CREATURE_STRENGTH([creature],[a])

This command sets the strength of all the creatures of that type on the level. 
Each creature has a default strength which can be found in the creature.txt 
file, e.g. the BILE_DEMON has a strength level of 80.

[creature] - The creatures name, e.g. HORNED_REAPER. See section 
5.2.1.6 for more information.

[a] - The new strength of that creature. The strength must be between 0 and 
255.

Example:

SET_CREATURE_STRENGTH(DEMON_SPAWN,190)


5.2.5.3 SET_CREATURE_HEALTH([creature],[a])

This command sets the health of all the creatures of that type on the level. 
Each creature has a default full health level which can be found in the 
creature.txt file, e.g. the DRAGON has a full health level of 900.

[creature] - The creatures name, e.g. ORC. See section 5.2.1.6 for more 
information.

[a] - The new health level of that creature. The health level must be between 
0 and 1024.

Example:

SET_CREATURE_HEALTH(ORC,1000)


5.2.5.4 SET_CREATURE_ARMOUR([creature],[a])

This command sets the armour of all the creatures of that type on the level. 
Each creature has a default armour level which can be found in the 
creature.txt file, e.g. the Dark Mistress has a armour level of 50.

[creature] - The creatures name, e.g. HORNED_REAPER. See section 
5.2.1.6 for more information.

[a] - The new armour level of that creature. The armour level must be 
between 0 and 255.

Example:

SET_CREATURE_ARMOUR(DEMON_SPAWN,60)


5.2.5.5 SET_CREATURE_FEAR([creature],[a])

This command sets the fear of all the creatures of that type on the level. 
Each creature has a default fear which can be found in the creature.txt file, 
e.g. the FLY has a fear level of 30.

[creature] - The creatures name, e.g. BUG. See section 5.2.1.6 for more 
information.

[a] - The new fear level of that creature. The fear level must be between 0 
and 255.

Example:

SET_CREATURE_FEAR(SPIDER,190)




5.2.6 MANIPULATING RESEARCH

When you put creatures into the Library and they start to research, a 
research counter will start to increase. The rate at which it increases 
depends on the number of creatures in the Library and their individual 
abilities and experience levels. Each spell and room has a research number 
assigned to it. When this number is reached by the research counter, the 
room or spell is deemed to be researched. All the rooms and spells have 
default research values (see below) but you can adjust these for individual 
levels if you want to.


5.2.6.1 DEFAULT VALUES

These are the default research values for the rooms.

Room
Command
Research Value
Treasure Room
TREASURE
1000
Hatchery
GARDEN
1000
Lair
LAIR
1000
Library
RESEARCH
1000
Training Room
TRAINING
1000



Bridge
BRIDGE
4600
Guard Post
GUARD_POST
6700
Workshop
WORKSHOP
9000
Barracks
BARRACKS
12000
Prison
PRISON
20000
Torture
TORTURE
20000
Temple
TEMPLE
25000
Graveyard
GRAVEYARD
25000
Scavenger
SCAVENGER
27500

These are the default research values for spells.

Spell
Command
Research Value
Create Imp
POWER_IMP
1000
Sight of Evil
POWER_SIGHT
3800
Speed Creature
POWER_SPEED
5700
Obey
POWER_OBEY
6000
Call to Arms
POWER_CALL_TO_ARMS
7400
Conceal Creature
POWER_CONCEAL
9400
Hold Audience
POWER_HOLD_AUDIENCE
11000
Cave-in
POWER_CAVE_IN
25000
Heal Creature
POWER_HEAL_CREATURE
14000
Lightning Strike
POWER_LIGHTNING
15000
Protect Creature
POWER_PROTECT
15000
Chicken
POWER_CHICKEN
20000
Disease
POWER_DISEASE
20000
Armageddon
POWER_ARMAGEDDON
100000
Destroy Walls
POWER_DESTROY_WALLS
750000






5.2.6.2 RESEARCH([player],[research 
type],[room or spell],[a])

This command allows you to adjust the research value for individual rooms 
or spells and even for a specific player.

[player] - The players name, e.g. PLAYER1. See section 5.2.1.2 for more 
information.

[research type] - Whether it is a room or spell you are researching. Use one 
of the following commands:

Research Type
Command
Rooms
ROOM
Spells
MAGIC

[room or spell] - The name of the room or spell you want to adjust, e.g. 
TEMPLE or MAGIC_LIGHTNING. See section 5.2.1.7 and section 5.2.1.9 for 
more information.

[a] - The new research value. This must be a number below 16777216.

Example:

REM ***** Change the research value of the *****
REM ***** Scavenger Room from 27500 to     *****
REM ***** 50000                            *****

RESEARCH(PLAYER1,ROOM,SCAVENGER,50000)




5.2.7 ADDING NEW CREATURES AND PARTIES TO 
THE LEVEL

As well as set the attributes for your level, the Dungeon Keeper script allows 
you to add new creatures to the level at specified points and times. In 
conjunction with Action Points, you can trigger parties of Heroes to appear 
when a players creatures enter a certain part of the level.

5.2.7.1 
ADD_CREATURE_TO_LEVEL([player],[creature],[
action point],[a],[experience],[gold])

This command will add a number of new creatures to the level at the co-
ordinates of a specifies Action Point. You cannot set where the creatures 
head for so you may need to use a party instead.

[player] - The name of the player, e.g. PLAYER1, that the creatures belong 
to. See section 5.2.1.2 for more information.

[creature] - The creatures name, e.g. DRAGON. See section 5.2.1.6 for 
more information.

[action point] - The number of the Action Point where the creatures will 
appear. See section 5.2.1.5 for more information. If you want a creature to 
appear at a Hero Door, you will need to enter the Hero Doors number here. 
The number must have a minus sign in front of it to distinguish it from the 
normal Action Points. For example, if you want the creature to appear at 
Hero Door 4, the [action point] number will be -4.

[a] - The number of creatures that will appear at the Action Point. This can 
be any number but remember that you can only have up to 255 creatures on 
the map at any one time so this number should not be too high.

[experience] - The experience level of the creatures.

[gold] - The amount of gold carried by the creatures.

Note: You can only have a maximum of 48 ADD_CREATURE_TO_LEVEL 
commands.

Example:

REM ***** Add 7 level 4 Hero Wizards who   *****
REM ***** are carrying 400 gold at Action  *****
REM ***** Point 3                          *****

ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,3,7,4,400)



5.2.7.2 
ADD_TUNNELLER_TO_LEVEL([player],[action 
point],[head for],[action point/target 
player],[experience],[gold])

This commands adds a number of Tunneller Dwarves to the level. They will 
immediately start digging towards their target. Tunneller Dwarves are the 
only creatures that can tunnel towards a target.

[player] - The name of the player, e.g. PLAYER_GOOD, that the creatures 
belong to. See section 5.2.1.2 for more information.

[action point] - The number of the Action Point where the creatures will 
appear. See section 5.2.1.5 for more infomation. If you want the Tunneller to 
appear at a Hero Door, you will need to enter the Hero Doors number here. 
The number must have a minus sign in front of it to distinguish it from the 
normal Action Points. For example, if you want the Tunneller to appear at 
Hero Door 4, the [action point] number will be -4.

[head for] - This command tells the Tunneller what it is tunnelling to. You will 
specify the exact Action Point or Player number in the next command. There 
are a number of commands you can use:

Description
Command
An Action Point
ACTION_POINT
A Players dungeon
DUNGEON
A Players Dungeon Heart
DUNGEON_HEART
The dungeon of the player with the 
highest score
APPROPIATE_DUNGEON

[action point/target player] - This command will tell the Tunneller which 
Action Point (if the [head for] command was ACTION_POINT) or Player (if 
the [head for] command was DUNGEON or DUNGEON_HEART) to go to. If 
the command was APPROPIATE_DUNGEON then this will just be 0 as the 
APPROPIATE_DUNGEON command sends the Tunneller to the dungeon of 
the player with the highest score.

[experience] - The experience level of the Tunneller.

[gold] - The amount of gold carried by the Tunneller.

Note: You can only have a maximum of 16 ADD_TUNNELLER_TO_LEVEL 
commands.

Example:

REM ***** Add a level 6 Hero Tunneller at  *****
REM ***** Action Point 7. He will tunnel   *****
REM ***** towards Action Point 5           *****

ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,7,ACTION_POINT,5,6,40
0)

..

REM ***** Add a level 4 Hero Tunneller at  *****
REM ***** Action Point 3. He will tunnel   *****
REM ***** towards Player 2s Dungeon Heart *****

ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,3,DUNGEON_HEART,PLAYE
R2,4,400)

..

REM ***** Add a level 9 Hero Tunneller at  *****
REM ***** Action Point 5. He will tunnel   *****
REM ***** towards the dungeon of the       *****
REM ***** player with the highest score    *****

ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,5,APPROPIATE_DUNGEON,
0,9,400)


5.2.7.3 CREATE_PARTY([party name])

This command tells the game to expect a party with a specific name.

[party name] - The name of the party. You can use any name you want but it 
must be in capitals.

Note: You can only have a maximum of 16 parties.

Example:

CREATE_PARTY(PARTY1)


5.2.7.4 ADD_TO_PARTY([party 
name],[creature],[experience],[gold],[objec
tive],[0])

This command adds a number of creatures to a party (maximum seven).

[party name] - The name of the party. This must have been declared with the 
CREATE_PARTY command.

[creature] - The creatures name, e.g. HORNY. See section 5.2.1.2 for more 
information.

[experience] - The creatures experience level.

[gold] - The amount of gold the creatures are carrying.

[objective] - The target of the creatures and where they will make for when 
they enter the level. You will not need to specify the target player yet. This 
will be done when you place the party on the map.

Description
Command
Steal gold from the Treasure Room
STEAL_GOLD
Steal spells from the Library
STEAL_SPELLS
Attack any enemies
ATTACK_ENEMIES
Attack the nearest Dungeon Heart
ATTACK_DUNGEON_HEART
Attack the nearest rooms
ATTACK_ROOMS
Defend the other creatures in the 
party
DEFEND_PARTY

[0] - This number was originally a command that has since been omitted. 
This should always be set to 0.

Note: You can only have a maximum of 7 in a party.

Example:

REM ***** Create a party called MY_PARTY.  *****

CREATE_PARTY(MY_PARTY)

..

REM ***** Add to MY_PARTY a level 5 Fairy  *****
REM ***** with 600 in gold who will attack *****
REM ***** the rooms of the target player   *****

ADD_TO_PARTY(MY_PARTY,FAIRY,5,600,ATTACK_ROOMS,****)


5.2.7.5 
ADD_TUNNELLER_PARTY_TO_LEVEL([player],[part
y name],[action point],[head for],[action 
point/target player],[experience],[gold])

This adds a specified party of creatures to the level with a Tunneller Dwarf 
as its leader. The Tunneller will immediately dig to its target and the other 
creatures will follow.

[player] - The name of the player, e.g. PLAYER_GOOD, that the creatures 
belong to. See section 5.2.1.2 for more information.

[party name] - The name of the party. This must have been declared with the 
CREATE_PARTY command.

[action point] - The number of the Action Point where the party will appear. 
See section 5.2.1.5 for more information. If you want the party to appear at a 
Hero Door, you will need to enter the Hero Doors number here. The number 
must have a minus sign in front of it to distinguish it from the normal Action 
Points. For example, if you want the party to appear at Hero Door 4, the 
[action point] number will be -4.

[head for] - This command tells the Tunneller what it is tunnelling to. You will 
specify the exact Action Point or Player number in the next command. There 
are a number of commands you can use:

Description
Command
An Action Point
ACTION_POINT
A Players dungeon
DUNGEON
A Players Dungeon Heart
DUNGEON_HEART
The dungeon of the player with the 
highest score
APPROPIATE_DUNGEON

[action point/target player] - This command will tell the Tunneller which 
Action Point (if the [head for] command was ACTION_POINT) or Player (if 
the [head for] command was DUNGEON or DUNGEON_HEART) to go to. If 
the command was APPROPIATE_DUNGEON then this will just be 0 as the 
APPROPIATE_DUNGEON command sends the Tunneller to the dungeon of 
the player with the highest score.

[experience] - The experience level of the Tunneller.

[gold] - The amount of gold the Tunneller is carrying.

Note: The ADD_TUNNELLER_PARTY_TO_LEVEL command counts as 
one ADD_TUNNELLER_TO_LEVEL command. Therefore, there can only be 
a total of 16 of these commands in your script.



Example:

REM ***** Add MY_PARTY to the level at     *****
REM ***** Action Point 4 with a level 5    *****
REM ***** Tunneller as its leader. The    *****
REM ***** party will head for Action       *****
REM ***** Point 1                          *****

ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,MY_PARTY,4,ACTI
ON_POINT,1,5,600)

REM ***** Add MY_PARTY to the level at     *****
REM ***** Action Point 10 with a level 4   *****
REM ***** Tunneller as its leader. The    *****
REM ***** party will head for the dungeon  *****
REM ***** of Player 1                      *****

ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,MY_PARTY,10,DUN
GEON,PLAYER1,4,600)


5.2.7.6 
ADD_PARTY_TO_LEVEL([player],[name],[action 
point],[a])

Very similar to the ADD_TUNNELLER_PARTY_TO_LEVEL command, this 
adds a party to the level but does not include a Tunneller Dwarf. This means 
the party will not be able to tunnel to their target.

[player] - The name of the player, e.g. PLAYER1, that the creatures belong 
to. See section 5.2.1.2 for more information.

[name] - The name of the party. This must have been declared with the 
CREATE_PARTY command.

[action point] - The number of the Action Point where the party will appear. 
See section 5.2.1.5 for more information. If you want the party to appear at a 
Hero Door, you will need to enter the Hero Doors number here. The number 
must have a minus sign in front of it to distinguish it from the normal Action 
Points. For example, if you want the party to appear at Hero Door 4, the 
[action point] number will be -4.

[a] - The number of copies of the party to be placed down at the Action 
Point.

Note: The ADD_PARTY_TO_LEVEL command counts as one 
ADD_CREATURE_TO_LEVEL command. Therefore, there can only be a 
total of 48 of these commands in your script. The [a] (number of copies) 
variable in the ADD_PARTY_TO_LEVEL command does not affect this 
number and you will only use up one command however many copies you 
make.

Example:

REM ***** Add 2 copies of MY_PARTY to the  *****
REM ***** level at Action Point 5. They    *****
REM ***** belong to Player 3               *****

ADD_PARTY_TO_LEVEL(PLAYER3,MY_PARTY,5,2)




5.2.8 CUSTOM OBJECTIVES (DEEPER DUNGEONS 
ONLY)

If you have the Deeper Dungeons expansion pack installed on your PC, you 
can include the following commands in your script to display objectives for 
the player to follow. Remember, if you give this level to another person, they 
must also have the Deeper Dungeons expansion pack installed on their 
machine.


5.2.8.1 
QUICK_OBJECTIVE([a],[objective],[player])

This command brings up the Objective Box at the bottom of the game 
screen and displays the specified text. The command will be triggered as 
soon as the game reaches it in the script so you will probably need to trigger 
it with an IF command.

[a] - The number of the objective. Each objective must have a different 
number and you can only have a maximum of 30.

[objective] - The objective text, e.g. Your dungeon is doomed, Keeper..

[player] - If the player clicks on the zoom to icon on the Objective Panel, this 
option will specify which players Dungeon Heart the Dungeon View will 
zoom to. This should always be set to PLAYER0 in single player levels 
unless the text requires it to go to a different Dungeon Heart. You cannot 
use ALL_PLAYERS.

Example:

QUICK_OBJECTIVE(1,Your dungeon is doomed, 
Keeper,PLAYER1)


5.2.8.2 
QUICK_INFORMATION([a],[information])

This command is similar to the QUICK_OBJECTIVE command except that 
instead of an Objective Window, the text is written on an Information Pop-up 
Icon. Again, this command will be triggered as soon as the game reaches it 
in the script so you will probably need to trigger it with an IF command.

[a] - The number of the information. Each bit of information must have a 
different number and you can only have a maximum of 30.

[information] - The information text, e.g. Well done. You have researched 
the Temple.

Example:

QUICK_INFORMATION(1,Well done. You have researched the Temple.)



6.0 SINGLE PLAYER AND 
MULTIPLAYER LEVEL CHECKLIST

This section is a checklist for your finished Single Player or Multiplayer level. 
Follow each one and hopefully your level will be complete and ready to play.

6.1 SINGLE PLAYER LEVELS

6.1.1 THE MAP

  The first thing to check is the map itself. Make sure you havent any 
unused areas that have loads of lights and special effects. Also, make 
sure you dont have too many creatures already on the map. There can 
only be 255 creatures on the map at any one time and if you try to make 
any more, they will just not appear. The players need to be able to attract 
creatures and gain more through the Scavenger Room and Graveyard.
 
  Check that your traps, creatures and doors are owned by the right 
players. This is a common mistake and will cause problems when you 
run the level.
 
  Check that players cannot dig into your secret areas. The best way to 
check this is to dig around them yourself.

6.1.2 THE SCRIPT

  If you have computer players on the map, make sure you have initialised 
them with the COMPUTER_PLAYER command (see section 5.2.3.2).
 
  Make sure all your players have the correct creatures, rooms, doors, 
traps and spells available and make sure the creature pool is large 
enough.
 
  Check that your invading parties (if you have them) are entering from the 
right Action Points and going to their proper destinations.
 
  Make sure that the player can win and check that you have included the 
WIN_GAME command (see section 5.2.2.2).


6.2 MULTIPLAYER LEVELS

6.2.1THE MAP

  Check that each player has a Dungeon Heart and an Portal close by. 
Also, make sure that each player has a large supply of gold. In 
multiplayer games the battles are more fun, so you dont want the 
players to spend all their time hunting for gold.
 
  Make sure that each player has a good chance of reaching a secret or a 
hidden creature. A good game is based on skill, not on where you were 
placed on the map.


6.2.2 THE SCRIPT

Multiplayer maps are easier to script than single player maps. Unless you 
want specific events to happen, you can just script what creatures, rooms, 
traps and doors each player has at the start and then what is required to 
complete the level (usually one player conquering the others by destroying 
their Dungeon Hearts). Look at the multiplayer example map for more 
information.

  Check that you have given all the players the right rooms and creatures.
 
  Make sure that each player can win, even if it simply destroying the 
oppositions Dungeon Hearts. 

Remember to add at the top of your script the line of text which must be 
included in the Levels.txt for it to be available on the Levels Map in the 
game. This can be found at the start of the script e.g. 201,4,550,300,Multi 
Example




7.0 PLAYING YOUR MAPS

Once you have designed your map and written your script, you will want to 
play the level.


7.1 MS-DOS

If you are playing the MS-Dos version of Dungeon Keeper, go to the 
Dungeon Keeper directory, e.g. c:\keeper. Then type the following:

keeper -level [n]

[n] - the number of the level you want to play.

Example:

keeper -level 200

This will take you straight into level 200.


7.2 WINDOWS 95

If you are playing the Windows 95 version of Dungeon Keeper, click on the 
Start button on the taskbar and select the Run program on the menu. A 
requester will appear.

Type in the name of the keeper directory and also add keeper95.exe on the 
end, e.g. c:\program files\keeper\keeper95.exe.

Then, on the end of that, add the following text: 

-level [n]

[n] - the number of the level you want to play.

For example:

c:\program files\keeper\keeper95.exe -level 200

This will take you straight into level 200.


7.3 DEEPER DUNGEONS

If you have the Deeper Dungeons installed on your machine, you should run 
this instead of keeper95.exe. In MS-Dos, the name of the Deeper Dungeons 
program is Deeper.exe and in Windows 95, it is Deeper95.exe.



7.4 PLAYING A MULTIPLAYER LEVEL

To play a multiplayer level, you must first do a number of things:

First, open the levels script (which can be found in the Levels directory). At 
the start of the script should be block of text reading:

REM ***** Add this following line to       *****
REM ***** levels.txt (if this a normal     *****
REM ***** Keeper level) or dd1lev.txt (if  *****
REM ***** this is a Deeper Dungeons level) *****
REM ***** which can be found in the Levels *****
REM ***** directory of your Keeper         *****
REM ***** directory. Please include this   *****
REM ***** text will all multiplayer levels *****
REM ***** you release                      *****

REM	Level number (change this if you change the level 
number)
REM	:   Number of players
REM	:   : X coordinate of flag on Levels Map
REM	:   : :   Y coordinate of flag on Levels Map
REM	:   : :   :   Name of map
REM	:   : :   :   :

REM	201,4,550,300,Multi Example

REM	This is a normal Keeper level

This text provides the all information you need to play the multiplayer level. 
At the bottom, it will tell you whether this is a normal Dungeon Keeper level 
or a special Deeper Dungeons level. Next, select the portion of text that 
reads 201,4,550,300,Multi Example and press Ctrl c to copy it.

Note: if you have had to change the original map number, you will also need 
to change the first number on this piece of text to the new map number.

Now, close the script and find a file in the Levels directory called levels.txt. If 
you are using Deeper Dungeons, or it is a specific Deeper Dungeons level, 
find a file called dd1lev.txt instead. Open this file and scroll down to the 
bottom of the list of numbers. Now, create a new line at the end of the list 
and press Ctrl v to paste the text in the space. Make sure it looks like all the 
other lines in the list then save and close the file.

Now you can run Keeper or Deeper Dungeons normally and you can choose 
the map from the Levels Map.



7.5 RENAMING YOUR MAP

Because the Dungeon Keeper Editor automatically assigns a level slot for 
your map, you may need to change this number if a conflict occurs. 
Someone might have sent you a map with the same number of you may 
want to organise your maps more efficiently.

To do this, you will need to rename ALL the map files to the new number. 
Remember that these files can be found in the Levels directory.

For example:

(Old Numbers)

Map00235.apt
Map00235.clm
Map00235.dat
Map00235.inf
Map00235.lgt
Map00235.lif
Map00235.own
Map00235.slb
Map00235.tng
Map00235.txt
Map00235.wib
Map00235.wlb

(New numbers)

Map00679.apt
Map00679.clm
Map00679.dat
Map00679.inf
Map00679.lgt
Map00679.lif
Map00679.own
Map00679.slb
Map00679.tng
Map00679.txt
Map00679.wib
Map00679.wlb


You will then need to edit the .lif file of the map, e.g. Map00679.lif. Inside 
this file are two pieces of information:

235, Fluffy Dell

One is the map number, the other is the maps name. Change the number to 
the new map number:

679, Fluffy Dell

If you want, you can also change the level name. This will not affect the 
game in any way.




8.0 TIPS FROM THE MASTERS

Now that you have learned how to make levels for Dungeon Keeper, you 
can create your own and distribute them for others to play and enjoy. To 
help you do this, the Dungeon Keeper Level Designers and Testers have 
made a list of tip to help you:

  When starting a level, work it out on paper first. This way you can see if 
any player has an unfair advantage or if your level will be too long.
 
  Understand the script language well so that you can take advantage of 
its varied features. The script will not be checked for errors so make 
sure that it is written correctly before you play.
 
  Keep multiplayer levels fair and balanced. Giving one player an unfair 
advantage will not make the level fun. Also, in multiplayer, give the 
players lots of gold. Fighting is lots more fun than digging for wealth all 
the time.
 
  Make the levels fun, not hard. If the level will be hard, alert the player.
 
  And last but definitely not least: playtest. Playtest your level to death so 
that the script works as you want it and the level is balanced and fun. 
When you are testing your level, bear in mind that you know where 
everything is. A new player will not.




9.0 KEYS

The following keys are shortcut keys for the Editor:

Toggle Lights				l
Cycle through Texture Sets		t
Toggle Map				m
Fill Mode				f
Brush Mode				b
Isometric View				i
1st Person View				o
Plan View				p
Reinforce Selected Players Dungeon	r

Select Gold				F1
Select Rock				F2
Select Impenetrable Rock			F3
Select Dirt Path				F4
Select Pretty Path				F5
Select Pretty Wall			F6
Select Lava				F7
Select Water				F8
Select Diamond				F9

Select Player 0 (red)			0
Select Player 1 (blue)			1
Select Player 2 (green)			2
Select Player 3 (yellow)			3
Select Hero Player			4
Select Neutral Player			5

Increase Light Intensity			Keypad . (full stop)
Decrease Light Intensity			Keypad 0
Increase Light Size			6
Decrease Light Size			4
Raise Light				8
Lower Light				2




10.0 CREDITS

Producer: Sean Cooper

Project Leader: Alex Peters

Lead Programmer: Mark Stacey

Additional Artwork: Peter Amachree

Manual and Documentation: Jon Rennie

Manual Verification: Shintaro Kanaoya, Nathan Smethurst, Barrie Parker

Testing Manager: Andy Robson

Testing: Nathan Smethurst, Steve Lawrie, Tristan Paramor, Jeff Brutus

Dungeon Keeper Editor Manual




2
2


