Merge lp:~widelands-dev/widelands/ai_level_names into lp:widelands
- ai_level_names
- Merge into trunk
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | 7658 | ||||
Proposed branch: | lp:~widelands-dev/widelands/ai_level_names | ||||
Merge into: | lp:widelands | ||||
Diff against target: |
703 lines (+116/-98) 32 files modified
campaigns/bar02.wmf/player_names (+3/-3) maps/The Green Plateau.wmf/player_names (+3/-3) maps/Trident of Fire.wmf/player_names (+5/-5) scripting/widelands/multiplayer_help.lua (+1/-1) src/ai/ai_hints.cc (+2/-2) src/ai/ai_hints.h (+5/-5) src/ai/computer_player.cc (+7/-3) src/ai/computer_player.h (+2/-0) src/ai/defaultai.cc (+14/-14) src/ai/defaultai.h (+21/-15) src/wui/multiplayersetupgroup.cc (+8/-4) src/wui/playerdescrgroup.cc (+5/-3) test/maps/lua_testsuite.wmf/player_names (+2/-2) tribes/buildings/productionsites/atlanteans/sawmill/init.lua (+2/-2) tribes/buildings/productionsites/atlanteans/smelting_works/init.lua (+2/-2) tribes/buildings/productionsites/atlanteans/smokery/init.lua (+2/-2) tribes/buildings/productionsites/atlanteans/weaving_mill/init.lua (+2/-2) tribes/buildings/productionsites/barbarians/lime_kiln/init.lua (+2/-2) tribes/buildings/productionsites/barbarians/smelting_works/init.lua (+2/-2) tribes/buildings/productionsites/barbarians/wood_hardener/init.lua (+2/-2) tribes/buildings/productionsites/empire/brewery/init.lua (+2/-2) tribes/buildings/productionsites/empire/sawmill/init.lua (+2/-2) tribes/buildings/productionsites/empire/smelting_works/init.lua (+2/-2) tribes/buildings/productionsites/empire/stonemasons_house/init.lua (+2/-2) tribes/buildings/productionsites/empire/winery/init.lua (+2/-2) tribes/buildings/trainingsites/atlanteans/dungeon/init.lua (+2/-2) tribes/buildings/trainingsites/atlanteans/labyrinth/init.lua (+2/-2) tribes/buildings/trainingsites/barbarians/battlearena/init.lua (+2/-2) tribes/buildings/trainingsites/barbarians/trainingcamp/init.lua (+2/-2) tribes/buildings/trainingsites/empire/arena/init.lua (+2/-2) tribes/buildings/trainingsites/empire/colosseum/init.lua (+2/-2) tribes/buildings/trainingsites/empire/trainingcamp/init.lua (+2/-2) |
||||
To merge this branch: | bzr merge lp:~widelands-dev/widelands/ai_level_names | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Widelands Developers | Pending | ||
Review via email: mp+279697@code.launchpad.net |
Commit message
Description of the change
Renamed AI levels to "Normal", "Weak", "Very Weak".
AI names and icon filenames are now independent of their descnames.
pics/ai_strong.png is now unused, but I am having trouble grabbing the media repro, so I left it in for now. It should be moved over there though, because we're currently not using it, but we don't want to lose the graphic for when we do have a strong AI in the future.
TiborB (tiborb95) wrote : | # |
GunChleoc (gunchleoc) wrote : | # |
I have posted on the forum to give this branch testing priority - hopefully somebody will find the time :)
kaputtnik (franku) wrote : | # |
> pics/ai_strong.png is now unused
I could put it into the media branch.
Currently i compile this branch and try to test the changes. After i am ready i will update this branch (removing the png file) and update the media branch also.
GunChleoc (gunchleoc) wrote : | # |
Thanks! You can delete the file from this branch with "bzr rm <filename>" if you want to take care of that too.
kaputtnik (franku) wrote : | # |
I know how to remove a file ;) Thanks anyway. I've removed the file and tested the interface by clicking around and cycle through the ai levels... play tested only by starting a game both in multiplayer and normal mode.
There is a crash when hitting the help button in multiplayer mode:
terminate called after throwing an instance of 'ImageNotFound'
what(): [/home/
I fixed this by editing scripting/
So for the interface it seems to look good :-)
GunChleoc (gunchleoc) wrote : | # |
Thanks! Your fix is correct, so this branch is ready to go :)
Preview Diff
1 | === modified file 'campaigns/bar02.wmf/player_names' |
2 | --- campaigns/bar02.wmf/player_names 2010-03-11 17:46:46 +0000 |
3 | +++ campaigns/bar02.wmf/player_names 2015-12-07 18:58:53 +0000 |
4 | @@ -10,14 +10,14 @@ |
5 | [player_2] |
6 | name="Kalitath" |
7 | tribe="barbarians" |
8 | -ai="Defensive" |
9 | +ai="very_weak" |
10 | |
11 | [player_3] |
12 | name="First Brother" |
13 | tribe="barbarians" |
14 | -ai="Aggressive" |
15 | +ai="normal" |
16 | |
17 | [player_4] |
18 | name="Second Brother" |
19 | tribe="barbarians" |
20 | -ai="Aggressive" |
21 | +ai="normal" |
22 | |
23 | === modified file 'maps/The Green Plateau.wmf/player_names' |
24 | --- maps/The Green Plateau.wmf/player_names 2015-11-01 22:12:57 +0000 |
25 | +++ maps/The Green Plateau.wmf/player_names 2015-12-07 18:58:53 +0000 |
26 | @@ -12,17 +12,17 @@ |
27 | [player_2] |
28 | name="Erwyn" |
29 | tribe="barbarians" |
30 | -ai="Normal" |
31 | +ai="weak" |
32 | closeable="false" |
33 | |
34 | [player_3] |
35 | name="Jomo" |
36 | tribe="barbarians" |
37 | -ai="Defensive" |
38 | +ai="very_weak" |
39 | closeable="false" |
40 | |
41 | [player_4] |
42 | name="Lanissa" |
43 | tribe="barbarians" |
44 | -ai="None" |
45 | +ai="empty" |
46 | closeable="false" |
47 | |
48 | === modified file 'maps/Trident of Fire.wmf/player_names' |
49 | --- maps/Trident of Fire.wmf/player_names 2013-08-15 16:00:17 +0000 |
50 | +++ maps/Trident of Fire.wmf/player_names 2015-12-07 18:58:53 +0000 |
51 | @@ -24,29 +24,29 @@ |
52 | [player_4] |
53 | name="Player A" |
54 | tribe="barbarians" |
55 | -ai="Aggressive" |
56 | +ai="normal" |
57 | closeable="false" |
58 | |
59 | [player_5] |
60 | name="Player B" |
61 | tribe="empire" |
62 | -ai="Aggressive" |
63 | +ai="normal" |
64 | closeable="false" |
65 | |
66 | [player_6] |
67 | name="Player C" |
68 | tribe="atlanteans" |
69 | -ai="Aggressive" |
70 | +ai="normal" |
71 | closeable="false" |
72 | |
73 | [player_7] |
74 | name="Player D" |
75 | tribe="empire" |
76 | -ai="Aggressive" |
77 | +ai="normal" |
78 | closeable="false" |
79 | |
80 | [player_8] |
81 | name="Player E" |
82 | tribe="atlanteans" |
83 | -ai="Aggressive" |
84 | +ai="normal" |
85 | closeable="false" |
86 | |
87 | === removed file 'pics/ai_Strong.png' |
88 | Binary files pics/ai_Strong.png 2015-11-25 21:01:02 +0000 and pics/ai_Strong.png 1970-01-01 00:00:00 +0000 differ |
89 | === renamed file 'pics/ai_None.png' => 'pics/ai_empty.png' |
90 | === renamed file 'pics/ai_Normal.png' => 'pics/ai_normal.png' |
91 | === renamed file 'pics/ai_Random.png' => 'pics/ai_random.png' |
92 | === renamed file 'pics/ai_Weak.png' => 'pics/ai_very_weak.png' |
93 | === added file 'pics/ai_weak.png' |
94 | Binary files pics/ai_weak.png 1970-01-01 00:00:00 +0000 and pics/ai_weak.png 2015-12-07 18:58:53 +0000 differ |
95 | === modified file 'scripting/widelands/multiplayer_help.lua' |
96 | --- scripting/widelands/multiplayer_help.lua 2015-11-21 10:35:08 +0000 |
97 | +++ scripting/widelands/multiplayer_help.lua 2015-12-07 18:58:53 +0000 |
98 | @@ -19,7 +19,7 @@ |
99 | result = result .. rt(h2(_"Player settings")) |
100 | result = result .. rt(p(_"In the middle are the settings for the players. To start a game, each player must be one of the following:")) |
101 | result = result .. picture_li("pics/genstats_nrworkers.png", _"Connected to one or more clients (see ‘Client settings’).") |
102 | - result = result .. picture_li("pics/ai_Normal.png", _"Connected to a computer player (the face in the picture as well as the mouse hover texts indicate the strength of the currently selected computer player).") |
103 | + result = result .. picture_li("pics/ai_normal.png", _"Connected to a computer player (the face in the picture as well as the mouse hover texts indicate the strength of the currently selected computer player).") |
104 | result = result .. picture_li("pics/shared_in.png", _"Set as shared in starting position for another player.") |
105 | result = result .. picture_li("pics/stop.png", _"Closed.") |
106 | result = result .. rt(p(_"The latter three can only be set by the hosting client by left-clicking the ‘type’ button of a player. Hosting players can also set the initialization of each player (the set of buildings, wares and workers the player starts with) and the tribe and team for computer players")) |
107 | |
108 | === modified file 'src/ai/ai_hints.cc' |
109 | --- src/ai/ai_hints.cc 2015-11-23 18:44:38 +0000 |
110 | +++ src/ai/ai_hints.cc 2015-12-07 18:58:53 +0000 |
111 | @@ -40,8 +40,8 @@ |
112 | // 10 days default |
113 | forced_after_(table->has_key("forced_after") ? table->get_int("forced_after") : 864000), |
114 | mines_percent_(table->has_key("mines_percent") ? table->get_int("mines_percent") : 100), |
115 | - weak_ai_limit_(table->has_key("weak_ai_limit") ? table->get_int("weak_ai_limit") : -1), |
116 | - normal_ai_limit_(table->has_key("normal_ai_limit") ? table->get_int("normal_ai_limit") : -1), |
117 | + very_weak_ai_limit_(table->has_key("very_weak_ai_limit") ? table->get_int("very_weak_ai_limit") : -1), |
118 | + weak_ai_limit_(table->has_key("weak_ai_limit") ? table->get_int("weak_ai_limit") : -1), |
119 | trainingsite_type_(TrainingSiteType::kNoTS) { |
120 | |
121 | if (table->has_key("trainingsite_type")) { |
122 | |
123 | === modified file 'src/ai/ai_hints.h' |
124 | --- src/ai/ai_hints.h 2015-11-23 18:44:38 +0000 |
125 | +++ src/ai/ai_hints.h 2015-12-07 18:58:53 +0000 |
126 | @@ -102,14 +102,14 @@ |
127 | return mines_percent_; |
128 | } |
129 | |
130 | + int16_t get_very_weak_ai_limit() const { |
131 | + return very_weak_ai_limit_; |
132 | + } |
133 | + |
134 | int16_t get_weak_ai_limit() const { |
135 | return weak_ai_limit_; |
136 | } |
137 | |
138 | - int16_t get_normal_ai_limit() const { |
139 | - return normal_ai_limit_; |
140 | - } |
141 | - |
142 | TrainingSiteType get_trainingsite_type() const { |
143 | return trainingsite_type_; |
144 | } |
145 | @@ -130,8 +130,8 @@ |
146 | int32_t prohibited_till_; |
147 | int32_t forced_after_; |
148 | int8_t mines_percent_; |
149 | + int16_t very_weak_ai_limit_; |
150 | int16_t weak_ai_limit_; |
151 | - int16_t normal_ai_limit_; |
152 | TrainingSiteType trainingsite_type_; |
153 | |
154 | DISALLOW_COPY_AND_ASSIGN(BuildingHints); |
155 | |
156 | === modified file 'src/ai/computer_player.cc' |
157 | --- src/ai/computer_player.cc 2015-11-26 09:53:02 +0000 |
158 | +++ src/ai/computer_player.cc 2015-12-07 18:58:53 +0000 |
159 | @@ -36,8 +36,12 @@ |
160 | void think() override {} |
161 | |
162 | struct EmptyAIImpl : Implementation { |
163 | - /** TRANSLATORS: This is the name of an AI used in the game setup screens */ |
164 | - EmptyAIImpl() {name = pgettext("ai_name", "None");} |
165 | + EmptyAIImpl() { |
166 | + name = "empty"; |
167 | + /** TRANSLATORS: This is the name of an AI used in the game setup screens */ |
168 | + descname = _("No AI"); |
169 | + icon_filename = "pics/ai_empty.png"; |
170 | + } |
171 | ComputerPlayer * instantiate |
172 | (Widelands::Game & g, Widelands::PlayerNumber const pid) const override |
173 | { |
174 | @@ -56,9 +60,9 @@ |
175 | static std::vector<ComputerPlayer::Implementation const *> impls; |
176 | |
177 | if (impls.empty()) { |
178 | - impls.push_back(&DefaultAI::strong_impl); |
179 | impls.push_back(&DefaultAI::normal_impl); |
180 | impls.push_back(&DefaultAI::weak_impl); |
181 | + impls.push_back(&DefaultAI::very_weak_impl); |
182 | impls.push_back(&EmptyAI::implementation); |
183 | } |
184 | |
185 | |
186 | === modified file 'src/ai/computer_player.h' |
187 | --- src/ai/computer_player.h 2014-09-30 20:31:43 +0000 |
188 | +++ src/ai/computer_player.h 2015-12-07 18:58:53 +0000 |
189 | @@ -52,6 +52,8 @@ |
190 | */ |
191 | struct Implementation { |
192 | std::string name; |
193 | + std::string descname; |
194 | + std::string icon_filename; |
195 | virtual ~Implementation() {} |
196 | virtual ComputerPlayer * instantiate |
197 | (Widelands::Game &, Widelands::PlayerNumber) const = 0; |
198 | |
199 | === modified file 'src/ai/defaultai.cc' |
200 | --- src/ai/defaultai.cc 2015-11-28 18:32:46 +0000 |
201 | +++ src/ai/defaultai.cc 2015-12-07 18:58:53 +0000 |
202 | @@ -93,9 +93,9 @@ |
203 | |
204 | using namespace Widelands; |
205 | |
206 | -DefaultAI::StrongImpl DefaultAI::strong_impl; |
207 | DefaultAI::NormalImpl DefaultAI::normal_impl; |
208 | DefaultAI::WeakImpl DefaultAI::weak_impl; |
209 | +DefaultAI::VeryWeakImpl DefaultAI::very_weak_impl; |
210 | |
211 | /// Constructor of DefaultAI |
212 | DefaultAI::DefaultAI(Game& ggame, PlayerNumber const pid, DefaultAI::Type const t) |
213 | @@ -560,16 +560,16 @@ |
214 | } |
215 | |
216 | // Is total count of this building limited by AI mode? |
217 | + if (type_ == DefaultAI::Type::kVeryWeak && bh.get_very_weak_ai_limit() >= 0) { |
218 | + bo.cnt_limit_by_aimode_ = bh.get_very_weak_ai_limit(); |
219 | + log (" %d: AI 'very weak' mode: applying limit %d building(s) for %s\n", |
220 | + player_number(), |
221 | + bo.cnt_limit_by_aimode_, |
222 | + bo.name); |
223 | + } |
224 | if (type_ == DefaultAI::Type::kWeak && bh.get_weak_ai_limit() >= 0) { |
225 | bo.cnt_limit_by_aimode_ = bh.get_weak_ai_limit(); |
226 | - log (" %d: AI defensive mode: applying limit %d building(s) for %s\n", |
227 | - player_number(), |
228 | - bo.cnt_limit_by_aimode_, |
229 | - bo.name); |
230 | - } |
231 | - if (type_ == DefaultAI::Type::kNormal && bh.get_normal_ai_limit() >= 0) { |
232 | - bo.cnt_limit_by_aimode_ = bh.get_normal_ai_limit(); |
233 | - log (" %d: AI normal mode: applying limit %d building(s) for %s\n", |
234 | + log (" %d: AI 'weak' mode: applying limit %d building(s) for %s\n", |
235 | player_number(), |
236 | bo.cnt_limit_by_aimode_, |
237 | bo.name); |
238 | @@ -5194,12 +5194,12 @@ |
239 | } |
240 | } |
241 | |
242 | - // defining treshold ratio of own_strenght/enemy's_strength |
243 | + // defining treshold ratio of own_strength/enemy's_strength |
244 | uint32_t treshold_ratio = 100; |
245 | - if (type_ == DefaultAI::Type::kStrong) { |
246 | + if (type_ == DefaultAI::Type::kNormal) { |
247 | treshold_ratio = 80; |
248 | } |
249 | - if (type_ == DefaultAI::Type::kWeak) { |
250 | + if (type_ == DefaultAI::Type::kVeryWeak) { |
251 | treshold_ratio = 120; |
252 | } |
253 | |
254 | @@ -5420,10 +5420,10 @@ |
255 | } |
256 | |
257 | // here is some differentiation based on "character" of a player |
258 | - if (type_ == DefaultAI::Type::kNormal) { |
259 | + if (type_ == DefaultAI::Type::kWeak) { |
260 | site->second.score -= 3; |
261 | site->second.score -= vacant_mil_positions_ / 8; |
262 | - } else if (type_ == DefaultAI::Type::kWeak) { |
263 | + } else if (type_ == DefaultAI::Type::kVeryWeak) { |
264 | site->second.score -= 6; |
265 | site->second.score -= vacant_mil_positions_ / 4; |
266 | } else { //=AGRESSIVE |
267 | |
268 | === modified file 'src/ai/defaultai.h' |
269 | --- src/ai/defaultai.h 2015-11-26 09:53:02 +0000 |
270 | +++ src/ai/defaultai.h 2015-12-07 18:58:53 +0000 |
271 | @@ -72,9 +72,9 @@ |
272 | // should be trained if inputs_ get filled again.). |
273 | struct DefaultAI : ComputerPlayer { |
274 | enum class Type { |
275 | + kVeryWeak, |
276 | kWeak, |
277 | kNormal, |
278 | - kStrong, |
279 | }; |
280 | |
281 | DefaultAI(Widelands::Game&, const Widelands::PlayerNumber, DefaultAI::Type); |
282 | @@ -95,21 +95,12 @@ |
283 | |
284 | |
285 | /// Implementation for Strong |
286 | - struct StrongImpl : public ComputerPlayer::Implementation { |
287 | - StrongImpl() { |
288 | - /** TRANSLATORS: This is the name of an AI used in the game setup screens */ |
289 | - name = pgettext("ai_name", "Strong"); |
290 | - } |
291 | - ComputerPlayer* instantiate(Widelands::Game& game, |
292 | - Widelands::PlayerNumber const p) const override { |
293 | - return new DefaultAI(game, p, DefaultAI::Type::kStrong); |
294 | - } |
295 | - }; |
296 | - |
297 | struct NormalImpl : public ComputerPlayer::Implementation { |
298 | NormalImpl() { |
299 | + name = "normal"; |
300 | /** TRANSLATORS: This is the name of an AI used in the game setup screens */ |
301 | - name = pgettext("ai_name", "Normal"); |
302 | + descname = _("Normal AI"); |
303 | + icon_filename = "pics/ai_normal.png"; |
304 | } |
305 | ComputerPlayer* instantiate(Widelands::Game& game, |
306 | Widelands::PlayerNumber const p) const override { |
307 | @@ -119,8 +110,10 @@ |
308 | |
309 | struct WeakImpl : public ComputerPlayer::Implementation { |
310 | WeakImpl() { |
311 | + name = "weak"; |
312 | /** TRANSLATORS: This is the name of an AI used in the game setup screens */ |
313 | - name = pgettext("ai_name", "Weak"); |
314 | + descname = _("Weak AI"); |
315 | + icon_filename = "pics/ai_weak.png"; |
316 | } |
317 | ComputerPlayer* instantiate(Widelands::Game& game, |
318 | Widelands::PlayerNumber const p) const override { |
319 | @@ -128,9 +121,22 @@ |
320 | } |
321 | }; |
322 | |
323 | - static StrongImpl strong_impl; |
324 | + struct VeryWeakImpl : public ComputerPlayer::Implementation { |
325 | + VeryWeakImpl() { |
326 | + name = "very_weak"; |
327 | + /** TRANSLATORS: This is the name of an AI used in the game setup screens */ |
328 | + descname = _("Very Weak AI"); |
329 | + icon_filename = "pics/ai_very_weak.png"; |
330 | + } |
331 | + ComputerPlayer* instantiate(Widelands::Game& game, |
332 | + Widelands::PlayerNumber const p) const override { |
333 | + return new DefaultAI(game, p, DefaultAI::Type::kVeryWeak); |
334 | + } |
335 | + }; |
336 | + |
337 | static NormalImpl normal_impl; |
338 | static WeakImpl weak_impl; |
339 | + static VeryWeakImpl very_weak_impl; |
340 | |
341 | private: |
342 | void late_initialization(); |
343 | |
344 | === modified file 'src/wui/multiplayersetupgroup.cc' |
345 | --- src/wui/multiplayersetupgroup.cc 2015-11-01 10:11:56 +0000 |
346 | +++ src/wui/multiplayersetupgroup.cc 2015-12-07 18:58:53 +0000 |
347 | @@ -23,6 +23,7 @@ |
348 | |
349 | #include <boost/format.hpp> |
350 | |
351 | +#include "ai/computer_player.h" |
352 | #include "base/i18n.h" |
353 | #include "base/log.h" |
354 | #include "base/wexception.h" |
355 | @@ -301,11 +302,14 @@ |
356 | pic += "novalue.png"; |
357 | } else { |
358 | if (player_setting.random_ai) { |
359 | - title = (boost::format(_("AI: %s")) % pgettext("ai_name", "Random")).str(); |
360 | - pic += "ai_Random.png"; |
361 | + /** TRANSLATORS: This is the name of an AI used in the game setup screens */ |
362 | + title = _("Random AI"); |
363 | + pic += "ai_random.png"; |
364 | } else { |
365 | - title = (boost::format(_("AI: %s")) % _(player_setting.ai)).str(); |
366 | - pic += "ai_" + player_setting.ai + ".png"; |
367 | + const ComputerPlayer::Implementation* impl = |
368 | + ComputerPlayer::get_implementation(player_setting.ai); |
369 | + title = impl->descname; |
370 | + pic = impl->icon_filename; |
371 | } |
372 | } |
373 | } else { // PlayerSettings::stateHuman |
374 | |
375 | === modified file 'src/wui/playerdescrgroup.cc' |
376 | --- src/wui/playerdescrgroup.cc 2015-10-23 16:32:05 +0000 |
377 | +++ src/wui/playerdescrgroup.cc 2015-12-07 18:58:53 +0000 |
378 | @@ -23,6 +23,7 @@ |
379 | |
380 | #include <boost/format.hpp> |
381 | |
382 | +#include "ai/computer_player.h" |
383 | #include "base/i18n.h" |
384 | #include "base/wexception.h" |
385 | #include "graphic/graphic.h" |
386 | @@ -166,10 +167,11 @@ |
387 | title = _("Computer"); |
388 | else { |
389 | if (player.random_ai) { |
390 | - title += _("AI: Random"); |
391 | + title += _("Random AI"); |
392 | } else { |
393 | - /** TRANSLATORS %s = AI type, e.g. 'Agressive' */ |
394 | - title += (boost::format(_("AI: %s")) % _(player.ai)).str(); |
395 | + const ComputerPlayer::Implementation* impl = |
396 | + ComputerPlayer::get_implementation(player.ai); |
397 | + title = impl->descname; |
398 | } |
399 | } |
400 | } else { // PlayerSettings::stateHuman |
401 | |
402 | === modified file 'test/maps/lua_testsuite.wmf/player_names' |
403 | --- test/maps/lua_testsuite.wmf/player_names 2015-04-14 18:34:40 +0000 |
404 | +++ test/maps/lua_testsuite.wmf/player_names 2015-12-07 18:58:53 +0000 |
405 | @@ -12,11 +12,11 @@ |
406 | [player_2] |
407 | name="Epic Empire" |
408 | tribe="empire" |
409 | -ai="Defensive" |
410 | +ai="very_weak" |
411 | closeable="false" |
412 | |
413 | [player_3] |
414 | name="Awesome Atlantean" |
415 | tribe="atlanteans" |
416 | -ai="Defensive" |
417 | +ai="very_weak" |
418 | closeable="false" |
419 | |
420 | === modified file 'tribes/buildings/productionsites/atlanteans/sawmill/init.lua' |
421 | --- tribes/buildings/productionsites/atlanteans/sawmill/init.lua 2015-11-24 19:55:49 +0000 |
422 | +++ tribes/buildings/productionsites/atlanteans/sawmill/init.lua 2015-12-07 18:58:53 +0000 |
423 | @@ -35,8 +35,8 @@ |
424 | aihints = { |
425 | forced_after = 250, |
426 | prohibited_till = 250, |
427 | - weak_ai_limit = 1, |
428 | - normal_ai_limit = 2 |
429 | + very_weak_ai_limit = 1, |
430 | + weak_ai_limit = 2 |
431 | }, |
432 | |
433 | working_positions = { |
434 | |
435 | === modified file 'tribes/buildings/productionsites/atlanteans/smelting_works/init.lua' |
436 | --- tribes/buildings/productionsites/atlanteans/smelting_works/init.lua 2015-11-24 19:55:49 +0000 |
437 | +++ tribes/buildings/productionsites/atlanteans/smelting_works/init.lua 2015-12-07 18:58:53 +0000 |
438 | @@ -34,8 +34,8 @@ |
439 | |
440 | aihints = { |
441 | prohibited_till = 600, |
442 | - weak_ai_limit = 1, |
443 | - normal_ai_limit = 2 |
444 | + very_weak_ai_limit = 1, |
445 | + weak_ai_limit = 2 |
446 | }, |
447 | |
448 | working_positions = { |
449 | |
450 | === modified file 'tribes/buildings/productionsites/atlanteans/smokery/init.lua' |
451 | --- tribes/buildings/productionsites/atlanteans/smokery/init.lua 2015-11-24 19:55:49 +0000 |
452 | +++ tribes/buildings/productionsites/atlanteans/smokery/init.lua 2015-12-07 18:58:53 +0000 |
453 | @@ -36,8 +36,8 @@ |
454 | aihints = { |
455 | forced_after = 800, |
456 | prohibited_till = 180, |
457 | - weak_ai_limit = 1, |
458 | - normal_ai_limit = 2 |
459 | + very_weak_ai_limit = 1, |
460 | + weak_ai_limit = 2 |
461 | }, |
462 | |
463 | working_positions = { |
464 | |
465 | === modified file 'tribes/buildings/productionsites/atlanteans/weaving_mill/init.lua' |
466 | --- tribes/buildings/productionsites/atlanteans/weaving_mill/init.lua 2015-11-24 19:55:49 +0000 |
467 | +++ tribes/buildings/productionsites/atlanteans/weaving_mill/init.lua 2015-12-07 18:58:53 +0000 |
468 | @@ -36,8 +36,8 @@ |
469 | aihints = { |
470 | forced_after = 600, |
471 | prohibited_till = 450, |
472 | - weak_ai_limit = 1, |
473 | - normal_ai_limit = 2 |
474 | + very_weak_ai_limit = 1, |
475 | + weak_ai_limit = 2 |
476 | }, |
477 | |
478 | working_positions = { |
479 | |
480 | === modified file 'tribes/buildings/productionsites/barbarians/lime_kiln/init.lua' |
481 | --- tribes/buildings/productionsites/barbarians/lime_kiln/init.lua 2015-11-24 19:55:49 +0000 |
482 | +++ tribes/buildings/productionsites/barbarians/lime_kiln/init.lua 2015-12-07 18:58:53 +0000 |
483 | @@ -34,8 +34,8 @@ |
484 | |
485 | aihints = { |
486 | forced_after = 600, |
487 | - weak_ai_limit = 1, |
488 | - normal_ai_limit = 2 |
489 | + very_weak_ai_limit = 1, |
490 | + weak_ai_limit = 2 |
491 | }, |
492 | |
493 | working_positions = { |
494 | |
495 | === modified file 'tribes/buildings/productionsites/barbarians/smelting_works/init.lua' |
496 | --- tribes/buildings/productionsites/barbarians/smelting_works/init.lua 2015-11-24 19:55:49 +0000 |
497 | +++ tribes/buildings/productionsites/barbarians/smelting_works/init.lua 2015-12-07 18:58:53 +0000 |
498 | @@ -37,8 +37,8 @@ |
499 | |
500 | aihints = { |
501 | prohibited_till = 400, |
502 | - weak_ai_limit = 1, |
503 | - normal_ai_limit = 2 |
504 | + very_weak_ai_limit = 1, |
505 | + weak_ai_limit = 2 |
506 | }, |
507 | |
508 | working_positions = { |
509 | |
510 | === modified file 'tribes/buildings/productionsites/barbarians/wood_hardener/init.lua' |
511 | --- tribes/buildings/productionsites/barbarians/wood_hardener/init.lua 2015-11-23 19:37:34 +0000 |
512 | +++ tribes/buildings/productionsites/barbarians/wood_hardener/init.lua 2015-12-07 18:58:53 +0000 |
513 | @@ -44,8 +44,8 @@ |
514 | aihints = { |
515 | forced_after = 250, |
516 | prohibited_till = 250, |
517 | - weak_ai_limit = 1, |
518 | - normal_ai_limit = 2 |
519 | + very_weak_ai_limit = 1, |
520 | + weak_ai_limit = 2 |
521 | }, |
522 | |
523 | working_positions = { |
524 | |
525 | === modified file 'tribes/buildings/productionsites/empire/brewery/init.lua' |
526 | --- tribes/buildings/productionsites/empire/brewery/init.lua 2015-11-24 19:55:49 +0000 |
527 | +++ tribes/buildings/productionsites/empire/brewery/init.lua 2015-12-07 18:58:53 +0000 |
528 | @@ -35,8 +35,8 @@ |
529 | aihints = { |
530 | forced_after = 900, |
531 | prohibited_till = 600, |
532 | - weak_ai_limit = 1, |
533 | - normal_ai_limit = 2 |
534 | + very_weak_ai_limit = 1, |
535 | + weak_ai_limit = 2 |
536 | }, |
537 | |
538 | working_positions = { |
539 | |
540 | === modified file 'tribes/buildings/productionsites/empire/sawmill/init.lua' |
541 | --- tribes/buildings/productionsites/empire/sawmill/init.lua 2015-11-24 19:55:49 +0000 |
542 | +++ tribes/buildings/productionsites/empire/sawmill/init.lua 2015-12-07 18:58:53 +0000 |
543 | @@ -35,8 +35,8 @@ |
544 | aihints = { |
545 | forced_after = 250, |
546 | prohibited_till = 250, |
547 | - weak_ai_limit = 1, |
548 | - normal_ai_limit = 2 |
549 | + very_weak_ai_limit = 1, |
550 | + weak_ai_limit = 2 |
551 | }, |
552 | |
553 | working_positions = { |
554 | |
555 | === modified file 'tribes/buildings/productionsites/empire/smelting_works/init.lua' |
556 | --- tribes/buildings/productionsites/empire/smelting_works/init.lua 2015-11-24 19:55:49 +0000 |
557 | +++ tribes/buildings/productionsites/empire/smelting_works/init.lua 2015-12-07 18:58:53 +0000 |
558 | @@ -40,8 +40,8 @@ |
559 | |
560 | aihints = { |
561 | prohibited_till = 600, |
562 | - weak_ai_limit = 1, |
563 | - normal_ai_limit = 2 |
564 | + very_weak_ai_limit = 1, |
565 | + weak_ai_limit = 2 |
566 | }, |
567 | |
568 | working_positions = { |
569 | |
570 | === modified file 'tribes/buildings/productionsites/empire/stonemasons_house/init.lua' |
571 | --- tribes/buildings/productionsites/empire/stonemasons_house/init.lua 2015-11-24 19:55:49 +0000 |
572 | +++ tribes/buildings/productionsites/empire/stonemasons_house/init.lua 2015-12-07 18:58:53 +0000 |
573 | @@ -36,8 +36,8 @@ |
574 | aihints = { |
575 | forced_after = 400, |
576 | prohibited_till = 400, |
577 | - weak_ai_limit = 1, |
578 | - normal_ai_limit = 2 |
579 | + very_weak_ai_limit = 1, |
580 | + weak_ai_limit = 2 |
581 | }, |
582 | |
583 | working_positions = { |
584 | |
585 | === modified file 'tribes/buildings/productionsites/empire/winery/init.lua' |
586 | --- tribes/buildings/productionsites/empire/winery/init.lua 2015-11-24 19:55:49 +0000 |
587 | +++ tribes/buildings/productionsites/empire/winery/init.lua 2015-12-07 18:58:53 +0000 |
588 | @@ -37,8 +37,8 @@ |
589 | aihints = { |
590 | forced_after = 600, |
591 | prohibited_till = 600, |
592 | - weak_ai_limit = 1, |
593 | - normal_ai_limit = 2 |
594 | + very_weak_ai_limit = 1, |
595 | + weak_ai_limit = 2 |
596 | }, |
597 | |
598 | working_positions = { |
599 | |
600 | === modified file 'tribes/buildings/trainingsites/atlanteans/dungeon/init.lua' |
601 | --- tribes/buildings/trainingsites/atlanteans/dungeon/init.lua 2015-11-24 19:55:49 +0000 |
602 | +++ tribes/buildings/trainingsites/atlanteans/dungeon/init.lua 2015-12-07 18:58:53 +0000 |
603 | @@ -37,8 +37,8 @@ |
604 | |
605 | aihints = { |
606 | trainingsite_type = "advanced", |
607 | - weak_ai_limit = 0, |
608 | - normal_ai_limit = 1 |
609 | + very_weak_ai_limit = 0, |
610 | + weak_ai_limit = 1 |
611 | }, |
612 | |
613 | working_positions = { |
614 | |
615 | === modified file 'tribes/buildings/trainingsites/atlanteans/labyrinth/init.lua' |
616 | --- tribes/buildings/trainingsites/atlanteans/labyrinth/init.lua 2015-11-24 19:55:49 +0000 |
617 | +++ tribes/buildings/trainingsites/atlanteans/labyrinth/init.lua 2015-12-07 18:58:53 +0000 |
618 | @@ -37,8 +37,8 @@ |
619 | aihints = { |
620 | prohibited_till=900, |
621 | trainingsite_type = "basic", |
622 | - weak_ai_limit = 1, |
623 | - normal_ai_limit = 2 |
624 | + very_weak_ai_limit = 1, |
625 | + weak_ai_limit = 2 |
626 | }, |
627 | |
628 | working_positions = { |
629 | |
630 | === modified file 'tribes/buildings/trainingsites/barbarians/battlearena/init.lua' |
631 | --- tribes/buildings/trainingsites/barbarians/battlearena/init.lua 2015-11-24 19:55:49 +0000 |
632 | +++ tribes/buildings/trainingsites/barbarians/battlearena/init.lua 2015-12-07 18:58:53 +0000 |
633 | @@ -53,8 +53,8 @@ |
634 | aihints = { |
635 | prohibited_till = 2700, |
636 | trainingsite_type = "basic", |
637 | - weak_ai_limit = 1, |
638 | - normal_ai_limit = 3 |
639 | + very_weak_ai_limit = 1, |
640 | + weak_ai_limit = 3 |
641 | }, |
642 | |
643 | working_positions = { |
644 | |
645 | === modified file 'tribes/buildings/trainingsites/barbarians/trainingcamp/init.lua' |
646 | --- tribes/buildings/trainingsites/barbarians/trainingcamp/init.lua 2015-11-24 19:55:49 +0000 |
647 | +++ tribes/buildings/trainingsites/barbarians/trainingcamp/init.lua 2015-12-07 18:58:53 +0000 |
648 | @@ -46,8 +46,8 @@ |
649 | aihints = { |
650 | prohibited_till = 500, |
651 | trainingsite_type = "advanced", |
652 | - weak_ai_limit = 0, |
653 | - normal_ai_limit = 1 |
654 | + very_weak_ai_limit = 0, |
655 | + weak_ai_limit = 1 |
656 | }, |
657 | |
658 | working_positions = { |
659 | |
660 | === modified file 'tribes/buildings/trainingsites/empire/arena/init.lua' |
661 | --- tribes/buildings/trainingsites/empire/arena/init.lua 2015-11-24 19:55:49 +0000 |
662 | +++ tribes/buildings/trainingsites/empire/arena/init.lua 2015-12-07 18:58:53 +0000 |
663 | @@ -41,8 +41,8 @@ |
664 | |
665 | aihints = { |
666 | trainingsite_type = "basic", |
667 | - weak_ai_limit = 1, |
668 | - normal_ai_limit = 2 |
669 | + very_weak_ai_limit = 1, |
670 | + weak_ai_limit = 2 |
671 | }, |
672 | |
673 | working_positions = { |
674 | |
675 | === modified file 'tribes/buildings/trainingsites/empire/colosseum/init.lua' |
676 | --- tribes/buildings/trainingsites/empire/colosseum/init.lua 2015-11-24 19:55:49 +0000 |
677 | +++ tribes/buildings/trainingsites/empire/colosseum/init.lua 2015-12-07 18:58:53 +0000 |
678 | @@ -35,8 +35,8 @@ |
679 | |
680 | aihints = { |
681 | trainingsite_type = "basic", |
682 | - weak_ai_limit = 1, |
683 | - normal_ai_limit = 2 |
684 | + very_weak_ai_limit = 1, |
685 | + weak_ai_limit = 2 |
686 | }, |
687 | |
688 | working_positions = { |
689 | |
690 | === modified file 'tribes/buildings/trainingsites/empire/trainingcamp/init.lua' |
691 | --- tribes/buildings/trainingsites/empire/trainingcamp/init.lua 2015-11-24 19:55:49 +0000 |
692 | +++ tribes/buildings/trainingsites/empire/trainingcamp/init.lua 2015-12-07 18:58:53 +0000 |
693 | @@ -37,8 +37,8 @@ |
694 | aihints = { |
695 | prohibited_till = 2700, |
696 | trainingsite_type = "advanced", |
697 | - weak_ai_limit = 0, |
698 | - normal_ai_limit = 1 |
699 | + very_weak_ai_limit = 0, |
700 | + weak_ai_limit = 1 |
701 | }, |
702 | |
703 | working_positions = { |
Code looks good. If somebody compiles and tests it, give "approve", please.
(I wonder if there will be such volunteer :) )