Merge lp:~widelands-dev/widelands/new_starting_conditions into lp:widelands

Proposed by GunChleoc
Status: Merged
Merged at revision: 7878
Proposed branch: lp:~widelands-dev/widelands/new_starting_conditions
Merge into: lp:widelands
Diff against target: 735 lines (+559/-5)
16 files modified
data/tribes/preload.lua (+3/-0)
data/tribes/scripting/starting_conditions/atlanteans/fortified_village.lua (+1/-0)
data/tribes/scripting/starting_conditions/atlanteans/headquarters.lua (+1/-0)
data/tribes/scripting/starting_conditions/atlanteans/trading_outpost.lua (+180/-0)
data/tribes/scripting/starting_conditions/barbarians/fortified_village.lua (+1/-0)
data/tribes/scripting/starting_conditions/barbarians/headquarters.lua (+1/-0)
data/tribes/scripting/starting_conditions/barbarians/trading_outpost.lua (+175/-0)
data/tribes/scripting/starting_conditions/empire/fortified_village.lua (+1/-0)
data/tribes/scripting/starting_conditions/empire/headquarters.lua (+1/-0)
data/tribes/scripting/starting_conditions/empire/trading_outpost.lua (+177/-0)
data/txts/developers.lua (+1/-1)
src/logic/map_objects/tribes/tribe_basic_info.cc (+3/-1)
src/logic/map_objects/tribes/tribe_basic_info.h (+4/-2)
src/network/netclient.cc (+3/-1)
src/wui/multiplayersetupgroup.cc (+2/-0)
src/wui/playerdescrgroup.cc (+5/-0)
To merge this branch: bzr merge lp:~widelands-dev/widelands/new_starting_conditions
Reviewer Review Type Date Requested Status
TiborB Approve
Review via email: mp+288059@code.launchpad.net

Commit message

New starting condition "Training Outpost" that will periodically give the player some wares if needed (cheat mode)

Description of the change

New starting condition "Training Outpost" that will periodically give the player some wares if needed (cheat mode)

To post a comment you must log in.
Revision history for this message
TiborB (tiborb95) wrote :

@Gun, I believe that military sites are to be placed sooner (first after headquarters) because they immediately conquer new space (unless positioned too close to headquarters) and that can be useful for placing other buildings

Also more general question - It is probably not possible to find out from within the game, what starting mode are players using... Would be nice...

Otherwise - without testing it looks good

Revision history for this message
GunChleoc (gunchleoc) wrote :

> @Gun, I believe that military sites are to be placed sooner (first after
> headquarters) because they immediately conquer new space (unless positioned
> too close to headquarters) and that can be useful for placing other buildings

But they do get positioned right next to the headquarters, so the gain is very little - we would need to place a building that has a bigger conquer area than the headquarters for it to make any difference - that would be a castle/fortress, which needs a big building space. So, we won't gain that much.

I have now tested all official maps with Player 1 and there were no problems placing the buildings. So, I think we're in the clear here, and the players can profit from the additional territory.

> Also more general question - It is probably not possible to find out from
> within the game, what starting mode are players using... Would be nice...

Something for Build 20 maybe - open a new bug?

When you next have some time, it would be great if you could look at some of the merge requests that kaputtnik has already approved - some of them don't have much new code in them.

Revision history for this message
TiborB (tiborb95) wrote :

> But they do get positioned right next to the headquarters, so the gain is very little...

I mostly agree, some function to place them in bigger distance would be useful here

> When you next have some time, it would be great if you could look at some of the merge requests that kaputtnik has already approved

I wondered why there are approved branches sitting that long - I will have a look, of course....

Revision history for this message
GunChleoc (gunchleoc) wrote :

> > But they do get positioned right next to the headquarters, so the gain is
> very little...
>
> I mostly agree, some function to place them in bigger distance would be useful
> here

Since we're placing them last now, they get placed at the edge of the terrain, so there is some gain :)

> > When you next have some time, it would be great if you could look at some of
> the merge requests that kaputtnik has already approved
>
> I wondered why there are approved branches sitting that long - I will have a
> look, of course....

Thanks!

Revision history for this message
bunnybot (widelandsofficial) wrote :

Bunnybot encountered an error while working on this merge proposal:

Running 'git fetch bzr_origin' failed. Output:

fatal: mark :644715 not declared
fast-import: dumping crash report to .git/fast_import_crash_12704
fatal: Error while running fast-import
Traceback (most recent call last):
  File "/usr/local/bin/git-remote-bzr", line 1022, in <module>
    sys.exit(main(sys.argv))
  File "/usr/local/bin/git-remote-bzr", line 1006, in main
    do_import(parser)
  File "/usr/local/bin/git-remote-bzr", line 437, in do_import
    export_branch(repo, name)
  File "/usr/local/bin/git-remote-bzr", line 359, in export_branch
    modified_final = export_files(cur_tree, modified)
  File "/usr/local/bin/git-remote-bzr", line 277, in export_files
    print d
IOError: [Errno 32] Broken pipe

Revision history for this message
bunnybot (widelandsofficial) wrote :

Bunnybot encountered an error while working on this merge proposal:

Running 'git fetch bzr_origin' failed. Output:

fatal: 'bzr_origin' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Revision history for this message
bunnybot (widelandsofficial) wrote :

Continuous integration builds have changed state:

Travis build 807. State: failed. Details: https://travis-ci.org/widelands/widelands/builds/114238578.
Appveyor build 652. State: success. Details: https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_new_starting_conditions-652.

Revision history for this message
bunnybot (widelandsofficial) wrote :

Continuous integration builds have changed state:

Travis build 812. State: errored. Details: https://travis-ci.org/widelands/widelands/builds/114584397.
Appveyor build 652. State: success. Details: https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_new_starting_conditions-652.

Revision history for this message
bunnybot (widelandsofficial) wrote :

Continuous integration builds have changed state:

Travis build 823. State: passed. Details: https://travis-ci.org/widelands/widelands/builds/114850046.
Appveyor build 652. State: success. Details: https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_new_starting_conditions-652.

Revision history for this message
TiborB (tiborb95) wrote :

Code LGTM

review: Approve
Revision history for this message
GunChleoc (gunchleoc) wrote :

Thanks!

