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