1dirname = path.dirname (__file__) 2 3tribes:new_trainingsite_type { 4 msgctxt = "frisians_building", 5 name = "frisians_training_camp", 6 -- TRANSLATORS: This is a building name used in lists of buildings 7 descname = pgettext ("frisians_building", "Training Camp"), 8 helptext_script = dirname .. "helptexts.lua", 9 icon = dirname .. "menu.png", 10 size = "medium", 11 12 buildcost = { 13 brick = 5, 14 granite = 3, 15 log = 3, 16 gold = 1, 17 reed = 3 18 }, 19 return_on_dismantle = { 20 brick = 3, 21 granite = 1, 22 log = 1, 23 gold = 1, 24 reed = 1 25 }, 26 27 spritesheets = { 28 idle = { 29 directory = dirname, 30 basename = "idle", 31 hotspot = {50, 79}, 32 frames = 10, 33 columns = 5, 34 rows = 2, 35 fps = 10 36 }, 37 working = { 38 directory = dirname, 39 basename = "working", 40 hotspot = {50, 79}, 41 frames = 10, 42 columns = 5, 43 rows = 2, 44 fps = 10 45 } 46 }, 47 animations = { 48 unoccupied = { 49 directory = dirname, 50 basename = "unoccupied", 51 hotspot = {50, 60} 52 } 53 }, 54 55 aihints = { 56 prohibited_till = 900, 57 very_weak_ai_limit = 1, 58 weak_ai_limit = 2 59 }, 60 61 working_positions = { 62 frisians_trainer = 1 63 }, 64 65 inputs = { 66 { name = "beer", amount = 6 }, 67 { name = "bread_frisians", amount = 6 }, 68 { name = "smoked_fish", amount = 6 }, 69 { name = "smoked_meat", amount = 6 }, 70 { name = "sword_long", amount = 2 }, 71 { name = "sword_broad", amount = 2 }, 72 { name = "sword_double", amount = 2 }, 73 { name = "helmet", amount = 2 }, 74 { name = "fur_garment_studded", amount = 2 }, 75 }, 76 outputs = { 77 "frisians_soldier", 78 "scrap_metal_mixed", 79 "scrap_iron", 80 "fur_garment_old", 81 }, 82 83 ["soldier attack"] = { 84 min_level = 0, 85 max_level = 2, 86 food = { 87 {"smoked_fish", "smoked_meat"}, 88 {"beer"}, 89 {"bread_frisians"} 90 }, 91 weapons = { 92 "sword_long", 93 "sword_broad", 94 "sword_double", 95 } 96 }, 97 ["soldier health"] = { 98 min_level = 0, 99 max_level = 0, 100 food = { 101 {"bread_frisians", "beer"}, 102 {"smoked_fish", "smoked_meat"}, 103 }, 104 weapons = { 105 "helmet", 106 } 107 }, 108 ["soldier defense"] = { 109 min_level = 0, 110 max_level = 0, 111 food = { 112 {"bread_frisians", "beer"}, 113 {"smoked_fish", "smoked_meat"}, 114 }, 115 weapons = { 116 "fur_garment_studded", 117 } 118 }, 119 120 programs = { 121 sleep = { 122 -- TRANSLATORS: Completed/Skipped/Did not start sleeping because ... 123 descname = _"sleeping", 124 actions = { 125 "sleep=5000", 126 "return=skipped", 127 } 128 }, 129 upgrade_soldier_attack_0 = { 130 -- TRANSLATORS: Completed/Skipped/Did not start upgrading ... because ... 131 descname = pgettext ("frisians_building", "upgrading soldier attack from level 0 to level 1"), 132 actions = { 133 "checksoldier=soldier attack 0", -- Fails when aren't any soldier of level 0 attack 134 "return=failed unless site has sword_long", 135 "return=failed unless site has bread_frisians,beer,smoked_fish,smoked_meat", 136 "sleep=12400", 137 "animate=working 14000", 138 "checksoldier=soldier attack 0", -- Because the soldier can be expelled by the player 139 "consume=sword_long bread_frisians,beer,smoked_fish,smoked_meat", 140 "train=soldier attack 0 1", 141 "produce=scrap_iron" 142 } 143 }, 144 upgrade_soldier_attack_1 = { 145 -- TRANSLATORS: Completed/Skipped/Did not start upgrading ... because ... 146 descname = pgettext ("frisians_building", "upgrading soldier attack from level 1 to level 2"), 147 actions = { 148 "checksoldier=soldier attack 1", 149 "return=failed unless site has sword_broad", 150 "return=failed unless site has bread_frisians", 151 "return=failed unless site has smoked_fish,smoked_meat", 152 "sleep=10800", 153 "animate=working 12000", 154 "checksoldier=soldier attack 1", 155 "consume=sword_broad bread_frisians smoked_fish,smoked_meat", 156 "train=soldier attack 1 2", 157 "produce=scrap_iron:2" 158 } 159 }, 160 upgrade_soldier_attack_2 = { 161 -- TRANSLATORS: Completed/Skipped/Did not start upgrading ... because ... 162 descname = pgettext ("frisians_building", "upgrading soldier attack from level 2 to level 3"), 163 actions = { 164 "checksoldier=soldier attack 2", 165 "return=failed unless site has sword_double", 166 "return=failed unless site has beer", 167 "return=failed unless site has smoked_fish,smoked_meat", 168 "sleep=10800", 169 "animate=working 12000", 170 "checksoldier=soldier attack 2", 171 "consume=sword_double beer smoked_fish,smoked_meat", 172 "train=soldier attack 2 3", 173 "produce=scrap_iron scrap_metal_mixed" 174 } 175 }, 176 upgrade_soldier_health_0 = { 177 -- TRANSLATORS: Completed/Skipped/Did not start upgrading ... because ... 178 descname = pgettext ("frisians_building", "upgrading soldier health from level 0 to level 1"), 179 actions = { 180 "checksoldier=soldier health 0", 181 "return=failed unless site has helmet", 182 "return=failed unless site has bread_frisians,beer", 183 "return=failed unless site has smoked_fish,smoked_meat", 184 "sleep=15000", 185 "animate=working 15000", 186 "checksoldier=soldier health 0", 187 "consume=helmet bread_frisians,beer smoked_fish,smoked_meat", 188 "train=soldier health 0 1" 189 } 190 }, 191 upgrade_soldier_defense_0 = { 192 -- TRANSLATORS: Completed/Skipped/Did not start upgrading ... because ... 193 descname = pgettext ("frisians_building", "upgrading soldier defense from level 0 to level 1"), 194 actions = { 195 "checksoldier=soldier defense 0", 196 "return=failed unless site has fur_garment_studded", 197 "return=failed unless site has bread_frisians,beer", 198 "return=failed unless site has smoked_fish,smoked_meat", 199 "sleep=12400", 200 "animate=working 14000", 201 "checksoldier=soldier defense 0", 202 "consume=fur_garment_studded bread_frisians,beer smoked_fish,smoked_meat", 203 "train=soldier defense 0 1", 204 "produce=fur_garment_old" 205 } 206 }, 207 }, 208 209 soldier_capacity = 10, 210 trainer_patience = 5 211} 212