@bunnybot merge

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'data/tribes/preload.lua'
--- data/tribes/preload.lua 2015-11-02 17:19:44 +0000
+++ data/tribes/preload.lua 2016-03-09 17:17:50 +0000
@@ -18,6 +18,7 @@
18 starting_conditions = {18 starting_conditions = {
19 dirname .. "scripting/starting_conditions/barbarians/headquarters.lua";19 dirname .. "scripting/starting_conditions/barbarians/headquarters.lua";
20 dirname .. "scripting/starting_conditions/barbarians/fortified_village.lua";20 dirname .. "scripting/starting_conditions/barbarians/fortified_village.lua";
21 dirname .. "scripting/starting_conditions/barbarians/trading_outpost.lua";
21 }22 }
22 },23 },
2324
@@ -33,6 +34,7 @@
33 starting_conditions = {34 starting_conditions = {
34 dirname .. "scripting/starting_conditions/empire/headquarters.lua";35 dirname .. "scripting/starting_conditions/empire/headquarters.lua";
35 dirname .. "scripting/starting_conditions/empire/fortified_village.lua";36 dirname .. "scripting/starting_conditions/empire/fortified_village.lua";
37 dirname .. "scripting/starting_conditions/empire/trading_outpost.lua";
36 }38 }
37 },39 },
3840
@@ -48,6 +50,7 @@
48 starting_conditions = {50 starting_conditions = {
49 dirname .. "scripting/starting_conditions/atlanteans/headquarters.lua";51 dirname .. "scripting/starting_conditions/atlanteans/headquarters.lua";
50 dirname .. "scripting/starting_conditions/atlanteans/fortified_village.lua";52 dirname .. "scripting/starting_conditions/atlanteans/fortified_village.lua";
53 dirname .. "scripting/starting_conditions/atlanteans/trading_outpost.lua";
51 }54 }
52 }55 }
53}56}
5457
=== modified file 'data/tribes/scripting/starting_conditions/atlanteans/fortified_village.lua'
--- data/tribes/scripting/starting_conditions/atlanteans/fortified_village.lua 2016-03-01 09:31:36 +0000
+++ data/tribes/scripting/starting_conditions/atlanteans/fortified_village.lua 2016-03-09 17:17:50 +0000
@@ -8,6 +8,7 @@
88
9return {9return {
10 descname = _ "Fortified Village",10 descname = _ "Fortified Village",
11 tooltip = _" Start the game with a fortified military installation",
11 func = function(plr, shared_in_start)12 func = function(plr, shared_in_start)
1213
13 local sf = wl.Game().map.player_slots[plr.number].starting_field14 local sf = wl.Game().map.player_slots[plr.number].starting_field
1415
=== modified file 'data/tribes/scripting/starting_conditions/atlanteans/headquarters.lua'
--- data/tribes/scripting/starting_conditions/atlanteans/headquarters.lua 2016-01-28 05:24:34 +0000
+++ data/tribes/scripting/starting_conditions/atlanteans/headquarters.lua 2016-03-09 17:17:50 +0000
@@ -8,6 +8,7 @@
88
9init = {9init = {
10 descname = _ "Headquarters",10 descname = _ "Headquarters",
11 tooltip = _"Start the game with your headquarters only",
11 func = function(plr, shared_in_start)12 func = function(plr, shared_in_start)
1213
13 local sf = wl.Game().map.player_slots[plr.number].starting_field14 local sf = wl.Game().map.player_slots[plr.number].starting_field
1415
=== added file 'data/tribes/scripting/starting_conditions/atlanteans/trading_outpost.lua'
--- data/tribes/scripting/starting_conditions/atlanteans/trading_outpost.lua 1970-01-01 00:00:00 +0000
+++ data/tribes/scripting/starting_conditions/atlanteans/trading_outpost.lua 2016-03-09 17:17:50 +0000
@@ -0,0 +1,180 @@
1-- =======================================================================
2-- Trading Outpost Starting Conditions for the Atlanteans
3-- =======================================================================
4
5include "scripting/infrastructure.lua"
6
7set_textdomain("tribes")
8
9return {
10 descname = _"Trading Outpost",
11 tooltip = _"If this player runs low on important wares, they will be replenished for free",
12 func = function(player, shared_in_start)
13
14 local sf = wl.Game().map.player_slots[player.number].starting_field
15 if shared_in_start then
16 sf = shared_in_start
17 else
18 player:allow_workers("all")
19 end
20
21 prefilled_buildings(player, { "atlanteans_headquarters", sf.x, sf.y,
22 wares = {
23 diamond = 7,
24 iron_ore = 5,
25 quartz = 9,
26 granite = 50,
27 spider_silk = 9,
28 log = 80,
29 coal = 12,
30 gold = 14,
31 gold_thread = 6,
32 iron = 8,
33 planks = 45,
34 spidercloth = 5,
35 blackroot = 5,
36 blackroot_flour = 12,
37 atlanteans_bread = 8,
38 corn = 5,
39 cornmeal = 12,
40 fish = 3,
41 meat = 3,
42 smoked_fish = 6,
43 smoked_meat = 6,
44 water = 12,
45 bread_paddle = 2,
46 buckets = 2,
47 fire_tongs = 2,
48 fishing_net = 4,
49 hammer = 11,
50 hunting_bow = 1,
51 milking_tongs = 2,
52 hook_pole = 2,
53 pick = 8,
54 saw = 9,
55 scythe = 4,
56 shovel = 9,
57 tabard = 5,
58 trident_light = 5,
59 },
60 workers = {
61 atlanteans_armorsmith = 1,
62 atlanteans_blackroot_farmer = 1,
63 atlanteans_builder = 10,
64 atlanteans_charcoal_burner = 1,
65 atlanteans_carrier = 40,
66 atlanteans_fishbreeder = 1,
67 atlanteans_geologist = 4,
68 atlanteans_miner = 4,
69 atlanteans_sawyer = 1,
70 atlanteans_stonecutter = 2,
71 atlanteans_toolsmith = 2,
72 atlanteans_weaponsmith = 1,
73 atlanteans_woodcutter = 3,
74 atlanteans_horse = 5,
75 },
76 -- Max health: 1, Max attack: 4, Max defense: 2, Max evade: 2
77 soldiers = {
78 [{0,0,0,0}] = 25,
79 [{1,0,0,1}] = 5,
80 [{1,1,0,0}] = 5,
81 }
82 })
83
84 place_building_in_region(player, "atlanteans_toolsmithy", sf:region(11), {
85 wares = {
86 iron = 6,
87 log = 6,
88 spidercloth = 4
89 }
90 })
91
92 place_building_in_region(player, "atlanteans_sawmill", sf:region(11), {
93 wares = {
94 log = 8
95 }
96 })
97
98 place_building_in_region(player, "atlanteans_hunters_house", sf:region(11), {
99 wares = {}
100 })
101
102 place_building_in_region(player, "atlanteans_tower", sf:region(13), {
103 soldiers = {
104 [{0,0,0,0}] = 1,
105 },
106 })
107
108 -- Get all warehouse types
109 local plr = wl.Game().players[player.number]
110 local warehouse_types = {}
111 for i, building_name in ipairs(wl.Game():get_tribe_description(plr.tribe_name).buildings) do
112 if (wl.Game():get_building_description(building_name).type_name == "warehouse") then
113 table.insert(warehouse_types, building_name)
114 end
115 end
116
117 -- index of a warehouse we will add to. Used to 'rotate' warehouses
118 local idx = 1
119
120 for i=1,100000 do
121 sleep(300000)
122
123 -- collect all ~warehouses and pick one to insert the wares
124 local warehouses = {}
125 for i, building_name in ipairs(warehouse_types) do
126 warehouses = array_combine(warehouses, plr:get_buildings(building_name))
127 end
128
129 if #warehouses > 0 then
130
131 -- adding to a warehouse with index idx, if out of range, adding to wh 1
132 if idx > #warehouses then
133 idx = 1
134 end
135
136 local wh = warehouses[idx]
137 local added = 0
138
139 if wh:get_wares("water") < 100 then
140 wh:set_wares("water", wh:get_wares("water") + 20)
141 added = added + 1
142 end
143 if wh:get_wares("log") < 100 then
144 wh:set_wares("log", wh:get_wares("log") + 20)
145 added = added + 1
146 end
147 if wh:get_wares("granite") < 100 then
148 wh:set_wares("granite", wh:get_wares("granite") + 10)
149 added = added + 1
150 end
151 if wh:get_wares("coal") < 100 then
152 wh:set_wares("coal", wh:get_wares("coal") + 5)
153 added = added + 1
154 end
155 if wh:get_wares("iron_ore") < 100 then
156 wh:set_wares("iron_ore", wh:get_wares("iron_ore") + 5)
157 added = added + 1
158 end
159 if wh:get_wares("quartz") < 10 then
160 wh:set_wares("quartz", wh:get_wares("quartz") + 1)
161 added = added + 1
162 end
163 if wh:get_wares("meat") < 50 then
164 wh:set_wares("meat", wh:get_wares("meat") + 1)
165 added = added + 1
166 end
167 if wh:get_wares("gold") < 10 then
168 wh:set_wares("gold", wh:get_wares("gold") + 1)
169 added = added + 1
170 end
171
172 if (added > 0) then
173 print (player.number..": "..added.." types of ware added to warehouse "..idx.." of "..#warehouses.." (cheating mode)")
174 end
175
176 idx = idx + 1
177 end
178 end
179end
180}
0181
=== modified file 'data/tribes/scripting/starting_conditions/barbarians/fortified_village.lua'
--- data/tribes/scripting/starting_conditions/barbarians/fortified_village.lua 2016-03-01 09:31:36 +0000
+++ data/tribes/scripting/starting_conditions/barbarians/fortified_village.lua 2016-03-09 17:17:50 +0000
@@ -8,6 +8,7 @@
88
9return {9return {
10 descname = _ "Fortified Village",10 descname = _ "Fortified Village",
11 tooltip = _" Start the game with a fortified military installation",
11 func = function(plr, shared_in_start)12 func = function(plr, shared_in_start)
1213
13 local sf = wl.Game().map.player_slots[plr.number].starting_field14 local sf = wl.Game().map.player_slots[plr.number].starting_field
1415
=== modified file 'data/tribes/scripting/starting_conditions/barbarians/headquarters.lua'
--- data/tribes/scripting/starting_conditions/barbarians/headquarters.lua 2016-01-28 05:24:34 +0000
+++ data/tribes/scripting/starting_conditions/barbarians/headquarters.lua 2016-03-09 17:17:50 +0000
@@ -8,6 +8,7 @@
88
9init = {9init = {
10 descname = _ "Headquarters",10 descname = _ "Headquarters",
11 tooltip = _"Start the game with your headquarters only",
11 func = function(player, shared_in_start)12 func = function(player, shared_in_start)
1213
13 local sf = wl.Game().map.player_slots[player.number].starting_field14 local sf = wl.Game().map.player_slots[player.number].starting_field
1415
=== added file 'data/tribes/scripting/starting_conditions/barbarians/trading_outpost.lua'
--- data/tribes/scripting/starting_conditions/barbarians/trading_outpost.lua 1970-01-01 00:00:00 +0000
+++ data/tribes/scripting/starting_conditions/barbarians/trading_outpost.lua 2016-03-09 17:17:50 +0000
@@ -0,0 +1,175 @@
1-- =======================================================================
2-- Trading Outpost Starting Conditions for the Barbarians
3-- =======================================================================
4
5include "scripting/infrastructure.lua"
6
7set_textdomain("tribes")
8
9return {
10 descname = _"Trading Outpost",
11 tooltip = _"If this player runs low on important wares, they will be replenished for free",
12 func = function(player, shared_in_start)
13
14 local sf = wl.Game().map.player_slots[player.number].starting_field
15 if shared_in_start then
16 sf = shared_in_start
17 else
18 player:allow_workers("all")
19 end
20
21 hq = prefilled_buildings(player, { "barbarians_headquarters", sf.x, sf.y,
22 wares = {
23 ax = 5,
24 bread_paddle = 2,
25 blackwood = 32,
26 cloth = 5,
27 coal = 12,
28 felling_ax = 4,
29 fire_tongs = 2,
30 fish = 6,
31 fishing_rod = 2,
32 gold = 14,
33 grout = 12,
34 hammer = 12,
35 hunting_spear = 2,
36 iron = 12,
37 iron_ore = 5,
38 kitchen_tools = 4,
39 meal = 4,
40 meat = 6,
41 pick = 8,
42 barbarians_bread = 8,
43 ration = 12,
44 granite = 40,
45 scythe = 6,
46 shovel = 4,
47 snack = 3,
48 thatch_reed = 24,
49 log = 80,
50 },
51 workers = {
52 barbarians_blacksmith = 2,
53 barbarians_blacksmith_master = 1,
54 barbarians_brewer = 1,
55 barbarians_brewer_master = 1,
56 barbarians_builder = 10,
57 barbarians_charcoal_burner = 1,
58 barbarians_carrier = 40,
59 barbarians_gardener = 1,
60 barbarians_geologist = 4,
61 barbarians_lime_burner = 1,
62 barbarians_lumberjack = 3,
63 barbarians_miner = 4,
64 barbarians_ranger = 1,
65 barbarians_stonemason = 2,
66 barbarians_ox = 5,
67 },
68 -- Max health: 3, Max attack: 5, Max defense: 0, Max evade: 2
69 soldiers = {
70 [{0,0,0,0}] = 35,
71 [{1,0,0,1}] = 5,
72 [{1,1,0,0}] = 5,
73 }
74 })
75
76 place_building_in_region(player, "barbarians_metal_workshop", sf:region(11), {
77 wares = {
78 iron = 8,
79 log = 8
80 }
81 })
82
83 place_building_in_region(player, "barbarians_wood_hardener", sf:region(11), {
84 wares = {
85 log = 8
86 }
87 })
88
89 place_building_in_region(player, "barbarians_hunters_hut", sf:region(11), {
90 wares = {}
91 })
92
93 place_building_in_region(player, "barbarians_tower", sf:region(13), {
94 soldiers = {
95 [{0,0,0,0}] = 1,
96 },
97 })
98
99 -- Get all warehouse types
100 local plr = wl.Game().players[player.number]
101 local warehouse_types = {}
102 for i, building_name in ipairs(wl.Game():get_tribe_description(plr.tribe_name).buildings) do
103 if (wl.Game():get_building_description(building_name).type_name == "warehouse") then
104 table.insert(warehouse_types, building_name)
105 end
106 end
107
108 -- index of a warehouse we will add to. Used to 'rotate' warehouses
109 local idx = 1
110
111 for i=1,100000 do
112 sleep(300000)
113
114 -- collect all ~warehouses and pick one to insert the wares
115 local warehouses = {}
116 for i, building_name in ipairs(warehouse_types) do
117 warehouses = array_combine(warehouses, plr:get_buildings(building_name))
118 end
119
120 if #warehouses > 0 then
121
122 -- adding to a warehouse with index idx, if out of range, adding to wh 1
123 if idx > #warehouses then
124 idx = 1
125 end
126
127 local wh = warehouses[idx]
128 local added = 0
129
130 if plr:get_wares("water") < 40 + #warehouses * 10 then
131 wh:set_wares("water", wh:get_wares("water") + 20 + #warehouses * 2)
132 added = added + 1
133 end
134 if plr:get_wares("log") < 40 + #warehouses * 10 then
135 wh:set_wares("log", wh:get_wares("log") + 20)
136 added = added + 1
137 end
138 if plr:get_wares("granite") < 30 + #warehouses * 10 then
139 wh:set_wares("granite", wh:get_wares("granite") + 10 + #warehouses * 2)
140 added = added + 1
141 end
142 if plr:get_wares("coal") < 70 + #warehouses * 10 then
143 wh:set_wares("coal", wh:get_wares("coal") + 25 + #warehouses * 5)
144 added = added + 1
145 end
146 if plr:get_wares("iron_ore") < 30 + #warehouses * 10 then
147 wh:set_wares("iron_ore", wh:get_wares("iron_ore") + 10 + #warehouses * 2)
148 added = added + 1
149 end
150 if wh:get_wares("fish") < 40 + #warehouses * 5 then
151 wh:set_wares("fish", wh:get_wares("fish") + 10)
152 added = added + 1
153 end
154 if plr:get_wares("gold") < 20 + #warehouses * 5 then
155 wh:set_wares("gold", wh:get_wares("gold") + 3)
156 added = added + 1
157 end
158 if plr:get_wares("wheat") < 60 + #warehouses * 10 then
159 wh:set_wares("wheat", wh:get_wares("wheat") + 15 + #warehouses * 2)
160 added = added + 1
161 end
162 if plr:get_wares("barbarians_bread") < 40 + #warehouses * 5 then
163 wh:set_wares("barbarians_bread", wh:get_wares("barbarians_bread") + 8 + #warehouses * 2)
164 added = added + 1
165 end
166
167 if (added > 0) then
168 print (player.number..": "..added.." types of ware added to warehouse "..idx.." of "..#warehouses.." (cheating mode)")
169 end
170
171 idx = idx + 1
172 end
173 end
174end
175}
0176
=== modified file 'data/tribes/scripting/starting_conditions/empire/fortified_village.lua'
--- data/tribes/scripting/starting_conditions/empire/fortified_village.lua 2016-03-01 09:31:36 +0000
+++ data/tribes/scripting/starting_conditions/empire/fortified_village.lua 2016-03-09 17:17:50 +0000
@@ -8,6 +8,7 @@
88
9return {9return {
10 descname = _ "Fortified Village",10 descname = _ "Fortified Village",
11 tooltip = _" Start the game with a fortified military installation",
11 func = function(plr, shared_in_start)12 func = function(plr, shared_in_start)
1213
13 local sf = wl.Game().map.player_slots[plr.number].starting_field14 local sf = wl.Game().map.player_slots[plr.number].starting_field
1415
=== modified file 'data/tribes/scripting/starting_conditions/empire/headquarters.lua'
--- data/tribes/scripting/starting_conditions/empire/headquarters.lua 2016-01-28 05:24:34 +0000
+++ data/tribes/scripting/starting_conditions/empire/headquarters.lua 2016-03-09 17:17:50 +0000
@@ -8,6 +8,7 @@
88
9return {9return {
10 descname = _ "Headquarters",10 descname = _ "Headquarters",
11 tooltip = _"Start the game with your headquarters only",
11 func = function(p, shared_in_start)12 func = function(p, shared_in_start)
1213
13 local sf = wl.Game().map.player_slots[p.number].starting_field14 local sf = wl.Game().map.player_slots[p.number].starting_field
1415
=== added file 'data/tribes/scripting/starting_conditions/empire/trading_outpost.lua'
--- data/tribes/scripting/starting_conditions/empire/trading_outpost.lua 1970-01-01 00:00:00 +0000
+++ data/tribes/scripting/starting_conditions/empire/trading_outpost.lua 2016-03-09 17:17:50 +0000
@@ -0,0 +1,177 @@
1-- =======================================================================
2-- Trading Outpost Starting Conditions for the Empire
3-- =======================================================================
4
5include "scripting/infrastructure.lua"
6
7set_textdomain("tribes")
8
9return {
10 descname = _"Trading Outpost",
11 tooltip = _"If this player runs low on important wares, they will be replenished for free",
12 func = function(player, shared_in_start)
13
14 local sf = wl.Game().map.player_slots[player.number].starting_field
15
16 if shared_in_start then
17 sf = shared_in_start
18 else
19 player:allow_workers("all")
20 end
21
22 prefilled_buildings(player, { "empire_headquarters", sf.x, sf.y,
23 wares = {
24 armor_helmet = 4,
25 spear_wooden = 5,
26 felling_ax = 6,
27 bread_paddle = 2,
28 basket = 2,
29 empire_bread = 8,
30 cloth = 5,
31 coal = 12,
32 fire_tongs = 2,
33 fish = 6,
34 fishing_rod = 2,
35 flour = 4,
36 gold = 14,
37 grape = 4,
38 hammer = 14,
39 hunting_spear = 2,
40 iron = 12,
41 iron_ore = 5,
42 kitchen_tools = 4,
43 marble = 25,
44 marble_column = 6,
45 meal = 4,
46 meat = 6,
47 pick = 8,
48 ration = 12,
49 saw = 2,
50 scythe = 5,
51 shovel = 6,
52 granite = 40,
53 log = 80,
54 water = 12,
55 wheat = 4,
56 wine = 8,
57 planks = 45,
58 wool = 2,
59 },
60 workers = {
61 empire_armorsmith = 1,
62 empire_brewer = 1,
63 empire_builder = 10,
64 empire_carrier = 40,
65 empire_charcoal_burner = 1,
66 empire_geologist = 4,
67 empire_lumberjack = 3,
68 empire_miner = 4,
69 empire_stonemason = 2,
70 empire_toolsmith = 2,
71 empire_weaponsmith = 1,
72 empire_donkey = 5,
73 },
74 -- Max health: 4, Max attack: 4, Max defense: 0, Max evade: 2
75 soldiers = {
76 [{0,0,0,0}] = 35,
77 [{1,0,0,1}] = 5,
78 [{1,1,0,0}] = 5,
79 }
80 })
81
82 place_building_in_region(player, "empire_toolsmithy", sf:region(11), {
83 wares = {
84 iron = 8,
85 log = 8
86 }
87 })
88
89 place_building_in_region(player, "empire_sawmill", sf:region(11), {
90 wares = {
91 log = 8
92 }
93 })
94
95 place_building_in_region(player, "empire_hunters_house", sf:region(11), {
96 wares = {}
97 })
98
99 place_building_in_region(player, "empire_tower", sf:region(13), {
100 soldiers = {
101 [{0,0,0,0}] = 1,
102 },
103 })
104
105 -- Get all warehouse types
106 local plr = wl.Game().players[player.number]
107 local warehouse_types = {}
108 for i, building_name in ipairs(wl.Game():get_tribe_description(plr.tribe_name).buildings) do
109 if (wl.Game():get_building_description(building_name).type_name == "warehouse") then
110 table.insert(warehouse_types, building_name)
111 end
112 end
113
114 -- index of a warehouse we will add to. Used to 'rotate' warehouses
115 local idx = 1
116
117 for i=1,100000 do
118 sleep(300000)
119
120 -- collect all ~warehouses and pick one to insert the wares
121 local warehouses = {}
122 for i, building_name in ipairs(warehouse_types) do
123 warehouses = array_combine(warehouses, plr:get_buildings(building_name))
124 end
125
126 if #warehouses > 0 then
127
128 -- adding to a warehouse with index idx, if out of range, adding to wh 1
129 if idx > #warehouses then
130 idx = 1
131 end
132
133 local wh = warehouses[idx]
134 local added = 0
135
136 if wh:get_wares("water") < 100 then
137 wh:set_wares("water", wh:get_wares("water") + 20)
138 end
139 if wh:get_wares("log") < 100 then
140 wh:set_wares("log", wh:get_wares("log") + 10)
141 end
142 if wh:get_wares("granite") < 100 then
143 wh:set_wares("granite", wh:get_wares("granite") + 5 + #warehouses)
144 end
145 if wh:get_wares("coal") < 100 then
146 wh:set_wares("coal", wh:get_wares("coal") + 5)
147 end
148 if wh:get_wares("iron_ore") < 100 then
149 wh:set_wares("iron_ore", wh:get_wares("iron_ore") + 5)
150 end
151 if wh:get_wares("marble") < 100 then
152 wh:set_wares("marble", wh:get_wares("marble") + 5)
153 end
154 if wh:get_wares("fish") < 50 then
155 wh:set_wares("fish", wh:get_wares("fish") + 1)
156 end
157 if wh:get_wares("gold") < 50 then
158 wh:set_wares("gold", wh:get_wares("gold") + 1)
159 end
160 if plr:get_wares("wheat") < 60 + #warehouses * 10 then
161 wh:set_wares("wheat", wh:get_wares("wheat") + 10 + #warehouses * 2)
162 added = added + 1
163 end
164 if plr:get_wares("flour") < 30 + #warehouses * 10 then
165 wh:set_wares("flour", wh:get_wares("flour") + #warehouses * 5)
166 added = added + 1
167 end
168
169 if (added > 0) then
170 print (player.number..": "..added.." types of ware added to warehouse "..idx.." of "..#warehouses.." (cheating mode)")
171 end
172
173 idx = idx + 1
174 end
175 end
176end
177}
0178
=== modified file 'data/txts/developers.lua'
--- data/txts/developers.lua 2016-02-16 09:25:18 +0000
+++ data/txts/developers.lua 2016-03-09 17:17:50 +0000
@@ -1,3 +1,3 @@
1-- Do not edit this file - it is automatically generated1-- Do not edit this file - it is automatically generated
2-- by utils/update_authors.py from developers.json.2-- by utils/update_authors.py from developers.json.
3function developers() return {{heading = _"Chieftain",image = "images/players/genstats_enable_plr_01.png",entries = {{members = {"Holger Rapp (SirVer)",},},},},{heading = _"Elders",image = "images/players/genstats_enable_plr_04.png",entries = {{subheading = _"Graphics",members = {"Chuck Wilder (chuckw)",},},{subheading = _"Homepage",members = {"Markus Pfitzner (janus)",},},{subheading = _"Sound",members = {"Jan Bruns (solatis)",},},{subheading = _"Tongues",members = {"GunChleoc",},},},},{heading = _"Coders",image = "images/wui/stats/genstats_nrwares.png",entries = {{members = {"Holger Rapp (SirVer)","Nicolai Hähnle (ixprefect)","Florian Bluemel","Florian Falkner (foldrian)","Florian Weber (Bedouin)","Philipp Engelhard","Stefan Boettner","Tron","Martin Quinson","Raul Ferriz","Willem Jan Palenstijn","Josef Spillner","Christof Petig","Erik Sigra (sigra)","Nanne Wams","Surgery","Andrius R. (knutux)","Jari Hautio (jarih)","Peter Schwanemann (Nasenbaer)","Victor Pelt (Dwarik)","Axel Gehlert (dunkelbrauer)","András Eisenberger (Kiscsirke)","Andi","Timo","Hannes","TimoW","Jens Beyer (Qcumber-some)","Andreas Breitschopp (ab-tools)","Joachim Breitner (nomeata)","Nizamov Shawkat","Carl-Philip Hänsch (carli)","Martin Prussak (martin)","David Allwicher (aber)","Nathan Peters (nathanpeters)","Leif Sandstede (lcsand)","Matthias Horne (shevonar)","Borim (borim)","Angelo Locritani (alocritani)","Gabriel Margiani (gamag)","Anthony J. Bentley (anthonyjbentley)","Peter Waller (iri)","Johannes Ebke (sirius-in4matiker)","Andreas Eriksson","Mark Scott","Teppo Mäenpää","Steven De Herdt","Charly Ghislain (cghislai)","Tino Miegel (TinoM)","Tibor Bamhor (tiborb95)","GunChleoc","Ferdinand Thiessen (f-thiessen)","Willy Scheibel (willyscheibel)","Martin Schmidt (mars)","Simon Eilting","Alexander Kartzow (daAlx1)","Łukasz Majcher","Paul Mehrer (meitis)","Miroslav Remák (MiroslavR)","Janosch Peters",},},},},{heading = _"Graphicians",image = "images/wui/stats/genstats_nrbuildings.png",entries = {{members = {"Albert Jasiowka","Holger Rapp (SirVer)","Marz","Philipp Engelhard","Yannick Warnier","Delia","Florian Neuerburg","Jerome Rosinski","Mats Olsson","Odin Omdal","Wolfgang Weidner","Andreas Baier","Juri Chomé","Toralf Bethke (bithunter32)","Peter Schwanemann (Nasenbaer)","Alexia Death","Repsa Jih","Geoffroy Schmitlin (Trimard)","Benedikt Freisen (Objpaswriter)","Stefano Guidoni (Ilguido)","Samith Sandanayake (samithdisal)","Chuck Wilder (chuckw)","Astuur","Gerrit Familiegrosskopf (kingcreole)","Florian Angermeier (fraang)",},},},},{heading = _"Musicians",image = "images/wui/overlays/workarea123.png",entries = {{members = {"Kristian","MiddleFinger","Valerio Orlandini (Symbiosis)","Barry van Oudtshoorn (barryvan)","Jan Bruns (Solatis)","Nikola Whallon (Saturn)","Joshua O'Leary (Joshun)",},},},},{heading = _"Sound Effects",image = "images/wui/overlays/workarea123.png",entries = {{members = {"Stefan de Konik","Peter Schwanemann (Nasenbaer)","Stephan","Adam Piggott (_aD)","Stanisław Gackowski (Soeb)",},},},},{heading = _"Maps and Missions",image = "images/wui/stats/genstats_landsize.png",entries = {{members = {"Michal Szopa (Winterwind)","Jan-Henrik Kluth (Isch)","Peter Schwanemann (Nasenbaer)","Sven (deviant)","Tuxlands","Kamil Wilczek (Another Barbarian)","Tarvo Reim (Tarrei)","Manuel Holzmeier (Quappo)","ivh","Hanna Podewski (kristin)","Teppo Mäenpää","fk","Einstein13","Jenia","Robnick","wl-zocker",},},},},{heading = _"Campaign Story",image = "images/ui_basic/ls_wlmap.png",entries = {{subheading = _"Barbarian",members = {"Bastian Rapp","Alexander Kahl (wolfpac)","Peter Schwanemann (Nasenbaer)",},},{subheading = _"Empire",members = {"Peter Schwanemann (Nasenbaer)",},},{subheading = _"Atlantean",members = {"Holger Rapp (SirVer)","Peter Schwanemann (Nasenbaer)",},},},},{heading = _"Translators",image = "images/wui/editor/fsel_editor_set_height.png",entries = {{subheading = "العربية (Arabic)",members = {"abdXelrhman","m-abudrais","someone",},},{subheading = "Asturianu (Asturian)",members = {"Xuacu Saturio",},},{subheading = "Български (Bulgarian)",members = {"А. Ташев","Любомир Василев",},},{subheading = "Català (Catalan)",members = {"Guybrush88","Joan Josep","Oriol",},},{subheading = "Čeština (Czech)",members = {"Adam Matoušek","David Spanel","Jens Beyer","Jezevec","Jiří Locker","Konki","Marek Donar (Markus7cz)","Martin Volf","Martin Vecera (Marvec)","MaSo_CZ","Matej Svrcek (prometheus)","Milan Fašina","prom","Vit Hrachovy","Zbyněk Schwarz",},},{subheading = "Dansk (Danish)",members = {"Ask Hjorth Larsen","beer","Daniel Ejsing-Duun","David Lamhauge","Erik Soe Sorensen","Esben Aaberg","hulagutten","Joe Hansen (joedalton)","larsch","Nikolaj Sejergaard","silentStatic","Simon Stubben","Ville Witt",},},{subheading = "Deutsch (German)",members = {"Andreas Breitschopp","Astuur","Benedikt Tröster","Bob Johns","Borim","Clemens Dinkel","Daniel Kutrowatz","Daniel Winzen","Das MC","David Allwicher","DelphiMarkus","Dirk Stöcker","Fenris Wolf","Ferdinand T.","FetteNase","Flames_in_Paradise","fraang","Frank Kubitschek","Gabriel Margiani","Hagen","Hanna Podewski (kristin)","herbert","hurz","Johannes (nuefke)","Johannes Haupt","Kaste","Klappstuhl","Koneu","kraileth","LAZA","LennStar","Macedon","Marc Wischnowsky","Markus Pfitzner (janus)","Martin","Matthias Krüger","Max","meru","Mirian Margiani","MirkoWodtke","Mister Pi","Mr. Anderson","Ole","Peter Schwanemann (Nasenbaer)","Philipp Niemann (Azagtoth)","Provetin","Ralf-J. Block","raymond","ronny","Shevonar","SirVer","Sonnrain","Thomas","Tim O.","Timowi","Tino Miegel (TinoM)","Tobias Margiani","Venatrix","wl-zocker","Wolfgang Kurz","Wolfs","Wuzzy",},},{subheading = "Ελληνικά (Greek)",members = {"ptr","Γιάννης Ανθυμίδης",},},{subheading = "Canadian English",members = {"Ne-1",},},{subheading = "British English",members = {"_aD","Alex Denvir","Andi Chandler","Anthony Harrington","Biffaboy","Heber","Jackson Doak","James Thorrold","Jon Senior","LiSrt","Luis Miguel D.P.","mrx5682","Terry Jones","Tinker","UndiFineD","Vladimir Oka",},},{subheading = "US American English",members = {"DragonAtma",},},{subheading = "Esperanto",members = {"alms21","Fenris Wolf","Ivan Camilo Quintero Santacruz","Jens Beyer","Kristjan SCHMIDT","LaPingvino","Manuel Berkemeier","Michael Moroni",},},{subheading = "Español (Spanish)",members = {"Adolfo Jayme","Agustín Vela","Alberto D.V.","Alejandro Pérez","Antonio Trueba (Fasser)","David Mitos","David Pérez","DiegoJ","Dishito","Eduardo Alberto Calvo","Gerardb","ironfisher","Ivan","Ivan Camilo Quintero Santacruz","Javi Sol","Jonay","Joseph Molina","JoseRoberto","Juan Eduardo Riva","Kiibakun","Luis Miguel D.P.","MadkaT","Martín V.","Miguel adre","Miguel de Dios","Monkey","Pablo Frigerio","Paco Molinero","Paulomorales","pescamillam","Rafael Augusto Maguiña Yrivarren","Rafael Medina","Raul Ferriz","Roberto López","schimmm","simon","Siz","WalterCool","zer berros",},},{subheading = "Eesti keel (Estonian)",members = {"gert7","rm87",},},{subheading = "Euskara (Basque)",members = {"Mikel Alzibar",},},{subheading = "فارسی (Persian)",members = {"katy Zahedi",},},{subheading = "Suomi (Finnish)",members = {"Jari Hautio","Juhani Numminen","Markus Hällfors","Pekka Järvinen (Raspi)","Sampo Harjula","Sini Ruohomaa (Byakushin)","Teppo Mäenpää","Tommi Nirha","Vazde",},},{subheading = "Français (French)",members = {"AGuechoum","AnubiS","Audiger Jeremy","Aurelien Pavel","Benjamin Subtil","Bertram","bouchard renaud","Bruno Veilleux","clark17","crep4ever","David .","El Pensador","Eliovir","Emmanuel Andry (Eandry)","fk","François Rousselet","Gilles Aubert","Guillaume Brant","Guybrush88","Immunoman","Jean-Pierre Gemble","Hanna Podewski (kristin)","londumas","Michael Colignon","Michael DOUBEZ","Mohamed SEDKI","NonoSan","Pierre Rudloff","Sébastien Duthil","Sevy Ride","Tarou","Thomas Jungers","tomtom","Tubuntu","Ubuntu1988","verdy_p","wl-zocker","YS1","Yves MATHIEU",},},{subheading = "Gàidhlig (Scottish Gaelic)",members = {"GunChleoc",},},{subheading = "Galego (Galician)",members = {"Adrián Chaves Fernández","Antonio Trueba (Fasser)","Xosé",},},{subheading = "עברית (Hebrew)",members = {"Danny Albocher","Liel Fridman","Michael DOUBEZ","Solomon Gruber (Piql7)","Yaron",},},{subheading = "हिन्दी (Hindi)",members = {"girdhari rao",},},{subheading = "Hrvatski (Croatian)",members = {"Mario Dautović",},},{subheading = "Magyar (Hungarian)",members = {"cn4ij","Dániel Varga (EuroF)","Ferenc Nagy","Gyönki Bendegúz","HUNStree","István Kiss","jzombi","Kiscsirke","Major Gabesz","Muszela Balázs","Papp Bence","Richard Somlói","Robert Roth","SanskritFritz","Szűcs Kornél Géza",},},{subheading = "Interlingua",members = {"alms21",},},{subheading = "Bahasa Indonesia (Indonesian)",members = {"dadanhrn",},},{subheading = "Italiano (Italian)",members = {"Angelo Locritani","Colin Gibson","DarkSaivor","Davidus","Dom De Felice","Doukas7","Eulogy","Gabriel Rota","Guybrush88","ido","Loris Turchetti","Oibaf","Pierpaolo Pierozzi","pierusch","Pietro Battiston","Roberto Sciascia","Sergio Spinatelli","sgargel","simone.sandri",},},{subheading = "日本語 (Japanese)",members = {"alms21","Dios","guess880","Midori","SevyRide","tubame",},},{subheading = "Basa jawa (Javanese)",members = {"zaenal arifin",},},{subheading = "ქართული (Georgian)",members = {"Gabriel Margiani","Meyer Konrad",},},{subheading = "한국어 (Korean)",members = {"ddfddf2k",},},{subheading = "Lingua latīna (Latin)",members = {"alms21","lopho","Sonnrain","Stephan Lenk","Thorsten",},},{subheading = "Lietuvių (Lithuanian)",members = {"Mantas Kriaučiūnas",},},{subheading = "मराठी (Marathi)",members = {"Amod Ajit Karmarkar",},},{subheading = "بهاس ملايو (Malay)",members = {"abuyop",},},{subheading = "မြန်မာစ (Burmese)",members = {"pyaehtetaung",},},{subheading = "Norsk (Bokmål) (Norwegian Bokmål)",members = {"Fredrik Sudmann","Hans Joachim Desserud","Magnus Meyer Hustveit","Martin Dahl Moe","mr.x","Thorbjørn Bruarøy",},},{subheading = "Plattdütsch (Low German)",members = {"Mister Pi ","Nasenbaer ","Ole ","tando",},},{subheading = "Nederlands (Dutch)",members = {"BenW","Christian Groenendijk","Dirk Schut","fireprog","fk","Foppe Benedictus","Johan Jonkman (Dikjuh)","Maasieboy","Marcel","megabyte","Patrick van der Leer","Pieter Ouwerkerk (Pietertje)","Pietertje","PliniusNeo","REAL NAME","RickvanderZwet","Rob Snelders (Ertai)","Teun Spaans","Victor Pelt","Wim Champagne",},},{subheading = "Nynorsk (Norwegian Nynorsk)",members = {"Alexander Mackinnon Jansen","Hans Joachim Desserud","Odin Hørthe Omdal","Thorbjørn Bruarøy",},},{subheading = "Occitan",members = {"Cédric VALMARY (Tot en òc)",},},{subheading = "Polski (Polish)",members = {"Andrzej Krentosz (Endrju)","Asahi Koishi","BartekChom","Bartosz Wiśniewski","Gabriel Fortin","Hubert Pluta","Jakub Rak (einstein13)","Januzi (januzi)","Jacek Wolszczak (Shutdownrunner)","Jens Beyer","Karol Sobolewski","Łukasz Chełmicki","Mateusz Micał","Michal Maslanko","Michał Rzepiński","orzeh","Patryk Sawicki","Pawel PErz","Stanisław Gackowski (Soeb)","Szymon Fornal","Szymon Gackowski","Szymon Nieznański","tim","Tomasz Sterna","Wesmania","Wojtek","XeonBloomfield",},},{subheading = "Português (Portuguese)",members = {"Almufadado","daniel reis","David Rodrigues","Flávio J. Saraiva","GunChleoc","Marcelo do Pagode","Miguel de Freitas Fonseca","Tiago Silva","trewe",},},{subheading = "Português do Brasil (Brazilian Portuguese)",members = {"Alexandre","alms21","Almufadado","Cleverton","daniel reis","Fabio Garz","Flaviano Angeli","HicHic","Hriostat","Israel","JoãoPedro BrasãoToledo","Juarez S.","Júlio Cezar Santos Pires","Juno","Luiz N","Maraschin","Marcelo do Pagode","Nicolas Abril","Pedro Pisandelli","Proezas","Rafael Neri","Rayback","Rubens Bueno","Samer Ghosnlas.2932","Tomas Abril","Vitor",},},{subheading = "Română (Romanian)",members = {"Ursachi Alexandru",},},{subheading = "Русский (Russian)",members = {"Александр","Александр Бикмеев (Rombal)","Александр Глухов","Алексей Кабанов","Андрей Кулаков ","Андрей Олыкайнен ","Антон Хабаров (lu)","Виктор Биркманис","Владимир Коваленко","Глеб Синковский","Глория Хрусталёва","Денис Дерябин","Егор Панфилов","Константин Щукин","Никита Шехов","Руслан Ковтун","Сергей Фуканчик ","Юрий Соколов (Urra)","CupIvan","Georgiy","gerich","Izon","KroArtem","Lex","Massol","Papazu","SashaQR","TroubleMakerDV","Vampire Hunter D","Vlad",},},{subheading = "Kinyarwanda",members = {"Nasenbaer",},},{subheading = "සිංහල (Sinhala)",members = {"Samith Sandanayake",},},{subheading = "Slovenčina (Slovak)",members = {"Kefir111","Marek Hám","Miroslav Remák","Vladimir","Vladímir Tóth (Ike)",},},{subheading = "Slovenski jezik (Slovenian)",members = {"Andrej Znidarsic","Boštjan Miklavčič","Jure Repinc","kleb","Klemen Košir","Matevž Jekovec","Matic Gradišer","mrt",},},{subheading = "српски (Serbian)",members = {"Никола Павловић",},},{subheading = "Svenska (Swedish)",members = {"Arve Eriksson","Christian Widell","Daniel Nylander (yeager)","Frederik Pettersson (luno)","ivh","Joakim Lundborg","karlrune","Marcus E","Michael Rydén","Patrick H.","Phoenix","Rasmus Olstedt","RasmusBackman","Sigra","Treecko","Tumaini","Ulite",},},{subheading = "Türkçe (Turkish)",members = {"Asiye","Ekrem Kocadere","Ercin Senturk","Recep Hasanbaş","ScriptMonster","Volkan Gezer",},},{subheading = "українська мова (Ukranian)",members = {"Fedik","Shemet Yevhene","Сергій Дубик",},},{subheading = "Tiếng Việt (Vietnamese)",members = {"Nguyen Quang Chien",},},{subheading = "简体中文 (Simplified Chinese)",members = {"luojie-dune","XIA",},},{subheading = "繁體中文 (Traditional Chinese)",members = {"AJ","poormusic","sonny",},},},},{heading = _"Packagers",image = "images/wui/stats/genstats_productivity.png",entries = {{subheading = _"Debian Linux",members = {"Martin Quinson",},},{subheading = _"Fedora Linux",members = {"Karol Trzcionka","Jochen Wiedmann",},},{subheading = _"Mandriva Linux",members = {"Emmanuel Andry (eandry)",},},{subheading = _"FreeBSD",members = {"Bartosz Fabianowski",},},{subheading = _"Mac OS X",members = {"Philipp Engelhard","Pierre Salagnac (Tarou)","Wolf St. Kappesser","David Allwicher (aber)",},},{subheading = _"Windows",members = {"Tino Miegel (TinoM)","Alexander Kahl (Wolfpac)","Geodomus","Jari Hautio",},},{subheading = _"ZetaOS",members = {"BeSman",},},},},{heading = _"Homepage",image = "images/logos/WL-Editor-16.png",entries = {{subheading = _"Homepage Coders",members = {"Holger Rapp (SirVer)","Stanislaw Gackowski (Soeb)","Markus Pfitzner (janus)","Tobi",},},{subheading = _"Documentation, Help and Wiki",members = {"Erik Sigra (sigra)","Florian Falkner (foldrian)","Florian Weber (bedouin)","Nicolai Haehnle","Holger Rapp (SirVer)","Johannes (nuefke)","Alexander Kahl (wolfpac)","Stanislaw Gackowski (Soeb)","Hanna Podewski (kristin)",},},},},{heading = _"Former Elders",image = "images/players/genstats_enable_plr_04.png",entries = {{subheading = _"Graphics",members = {"Salamander","Alexia Death (death)",},},{subheading = _"Homepage",members = {"holymoly","Stuart Eglington (DaaL1973)","Jon Harris (jonsjava)",},},{subheading = _"Sound",members = {"Yannick Warnier",},},{subheading = _"Translation",members = {"Peter Schwanemann (Nasenbaer)","Philipp Niemann (Azagtoth)",},},},},{heading = _"Other",image = "images/wui/stats/genstats_landsize.png",entries = {{members = {"Matt Howe (mdhowe)","Samuel Tilly (eldamar)","and many, many more (thank you for everything you've done)",},},},},} end
4\ No newline at end of file3\ No newline at end of file
4function developers() return {{heading = _"Chieftain",image = "images/players/genstats_enable_plr_01.png",entries = {{members = {"Holger Rapp (SirVer)",},},},},{heading = _"Elders",image = "images/players/genstats_enable_plr_04.png",entries = {{subheading = _"Graphics",members = {"Chuck Wilder (chuckw)",},},{subheading = _"Homepage",members = {"Markus Pfitzner (janus)",},},{subheading = _"Sound",members = {"Jan Bruns (solatis)",},},{subheading = _"Tongues",members = {"GunChleoc",},},},},{heading = _"Coders",image = "images/wui/stats/genstats_nrwares.png",entries = {{members = {"Holger Rapp (SirVer)","Nicolai Hähnle (ixprefect)","Florian Bluemel","Florian Falkner (foldrian)","Florian Weber (Bedouin)","Philipp Engelhard","Stefan Boettner","Tron","Martin Quinson","Raul Ferriz","Willem Jan Palenstijn","Josef Spillner","Christof Petig","Erik Sigra (sigra)","Nanne Wams","Surgery","Andrius R. (knutux)","Jari Hautio (jarih)","Peter Schwanemann (Nasenbaer)","Victor Pelt (Dwarik)","Axel Gehlert (dunkelbrauer)","András Eisenberger (Kiscsirke)","Andi","Timo","Hannes","TimoW","Jens Beyer (Qcumber-some)","Andreas Breitschopp (ab-tools)","Joachim Breitner (nomeata)","Nizamov Shawkat","Carl-Philip Hänsch (carli)","Martin Prussak (martin)","David Allwicher (aber)","Nathan Peters (nathanpeters)","Leif Sandstede (lcsand)","Matthias Horne (shevonar)","Borim (borim)","Angelo Locritani (alocritani)","Gabriel Margiani (gamag)","Anthony J. Bentley (anthonyjbentley)","Peter Waller (iri)","Johannes Ebke (sirius-in4matiker)","Andreas Eriksson","Mark Scott","Teppo Mäenpää","Steven De Herdt","Charly Ghislain (cghislai)","Tino Miegel (TinoM)","Tibor Bamhor (tiborb95)","GunChleoc","Ferdinand Thiessen (f-thiessen)","Willy Scheibel (willyscheibel)","Martin Schmidt (mars)","Simon Eilting","Alexander Kartzow (daAlx1)","Łukasz Majcher","Paul Mehrer (meitis)","Miroslav Remák (MiroslavR)","Janosch Peters",},},},},{heading = _"Graphicians",image = "images/wui/stats/genstats_nrbuildings.png",entries = {{members = {"Albert Jasiowka","Holger Rapp (SirVer)","Marz","Philipp Engelhard","Yannick Warnier","Delia","Florian Neuerburg","Jerome Rosinski","Mats Olsson","Odin Omdal","Wolfgang Weidner","Andreas Baier","Juri Chomé","Toralf Bethke (bithunter32)","Peter Schwanemann (Nasenbaer)","Alexia Death","Repsa Jih","Geoffroy Schmitlin (Trimard)","Benedikt Freisen (Objpaswriter)","Stefano Guidoni (Ilguido)","Samith Sandanayake (samithdisal)","Chuck Wilder (chuckw)","Astuur","Gerrit Familiegrosskopf (kingcreole)","Florian Angermeier (fraang)",},},},},{heading = _"Musicians",image = "images/wui/overlays/workarea123.png",entries = {{members = {"Kristian","MiddleFinger","Valerio Orlandini (Symbiosis)","Barry van Oudtshoorn (barryvan)","Jan Bruns (Solatis)","Nikola Whallon (Saturn)","Joshua O'Leary (Joshun)",},},},},{heading = _"Sound Effects",image = "images/wui/overlays/workarea123.png",entries = {{members = {"Stefan de Konik","Peter Schwanemann (Nasenbaer)","Stephan","Adam Piggott (_aD)","Stanisław Gackowski (Soeb)",},},},},{heading = _"Maps and Missions",image = "images/wui/stats/genstats_landsize.png",entries = {{members = {"Michal Szopa (Winterwind)","Jan-Henrik Kluth (Isch)","Peter Schwanemann (Nasenbaer)","Sven (deviant)","Tuxlands","Kamil Wilczek (Another Barbarian)","Tarvo Reim (Tarrei)","Manuel Holzmeier (Quappo)","ivh","Hanna Podewski (kristin)","Teppo Mäenpää","fk","Einstein13","Jenia","Robnick","wl-zocker",},},},},{heading = _"Campaign Story",image = "images/ui_basic/ls_wlmap.png",entries = {{subheading = _"Barbarian",members = {"Bastian Rapp","Alexander Kahl (wolfpac)","Peter Schwanemann (Nasenbaer)",},},{subheading = _"Empire",members = {"Peter Schwanemann (Nasenbaer)",},},{subheading = _"Atlantean",members = {"Holger Rapp (SirVer)","Peter Schwanemann (Nasenbaer)",},},},},{heading = _"Translators",image = "images/wui/editor/fsel_editor_set_height.png",entries = {{subheading = "العربية (Arabic)",members = {"abdXelrhman","m-abudrais","someone",},},{subheading = "Asturianu (Asturian)",members = {"Xuacu Saturio",},},{subheading = "Български (Bulgarian)",members = {"А. Ташев","Любомир Василев",},},{subheading = "Català (Catalan)",members = {"Guybrush88","Joan Josep","Oriol",},},{subheading = "Čeština (Czech)",members = {"Adam Matoušek","David Spanel","Jens Beyer","Jezevec","Jiří Locker","Konki","Marek Donar (Markus7cz)","Martin Volf","Martin Vecera (Marvec)","MaSo_CZ","Matej Svrcek (prometheus)","Milan Fašina","prom","Vit Hrachovy","Zbyněk Schwarz",},},{subheading = "Dansk (Danish)",members = {"Ask Hjorth Larsen","beer","Daniel Ejsing-Duun","David Lamhauge","Erik Soe Sorensen","Esben Aaberg","hulagutten","Joe Hansen (joedalton)","larsch","Nikolaj Sejergaard","silentStatic","Simon Stubben","Ville Witt",},},{subheading = "Deutsch (German)",members = {"Andreas Breitschopp","Astuur","Benedikt Tröster","Bob Johns","Borim","Clemens Dinkel","Daniel Kutrowatz","Daniel Winzen","Das MC","David Allwicher","DelphiMarkus","Dirk Stöcker","Fenris Wolf","Ferdinand T.","FetteNase","Flames_in_Paradise","fraang","Frank Kubitschek","Gabriel Margiani","Hagen","Hanna Podewski (kristin)","herbert","hurz","Johannes (nuefke)","Johannes Haupt","Kaste","Klappstuhl","Koneu","kraileth","LAZA","LennStar","Macedon","Marc Wischnowsky","Markus Pfitzner (janus)","Martin","Matthias Krüger","Max","meru","Mirian Margiani","MirkoWodtke","Mister Pi","Mr. Anderson","Ole","Peter Schwanemann (Nasenbaer)","Philipp Niemann (Azagtoth)","Provetin","Ralf-J. Block","raymond","ronny","Shevonar","SirVer","Sonnrain","Thomas","Tim O.","Timowi","Tino Miegel (TinoM)","Tobias Margiani","Venatrix","wl-zocker","Wolfgang Kurz","Wolfs","Wuzzy",},},{subheading = "Ελληνικά (Greek)",members = {"ptr","Γιάννης Ανθυμίδης",},},{subheading = "Canadian English",members = {"Ne-1",},},{subheading = "British English",members = {"_aD","Alex Denvir","Andi Chandler","Anthony Harrington","Biffaboy","Heber","Jackson Doak","James Thorrold","Jon Senior","LiSrt","Luis Miguel D.P.","mrx5682","Terry Jones","Tinker","UndiFineD","Vladimir Oka",},},{subheading = "US American English",members = {"DragonAtma",},},{subheading = "Esperanto",members = {"alms21","Fenris Wolf","Ivan Camilo Quintero Santacruz","Jens Beyer","Kristjan SCHMIDT","LaPingvino","Manuel Berkemeier","Michael Moroni",},},{subheading = "Español (Spanish)",members = {"Adolfo Jayme","Agustín Vela","Alberto D.V.","Alejandro Pérez","Antonio Trueba (Fasser)","David Mitos","David Pérez","DiegoJ","Dishito","Eduardo Alberto Calvo","Gerardb","ironfisher","Ivan","Ivan Camilo Quintero Santacruz","Javi Sol","Jonay","Joseph Molina","JoseRoberto","Juan Eduardo Riva","Kiibakun","Luis Miguel D.P.","MadkaT","Martín V.","Miguel adre","Miguel de Dios","Monkey","Pablo Frigerio","Paco Molinero","Paulomorales","pescamillam","Rafael Augusto Maguiña Yrivarren","Rafael Medina","Raul Ferriz","Roberto López","schimmm","simon","Siz","WalterCool","zer berros",},},{subheading = "Eesti keel (Estonian)",members = {"gert7","rm87",},},{subheading = "Euskara (Basque)",members = {"Mikel Alzibar",},},{subheading = "فارسی (Persian)",members = {"katy Zahedi",},},{subheading = "Suomi (Finnish)",members = {"Jari Hautio","Juhani Numminen","Markus Hällfors","Pekka Järvinen (Raspi)","Sampo Harjula","Sini Ruohomaa (Byakushin)","Teppo Mäenpää","Tommi Nirha","Vazde",},},{subheading = "Français (French)",members = {"AGuechoum","AnubiS","Audiger Jeremy","Aurelien Pavel","Benjamin Subtil","Bertram","bouchard renaud","Bruno Veilleux","clark17","crep4ever","David .","El Pensador","Eliovir","Emmanuel Andry (Eandry)","fk","François Rousselet","Gilles Aubert","Guillaume Brant","Guybrush88","Immunoman","Jean-Pierre Gemble","Hanna Podewski (kristin)","londumas","Michael Colignon","Michael DOUBEZ","Mohamed SEDKI","NonoSan","Pierre Rudloff","Sébastien Duthil","Sevy Ride","Tarou","Thomas Jungers","tomtom","Tubuntu","Ubuntu1988","verdy_p","wl-zocker","YS1","Yves MATHIEU",},},{subheading = "Gàidhlig (Scottish Gaelic)",members = {"GunChleoc",},},{subheading = "Galego (Galician)",members = {"Adrián Chaves Fernández","Antonio Trueba (Fasser)","Xosé",},},{subheading = "עברית (Hebrew)",members = {"Danny Albocher","Liel Fridman","Michael DOUBEZ","Solomon Gruber (Piql7)","Yaron",},},{subheading = "हिन्दी (Hindi)",members = {"girdhari rao",},},{subheading = "Hrvatski (Croatian)",members = {"Mario Dautović",},},{subheading = "Magyar (Hungarian)",members = {"cn4ij","Dániel Varga (EuroF)","Ferenc Nagy","Gyönki Bendegúz","HUNStree","István Kiss","jzombi","Kiscsirke","Major Gabesz","Muszela Balázs","Papp Bence","Richard Somlói","Robert Roth","SanskritFritz","Szűcs Kornél Géza",},},{subheading = "Interlingua",members = {"alms21",},},{subheading = "Bahasa Indonesia (Indonesian)",members = {"dadanhrn",},},{subheading = "Italiano (Italian)",members = {"Angelo Locritani","Colin Gibson","DarkSaivor","Davidus","Dom De Felice","Doukas7","Eulogy","Gabriel Rota","Guybrush88","ido","Loris Turchetti","Oibaf","Pierpaolo Pierozzi","pierusch","Pietro Battiston","Roberto Sciascia","Sergio Spinatelli","sgargel","simone.sandri",},},{subheading = "日本語 (Japanese)",members = {"alms21","Dios","guess880","Midori","SevyRide","tubame",},},{subheading = "Basa jawa (Javanese)",members = {"zaenal arifin",},},{subheading = "ქართული (Georgian)",members = {"Gabriel Margiani","Meyer Konrad",},},{subheading = "한국어 (Korean)",members = {"ddfddf2k",},},{subheading = "Lingua latīna (Latin)",members = {"alms21","lopho","Sonnrain","Stephan Lenk","Thorsten",},},{subheading = "Lietuvių (Lithuanian)",members = {"Mantas Kriaučiūnas",},},{subheading = "मराठी (Marathi)",members = {"Amod Ajit Karmarkar",},},{subheading = "بهاس ملايو (Malay)",members = {"abuyop",},},{subheading = "မြန်မာစ (Burmese)",members = {"pyaehtetaung",},},{subheading = "Norsk (Bokmål) (Norwegian Bokmål)",members = {"Fredrik Sudmann","Hans Joachim Desserud","Magnus Meyer Hustveit","Martin Dahl Moe","mr.x","Thorbjørn Bruarøy",},},{subheading = "Plattdütsch (Low German)",members = {"Mister Pi ","Nasenbaer ","Ole ","tando",},},{subheading = "Nederlands (Dutch)",members = {"BenW","Christian Groenendijk","Dirk Schut","fireprog","fk","Foppe Benedictus","Johan Jonkman (Dikjuh)","Maasieboy","Marcel","megabyte","Patrick van der Leer","Pieter Ouwerkerk (Pietertje)","Pietertje","PliniusNeo","REAL NAME","RickvanderZwet","Rob Snelders (Ertai)","Teun Spaans","Victor Pelt","Wim Champagne",},},{subheading = "Nynorsk (Norwegian Nynorsk)",members = {"Alexander Mackinnon Jansen","Hans Joachim Desserud","Odin Hørthe Omdal","Thorbjørn Bruarøy",},},{subheading = "Occitan",members = {"Cédric VALMARY (Tot en òc)",},},{subheading = "Polski (Polish)",members = {"Andrzej Krentosz (Endrju)","Asahi Koishi","BartekChom","Bartosz Wiśniewski","Gabriel Fortin","Hubert Pluta","Jakub Rak (einstein13)","Januzi (januzi)","Jacek Wolszczak (Shutdownrunner)","Jens Beyer","Karol Sobolewski","Łukasz Chełmicki","Mateusz Micał","Michal Maslanko","Michał Rzepiński","orzeh","Patryk Sawicki","Pawel PErz","Stanisław Gackowski (Soeb)","Szymon Fornal","Szymon Gackowski","Szymon Nieznański","tim","Tomasz Sterna","Wesmania","Wojtek","XeonBloomfield",},},{subheading = "Português (Portuguese)",members = {"Almufadado","daniel reis","David Rodrigues","Flávio J. Saraiva","GunChleoc","Marcelo do Pagode","Miguel de Freitas Fonseca","Tiago Silva","trewe",},},{subheading = "Português do Brasil (Brazilian Portuguese)",members = {"Alexandre","alms21","Almufadado","Cleverton","daniel reis","Fabio Garz","Flaviano Angeli","HicHic","Hriostat","Israel","JoãoPedro BrasãoToledo","Juarez S.","Júlio Cezar Santos Pires","Juno","Luiz N","Maraschin","Marcelo do Pagode","Nicolas Abril","Pedro Pisandelli","Proezas","Rafael Neri","Rayback","Rubens Bueno","Samer Ghosnlas.2932","Tomas Abril","Vitor",},},{subheading = "Română (Romanian)",members = {"Ursachi Alexandru",},},{subheading = "Русский (Russian)",members = {"Александр","Александр Бикмеев (Rombal)","Александр Глухов","Алексей Кабанов","Андрей Кулаков ","Андрей Олыкайнен ","Антон Хабаров (lu)","Виктор Биркманис","Владимир Коваленко","Глеб Синковский","Глория Хрусталёва","Денис Дерябин","Егор Панфилов","Константин Щукин","Никита Шехов","Руслан Ковтун","Сергей Фуканчик ","Юрий Соколов (Urra)","CupIvan","Georgiy","gerich","Izon","KroArtem","Lex","Massol","Papazu","SashaQR","TroubleMakerDV","Vampire Hunter D","Vlad",},},{subheading = "Kinyarwanda",members = {"Nasenbaer",},},{subheading = "සිංහල (Sinhala)",members = {"Samith Sandanayake",},},{subheading = "Slovenčina (Slovak)",members = {"Kefir111","Marek Hám","Miroslav Remák","Vladimir","Vladímir Tóth (Ike)",},},{subheading = "Slovenski jezik (Slovenian)",members = {"Andrej Znidarsic","Boštjan Miklavčič","Jure Repinc","kleb","Klemen Košir","Matevž Jekovec","Matic Gradišer","mrt",},},{subheading = "српски (Serbian)",members = {"Никола Павловић",},},{subheading = "Svenska (Swedish)",members = {"Arve Eriksson","Christian Widell","Daniel Nylander (yeager)","Frederik Pettersson (luno)","ivh","Joakim Lundborg","karlrune","Marcus E","Michael Rydén","Patrick H.","Phoenix","Rasmus Olstedt","RasmusBackman","Sigra","Treecko","Tumaini","Ulite",},},{subheading = "Türkçe (Turkish)",members = {"Asiye","Ekrem Kocadere","Ercin Senturk","Recep Hasanbaş","ScriptMonster","Volkan Gezer",},},{subheading = "українська мова (Ukranian)",members = {"Fedik","Shemet Yevhene","Сергій Дубик",},},{subheading = "Tiếng Việt (Vietnamese)",members = {"Nguyen Quang Chien",},},{subheading = "简体中文 (Simplified Chinese)",members = {"luojie-dune","XIA",},},{subheading = "繁體中文 (Traditional Chinese)",members = {"AJ","poormusic","sonny",},},},},{heading = _"Packagers",image = "images/wui/stats/genstats_productivity.png",entries = {{subheading = _"Debian Linux",members = {"Martin Quinson",},},{subheading = _"Fedora Linux",members = {"Karol Trzcionka","Jochen Wiedmann",},},{subheading = _"Mandriva Linux",members = {"Emmanuel Andry (eandry)",},},{subheading = _"FreeBSD",members = {"Bartosz Fabianowski",},},{subheading = _"Mac OS X",members = {"Philipp Engelhard","Pierre Salagnac (Tarou)","Wolf St. Kappesser","David Allwicher (aber)",},},{subheading = _"Windows",members = {"Tino Miegel (TinoM)","Alexander Kahl (Wolfpac)","Geodomus","Jari Hautio",},},{subheading = _"ZetaOS",members = {"BeSman",},},},},{heading = _"Homepage",image = "images/logos/WL-Editor-16.png",entries = {{subheading = _"Homepage Coders",members = {"Holger Rapp (SirVer)","Stanislaw Gackowski (Soeb)","Markus Pfitzner (janus)","Tobi",},},{subheading = _"Documentation, Help and Wiki",members = {"Erik Sigra (sigra)","Florian Falkner (foldrian)","Florian Weber (bedouin)","Nicolai Haehnle","Holger Rapp (SirVer)","Johannes (nuefke)","Alexander Kahl (wolfpac)","Stanislaw Gackowski (Soeb)","Hanna Podewski (kristin)",},},},},{heading = _"Former Elders",image = "images/players/genstats_enable_plr_04.png",entries = {{subheading = _"Graphics",members = {"Salamander","Alexia Death (death)",},},{subheading = _"Homepage",members = {"holymoly","Stuart Eglington (DaaL1973)","Jon Harris (jonsjava)",},},{subheading = _"Sound",members = {"Yannick Warnier",},},{subheading = _"Translation",members = {"Peter Schwanemann (Nasenbaer)","Philipp Niemann (Azagtoth)",},},},},{heading = _"Other",image = "images/wui/stats/genstats_landsize.png",entries = {{members = {"Matt Howe (mdhowe)","Samuel Tilly (eldamar)","and many, many more (thank you for everything you've done)",},},},},} end
55
=== modified file 'src/logic/map_objects/tribes/tribe_basic_info.cc'
--- src/logic/map_objects/tribes/tribe_basic_info.cc 2015-11-28 22:29:26 +0000
+++ src/logic/map_objects/tribes/tribe_basic_info.cc 2016-03-09 17:17:50 +0000
@@ -40,7 +40,9 @@
40 {40 {
41 std::unique_ptr<LuaTable> script_table = lua.run_script(script_path);41 std::unique_ptr<LuaTable> script_table = lua.run_script(script_path);
42 script_table->do_not_warn_about_unaccessed_keys();42 script_table->do_not_warn_about_unaccessed_keys();
43 initializations.push_back(Initialization(script_path, script_table->get_string("descname")));43 initializations.push_back(Initialization(script_path,
44 script_table->get_string("descname"),
45 script_table->get_string("tooltip")));
44 }46 }
45 } catch (const WException & e) {47 } catch (const WException & e) {
46 throw Widelands::GameDataError48 throw Widelands::GameDataError
4749
=== modified file 'src/logic/map_objects/tribes/tribe_basic_info.h'
--- src/logic/map_objects/tribes/tribe_basic_info.h 2015-11-28 22:29:26 +0000
+++ src/logic/map_objects/tribes/tribe_basic_info.h 2016-03-09 17:17:50 +0000
@@ -34,11 +34,13 @@
3434
35 /// Script path and localized name for a starting condition35 /// Script path and localized name for a starting condition
36 struct Initialization {36 struct Initialization {
37 Initialization(std::string init_script, std::string init_descname) :37 Initialization(std::string init_script, std::string init_descname, std::string init_tooltip) :
38 script(init_script),38 script(init_script),
39 descname(init_descname) {}39 descname(init_descname),
40 tooltip(init_tooltip) {}
40 std::string script;41 std::string script;
41 std::string descname;42 std::string descname;
43 std::string tooltip;
42 };44 };
4345
44 TribeBasicInfo(std::unique_ptr<LuaTable> table);46 TribeBasicInfo(std::unique_ptr<LuaTable> table);
4547
=== modified file 'src/network/netclient.cc'
--- src/network/netclient.cc 2016-02-16 06:54:47 +0000
+++ src/network/netclient.cc 2016-03-09 17:17:50 +0000
@@ -784,7 +784,9 @@
784 std::unique_ptr<LuaTable> t = lua.run_script(initialization_script);784 std::unique_ptr<LuaTable> t = lua.run_script(initialization_script);
785 t->do_not_warn_about_unaccessed_keys();785 t->do_not_warn_about_unaccessed_keys();
786 info.initializations.push_back786 info.initializations.push_back
787 (TribeBasicInfo::Initialization(initialization_script, t->get_string("descname")));787 (TribeBasicInfo::Initialization(initialization_script,
788 t->get_string("descname"),
789 t->get_string("tooltip")));
788 }790 }
789 d->settings.tribes.push_back(info);791 d->settings.tribes.push_back(info);
790 }792 }
791793
=== modified file 'src/wui/multiplayersetupgroup.cc'
--- src/wui/multiplayersetupgroup.cc 2016-02-07 16:31:06 +0000
+++ src/wui/multiplayersetupgroup.cc 2016-03-09 17:17:50 +0000
@@ -377,6 +377,8 @@
377 for (const TribeBasicInfo& tribeinfo : settings.tribes) {377 for (const TribeBasicInfo& tribeinfo : settings.tribes) {
378 if (tribeinfo.name == player_setting.tribe) {378 if (tribeinfo.name == player_setting.tribe) {
379 init->set_title(_(tribeinfo.initializations.at(player_setting.initialization_index).descname));379 init->set_title(_(tribeinfo.initializations.at(player_setting.initialization_index).descname));
380 init->set_tooltip(
381 _(tribeinfo.initializations.at(player_setting.initialization_index).tooltip));
380 break;382 break;
381 }383 }
382 }384 }
383385
=== modified file 'src/wui/playerdescrgroup.cc'
--- src/wui/playerdescrgroup.cc 2016-01-28 05:24:34 +0000
+++ src/wui/playerdescrgroup.cc 2016-03-09 17:17:50 +0000
@@ -202,6 +202,11 @@
202 (tribeinfo.initializations.at202 (tribeinfo.initializations.at
203 (player.initialization_index)203 (player.initialization_index)
204 .descname));204 .descname));
205 d->btnPlayerInit->set_tooltip
206 (_
207 (tribeinfo.initializations.at
208 (player.initialization_index)
209 .tooltip));
205 break;210 break;
206 }211 }
207 }212 }

Subscribers

People subscribed via source and target branches

to status/vote changes: