1-- ======================================================================= 2-- Player 1 3-- ======================================================================= 4p1:allow_buildings("all") 5p1:forbid_buildings { 6 "frisians_aqua_farm", 7 "frisians_recycling_center", 8 "frisians_furnace", 9 "frisians_armor_smithy_small", 10 "frisians_barracks", 11 "frisians_training_camp", 12 "frisians_training_arena", 13 "frisians_sewing_room", 14 "frisians_tailors_shop", 15 -- The map is non-seafaring, but just in case: 16 "frisians_shipyard", 17 "frisians_weaving_mill", 18 "frisians_port", 19} 20 21port1 = p1:place_building("frisians_port", p1_start, false, true) 22port1:set_wares { 23 log = 40, 24 brick = 50, 25 granite = 40, 26 reed = 20, 27 clay = 10, 28 water = 5, 29 coal = 30, 30 fish = 2, 31 meat = 2, 32 fruit = 10, 33 bread_frisians = 4, 34 beer = 4, 35 ration = 10, 36 sword_long = 2, 37 sword_broad = 1 38} 39port1:set_workers { 40 frisians_woodcutter = 3, 41 frisians_forester = 7, 42 frisians_claydigger = 3, 43 frisians_brickmaker = 2, 44 frisians_builder = 10, 45 frisians_blacksmith = 2, 46 frisians_smelter = 3, 47 frisians_smoker = 2, 48 frisians_seamstress = 1, 49 frisians_landlady = 2, 50 frisians_berry_farmer = 4, 51 frisians_fruit_collector = 4, 52 frisians_beekeeper = 1, 53 frisians_fisher = 3, 54 frisians_geologist = 1, 55 frisians_farmer = 5, 56 frisians_reed_farmer = 4, 57 frisians_baker = 1, 58 frisians_brewer = 1, 59 frisians_trainer = 2, 60 frisians_stonemason = 4, 61 frisians_reindeer = 1, 62 frisians_charcoal_burner = 3 63} 64 65local trained = 0 66for descr,n in pairs(campaign_data) do 67 if descr ~= "000" then 68 trained = trained + n 69 end 70end 71local soldiers = {} 72if trained > takeover_soldiers then 73 -- We have more soldiers than allowed, so pick 10 at random 74 local remaining = takeover_soldiers 75 repeat 76 local key1 = math.random(0, 2) 77 local key2 = math.random(0, 6) 78 local key3 = math.random(0, 2) 79 for descr,n in pairs(campaign_data) do 80 if descr == (key1 .. key2 .. key3) and n > 0 and not (key1 == 0 and key2 == 0 and key3 == 0) then 81 if n < remaining then 82 soldiers[{key1, key2, key3, 0}] = n 83 remaining = remaining - n 84 else 85 soldiers[{key1, key2, key3, 0}] = remaining 86 remaining = 0 87 end 88 campaign_data[descr] = nil 89 break 90 end 91 end 92 until remaining == 0 93 soldiers[{0, 0, 0, 0}] = total_soldiers - takeover_soldiers 94else 95 -- We have less than 10 soldiers, so take them all plus some new ones 96 for h=0,2 do 97 for a=0,6 do 98 for d=0,2 do 99 if not (h == 0 and a == 0 and d == 0) and campaign_data[h .. a .. d] and campaign_data[h .. a .. d] > 0 then 100 soldiers[{h, a, d, 0}] = campaign_data[h .. a .. d] 101 end 102 end 103 end 104 end 105 soldiers[{0, 0, 0, 0}] = total_soldiers - trained 106end 107port1:set_soldiers(soldiers) 108 109-- ======================================================================= 110-- Player 2 111-- ======================================================================= 112p2:forbid_buildings("all") 113p2:allow_buildings { 114 "empire_warehouse", 115 "empire_sentry", 116 "empire_blockhouse", 117 "empire_barrier", 118 "empire_tower", 119 "empire_fortress", 120 "empire_lumberjacks_house", 121 "empire_foresters_house", 122 "empire_quarry", 123 "empire_hunters_house", 124 "empire_fishers_house", 125 "empire_smelting_works", 126 "empire_toolsmithy", 127 "empire_tavern", 128 "empire_inn", 129 "empire_ironmine", 130 "empire_coalmine", 131 "empire_marblemine", 132 "empire_ironmine_deep", 133 "empire_coalmine_deep", 134 "empire_marblemine_deep", 135 "empire_bakery", 136 "empire_brewery", 137 "empire_vineyard", 138 "empire_winery", 139 "empire_donkeyfarm", 140 "empire_charcoal_kiln", 141 "empire_farm", 142 "empire_mill", 143 "empire_piggery", 144 "empire_sheepfarm", 145 "empire_well", 146 "empire_stonemasons_house", 147 "empire_sawmill" 148} 149hq2 = p2:place_building("empire_headquarters", map.player_slots[2].starting_field, false, true) 150hq2:set_wares { 151 log = 80, 152 granite = 40, 153 marble = 80, 154 marble_column = 20, 155 planks = 40, 156 cloth = 10, 157 ration = 30, 158 beer = 15, 159 meal = 5, 160 wine = 15, 161 grape = 10, 162 wheat = 30, 163 water = 50, 164 coal = 50, 165 iron = 20, 166 gold = 10, 167 gold_ore = 5, 168 iron_ore = 10, 169 meat = 20, 170 fish = 20, 171 empire_bread = 20 172} 173hq2:set_workers { 174 empire_builder = 3, -- To slow him down a bit 175 empire_lumberjack = 8, 176 empire_forester = 18, 177 empire_stonemason = 7, 178 empire_miner = 12, 179 empire_miner_master = 4, 180 empire_toolsmith = 3, 181 empire_carpenter = 3, 182 empire_donkey = 40, 183 empire_donkeybreeder = 1, 184 empire_weaver = 2, 185 empire_hunter = 2, 186 empire_fisher = 3, 187 empire_shepherd = 2, 188 empire_farmer = 9, 189 empire_miller = 4, 190 empire_baker = 4, 191 empire_brewer = 4, 192 empire_vintner = 3, 193 empire_vinefarmer = 5, 194 empire_pigbreeder = 3, 195 empire_innkeeper = 7, 196 empire_charcoal_burner = 2, 197 empire_smelter = 4, 198 empire_trainer = 3, 199 empire_armorsmith = 1, 200 empire_weaponsmith = 1, 201 empire_geologist = 2 202} 203local nr_soldiers = {40, 40, 100} 204nr_soldiers = nr_soldiers[difficulty] 205hq2:set_soldiers({4,4,0,2}, nr_soldiers) 206 207-- ======================================================================= 208-- Player 3 209-- ======================================================================= 210p3:forbid_buildings("all") 211p3:allow_buildings { 212 "barbarians_warehouse", 213 "barbarians_sentry", 214 "barbarians_barrier", 215 "barbarians_tower", 216 "barbarians_lumberjacks_hut", 217 "barbarians_rangers_hut", 218 "barbarians_quarry", 219 "barbarians_wood_hardener", 220 "barbarians_lime_kiln", 221 "barbarians_reed_yard", 222 "barbarians_tavern", 223 "barbarians_inn", 224 "barbarians_big_inn", 225 "barbarians_bakery", 226 "barbarians_brewery", 227 "barbarians_micro_brewery", 228 "barbarians_charcoal_kiln", 229 "barbarians_smelting_works", 230 "barbarians_granitemine", 231 "barbarians_coalmine", 232 "barbarians_ironmine", 233 "barbarians_goldmine", 234 "barbarians_ironmine_deep", 235 "barbarians_coalmine_deep", 236 "barbarians_goldmine_deep", 237 "barbarians_goldmine_deeper", 238 "barbarians_ironmine_deeper", 239 "barbarians_goldmine_deeper", 240 "barbarians_metal_workshop", 241 "barbarians_farm", 242 "barbarians_well", 243 "barbarians_cattlefarm", 244 "barbarians_hunters_hut", 245 "barbarians_fishers_hut", 246 "barbarians_gamekeepers_hut" 247} 248hq3 = p3:place_building("barbarians_headquarters", map.player_slots[3].starting_field, false, true) 249hq3:set_wares { 250 log = 100, 251 granite = 50, 252 reed = 50, 253 blackwood = 10, -- To delay expansion 254 grout = 20, 255 coal = 20, 256 water = 50, 257 wheat = 30, 258 iron = 20, 259 gold = 5, 260 iron_ore = 10, 261 gold_ore = 5, 262 barbarians_bread = 20, 263 beer = 10, 264 beer_strong = 20, 265 ration = 200, -- Headstart at stealing ores 266 snack = 50, 267 meal = 50, 268 fish = 20, 269 meat = 20 270} 271hq3:set_workers { 272 barbarians_builder = 7, 273 barbarians_lumberjack = 10, 274 barbarians_ranger = 25, 275 barbarians_gardener = 4, 276 barbarians_ox = 20, 277 barbarians_cattlebreeder = 2, 278 barbarians_stonemason = 8, 279 barbarians_lime_burner = 4, 280 barbarians_smelter = 5, 281 barbarians_charcoal_burner = 2, 282 barbarians_fisher = 2, 283 barbarians_hunter = 2, 284 barbarians_baker = 3, 285 barbarians_brewer = 3, 286 barbarians_brewer_master = 1, 287 barbarians_miner = 19, 288 barbarians_miner_chief = 9, 289 barbarians_miner_master = 4, 290 barbarians_innkeeper = 6, 291 barbarians_geologist = 2, 292 barbarians_trainer = 3, 293 barbarians_blacksmith = 4, 294 barbarians_blacksmith_master = 1, 295 barbarians_helmsmith = 1 296} 297nr_soldiers = {30, 50, 80} 298nr_soldiers = nr_soldiers[difficulty] 299hq3:set_soldiers({3,5,0,2}, nr_soldiers) 300