Introduction

 Top Next

This help file will explain how to script Knights and Merchant's missions.

All of the information here is from in the help file of my mission editor.

Version 1.0

If you correct any mistakes or add anything, please send the modified version to me.

Copyright 2007 Lewin Hodgman.

Contact:

Email: lewinjh@gmail.com

Website: http://lewin.namsys.com.au/

This file can be publicly published for free only, so long as my name is on it.

This file can be edited/fixed/changed to make it more relevant as needed, as long as I am notified.


List of Commands

 Top Previous Next

This is a list of all the known commands. All of the IDs are in "ID Numbers"

If you find a mistake, or know something else, please contact me.

Command | Description | Parameter 1 | Parameter 2 | Parameter 3 | Parameter 4 | Parameter 5 | Parameter 6
!SET_MAP | Sets the map file for the mission | Map file |  |  |  |  |
!SET_MAX_PLAYER | Sets the maximum number of teams | Number of teams |  |  |  |  |
!SET_TACTIC | Makes the mission all fighting, with no building |  |  |  |  |  |
!SET_CURR_PLAYER | All the lines bellow this are for player number | Player number |  |  |  |  |
!SET_HUMAN_PLAYER | Player number is a human | Player number |  |  |  |  |
!SET_AI_PLAYER | Sets current player to be an AI |  |  |  |  |  |
!ENABLE_PLAYER | Enables player number | Player number |  |  |  |  |
!SET_NEW_REMAP | Sets teams color. (for units, flags, etc.) | 8 Color IDs. eg. 1 2 3 4 5 6 7 8.
!SET_MAP_COLOR | Sets the color that the teams units will appear as on the mini-map | Color ID |  |  |  |  |
!CENTER_SCREEN | Where the screen will be centered when the game starts | X | Y |  |  |  |
!CLEAR_UP | Makes a part of the map visible at the start | X | Y | Radius |  |  |
!BLOCK_HOUSE | Make it so you can't build a building | Building ID |  |  |  |  |
!RELEASE_HOUSE | Set it so you can build a house at the start of the game | Building ID |  |  |  |  |
!RELEASE_ALL_HOUSES | Make it so you can build all buildings when the game starts |  |  |  |  |  |
!ADD_GOAL | Set a victory condition. If parameter one is 2 then it means display message. See bellow. | Goal Target Code | 0 = Save 1 = Destroy | Always 0 | Player number |  |
!ADD_GOAL | Display a message after time | Always 2 | Always 0 | Message ID | Time |  |
!ADD_LOST_GOAL | Set a statement that must reman true or you will lose. | Goal Target Code | 0 = Save 1 = Destroy | Always 0 | Player number |  |
!SET_ALLIANCE | Sets whether or not the current player is allied. By default you are all enemies. | Player Number | 0 = Enemy 1 = Allied |  |  |  |
!SET_HOUSE | Places a building | Building ID | X | Y |  |  |
!SET_HOUSE_DAMAGE | Set how much health the last building set will have lost | Health Lost |  |  |  |  |
!SET_STOCK | Place a storehouse with road bellow it. This is just as easy with !SET_HOUSE | X | Y |  |  |  |
!SET_STREET | Places road | X | Y |  |  |  |
!SET_WINEFIELD | Places a square of wine field | X | Y |  |  |  |
!SET_FIELD | Places a square of plough field | X | Y |  |  |  |
!SET_UNIT | Places a unit | Unit ID | X | Y |  |  |
!SET_UNIT_BY_STOCK | Place a unit at the storehouse | Unit ID |  |  |  |  |
!SET_GROUP | Place a group of troops | Troop ID | X | Y | Facing direction ID | Units per row | Total units
!SET_GROUP_FOOD | The last group of troops set will be on full condition |  |  |  |  |  |
!SEND_GROUP | Make a group of troops be moving when the game starts | X | Y | Facing direction ID |  |  |
!ATTACK_POSITION | Tells a group to attack a building at the start of the game | X | Y |  |  |  |
!ADD_WARE | Puts an item in your storehouse | Ware ID | Amount |  |  |  |
!ADD_WARE_TO_SECOND | Puts an item in the second storehouse listed | Ware ID | Amount |  |  |  |
!ADD_WARE_TO_ALL | Puts a ware in all players storehouse |  |  |  |  |  |
!ADD_WEAPON | Puts a weapon in your barrack | Weapon ID | Amount |  |  |  |
AI: |  |  |  |  |  |  |
!SET_AI_START_POSITION | Where the AI's base is | X | Y |  |  |  |
!SET_AI_NO_BUILD | Means the AI won't build |  |  |  |  |  |
!SET_AI_CHARACTER RECRUT_COUNT | After how long the AI will start making recruts | Time |  |  |  |  |
!SET_AI_CHARACTER RECRUTS | The maximum number of recruts the AI can have in his barracks | Amount |  |  |  |  |
!SET_AI_CHARACTER CONSTRUCTORS | How many laborers the AI will have (if he doesn't have them at the start, then he will build them) | 1-9 |  |  |  |  |
!SET_AI_CHARACTER WORKER_FACTOR | How many serfs the AI will have. A small number means more serfs and a large number means less serfs. | 1-9 |  |  |  |  |
!SET_AI_CHARACTER TOWN_DEFENSE | How much the AI will defend his town. 100 mean he is smart, 50 means he is stupid. | 50-100 |  |  |  |  |
!SET_AI_CHARACTER TROUP_PARAM | This sets the formation for different types of troups. You can only have one of these per type. | AI Group ID | Total Units | Number of rows |  |  |
!SET_AI_CHARACTER MAX_SOLDIER | The maximum number of soldiers the AI will have at once. This only works in TPR. |  |  |  |  |  |
!SET_AI_DEFENSE | Sets a place for men to stand to defend the town If they are front line then they are higher priority. | X | Y | Direction ID | AI Group ID | Defence Radius | 0 = Front line 1 = Back line
AI ATTACKS: |  |  |  |  |  |  |
!SET_AI_ATTACK TYPE | Start of attack plus sets how many times it happens | 0 = Forever 1 = Once 2 = Forever - Take All troops |  |  |  |  |
!SET_AI_ATTACK TOTAL_AMOUNT | The attack will take place when the number of men in the AI's army reaches this number | Number |  |  |  |  |
!SET_AI_ATTACK TROUP_AMOUNT | Sets how many groups of each type will go | AI Group ID | Number |  |  |  |
!SET_AI_ATTACK TARGET | Sets what they will attack | 0 = Closest Unit 1 = Closest Building (from army) 2 = Closest Building (from start position) 3 = Custom X Y |  |  |  |  |
!SET_AI_ATTACK POSITION | If you set target to be "Custom X Y" then use this too | X | Y |  |  |  |
!COPY_AI_ATTACK | End of attack. The attack number must be different for every attack. | Attack number |  |  |  |  |


Teams

The top of each file should contain the following lines:

!SET_MAP "data\Mission\SMaps\village.map"

!SET_MAX_PLAYER 3

It can also have

!SET_TACTIC

if you want the mission to be all fighting.

The order is important when defining teams. This is how you do a human team:

!SET_CURR_PLAYER 0

!SET_HUMAN_PLAYER 0

!ENABLE_PLAYER 0

This is how you do an AI team:

!SET_CURR_PLAYER 1

!ENABLE_PLAYER 1

!SET_AI_PLAYER

Note for !SET_AI_PLAYER you don't need the players number after it. If you do things out of order strange things can happen including random crashes.

!SET_CURR_PLAYER <Player_Number>     Means that all the lines from here are for <Player_Number>

!SET_HUMAN_PLAYER <Player_Number>    Makes <Player_Number> be a human

!ENABLE_PLAYER <Player_Number>       Makes <Player_Number> be enabled

!SET_AI_PLAYER                         Makes the current player be an AI


Village

This will place a storehouse and a school next to each other. The storehouse has lost 200 HP. It allows you to build the quarry at the start (even though you haven't built the inn), and blocks the coal mine.

!RELEASE_HOUSE 14 //Quarry

!BLOCK_HOUSE 3 //Coal Mine

!SET_HOUSE 11 27 29 //Storehouse

!SET_HOUSE_DAMAGE 200

!SET_STREET 27 30

!SET_STREET 28 30

!SET_STREET 29 30

!SET_STREET 30 30

!SET_STREET 31 30

!SET_STREET 32 30

!SET_HOUSE 13 32 29 //School House

Buildings will normally be placed with the X Y being where the door is. However, this is not always true. Sometimes it is the bottom right corner, etc. See Building Positions for more information.

If you want to have someone working in the building when the game starts then you should place them just bellow the door. (if you place them on the door then it won't work)

!SET_HOUSE 9 25 74 //Woodcutter's

!SET_UNIT 1 25 75 //Woodcutter

They will then enter the building when the game starts and then start working.


Millitary

These examples are commented.

!SET_GROUP 15 50 40 2 4 12 //Axe Fighter

!SET_GROUP_FOOD //Axe Fighters are on full health

!SET_GROUP 22 50 48 2 3 9 //Knight

!SEND_GROUP 60 74 4 //Knights are moving to 60 74 and they will face down when they arrive

!SET_HOUSE 17 50 60 //Watch Tower

!SET_GROUP 23 80 48 6 5 20 //Barbarian

!ATTACK_POSITION 50 60 //Barbarians will attack the watch tower when the game starts


AI

AI Scripting is not as difficult as it looks. The big problem is that so much is yet untested.

When you define an AI team, you also need this:

!SET_AI_CHARACTER TOWN_DEFENSE <AMOUNT>

This is even required in all fighting missions.

If it is not all fighting then you should also have:

!SET_AI_START_POSITION <X> <Y>

!SET_AI_CHARACTER WORKER_FACTOR <NUMBER>

and if you like:

!SET_AI_NO_BUILD

Military:

With the AI military, the same types of troops are always in the same formation. You can't have one group of scouts with 9 men, and another with 12.

The troops are categorized as follows:

0 = Melee (militia, axe fighters, barbarians, sword fighters and warriors)

1 = Anti-horse (lance carriers, pike men and rebels)

2 = Ranged (long bow men, crossbow men, rouges, catapults and ballistas)

3 = Mounted (knights, scouts and vagabonds)

So every mission that you will be using troops should have something like this:

!SET_AI_CHARACTER TROUP_PARAM 0 <Number of Men> <Number of rows> //Melee

!SET_AI_CHARACTER TROUP_PARAM 1 <Number of Men> <Number of rows> //Anti-horse

!SET_AI_CHARACTER TROUP_PARAM 2 <Number of Men> <Number of rows> //Ranged

!SET_AI_CHARACTER TROUP_PARAM 3 <Number of Men> <Number of rows> //Mounted

You can tell the AI how to defend his town with

!SET_AI_DEFENSE

This will tell them where to put troops and how the act. If you make the troops front line then they will be top priority and will be replaced when they die. They also won't be included in AI attacks.

If there is fighting happening inside the groups radius then the will come and help.

Note: This command does not place troops; it tells the AI where they stand and how they behave. You should also put a group at the location, unless you want the AI to have to build them.

AI attacks tells the AI when to launch attacks and how they work. If you have no AI attacks, then the AI will just sit in there base and do nothing.

Note that front line troops won't be included in the attacks, so there is always someone guarding there base.

Take this attack from mission 4 TSK:

!SET_AI_ATTACK TYPE 0 //How many times (forever)

!SET_AI_ATTACK TOTAL_AMOUNT 20 //Number of men needed (20)

!SET_AI_ATTACK TROUP_AMOUNT 0 0 // How many groups of Melee (0)

!SET_AI_ATTACK TROUP_AMOUNT 1 1 // How many groups of Anti-horse (1)

!SET_AI_ATTACK TROUP_AMOUNT 2 1 // How many groups of Ranged (1)

!SET_AI_ATTACK TROUP_AMOUNT 3 0 // How many groups of Mounted (0)

!SET_AI_ATTACK TARGET 2 //Target (Closest Building From Start Position)

!COPY_AI_ATTACK 0

So once The Baron of Lauenburg's army size reaches 20 men, then they will attack.


Misc

Just some random stuff that didn't fit in anywhere else.

You should always have a center screen in the section for the human player. This will be where the screen is looking when the game starts.

!CENTER_SCREEN <X> <Y>

!CLEAR_UP <X> <Y> <Radius>

Revealing the map is not only useful, but if you place a building for the human in a spot that is not explored then the game crashes, making it necessary. Troops will explore the map around where they stand, so you can do that as well. The radius is approximately how many squares across the area reveled will be. The maximum for the radius is about 20, but I'm not completely sure about that.

If you use

!CLEAR_UP 255

Then the entire map will be explored at the start. This is very useful for debugging.

You must always have a goal and a lost goal, other wise you will win and lose simultaneously when the game starts.

!ADD_GOAL 4 1 0 2 //Destroy all troops of player 2

!ADD_LOST_GOAL 3 0 0 0 //Save important buildings of player 0

This is not a goal:

!ADD_GOAL 2 0 513 10

It tells the game to display message 513 after 10 seconds. (eg. The barbarians are preparing an attack) I don't know why they made the command the same, it is a little confusing.

!SET_ALLIANCE 1 1 //Allied

Alliances are not mandatory. By default, every one are enemies so you need only use it to make alliances. Note: If you make team 1 allied to team 2 but team 2 not allied to team 1 then team 2 will attack team 1 and team 1 won't attack back. You must make them both allied to each other.

!SET_UNIT_BY_STOCK 0 //Serf

Unit by storehouse (stock) will automatically place units around the storehouse. Be carful if there is not much space around you storehouse, it sometimes causes issues. It is useful for serfs and laborers.

!SET_UNIT 24 64 143 //Wolf

Animals can be placed in any players code, but you still can't control them, and they won't take on the players mini map color, they will be black.


Multiplayer

There seems to be some problems with multiplayer scripting. In KaM the map won't reveal properly unless you either:

1. Use an original map

2. Reveal the entire map at the start

Anyway, assuming you overcome this problem here is how to script.

Multiplayer missions must have

!SET_MULTIPLAYER

a the top (above !SET_MAP)

You also need

!DISTRIBUTE_MULTIPLAYER_POSITIONS

bellow !SET_MAX_PLAYER

You start a player like this

!SET_CURR_PLAYER <PLAYER_NUMBER>

!IF VALID_PLAYER

and end one like this

!ENDIF

This is called an IF statement. It checks that someone is using that player and if they are then it executes the code in the middle. Everything after the !IF and before the !ENDIF should be "tabbed" in. (it should have a tab before it) This is not necessary but it makes it much easier to read.

You then have more IF statements inside the first one.

There are three sections to a players code:

1. Starting supply setting: None - This is what you get if you choose "None" in the multiplayer settings. Normally just a storehouse with some serfs and laborers, and maybe a few troops.

2. Starting supply setting: Troops - If they choose "Troops" then they will get the contents of "None" as well as the contents of "Troops". This is so you don't need to do the storehouse again. Normally contains just some extra troops.

3. Starting supply setting: Troops and Buildings - When the choose "Troops and Buildings" then they get the contents of "None", "Troops" and "Troops and Buildings". Normally contains just some more buildings, (woodcutter, etc.) but not the storehouse. (as this is already covered by "None")

As you can see, they "Accumulate" (troops includes none, etc.)

Here is how you define these sections:

1. (none) This can be put anywhere in the players section, so long as it is not under another IF statement.

2. (troops) This should be put inside the IF statement !IF MEDIUM_WARES It must also have an !ENDIF Afterwards.

3. (troops and buildings) This should be put inside the IF statement !IF MANY_WARES It must also have an !ENDIF Afterwards.

The easiest way of adding wares it using !ADD_WARE_TO_ALL as this saves doing it for each player. To make it easier to find I recommend you put it at the bottom of the file.

So an example of a multiplayer mission would be

!SET_MULTIPLAYER

!SET_MAP "data\mission\MMaps\save01.map"

!SET_MAX_PLAYER 2

!DISTRIBUTE_MULTIPLAYER_POSITIONS

!SET_CURR_PLAYER 0 //

!IF VALID_PLAYER

!CENTER_SCREEN 19 143

//None (does not require an !IF)

!CLEAR_UP 19 143 10 //klärt auf

!SET_HOUSE 11 19 143 //Storehouse

// Units By Storehouse

!SET_UNIT_BY_STOCK 9 // Laborer

!SET_UNIT_BY_STOCK 9 // Laborer

!SET_UNIT_BY_STOCK 9 // Laborer

!SET_UNIT_BY_STOCK 0 // Serf

!SET_UNIT_BY_STOCK 0 // Serf

!SET_UNIT_BY_STOCK 0 // Serf

!IF MEDIUM_WARES //Troops

// Extra Units By Storehouse

!SET_UNIT_BY_STOCK 9 // Laborer

!SET_UNIT_BY_STOCK 0 // Serf

!SET_UNIT_BY_STOCK 0 // Serf

// Troops

!SET_GROUP 21 32 135 1 3 6 //

!SET_GROUP 19 19 126 7 3 6 //

!SET_GROUP 14 27 127 0 4 12 //

!ENDIF

!IF MANY_WARES //Troops and Buildings

// Extra Buildings

!SET_HOUSE 14 13 143 //

!SET_HOUSE 14 8 143 //

!SET_HOUSE 9 28 142 //

!SET_HOUSE 9 26 149 //

!SET_HOUSE 0 21 148 //

!SET_HOUSE 13 24 143 //

!SET_HOUSE 27 15 148 //

// Roads

!SET_STREET 13 144

!SET_STREET 14 144

!SET_STREET 16 144

!SET_STREET 15 144

!SET_STREET 12 144

!SET_STREET 11 144

(Trimmed to save space)

// Extra Units By Storehouse

!SET_UNIT_BY_STOCK 9 // Laborer

!SET_UNIT_BY_STOCK 9 // Laborer

!SET_UNIT_BY_STOCK 0 // Serf

!SET_UNIT_BY_STOCK 0 // Serf

!SET_UNIT_BY_STOCK 10 // Stonemason

!SET_UNIT_BY_STOCK 10 // Stonemason

!SET_UNIT_BY_STOCK 1 // Woodcutter

!SET_UNIT_BY_STOCK 1 // Woodcutter

!SET_UNIT_BY_STOCK 5 // Carpenter

// Troops

!SET_GROUP 17 32 127 0 3 6 //

!SET_GROUP 15 24 134 0 3 6 //

!ENDIF

!ENDIF

!SET_CURR_PLAYER 1 //

!IF VALID_PLAYER

(Removed to save space)

!ENDIF

// Wares to all

!ADD_WARE_TO_ALL 1 90 // Stone

!ADD_WARE_TO_ALL 2 50 // Timber

!ADD_WARE_TO_ALL 7 40 // Gold

!ADD_WARE_TO_ALL 10 30 // Loaves

!ADD_WARE_TO_ALL 8 40 // Wine

!ADD_WARE_TO_ALL 13 20 // Sausages

!IF MEDIUM_WARES

!ADD_WARE_TO_ALL 7 20 // Gold

!ADD_WARE_TO_ALL 10 15 // Loaves

!ADD_WARE_TO_ALL 8 20 // Wine

!ADD_WARE_TO_ALL 13 10 // Sausages

!ENDIF

!IF MANY_WARES

!ADD_WARE_TO_ALL 7 20 // Gold

!ADD_WARE_TO_ALL 10 15 // Loaves

!ADD_WARE_TO_ALL 8 20 // Wine

!ADD_WARE_TO_ALL 13 10 // Sausages

!ENDIF


ID Numbers

These pages contains ID numbers for buildings, units etc.


Buildings

These are building ID numbers. eg. !SET_HOUSE 11 54 75 will put a storehouse at X 54 and Y 75.

ID Number | Building Name
0 | Sawmill
1 | Iron Smithy
2 | Weapon Smithy
3 | Coal Mine
4 | Gold Mine
5 | Iron Mine
6 | Fisherman's Hut
7 | Bakery
8 | Farm
9 | Woodcutter's
10 | Armor Smithy
11 | Storehouse
12 | Stables
13 | School House
14 | Quarry
15 | Metallurgist's
16 | Swine farm
17 | Watch Tower
18 | Town Hall
19 | Weapons Workshop
20 | Armory Workshop
21 | Barracks
22 | Mill
23 | Vehicles Workshop
24 | Butcher's
25 | Tannery
26 | Crashes Game (Used in beta?)
27 | Inn
28 | Vineyard


Units

These are unit ID numbers. eg. !SET_UNIT 8 35 94 will put a fisherman at X 35 and Y 94.

ID Number | Unit Name
0 | Serf
1 | Woodcutter
2 | Miner
3 | Animal Breeder
4 | Farmer
5 | Carpenter
6 | Baker
7 | Butcher
8 | Fisherman
9 | Laborer
10 | Stone Mason
11 | Blacksmith
12 | Metallurgist
13 | Recruit


Animals

These are animal ID numbers. Animals are treated like units. eg. !SET_UNIT 28 62 7 will put a crab at X 62 and Y 7.

ID Number | Animal Name
24 | Wolf
25 | Fish
26 | Seasnake (eel)
27 | Seastar
28 | Crab
29 | Floating Flower
30 | Floating Leaf
31 | Duck


Troops

These are troop ID numbers. eg. !SET_GROUP 18...... will put a crossbowman.

ID Number | Troop Name
14 | Militia
15 | Axe Fighter
16 | Sword Fighter
17 | Bowman
18 | Crossbowman
19 | Lance Carrier
20 | Pikeman
21 | Scout
22 | Knight
23 | Barbarian
24 | Rebel
25 | Rogue
26 | Warrior
27 | Vagabond
28 | Catapult
29 | Ballista


AI Groups

These are IDs for groups in more general categories.

ID Number | Troop Name
0 | Melee (Militia, Axe fighters, Sword Fighters, Barbarians and Warriors)
1 | Anti-Horse (Lance Carriers and Pikemen)
2 | Ranged (Longbowmen, Crossbowmen)
3 | Mounted (Scouts and Knights)


Wares

These are Ware ID numbers. eg. !ADD_WARE 9... will put corn.

ID Number | Ware Name
0 | Tree trunk
1 | Stone
2 | Timber
3 | Iron ore
4 | Gold ore
5 | Coal
6 | Iron
7 | Gold
8 | Wine
9 | Corn
10 | Loaves
11 | Flour
12 | Leather
13 | Sausages
14 | Pig
15 | Skin
16 | Wooden Shield
17 | Long Shield
18 | Leather Armor
19 | Iron Armament
20 | Handaxe
21 | Longsword
22 | Lance
23 | Pike
24 | Longbow
25 | Crossbow
26 | Horse
27 | Fish


Weapons

These are Weapon ID numbers. eg. !ADD_WEAPON 24... will put a longbow.

ID Number | Ware Name
16 | Wooden Shield
17 | Long Shield
18 | Leather Armor
19 | Iron Armament
20 | Handaxe
21 | Longsword
22 | Lance
23 | Pike
24 | Longbow
25 | Crossbow
26 | Horse


Directions

This is for the directions troops will face


Colors

Colors work by choosing an index into a palette. Here is the palette. 0 is the top left, 1 is one right of that etc.

KaM Color Palete

These are Color ID values that work. This has all the colors from the mission plus some I have found.

Use Mini-map value for !SET_MAP_COLOR and Full Values for !SET_NEW_REMAP

NAME                    MINI-MAP VALUE      FULL VALUE

Red                     229                 24 25 27 28 29 30 30 31

Red Orange              198                 194 195 196 197 198 199 201 201

Dark Red                42                  40 41 42 43 44 45 46 47

Maroon                  196                 192 193 194 195 196 197 198 199

Orange Red              43                  41 42 43 44 45 46 46 47

Light Orange            44                  42 43 44 45 46 45 46 47

Light Orange Brown      133                 129 130 131 132 133 134 135 136

Lighter Orange Brown    134                 130 131 132 133 134 135 136 137

Bright Orange Brown     136                 132 133 134 135 136 137 138 139

Orange                  113                 113 114 115 116 117 118 118 119

Rich Orange             200                 196 197 198 199 200 201 202 203

Deep Orange             116                 112 113 114 115 116 117 118 119

Very Dark Orange        196                 192 193 194 195 196 197 198 199

Harsh Yellow            76                  72 73 74 75 76 77 78 79

Blinding Yellow         73                  69 70 71 72 73 74 75 76

Bright Yellow           74                  70 71 72 73 74 75 76 77

White Yellow            204                 200 201 202 203 204 205 206 207

Yellow                  233                 96 97 98 99 100 101 102 103

Yellow Orange           202                 198 199 200 201 202 203 204 205

Rich Yellow             186                 182 183 184 185 186 187 188 189

Deep Yellow             185                 181 182 183 184 185 186 187 188

Dark Yellow             52                  48 49 50 51 52 53 54 55

Light Blue              36                  32 33 34 35 36 37 38 39

Rich Blue               124                 120 121 122 123 124 125 126 127

Pulsing Aqua Blue       244                 241 242 243 244 245 246 245 246

Dark Blue               10                  6 7 8 9 10 11 12 13

Pale Violet             12                  8 9 10 11 12 13 14 15

Violet                  11                  7 8 9 10 11 12 13 14

Purple                  20                  16 17 18 19 20 21 22 23

Lime Green              108                 104 105 106 107 108 109 110 111

Blinding Green          71                  67 68 69 70 71 72 73 74

Bright Green            70                  66 67 68 69 70 71 72 73

Pale Soft Green         67                  63 64 65 66 67 68 69 70

Soft Green              65                  61 62 63 64 65 66 67 68

Light Green             68                  64 65 66 67 68 69 70 71

Rich Dark Green         165                 161 162 163 164 165 166 167 168

Dark Green              61                  57 58 59 60 61 62 63 64

Very Dark Green         60                  56 57 58 59 60 61 62 63

Very Pale Olive Green   171                 165 166 167 169 171 173 174 175

Pale Olive Green        64                  60 61 62 63 64 65 66 67

Yellow Olive Green      171                 167 168 169 170 171 172 173 174

Soft Olive Green        169                 165 166 167 168 169 170 171 172

Olive Green             165                 161 162 163 164 165 166 167 168

Deep Olive Green        167                 163 164 165 166 167 168 169 170

Dark Olive Green        63                  59 60 61 62 63 64 65 66

Orange Brown            181                 177 178 179 180 181 182 183 184

Rich Orange Brown       183                 179 180 181 182 183 184 185 186

Rich Brown              180                 176 177 178 179 180 181 182 183

Dark Grey Brown         212                 208 209 210 211 212 213 214 215

Grey Brown              213                 209 210 211 212 213 214 215 216

Black                   3                   3 3 3 3 3 3 3 5

Off White               139                 135 136 137 138 139 140 141 142

Cream                   137                 133 134 135 136 137 138 139 140

Bright White            140                 136 137 138 139 140 141 142 143

White                   220                 216 217 218 219 220 221 222 223

Snow White              219                 215 216 217 218 219 220 221 222

Very Pale Grey          218                 214 215 216 217 218 219 220 221

Pale Grey               217                 213 214 215 216 217 218 219 220

Grey                    216                 212 213 214 215 216 218 220 222

Deep Grey               215                 211 212 213 214 215 216 217 218

Dark Grey               214                 210 211 212 213 214 215 216 217

Not used, as they all look the same:

NAME                    MINI-MAP VALUE      FULL VALUE

Bright White 1          142                 138 139 140 141 142 143 144 145

Bright White 2          143                 139 140 141 142 143 144 145 146

Bright White 3          145                 141 142 143 144 145 146 147 148

Bright White 4          146                 142 143 144 145 146 147 148 149

Bright White 5          148                 144 145 146 147 148 149 150 151

Bright White 6          149                 145 146 147 148 149 150 151 152

Bright White 7          151                 147 148 149 150 151 152 153 154

Bright White 8          152                 148 149 150 151 152 153 154 155

Bright White 9          153                 149 150 151 152 153 154 155 156

Bright White 10         155                 151 152 153 154 155 156 157 158

White 1                 221                 217 218 219 220 221 222 223 224


Goal Targets

For a long time people thought that the only goal types were Important Buildings and Troops. But one day I got a message from Zozol92 (a Polish fan) who had discovered that their are more goal types.

Here is a list of possibilities for the first parameter of !SET_GOAL or !SET_LOST_GOAL.

First Parameter: | Title: | Targets: | Notes:
0 | Unknown - Always true | Unknown |
1 | Build Tutorial | Build the tannery | Use this as Destroy Build Tutorial of Player <Human Player Number> Tutorial instructions (i.e. what to build) will be displayed if you use this.
2 | Message |  |
3 | Important Buildings | School, Storehouse and Barracks |
4 | Troops | All Troops |
5 | Unknown - Always false | Unknown |
6 | Important Economic Buildings and troops | School, Inn, Storehouse and all troops |
7 | Serfs and Schools | Serfs and Schools |
8 | Military Buildings | Coal mine, Weapons workshop, Tannery, Armory workshop, Stables, Iron mine, Iron smithy, Weapons smithy, Armory smithy, Barracks, Town hall and vehicles workshop | Interestingly this does NOT include watchtowers as military buildings.

Unknown - Always true means that you win as soon as you start. Either it hasn't been set or the target was not in the mission I used, therefore it had been "destroyed".

Unknown - Always false means that you never win. This might be because it is not actually a goal but something else, or the goal is impossible to achieve. But most likely it just isn't set.


Building Positions

 Top Previous

When you place a building for some incredibly strange reason the XY coordinates and NOT always at the door!!!! This page shows where they are for each building.

Sawmill | Right side of the entrance
Iron smithy | Entrance
Weapon smithy | Right side of the entrance
Coalmine | Right side of the entrance
Ironmine | Entrance
Goldmine | Entrance
Fisherman’s hut | Right side of the entrance
Bakery | Left side of the entrance
Farm | Right side of the entrance
Woodcutter’s hut | Entrance
Armor smithy | Right side of the entrance
Storehouse | Right side of the entrance
Stables | Entrance
School | Right side of the entrance
Quarry | Entrance
Metallurgist’s | Right side of the entrance
Swine farm | Left side of the entrance
Watchtower | Entrance
Town Hall | Right side of the entrance
Weapons workshop | Right side of the entrance
Armor workshop | Right side of the entrance
Barracks | Right side of the entrance
Mill | Entrance
Vehicles workshop | Right side of the entrance
Butcher | Left side of the entrance
Tannery | Entrance
Inn | Right side of the entrance
Vineyard | Left side of the entrance

This information is mainly thanks to The Dark Lord.