Merge lp:~widelands-dev/widelands/workarea-fixes into lp:widelands

Proposed by Benedikt Straub
Status: Merged
Merged at revision: 9158
Proposed branch: lp:~widelands-dev/widelands/workarea-fixes
Merge into: lp:widelands
Diff against target: 1423 lines (+477/-8)
79 files modified
data/tribes/buildings/productionsites/atlanteans/armorsmithy/init.lua (+12/-0)
data/tribes/buildings/productionsites/atlanteans/blackroot_farm/init.lua (+6/-0)
data/tribes/buildings/productionsites/atlanteans/coalmine/init.lua (+4/-0)
data/tribes/buildings/productionsites/atlanteans/crystalmine/init.lua (+4/-0)
data/tribes/buildings/productionsites/atlanteans/farm/init.lua (+6/-0)
data/tribes/buildings/productionsites/atlanteans/fishbreeders_house/init.lua (+5/-0)
data/tribes/buildings/productionsites/atlanteans/fishers_house/init.lua (+5/-0)
data/tribes/buildings/productionsites/atlanteans/foresters_house/init.lua (+7/-0)
data/tribes/buildings/productionsites/atlanteans/goldmine/init.lua (+4/-0)
data/tribes/buildings/productionsites/atlanteans/hunters_house/init.lua (+4/-0)
data/tribes/buildings/productionsites/atlanteans/ironmine/init.lua (+4/-0)
data/tribes/buildings/productionsites/atlanteans/quarry/init.lua (+4/-0)
data/tribes/buildings/productionsites/atlanteans/shipyard/init.lua (+4/-0)
data/tribes/buildings/productionsites/atlanteans/well/init.lua (+4/-0)
data/tribes/buildings/productionsites/atlanteans/woodcutters_house/init.lua (+5/-0)
data/tribes/buildings/productionsites/barbarians/coalmine/init.lua (+6/-0)
data/tribes/buildings/productionsites/barbarians/coalmine_deep/init.lua (+6/-0)
data/tribes/buildings/productionsites/barbarians/coalmine_deeper/init.lua (+6/-0)
data/tribes/buildings/productionsites/barbarians/farm/init.lua (+6/-0)
data/tribes/buildings/productionsites/barbarians/fishers_hut/init.lua (+4/-0)
data/tribes/buildings/productionsites/barbarians/gamekeepers_hut/init.lua (+5/-0)
data/tribes/buildings/productionsites/barbarians/goldmine/init.lua (+6/-0)
data/tribes/buildings/productionsites/barbarians/goldmine_deep/init.lua (+6/-0)
data/tribes/buildings/productionsites/barbarians/goldmine_deeper/init.lua (+6/-0)
data/tribes/buildings/productionsites/barbarians/granitemine/init.lua (+4/-0)
data/tribes/buildings/productionsites/barbarians/hunters_hut/init.lua (+5/-0)
data/tribes/buildings/productionsites/barbarians/ironmine/init.lua (+6/-0)
data/tribes/buildings/productionsites/barbarians/ironmine_deep/init.lua (+6/-0)
data/tribes/buildings/productionsites/barbarians/ironmine_deeper/init.lua (+6/-0)
data/tribes/buildings/productionsites/barbarians/lumberjacks_hut/init.lua (+5/-0)
data/tribes/buildings/productionsites/barbarians/quarry/init.lua (+4/-0)
data/tribes/buildings/productionsites/barbarians/rangers_hut/init.lua (+7/-0)
data/tribes/buildings/productionsites/barbarians/reed_yard/init.lua (+6/-0)
data/tribes/buildings/productionsites/barbarians/shipyard/init.lua (+4/-0)
data/tribes/buildings/productionsites/barbarians/well/init.lua (+4/-0)
data/tribes/buildings/productionsites/empire/coalmine/init.lua (+5/-0)
data/tribes/buildings/productionsites/empire/coalmine_deep/init.lua (+5/-0)
data/tribes/buildings/productionsites/empire/farm/init.lua (+6/-0)
data/tribes/buildings/productionsites/empire/fishers_house/init.lua (+4/-0)
data/tribes/buildings/productionsites/empire/foresters_house/init.lua (+7/-0)
data/tribes/buildings/productionsites/empire/goldmine/init.lua (+5/-0)
data/tribes/buildings/productionsites/empire/goldmine_deep/init.lua (+5/-0)
data/tribes/buildings/productionsites/empire/hunters_house/init.lua (+4/-0)
data/tribes/buildings/productionsites/empire/ironmine/init.lua (+5/-0)
data/tribes/buildings/productionsites/empire/ironmine_deep/init.lua (+5/-0)
data/tribes/buildings/productionsites/empire/lumberjacks_house/init.lua (+5/-0)
data/tribes/buildings/productionsites/empire/marblemine/init.lua (+5/-0)
data/tribes/buildings/productionsites/empire/marblemine_deep/init.lua (+5/-0)
data/tribes/buildings/productionsites/empire/quarry/init.lua (+4/-0)
data/tribes/buildings/productionsites/empire/shipyard/init.lua (+4/-0)
data/tribes/buildings/productionsites/empire/vineyard/init.lua (+6/-0)
data/tribes/buildings/productionsites/empire/well/init.lua (+4/-0)
data/tribes/buildings/productionsites/frisians/aqua_farm/init.lua (+5/-0)
data/tribes/buildings/productionsites/frisians/beekeepers_house/init.lua (+7/-0)
data/tribes/buildings/productionsites/frisians/berry_farm/init.lua (+10/-0)
data/tribes/buildings/productionsites/frisians/clay_pit/init.lua (+9/-0)
data/tribes/buildings/productionsites/frisians/coalmine/init.lua (+5/-0)
data/tribes/buildings/productionsites/frisians/coalmine_deep/init.lua (+5/-0)
data/tribes/buildings/productionsites/frisians/collectors_house/init.lua (+5/-0)
data/tribes/buildings/productionsites/frisians/farm/init.lua (+9/-0)
data/tribes/buildings/productionsites/frisians/fishers_house/init.lua (+4/-0)
data/tribes/buildings/productionsites/frisians/foresters_house/init.lua (+9/-0)
data/tribes/buildings/productionsites/frisians/goldmine/init.lua (+5/-0)
data/tribes/buildings/productionsites/frisians/goldmine_deep/init.lua (+5/-0)
data/tribes/buildings/productionsites/frisians/hunters_house/init.lua (+4/-0)
data/tribes/buildings/productionsites/frisians/ironmine/init.lua (+5/-0)
data/tribes/buildings/productionsites/frisians/ironmine_deep/init.lua (+5/-0)
data/tribes/buildings/productionsites/frisians/quarry/init.lua (+4/-0)
data/tribes/buildings/productionsites/frisians/reed_farm/init.lua (+9/-0)
data/tribes/buildings/productionsites/frisians/rockmine/init.lua (+5/-0)
data/tribes/buildings/productionsites/frisians/rockmine_deep/init.lua (+5/-0)
data/tribes/buildings/productionsites/frisians/shipyard/init.lua (+4/-0)
data/tribes/buildings/productionsites/frisians/well/init.lua (+4/-0)
data/tribes/buildings/productionsites/frisians/woodcutters_house/init.lua (+5/-0)
data/txts/developers.json (+2/-2)
src/logic/map_objects/tribes/productionsite.cc (+20/-0)
src/logic/map_objects/tribes/productionsite.h (+15/-0)
src/logic/map_objects/tribes/tribes.cc (+16/-0)
src/wui/fieldaction.cc (+26/-6)
To merge this branch: bzr merge lp:~widelands-dev/widelands/workarea-fixes
Reviewer Review Type Date Requested Status
GunChleoc Approve
Review via email: mp+368342@code.launchpad.net

Commit message

- Highlight the buildings the overlapping workareas belong to
- Fix behaviour of the W hotkey
- Show productionsite overlaps only for certain building types
  of interest

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

I'm still in favor of deducing these in the engine so that we won't need to maintain these Lua definitions, which will be prone to bugs.

Criteria could be:

1. If both buildings mine the same resource
2. If both buildings plant an immovable
3. If both buildings collect an immovable
4. If one building plants an immovable and the other collects it and it is the same attrib
5. If both buildings plant or collect the same bob attrib

If we want to go this route, we will need to base it off https://code.launchpad.net/~widelands-dev/widelands/unify-program-parsers/+merge/367936 in order not to get merge conflicts.

Revision history for this message
bunnybot (widelandsofficial) wrote :

Continuous integration builds have changed state:

Travis build 5150. State: failed. Details: https://travis-ci.org/widelands/widelands/builds/541329085.
Appveyor build 4932. State: success. Details: https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_workarea_fixes-4932.

Revision history for this message
GunChleoc (gunchleoc) wrote :

As pointed out by hessenfarmer in https://bugs.launchpad.net/widelands/+bug/1830345/comments/17, The beekeeper would be interested in farms and berries too. So, let's keep the Lua design and add those to the building. A rule-based approach would get very complicated with that.

Revision history for this message
kaputtnik (franku) wrote :

While i am not convinced by this feature at all, i agree with Gun. The lua files are already full of tables and options, which make it hard to understand for beginners (modders).

On the other side: Is it worth the work for a feature

- which is hard to explain
- which was wanted by a single player
- were other players know how to handle the 'problem' without this feature

Revision history for this message
GunChleoc (gunchleoc) wrote :

Hm on second thought - the beekeeper -> fields rule might be actually covered by rule 4, so that would be an argument in favor of the rule-based approach, because we already found a bug in this branch ;)

Revision history for this message
Benedikt Straub (nordfriese) wrote :

> Hm on second thought - the beekeeper -> fields rule might be actually covered by rule 4

The farm plants only barley_field_tiny, but the flowering attrib belongs to barley_field_medium. We would have to check not only whether they plant&collect the same attrib, but also whether one plants something that turns into something that turns into something … that has the attrib the other collects.

Since it´s only a few entries per building, that would be much more effort than doing it in Lua…

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

Definitions look good from my side so far.
one additional question / demand?

Would it be possible to distinguish between wanted overlaps (e.g. forester and lumberjack shown in greenish colour) and unwanted overlaps (e.g. farm and forester shown in red shadows)

Revision history for this message
Benedikt Straub (nordfriese) wrote :

Good idea, will implement that :)

> On the other side: Is it worth the work for a feature
> - which is hard to explain

I can just add an explanation in a tutorial. Would the economy tut or bar01 be the better place for it?

> - which was wanted by a single player

I would not have implemented it so soon if I didn´t want it as well… ;)

> - were other players know how to handle the 'problem' without this feature

…by clicking a dozen times and still overlooking something. I like this feature better than that ;)

Revision history for this message
hessenfarmer (stephan-lutz) wrote :

It was definitely wanted by more then one player.

I like it too. Especially if it shows good or bad coverage.

I think the basic tutorial should bhe the place to explain this as early as possible, cause it will be already there.

Revision history for this message
GunChleoc (gunchleoc) wrote :

OK, Lua entries it is.

And I am in favor of this feature too - it will come in handy, especially for less-experienced players.

I think we could have an explanation in the basic control tutorial, after the quarries have been placed and before messages get introduced. Don't do this in trunk or in this branch though, because I have a merge request open that introduces big changes to the tutorial code, and the merge conflicts would be eek.

Revision history for this message
kaputtnik (franku) wrote :

ok, ok :-)

Sorry for the noise. Will be quiet now.

Revision history for this message
bunnybot (widelandsofficial) wrote :

Continuous integration builds have changed state:

Travis build 5157. State: errored. Details: https://travis-ci.org/widelands/widelands/builds/541797771.
Appveyor build 4939. State: failed. Details: https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_workarea_fixes-4939.

Revision history for this message
GunChleoc (gunchleoc) wrote :

Don't worry, kaputtnik, we can't always agree on everything and your opinion is just as valid as everybody else's

Revision history for this message
GunChleoc (gunchleoc) wrote :

2 comments for code readability

Revision history for this message
GunChleoc (gunchleoc) wrote :

Sorry for the comment spam.... tested and working nicely. I am also happy with the colors and borders :)

Revision history for this message
bunnybot (widelandsofficial) wrote :

Continuous integration builds have changed state:

Travis build 5211. State: errored. Details: https://travis-ci.org/widelands/widelands/builds/548652135.
Appveyor build 4990. State: success. Details: https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_workarea_fixes-4990.

Revision history for this message
GunChleoc (gunchleoc) wrote :

Retested and still working :)

@bunnybot merge

review: Approve
Revision history for this message
bunnybot (widelandsofficial) wrote :

Refusing to merge, since Travis is not green. Use @bunnybot merge force for merging anyways.

Travis build 5211. State: errored. Details: https://travis-ci.org/widelands/widelands/builds/548652135.

Revision history for this message
Benedikt Straub (nordfriese) wrote :

inputqueues

@bunnybot merge force

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'data/tribes/buildings/productionsites/atlanteans/armorsmithy/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/armorsmithy/init.lua 2018-09-12 03:04:08 +0000
+++ data/tribes/buildings/productionsites/atlanteans/armorsmithy/init.lua 2019-06-21 11:33:28 +0000
@@ -55,6 +55,18 @@
55-- done, including any animations and sounds played.55-- done, including any animations and sounds played.
56-- See :doc:`productionsite_program`.56-- See :doc:`productionsite_program`.
57--57--
58-- **indicate_workarea_overlaps**
59-- *Optional*. The names of other productionsites whose workareas should be highlighted
60-- if theirs overlap with this building’s workarea while the player is placing a
61-- building of this type. The overlaps can be shown either as desired (`true`), if the
62-- proximity of these buildings is favourable, or as negative (`false`), if they influence
63-- each other negatively. Example for a fishbreeder’s house::
64--
65-- indicate_workarea_overlaps = {
66-- atlanteans_fishers_house = true,
67-- atlanteans_fishbreeders_house = false
68-- },
69--
58-- **out_of_resource_notification**.70-- **out_of_resource_notification**.
59-- *Optional*. This table defines the message sent by the productionsite71-- *Optional*. This table defines the message sent by the productionsite
60-- to the player if it has run out of a resource to collect. There are 472-- to the player if it has run out of a resource to collect. There are 4
6173
=== modified file 'data/tribes/buildings/productionsites/atlanteans/blackroot_farm/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/blackroot_farm/init.lua 2019-05-31 12:56:36 +0000
+++ data/tribes/buildings/productionsites/atlanteans/blackroot_farm/init.lua 2019-06-21 11:33:28 +0000
@@ -42,6 +42,12 @@
42 "blackroot"42 "blackroot"
43 },43 },
4444
45 indicate_workarea_overlaps = {
46 atlanteans_blackroot_farm = false,
47 atlanteans_farm = false,
48 atlanteans_foresters_house = false,
49 },
50
45 programs = {51 programs = {
46 work = {52 work = {
47 -- TRANSLATORS: Completed/Skipped/Did not start working because ...53 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
4854
=== modified file 'data/tribes/buildings/productionsites/atlanteans/coalmine/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/coalmine/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/atlanteans/coalmine/init.lua 2019-06-21 11:33:28 +0000
@@ -43,6 +43,10 @@
43 atlanteans_miner = 343 atlanteans_miner = 3
44 },44 },
4545
46 indicate_workarea_overlaps = {
47 atlanteans_coalmine = false,
48 },
49
46 inputs = {50 inputs = {
47 { name = "smoked_fish", amount = 10 },51 { name = "smoked_fish", amount = 10 },
48 { name = "smoked_meat", amount = 6 },52 { name = "smoked_meat", amount = 6 },
4953
=== modified file 'data/tribes/buildings/productionsites/atlanteans/crystalmine/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/crystalmine/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/atlanteans/crystalmine/init.lua 2019-06-21 11:33:28 +0000
@@ -55,6 +55,10 @@
55 "granite"55 "granite"
56 },56 },
5757
58 indicate_workarea_overlaps = {
59 atlanteans_crystalmine = false,
60 },
61
58 programs = {62 programs = {
59 work = {63 work = {
60 -- TRANSLATORS: Completed/Skipped/Did not start working because ...64 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
6165
=== modified file 'data/tribes/buildings/productionsites/atlanteans/farm/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/farm/init.lua 2019-05-31 12:56:36 +0000
+++ data/tribes/buildings/productionsites/atlanteans/farm/init.lua 2019-06-21 11:33:28 +0000
@@ -46,6 +46,12 @@
46 "corn"46 "corn"
47 },47 },
4848
49 indicate_workarea_overlaps = {
50 atlanteans_blackroot_farm = false,
51 atlanteans_farm = false,
52 atlanteans_foresters_house = false,
53 },
54
49 programs = {55 programs = {
50 work = {56 work = {
51 -- TRANSLATORS: Completed/Skipped/Did not start working because ...57 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
5258
=== modified file 'data/tribes/buildings/productionsites/atlanteans/fishbreeders_house/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/fishbreeders_house/init.lua 2019-06-06 10:00:05 +0000
+++ data/tribes/buildings/productionsites/atlanteans/fishbreeders_house/init.lua 2019-06-21 11:33:28 +0000
@@ -47,6 +47,11 @@
47 },47 },
48 },48 },
4949
50 indicate_workarea_overlaps = {
51 atlanteans_fishers_house = true,
52 atlanteans_fishbreeders_house = false,
53 },
54
50 out_of_resource_notification = {55 out_of_resource_notification = {
51 -- Translators: Short for "Out of ..." for a resource56 -- Translators: Short for "Out of ..." for a resource
52 title = _"No Fish",57 title = _"No Fish",
5358
=== modified file 'data/tribes/buildings/productionsites/atlanteans/fishers_house/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/fishers_house/init.lua 2019-06-01 11:23:15 +0000
+++ data/tribes/buildings/productionsites/atlanteans/fishers_house/init.lua 2019-06-21 11:33:28 +0000
@@ -41,6 +41,11 @@
41 "fish"41 "fish"
42 },42 },
4343
44 indicate_workarea_overlaps = {
45 atlanteans_fishers_house = false,
46 atlanteans_fishbreeders_house = true,
47 },
48
44 programs = {49 programs = {
45 work = {50 work = {
46 -- TRANSLATORS: Completed/Skipped/Did not start fishing because ...51 -- TRANSLATORS: Completed/Skipped/Did not start fishing because ...
4752
=== modified file 'data/tribes/buildings/productionsites/atlanteans/foresters_house/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/foresters_house/init.lua 2019-06-02 14:04:16 +0000
+++ data/tribes/buildings/productionsites/atlanteans/foresters_house/init.lua 2019-06-21 11:33:28 +0000
@@ -37,6 +37,13 @@
37 atlanteans_forester = 137 atlanteans_forester = 1
38 },38 },
3939
40 indicate_workarea_overlaps = {
41 atlanteans_blackroot_farm = false,
42 atlanteans_farm = false,
43 atlanteans_foresters_house = false,
44 atlanteans_woodcutters_house = true,
45 },
46
40 programs = {47 programs = {
41 work = {48 work = {
42 -- TRANSLATORS: Completed/Skipped/Did not start planting trees because ...49 -- TRANSLATORS: Completed/Skipped/Did not start planting trees because ...
4350
=== modified file 'data/tribes/buildings/productionsites/atlanteans/goldmine/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/goldmine/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/atlanteans/goldmine/init.lua 2019-06-21 11:33:28 +0000
@@ -52,6 +52,10 @@
52 "gold_ore"52 "gold_ore"
53 },53 },
5454
55 indicate_workarea_overlaps = {
56 atlanteans_goldmine = false,
57 },
58
55 programs = {59 programs = {
56 work = {60 work = {
57 -- TRANSLATORS: Completed/Skipped/Did not start mining gold because ...61 -- TRANSLATORS: Completed/Skipped/Did not start mining gold because ...
5862
=== modified file 'data/tribes/buildings/productionsites/atlanteans/hunters_house/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/hunters_house/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/atlanteans/hunters_house/init.lua 2019-06-21 11:33:28 +0000
@@ -38,6 +38,10 @@
38 "meat"38 "meat"
39 },39 },
4040
41 indicate_workarea_overlaps = {
42 atlanteans_hunters_house = false,
43 },
44
41 programs = {45 programs = {
42 work = {46 work = {
43 -- TRANSLATORS: Completed/Skipped/Did not start hunting because ...47 -- TRANSLATORS: Completed/Skipped/Did not start hunting because ...
4448
=== modified file 'data/tribes/buildings/productionsites/atlanteans/ironmine/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/ironmine/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/atlanteans/ironmine/init.lua 2019-06-21 11:33:28 +0000
@@ -19,6 +19,10 @@
19 planks = 219 planks = 2
20 },20 },
2121
22 indicate_workarea_overlaps = {
23 atlanteans_ironmine = false,
24 },
25
22 animations = {26 animations = {
23 idle = {27 idle = {
24 pictures = path.list_files(dirname .. "idle_??.png"),28 pictures = path.list_files(dirname .. "idle_??.png"),
2529
=== modified file 'data/tribes/buildings/productionsites/atlanteans/quarry/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/quarry/init.lua 2019-06-02 14:45:28 +0000
+++ data/tribes/buildings/productionsites/atlanteans/quarry/init.lua 2019-06-21 11:33:28 +0000
@@ -36,6 +36,10 @@
36 "granite"36 "granite"
37 },37 },
3838
39 indicate_workarea_overlaps = {
40 atlanteans_quarry = false,
41 },
42
39 programs = {43 programs = {
40 work = {44 work = {
41 -- TRANSLATORS: Completed/Skipped/Did not start working because ...45 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
4246
=== modified file 'data/tribes/buildings/productionsites/atlanteans/shipyard/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/shipyard/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/atlanteans/shipyard/init.lua 2019-06-21 11:33:28 +0000
@@ -58,6 +58,10 @@
58 { name = "spidercloth", amount = 4 }58 { name = "spidercloth", amount = 4 }
59 },59 },
6060
61 indicate_workarea_overlaps = {
62 atlanteans_shipyard = false,
63 },
64
61 programs = {65 programs = {
62 work = {66 work = {
63 -- TRANSLATORS: Completed/Skipped/Did not start working because ...67 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
6468
=== modified file 'data/tribes/buildings/productionsites/atlanteans/well/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/well/init.lua 2018-11-20 20:25:08 +0000
+++ data/tribes/buildings/productionsites/atlanteans/well/init.lua 2019-06-21 11:33:28 +0000
@@ -43,6 +43,10 @@
43 "water"43 "water"
44 },44 },
4545
46 indicate_workarea_overlaps = {
47 atlanteans_well = false,
48 },
49
46 programs = {50 programs = {
47 work = {51 work = {
48 -- TRANSLATORS: Completed/Skipped/Did not start working because ...52 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
4953
=== modified file 'data/tribes/buildings/productionsites/atlanteans/woodcutters_house/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/woodcutters_house/init.lua 2019-06-02 13:16:53 +0000
+++ data/tribes/buildings/productionsites/atlanteans/woodcutters_house/init.lua 2019-06-21 11:33:28 +0000
@@ -37,6 +37,11 @@
37 "log"37 "log"
38 },38 },
3939
40 indicate_workarea_overlaps = {
41 atlanteans_foresters_house = true,
42 atlanteans_woodcutters_house = false,
43 },
44
40 programs = {45 programs = {
41 work = {46 work = {
42 -- TRANSLATORS: Completed/Skipped/Did not start felling trees because ...47 -- TRANSLATORS: Completed/Skipped/Did not start felling trees because ...
4348
=== modified file 'data/tribes/buildings/productionsites/barbarians/coalmine/init.lua'
--- data/tribes/buildings/productionsites/barbarians/coalmine/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/barbarians/coalmine/init.lua 2019-06-21 11:33:28 +0000
@@ -55,6 +55,12 @@
55 "coal"55 "coal"
56 },56 },
5757
58 indicate_workarea_overlaps = {
59 barbarians_coalmine = false,
60 barbarians_coalmine_deep = false,
61 barbarians_coalmine_deeper = false,
62 },
63
58 programs = {64 programs = {
59 work = {65 work = {
60 -- TRANSLATORS: Completed/Skipped/Did not start mining coal because ...66 -- TRANSLATORS: Completed/Skipped/Did not start mining coal because ...
6167
=== modified file 'data/tribes/buildings/productionsites/barbarians/coalmine_deep/init.lua'
--- data/tribes/buildings/productionsites/barbarians/coalmine_deep/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/barbarians/coalmine_deep/init.lua 2019-06-21 11:33:28 +0000
@@ -48,6 +48,12 @@
48 barbarians_miner_chief = 1,48 barbarians_miner_chief = 1,
49 },49 },
5050
51 indicate_workarea_overlaps = {
52 barbarians_coalmine = false,
53 barbarians_coalmine_deep = false,
54 barbarians_coalmine_deeper = false,
55 },
56
51 inputs = {57 inputs = {
52 { name = "snack", amount = 6 }58 { name = "snack", amount = 6 }
53 },59 },
5460
=== modified file 'data/tribes/buildings/productionsites/barbarians/coalmine_deeper/init.lua'
--- data/tribes/buildings/productionsites/barbarians/coalmine_deeper/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/barbarians/coalmine_deeper/init.lua 2019-06-21 11:33:28 +0000
@@ -47,6 +47,12 @@
47 barbarians_miner_master = 1,47 barbarians_miner_master = 1,
48 },48 },
4949
50 indicate_workarea_overlaps = {
51 barbarians_coalmine = false,
52 barbarians_coalmine_deep = false,
53 barbarians_coalmine_deeper = false,
54 },
55
50 inputs = {56 inputs = {
51 { name = "meal", amount = 6 }57 { name = "meal", amount = 6 }
52 },58 },
5359
=== modified file 'data/tribes/buildings/productionsites/barbarians/farm/init.lua'
--- data/tribes/buildings/productionsites/barbarians/farm/init.lua 2019-05-31 13:33:41 +0000
+++ data/tribes/buildings/productionsites/barbarians/farm/init.lua 2019-06-21 11:33:28 +0000
@@ -54,6 +54,12 @@
54 "wheat"54 "wheat"
55 },55 },
5656
57 indicate_workarea_overlaps = {
58 barbarians_rangers_hut = false,
59 barbarians_farm = false,
60 barbarians_reed_yard = false,
61 },
62
57 programs = {63 programs = {
58 work = {64 work = {
59 -- TRANSLATORS: Completed/Skipped/Did not start working because ...65 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
6066
=== modified file 'data/tribes/buildings/productionsites/barbarians/fishers_hut/init.lua'
--- data/tribes/buildings/productionsites/barbarians/fishers_hut/init.lua 2019-06-01 11:23:15 +0000
+++ data/tribes/buildings/productionsites/barbarians/fishers_hut/init.lua 2019-06-21 11:33:28 +0000
@@ -47,6 +47,10 @@
47 "fish"47 "fish"
48 },48 },
4949
50 indicate_workarea_overlaps = {
51 barbarians_fishers_hut = false,
52 },
53
50 programs = {54 programs = {
51 work = {55 work = {
52 -- TRANSLATORS: Completed/Skipped/Did not start fishing because ...56 -- TRANSLATORS: Completed/Skipped/Did not start fishing because ...
5357
=== modified file 'data/tribes/buildings/productionsites/barbarians/gamekeepers_hut/init.lua'
--- data/tribes/buildings/productionsites/barbarians/gamekeepers_hut/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/barbarians/gamekeepers_hut/init.lua 2019-06-21 11:33:28 +0000
@@ -43,6 +43,11 @@
43 barbarians_gamekeeper = 143 barbarians_gamekeeper = 1
44 },44 },
4545
46 indicate_workarea_overlaps = {
47 barbarians_hunters_hut = true,
48 barbarians_gamekeepers_hut = false,
49 },
50
46 programs = {51 programs = {
47 work = {52 work = {
48 -- TRANSLATORS: Completed/Skipped/Did not start working because ...53 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
4954
=== modified file 'data/tribes/buildings/productionsites/barbarians/goldmine/init.lua'
--- data/tribes/buildings/productionsites/barbarians/goldmine/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/barbarians/goldmine/init.lua 2019-06-21 11:33:28 +0000
@@ -48,6 +48,12 @@
48 barbarians_miner = 148 barbarians_miner = 1
49 },49 },
5050
51 indicate_workarea_overlaps = {
52 barbarians_goldmine = false,
53 barbarians_goldmine_deep = false,
54 barbarians_goldmine_deeper = false,
55 },
56
51 inputs = {57 inputs = {
52 { name = "ration", amount = 6 }58 { name = "ration", amount = 6 }
53 },59 },
5460
=== modified file 'data/tribes/buildings/productionsites/barbarians/goldmine_deep/init.lua'
--- data/tribes/buildings/productionsites/barbarians/goldmine_deep/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/barbarians/goldmine_deep/init.lua 2019-06-21 11:33:28 +0000
@@ -55,6 +55,12 @@
55 "gold_ore"55 "gold_ore"
56 },56 },
5757
58 indicate_workarea_overlaps = {
59 barbarians_goldmine = false,
60 barbarians_goldmine_deep = false,
61 barbarians_goldmine_deeper = false,
62 },
63
58 programs = {64 programs = {
59 work = {65 work = {
60 -- TRANSLATORS: Completed/Skipped/Did not start mining gold because ...66 -- TRANSLATORS: Completed/Skipped/Did not start mining gold because ...
6167
=== modified file 'data/tribes/buildings/productionsites/barbarians/goldmine_deeper/init.lua'
--- data/tribes/buildings/productionsites/barbarians/goldmine_deeper/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/barbarians/goldmine_deeper/init.lua 2019-06-21 11:33:28 +0000
@@ -54,6 +54,12 @@
54 "gold_ore"54 "gold_ore"
55 },55 },
5656
57 indicate_workarea_overlaps = {
58 barbarians_goldmine = false,
59 barbarians_goldmine_deep = false,
60 barbarians_goldmine_deeper = false,
61 },
62
57 programs = {63 programs = {
58 work = {64 work = {
59 -- TRANSLATORS: Completed/Skipped/Did not start mining gold because ...65 -- TRANSLATORS: Completed/Skipped/Did not start mining gold because ...
6066
=== modified file 'data/tribes/buildings/productionsites/barbarians/granitemine/init.lua'
--- data/tribes/buildings/productionsites/barbarians/granitemine/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/barbarians/granitemine/init.lua 2019-06-21 11:33:28 +0000
@@ -46,6 +46,10 @@
46 barbarians_miner = 146 barbarians_miner = 1
47 },47 },
4848
49 indicate_workarea_overlaps = {
50 barbarians_granitemine = false,
51 },
52
49 inputs = {53 inputs = {
50 { name = "ration", amount = 8 }54 { name = "ration", amount = 8 }
51 },55 },
5256
=== modified file 'data/tribes/buildings/productionsites/barbarians/hunters_hut/init.lua'
--- data/tribes/buildings/productionsites/barbarians/hunters_hut/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/barbarians/hunters_hut/init.lua 2019-06-21 11:33:28 +0000
@@ -45,6 +45,11 @@
45 barbarians_hunter = 145 barbarians_hunter = 1
46 },46 },
4747
48 indicate_workarea_overlaps = {
49 barbarians_hunters_hut = false,
50 barbarians_gamekeepers_hut = true,
51 },
52
48 outputs = {53 outputs = {
49 "meat"54 "meat"
50 },55 },
5156
=== modified file 'data/tribes/buildings/productionsites/barbarians/ironmine/init.lua'
--- data/tribes/buildings/productionsites/barbarians/ironmine/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/barbarians/ironmine/init.lua 2019-06-21 11:33:28 +0000
@@ -55,6 +55,12 @@
55 "iron_ore"55 "iron_ore"
56 },56 },
5757
58 indicate_workarea_overlaps = {
59 barbarians_ironmine = false,
60 barbarians_ironmine_deep = false,
61 barbarians_ironmine_deeper = false,
62 },
63
58 programs = {64 programs = {
59 work = {65 work = {
60 -- TRANSLATORS: Completed/Skipped/Did not start mining iron because ...66 -- TRANSLATORS: Completed/Skipped/Did not start mining iron because ...
6167
=== modified file 'data/tribes/buildings/productionsites/barbarians/ironmine_deep/init.lua'
--- data/tribes/buildings/productionsites/barbarians/ironmine_deep/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/barbarians/ironmine_deep/init.lua 2019-06-21 11:33:28 +0000
@@ -55,6 +55,12 @@
55 "iron_ore"55 "iron_ore"
56 },56 },
5757
58 indicate_workarea_overlaps = {
59 barbarians_ironmine = false,
60 barbarians_ironmine_deep = false,
61 barbarians_ironmine_deeper = false,
62 },
63
58 programs = {64 programs = {
59 work = {65 work = {
60 -- TRANSLATORS: Completed/Skipped/Did not start mining iron because ...66 -- TRANSLATORS: Completed/Skipped/Did not start mining iron because ...
6167
=== modified file 'data/tribes/buildings/productionsites/barbarians/ironmine_deeper/init.lua'
--- data/tribes/buildings/productionsites/barbarians/ironmine_deeper/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/barbarians/ironmine_deeper/init.lua 2019-06-21 11:33:28 +0000
@@ -41,6 +41,12 @@
41 mines = "iron",41 mines = "iron",
42 },42 },
4343
44 indicate_workarea_overlaps = {
45 barbarians_ironmine = false,
46 barbarians_ironmine_deep = false,
47 barbarians_ironmine_deeper = false,
48 },
49
44 working_positions = {50 working_positions = {
45 barbarians_miner = 1,51 barbarians_miner = 1,
46 barbarians_miner_chief = 1,52 barbarians_miner_chief = 1,
4753
=== modified file 'data/tribes/buildings/productionsites/barbarians/lumberjacks_hut/init.lua'
--- data/tribes/buildings/productionsites/barbarians/lumberjacks_hut/init.lua 2019-06-02 13:16:53 +0000
+++ data/tribes/buildings/productionsites/barbarians/lumberjacks_hut/init.lua 2019-06-21 11:33:28 +0000
@@ -44,6 +44,11 @@
44 "log"44 "log"
45 },45 },
4646
47 indicate_workarea_overlaps = {
48 barbarians_rangers_hut = true,
49 barbarians_lumberjacks_hut = false,
50 },
51
47 programs = {52 programs = {
48 work = {53 work = {
49 -- TRANSLATORS: Completed/Skipped/Did not start felling trees because ...54 -- TRANSLATORS: Completed/Skipped/Did not start felling trees because ...
5055
=== modified file 'data/tribes/buildings/productionsites/barbarians/quarry/init.lua'
--- data/tribes/buildings/productionsites/barbarians/quarry/init.lua 2019-06-02 14:45:28 +0000
+++ data/tribes/buildings/productionsites/barbarians/quarry/init.lua 2019-06-21 11:33:28 +0000
@@ -43,6 +43,10 @@
43 "granite"43 "granite"
44 },44 },
4545
46 indicate_workarea_overlaps = {
47 barbarians_quarry = false,
48 },
49
46 programs = {50 programs = {
47 work = {51 work = {
48 -- TRANSLATORS: Completed/Skipped/Did not start working because ...52 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
4953
=== modified file 'data/tribes/buildings/productionsites/barbarians/rangers_hut/init.lua'
--- data/tribes/buildings/productionsites/barbarians/rangers_hut/init.lua 2019-06-02 14:04:16 +0000
+++ data/tribes/buildings/productionsites/barbarians/rangers_hut/init.lua 2019-06-21 11:33:28 +0000
@@ -43,6 +43,13 @@
43 barbarians_ranger = 143 barbarians_ranger = 1
44 },44 },
4545
46 indicate_workarea_overlaps = {
47 barbarians_rangers_hut = false,
48 barbarians_lumberjacks_hut = true,
49 barbarians_farm = false,
50 barbarians_reed_yard = false,
51 },
52
46 programs = {53 programs = {
47 work = {54 work = {
48 -- TRANSLATORS: Completed/Skipped/Did not start planting trees because ...55 -- TRANSLATORS: Completed/Skipped/Did not start planting trees because ...
4956
=== modified file 'data/tribes/buildings/productionsites/barbarians/reed_yard/init.lua'
--- data/tribes/buildings/productionsites/barbarians/reed_yard/init.lua 2019-05-31 12:56:36 +0000
+++ data/tribes/buildings/productionsites/barbarians/reed_yard/init.lua 2019-06-21 11:33:28 +0000
@@ -38,6 +38,12 @@
38 "reed"38 "reed"
39 },39 },
4040
41 indicate_workarea_overlaps = {
42 barbarians_rangers_hut = false,
43 barbarians_reed_yard = false,
44 barbarians_farm = false,
45 },
46
41 programs = {47 programs = {
42 work = {48 work = {
43 -- TRANSLATORS: Completed/Skipped/Did not start working because ...49 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
4450
=== modified file 'data/tribes/buildings/productionsites/barbarians/shipyard/init.lua'
--- data/tribes/buildings/productionsites/barbarians/shipyard/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/barbarians/shipyard/init.lua 2019-06-21 11:33:28 +0000
@@ -46,6 +46,10 @@
46 { name = "cloth", amount = 4 }46 { name = "cloth", amount = 4 }
47 },47 },
4848
49 indicate_workarea_overlaps = {
50 barbarians_shipyard = false,
51 },
52
49 programs = {53 programs = {
50 work = {54 work = {
51 -- TRANSLATORS: Completed/Skipped/Did not start working because ...55 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
5256
=== modified file 'data/tribes/buildings/productionsites/barbarians/well/init.lua'
--- data/tribes/buildings/productionsites/barbarians/well/init.lua 2018-05-24 10:19:21 +0000
+++ data/tribes/buildings/productionsites/barbarians/well/init.lua 2019-06-21 11:33:28 +0000
@@ -44,6 +44,10 @@
44 "water"44 "water"
45 },45 },
4646
47 indicate_workarea_overlaps = {
48 barbarians_well = false,
49 },
50
47 programs = {51 programs = {
48 work = {52 work = {
49 -- TRANSLATORS: Completed/Skipped/Did not start working because ...53 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
5054
=== modified file 'data/tribes/buildings/productionsites/empire/coalmine/init.lua'
--- data/tribes/buildings/productionsites/empire/coalmine/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/empire/coalmine/init.lua 2019-06-21 11:33:28 +0000
@@ -45,6 +45,11 @@
45 empire_miner = 145 empire_miner = 1
46 },46 },
4747
48 indicate_workarea_overlaps = {
49 empire_coalmine = false,
50 empire_coalmine_deep = false,
51 },
52
48 inputs = {53 inputs = {
49 { name = "ration", amount = 6 },54 { name = "ration", amount = 6 },
50 { name = "beer", amount = 6 }55 { name = "beer", amount = 6 }
5156
=== modified file 'data/tribes/buildings/productionsites/empire/coalmine_deep/init.lua'
--- data/tribes/buildings/productionsites/empire/coalmine_deep/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/empire/coalmine_deep/init.lua 2019-06-21 11:33:28 +0000
@@ -38,6 +38,11 @@
38 mines = "coal"38 mines = "coal"
39 },39 },
4040
41 indicate_workarea_overlaps = {
42 empire_coalmine = false,
43 empire_coalmine_deep = false,
44 },
45
41 working_positions = {46 working_positions = {
42 empire_miner = 1,47 empire_miner = 1,
43 empire_miner_master = 148 empire_miner_master = 1
4449
=== modified file 'data/tribes/buildings/productionsites/empire/farm/init.lua'
--- data/tribes/buildings/productionsites/empire/farm/init.lua 2019-05-31 12:56:36 +0000
+++ data/tribes/buildings/productionsites/empire/farm/init.lua 2019-06-21 11:33:28 +0000
@@ -29,6 +29,12 @@
29 },29 },
30 },30 },
3131
32 indicate_workarea_overlaps = {
33 empire_farm = false,
34 empire_vineyard = false,
35 empire_foresters_house = false,
36 },
37
32 aihints = {38 aihints = {
33 basic_amount = 1,39 basic_amount = 1,
34 space_consumer = true,40 space_consumer = true,
3541
=== modified file 'data/tribes/buildings/productionsites/empire/fishers_house/init.lua'
--- data/tribes/buildings/productionsites/empire/fishers_house/init.lua 2019-06-01 11:23:15 +0000
+++ data/tribes/buildings/productionsites/empire/fishers_house/init.lua 2019-06-21 11:33:28 +0000
@@ -39,6 +39,10 @@
39 "fish"39 "fish"
40 },40 },
4141
42 indicate_workarea_overlaps = {
43 empire_fishers_house = false,
44 },
45
42 programs = {46 programs = {
43 work = {47 work = {
44 -- TRANSLATORS: Completed/Skipped/Did not start fishing because ...48 -- TRANSLATORS: Completed/Skipped/Did not start fishing because ...
4549
=== modified file 'data/tribes/buildings/productionsites/empire/foresters_house/init.lua'
--- data/tribes/buildings/productionsites/empire/foresters_house/init.lua 2019-06-02 14:04:16 +0000
+++ data/tribes/buildings/productionsites/empire/foresters_house/init.lua 2019-06-21 11:33:28 +0000
@@ -37,6 +37,13 @@
37 empire_forester = 137 empire_forester = 1
38 },38 },
3939
40 indicate_workarea_overlaps = {
41 empire_farm = false,
42 empire_vineyard = false,
43 empire_lumberjacks_house = true,
44 empire_foresters_house = false,
45 },
46
40 programs = {47 programs = {
41 work = {48 work = {
42 -- TRANSLATORS: Completed/Skipped/Did not start planting trees because ...49 -- TRANSLATORS: Completed/Skipped/Did not start planting trees because ...
4350
=== modified file 'data/tribes/buildings/productionsites/empire/goldmine/init.lua'
--- data/tribes/buildings/productionsites/empire/goldmine/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/empire/goldmine/init.lua 2019-06-21 11:33:28 +0000
@@ -45,6 +45,11 @@
45 empire_miner = 145 empire_miner = 1
46 },46 },
4747
48 indicate_workarea_overlaps = {
49 empire_goldmine = false,
50 empire_goldmine_deep = false,
51 },
52
48 inputs = {53 inputs = {
49 { name = "ration", amount = 6 },54 { name = "ration", amount = 6 },
50 { name = "wine", amount = 6 }55 { name = "wine", amount = 6 }
5156
=== modified file 'data/tribes/buildings/productionsites/empire/goldmine_deep/init.lua'
--- data/tribes/buildings/productionsites/empire/goldmine_deep/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/empire/goldmine_deep/init.lua 2019-06-21 11:33:28 +0000
@@ -38,6 +38,11 @@
38 mines = "gold"38 mines = "gold"
39 },39 },
4040
41 indicate_workarea_overlaps = {
42 empire_goldmine = false,
43 empire_goldmine_deep = false,
44 },
45
41 working_positions = {46 working_positions = {
42 empire_miner = 1,47 empire_miner = 1,
43 empire_miner_master = 148 empire_miner_master = 1
4449
=== modified file 'data/tribes/buildings/productionsites/empire/hunters_house/init.lua'
--- data/tribes/buildings/productionsites/empire/hunters_house/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/empire/hunters_house/init.lua 2019-06-21 11:33:28 +0000
@@ -38,6 +38,10 @@
38 "meat"38 "meat"
39 },39 },
4040
41 indicate_workarea_overlaps = {
42 empire_hunters_house = false,
43 },
44
41 programs = {45 programs = {
42 work = {46 work = {
43 -- TRANSLATORS: Completed/Skipped/Did not start hunting because ...47 -- TRANSLATORS: Completed/Skipped/Did not start hunting because ...
4448
=== modified file 'data/tribes/buildings/productionsites/empire/ironmine/init.lua'
--- data/tribes/buildings/productionsites/empire/ironmine/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/empire/ironmine/init.lua 2019-06-21 11:33:28 +0000
@@ -45,6 +45,11 @@
45 empire_miner = 145 empire_miner = 1
46 },46 },
4747
48 indicate_workarea_overlaps = {
49 empire_ironmine = false,
50 empire_ironmine_deep = false,
51 },
52
48 inputs = {53 inputs = {
49 { name = "ration", amount = 6 },54 { name = "ration", amount = 6 },
50 { name = "beer", amount = 6 }55 { name = "beer", amount = 6 }
5156
=== modified file 'data/tribes/buildings/productionsites/empire/ironmine_deep/init.lua'
--- data/tribes/buildings/productionsites/empire/ironmine_deep/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/empire/ironmine_deep/init.lua 2019-06-21 11:33:28 +0000
@@ -38,6 +38,11 @@
38 mines = "iron"38 mines = "iron"
39 },39 },
4040
41 indicate_workarea_overlaps = {
42 empire_ironmine = false,
43 empire_ironmine_deep = false,
44 },
45
41 working_positions = {46 working_positions = {
42 empire_miner = 1,47 empire_miner = 1,
43 empire_miner_master = 148 empire_miner_master = 1
4449
=== modified file 'data/tribes/buildings/productionsites/empire/lumberjacks_house/init.lua'
--- data/tribes/buildings/productionsites/empire/lumberjacks_house/init.lua 2019-06-02 13:16:53 +0000
+++ data/tribes/buildings/productionsites/empire/lumberjacks_house/init.lua 2019-06-21 11:33:28 +0000
@@ -37,6 +37,11 @@
37 "log"37 "log"
38 },38 },
3939
40 indicate_workarea_overlaps = {
41 empire_lumberjacks_house = false,
42 empire_foresters_house = true,
43 },
44
40 programs = {45 programs = {
41 work = {46 work = {
42 -- TRANSLATORS: Completed/Skipped/Did not start felling trees because ...47 -- TRANSLATORS: Completed/Skipped/Did not start felling trees because ...
4348
=== modified file 'data/tribes/buildings/productionsites/empire/marblemine/init.lua'
--- data/tribes/buildings/productionsites/empire/marblemine/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/empire/marblemine/init.lua 2019-06-21 11:33:28 +0000
@@ -42,6 +42,11 @@
42 basic_amount = 142 basic_amount = 1
43 },43 },
4444
45 indicate_workarea_overlaps = {
46 empire_marblemine = false,
47 empire_marblemine_deep = false,
48 },
49
45 working_positions = {50 working_positions = {
46 empire_miner = 151 empire_miner = 1
47 },52 },
4853
=== modified file 'data/tribes/buildings/productionsites/empire/marblemine_deep/init.lua'
--- data/tribes/buildings/productionsites/empire/marblemine_deep/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/empire/marblemine_deep/init.lua 2019-06-21 11:33:28 +0000
@@ -43,6 +43,11 @@
43 empire_miner_master = 143 empire_miner_master = 1
44 },44 },
4545
46 indicate_workarea_overlaps = {
47 empire_marblemine = false,
48 empire_marblemine_deep = false,
49 },
50
46 inputs = {51 inputs = {
47 { name = "meal", amount = 6 },52 { name = "meal", amount = 6 },
48 { name = "wine", amount = 6 }53 { name = "wine", amount = 6 }
4954
=== modified file 'data/tribes/buildings/productionsites/empire/quarry/init.lua'
--- data/tribes/buildings/productionsites/empire/quarry/init.lua 2019-06-02 14:45:28 +0000
+++ data/tribes/buildings/productionsites/empire/quarry/init.lua 2019-06-21 11:33:28 +0000
@@ -32,6 +32,10 @@
32 empire_stonemason = 132 empire_stonemason = 1
33 },33 },
3434
35 indicate_workarea_overlaps = {
36 empire_quarry = false,
37 },
38
35 outputs = {39 outputs = {
36 "granite",40 "granite",
37 "marble"41 "marble"
3842
=== modified file 'data/tribes/buildings/productionsites/empire/shipyard/init.lua'
--- data/tribes/buildings/productionsites/empire/shipyard/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/empire/shipyard/init.lua 2019-06-21 11:33:28 +0000
@@ -47,6 +47,10 @@
47 prohibited_till = 105047 prohibited_till = 1050
48 },48 },
4949
50 indicate_workarea_overlaps = {
51 empire_shipyard = false,
52 },
53
50 working_positions = {54 working_positions = {
51 empire_shipwright = 155 empire_shipwright = 1
52 },56 },
5357
=== modified file 'data/tribes/buildings/productionsites/empire/vineyard/init.lua'
--- data/tribes/buildings/productionsites/empire/vineyard/init.lua 2019-05-31 12:56:36 +0000
+++ data/tribes/buildings/productionsites/empire/vineyard/init.lua 2019-06-21 11:33:28 +0000
@@ -44,6 +44,12 @@
44 "grape"44 "grape"
45 },45 },
4646
47 indicate_workarea_overlaps = {
48 empire_vineyard = false,
49 empire_farm = false,
50 empire_foresters_house = false,
51 },
52
47 programs = {53 programs = {
48 work = {54 work = {
49 -- TRANSLATORS: Completed/Skipped/Did not start working because ...55 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
5056
=== modified file 'data/tribes/buildings/productionsites/empire/well/init.lua'
--- data/tribes/buildings/productionsites/empire/well/init.lua 2018-05-24 10:19:21 +0000
+++ data/tribes/buildings/productionsites/empire/well/init.lua 2019-06-21 11:33:28 +0000
@@ -42,6 +42,10 @@
42 "water"42 "water"
43 },43 },
4444
45 indicate_workarea_overlaps = {
46 empire_well = false,
47 },
48
45 programs = {49 programs = {
46 work = {50 work = {
47 -- TRANSLATORS: Completed/Skipped/Did not start working because ...51 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
4852
=== modified file 'data/tribes/buildings/productionsites/frisians/aqua_farm/init.lua'
--- data/tribes/buildings/productionsites/frisians/aqua_farm/init.lua 2019-05-29 19:15:11 +0000
+++ data/tribes/buildings/productionsites/frisians/aqua_farm/init.lua 2019-06-21 11:33:28 +0000
@@ -49,6 +49,11 @@
49 "fish"49 "fish"
50 },50 },
5151
52 indicate_workarea_overlaps = {
53 frisians_aqua_farm = false,
54 frisians_clay_pit = true,
55 },
56
52 programs = {57 programs = {
53 work = {58 work = {
54 -- TRANSLATORS: Completed/Skipped/Did not start working because ...59 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
5560
=== modified file 'data/tribes/buildings/productionsites/frisians/beekeepers_house/init.lua'
--- data/tribes/buildings/productionsites/frisians/beekeepers_house/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/frisians/beekeepers_house/init.lua 2019-06-21 11:33:28 +0000
@@ -31,6 +31,13 @@
31 },31 },
32 },32 },
3333
34 indicate_workarea_overlaps = {
35 frisians_berry_farm = true,
36 frisians_reed_farm = true,
37 frisians_farm = true,
38 frisians_beekeepers_house = false,
39 },
40
34 aihints = {41 aihints = {
35 collects_ware_from_map = "honey",42 collects_ware_from_map = "honey",
36 prohibited_till = 620,43 prohibited_till = 620,
3744
=== modified file 'data/tribes/buildings/productionsites/frisians/berry_farm/init.lua'
--- data/tribes/buildings/productionsites/frisians/berry_farm/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/frisians/berry_farm/init.lua 2019-06-21 11:33:28 +0000
@@ -41,6 +41,16 @@
41 frisians_berry_farmer = 141 frisians_berry_farmer = 1
42 },42 },
4343
44 indicate_workarea_overlaps = {
45 frisians_clay_pit = false,
46 frisians_berry_farm = false,
47 frisians_reed_farm = false,
48 frisians_farm = false,
49 frisians_foresters_house = false,
50 frisians_beekeepers_house = true,
51 frisians_collectors_house = true,
52 },
53
44 programs = {54 programs = {
45 work = {55 work = {
46 -- TRANSLATORS: Completed/Skipped/Did not start planting bushes because ...56 -- TRANSLATORS: Completed/Skipped/Did not start planting bushes because ...
4757
=== modified file 'data/tribes/buildings/productionsites/frisians/clay_pit/init.lua'
--- data/tribes/buildings/productionsites/frisians/clay_pit/init.lua 2019-05-29 19:15:11 +0000
+++ data/tribes/buildings/productionsites/frisians/clay_pit/init.lua 2019-06-21 11:33:28 +0000
@@ -35,6 +35,15 @@
35 },35 },
36 },36 },
3737
38 indicate_workarea_overlaps = {
39 frisians_aqua_farm = true,
40 frisians_clay_pit = false,
41 frisians_berry_farm = false,
42 frisians_reed_farm = false,
43 frisians_farm = false,
44 frisians_foresters_house = false,
45 },
46
38 aihints = {47 aihints = {
39 very_weak_ai_limit = 1,48 very_weak_ai_limit = 1,
40 weak_ai_limit = 2,49 weak_ai_limit = 2,
4150
=== modified file 'data/tribes/buildings/productionsites/frisians/coalmine/init.lua'
--- data/tribes/buildings/productionsites/frisians/coalmine/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/frisians/coalmine/init.lua 2019-06-21 11:33:28 +0000
@@ -52,6 +52,11 @@
52 frisians_miner = 152 frisians_miner = 1
53 },53 },
5454
55 indicate_workarea_overlaps = {
56 frisians_coalmine = false,
57 frisians_coalmine_deep = false,
58 },
59
55 inputs = {60 inputs = {
56 { name = "ration", amount = 8 }61 { name = "ration", amount = 8 }
57 },62 },
5863
=== modified file 'data/tribes/buildings/productionsites/frisians/coalmine_deep/init.lua'
--- data/tribes/buildings/productionsites/frisians/coalmine_deep/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/frisians/coalmine_deep/init.lua 2019-06-21 11:33:28 +0000
@@ -51,6 +51,11 @@
51 frisians_miner_master = 1,51 frisians_miner_master = 1,
52 },52 },
5353
54 indicate_workarea_overlaps = {
55 frisians_coalmine = false,
56 frisians_coalmine_deep = false,
57 },
58
54 inputs = {59 inputs = {
55 { name = "meal", amount = 8 }60 { name = "meal", amount = 8 }
56 },61 },
5762
=== modified file 'data/tribes/buildings/productionsites/frisians/collectors_house/init.lua'
--- data/tribes/buildings/productionsites/frisians/collectors_house/init.lua 2019-05-19 11:25:28 +0000
+++ data/tribes/buildings/productionsites/frisians/collectors_house/init.lua 2019-06-21 11:33:28 +0000
@@ -31,6 +31,11 @@
31 },31 },
32 },32 },
3333
34 indicate_workarea_overlaps = {
35 frisians_berry_farm = true,
36 frisians_collectors_house = false,
37 },
38
34 aihints = {39 aihints = {
35 collects_ware_from_map = "fruit",40 collects_ware_from_map = "fruit",
36 prohibited_till = 470,41 prohibited_till = 470,
3742
=== modified file 'data/tribes/buildings/productionsites/frisians/farm/init.lua'
--- data/tribes/buildings/productionsites/frisians/farm/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/frisians/farm/init.lua 2019-06-21 11:33:28 +0000
@@ -57,6 +57,15 @@
57 "barley"57 "barley"
58 },58 },
5959
60 indicate_workarea_overlaps = {
61 frisians_clay_pit = false,
62 frisians_berry_farm = false,
63 frisians_reed_farm = false,
64 frisians_farm = false,
65 frisians_foresters_house = false,
66 frisians_beekeepers_house = true,
67 },
68
60 programs = {69 programs = {
61 work = {70 work = {
62 -- TRANSLATORS: Completed/Skipped/Did not start working because ...71 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
6372
=== modified file 'data/tribes/buildings/productionsites/frisians/fishers_house/init.lua'
--- data/tribes/buildings/productionsites/frisians/fishers_house/init.lua 2019-05-31 10:58:39 +0000
+++ data/tribes/buildings/productionsites/frisians/fishers_house/init.lua 2019-06-21 11:33:28 +0000
@@ -37,6 +37,10 @@
37 prohibited_till = 49037 prohibited_till = 490
38 },38 },
3939
40 indicate_workarea_overlaps = {
41 frisians_fishers_house = false,
42 },
43
40 working_positions = {44 working_positions = {
41 frisians_fisher = 145 frisians_fisher = 1
42 },46 },
4347
=== modified file 'data/tribes/buildings/productionsites/frisians/foresters_house/init.lua'
--- data/tribes/buildings/productionsites/frisians/foresters_house/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/frisians/foresters_house/init.lua 2019-06-21 11:33:28 +0000
@@ -40,6 +40,15 @@
40 frisians_forester = 140 frisians_forester = 1
41 },41 },
4242
43 indicate_workarea_overlaps = {
44 frisians_clay_pit = false,
45 frisians_berry_farm = false,
46 frisians_reed_farm = false,
47 frisians_farm = false,
48 frisians_foresters_house = false,
49 frisians_woodcutters_house = true,
50 },
51
43 programs = {52 programs = {
44 work = {53 work = {
45 -- TRANSLATORS: Completed/Skipped/Did not start planting trees because ...54 -- TRANSLATORS: Completed/Skipped/Did not start planting trees because ...
4655
=== modified file 'data/tribes/buildings/productionsites/frisians/goldmine/init.lua'
--- data/tribes/buildings/productionsites/frisians/goldmine/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/frisians/goldmine/init.lua 2019-06-21 11:33:28 +0000
@@ -43,6 +43,11 @@
43 },43 },
44 },44 },
4545
46 indicate_workarea_overlaps = {
47 frisians_goldmine = false,
48 frisians_goldmine_deep = false,
49 },
50
46 aihints = {51 aihints = {
47 mines = "gold",52 mines = "gold",
48 mines_percent = 50,53 mines_percent = 50,
4954
=== modified file 'data/tribes/buildings/productionsites/frisians/goldmine_deep/init.lua'
--- data/tribes/buildings/productionsites/frisians/goldmine_deep/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/frisians/goldmine_deep/init.lua 2019-06-21 11:33:28 +0000
@@ -46,6 +46,11 @@
46 mines = "gold",46 mines = "gold",
47 },47 },
4848
49 indicate_workarea_overlaps = {
50 frisians_goldmine = false,
51 frisians_goldmine_deep = false,
52 },
53
49 working_positions = {54 working_positions = {
50 frisians_miner = 1,55 frisians_miner = 1,
51 frisians_miner_master = 1,56 frisians_miner_master = 1,
5257
=== modified file 'data/tribes/buildings/productionsites/frisians/hunters_house/init.lua'
--- data/tribes/buildings/productionsites/frisians/hunters_house/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/frisians/hunters_house/init.lua 2019-06-21 11:33:28 +0000
@@ -36,6 +36,10 @@
36 prohibited_till = 48036 prohibited_till = 480
37 },37 },
3838
39 indicate_workarea_overlaps = {
40 frisians_hunters_house = false,
41 },
42
39 working_positions = {43 working_positions = {
40 frisians_hunter = 144 frisians_hunter = 1
41 },45 },
4246
=== modified file 'data/tribes/buildings/productionsites/frisians/ironmine/init.lua'
--- data/tribes/buildings/productionsites/frisians/ironmine/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/frisians/ironmine/init.lua 2019-06-21 11:33:28 +0000
@@ -43,6 +43,11 @@
43 },43 },
44 },44 },
4545
46 indicate_workarea_overlaps = {
47 frisians_ironmine = false,
48 frisians_ironmine_deep = false,
49 },
50
46 aihints = {51 aihints = {
47 mines = "iron",52 mines = "iron",
48 mines_percent = 50,53 mines_percent = 50,
4954
=== modified file 'data/tribes/buildings/productionsites/frisians/ironmine_deep/init.lua'
--- data/tribes/buildings/productionsites/frisians/ironmine_deep/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/frisians/ironmine_deep/init.lua 2019-06-21 11:33:28 +0000
@@ -42,6 +42,11 @@
42 },42 },
43 },43 },
4444
45 indicate_workarea_overlaps = {
46 frisians_ironmine = false,
47 frisians_ironmine_deep = false,
48 },
49
45 aihints = {50 aihints = {
46 mines = "iron",51 mines = "iron",
47 },52 },
4853
=== modified file 'data/tribes/buildings/productionsites/frisians/quarry/init.lua'
--- data/tribes/buildings/productionsites/frisians/quarry/init.lua 2019-06-02 14:45:28 +0000
+++ data/tribes/buildings/productionsites/frisians/quarry/init.lua 2019-06-21 11:33:28 +0000
@@ -39,6 +39,10 @@
39 frisians_stonemason = 139 frisians_stonemason = 1
40 },40 },
4141
42 indicate_workarea_overlaps = {
43 frisians_quarry = false,
44 },
45
42 outputs = {46 outputs = {
43 "granite"47 "granite"
44 },48 },
4549
=== modified file 'data/tribes/buildings/productionsites/frisians/reed_farm/init.lua'
--- data/tribes/buildings/productionsites/frisians/reed_farm/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/frisians/reed_farm/init.lua 2019-06-21 11:33:28 +0000
@@ -47,6 +47,15 @@
47 "reed"47 "reed"
48 },48 },
4949
50 indicate_workarea_overlaps = {
51 frisians_clay_pit = false,
52 frisians_berry_farm = false,
53 frisians_reed_farm = false,
54 frisians_farm = false,
55 frisians_foresters_house = false,
56 frisians_beekeepers_house = true,
57 },
58
50 programs = {59 programs = {
51 work = {60 work = {
52 -- TRANSLATORS: Completed/Skipped/Did not start working because ...61 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
5362
=== modified file 'data/tribes/buildings/productionsites/frisians/rockmine/init.lua'
--- data/tribes/buildings/productionsites/frisians/rockmine/init.lua 2019-05-19 11:25:28 +0000
+++ data/tribes/buildings/productionsites/frisians/rockmine/init.lua 2019-06-21 11:33:28 +0000
@@ -43,6 +43,11 @@
43 },43 },
44 },44 },
4545
46 indicate_workarea_overlaps = {
47 frisians_rockmine = false,
48 frisians_rockmine_deep = false,
49 },
50
46 aihints = {51 aihints = {
47 mines = "stones",52 mines = "stones",
48 mines_percent = 50,53 mines_percent = 50,
4954
=== modified file 'data/tribes/buildings/productionsites/frisians/rockmine_deep/init.lua'
--- data/tribes/buildings/productionsites/frisians/rockmine_deep/init.lua 2019-05-19 11:25:28 +0000
+++ data/tribes/buildings/productionsites/frisians/rockmine_deep/init.lua 2019-06-21 11:33:28 +0000
@@ -42,6 +42,11 @@
42 },42 },
43 },43 },
4444
45 indicate_workarea_overlaps = {
46 frisians_rockmine = false,
47 frisians_rockmine_deep = false,
48 },
49
45 aihints = {50 aihints = {
46 mines = "stones",51 mines = "stones",
47 },52 },
4853
=== modified file 'data/tribes/buildings/productionsites/frisians/shipyard/init.lua'
--- data/tribes/buildings/productionsites/frisians/shipyard/init.lua 2019-05-29 18:29:28 +0000
+++ data/tribes/buildings/productionsites/frisians/shipyard/init.lua 2019-06-21 11:33:28 +0000
@@ -41,6 +41,10 @@
41 prohibited_till = 105041 prohibited_till = 1050
42 },42 },
4343
44 indicate_workarea_overlaps = {
45 frisians_shipyard = false,
46 },
47
44 working_positions = {48 working_positions = {
45 frisians_shipwright = 149 frisians_shipwright = 1
46 },50 },
4751
=== modified file 'data/tribes/buildings/productionsites/frisians/well/init.lua'
--- data/tribes/buildings/productionsites/frisians/well/init.lua 2018-07-13 11:25:10 +0000
+++ data/tribes/buildings/productionsites/frisians/well/init.lua 2019-06-21 11:33:28 +0000
@@ -44,6 +44,10 @@
44 "water"44 "water"
45 },45 },
4646
47 indicate_workarea_overlaps = {
48 frisians_well = false,
49 },
50
47 programs = {51 programs = {
48 work = {52 work = {
49 -- TRANSLATORS: Completed/Skipped/Did not start working because ...53 -- TRANSLATORS: Completed/Skipped/Did not start working because ...
5054
=== modified file 'data/tribes/buildings/productionsites/frisians/woodcutters_house/init.lua'
--- data/tribes/buildings/productionsites/frisians/woodcutters_house/init.lua 2019-06-02 13:16:53 +0000
+++ data/tribes/buildings/productionsites/frisians/woodcutters_house/init.lua 2019-06-21 11:33:28 +0000
@@ -43,6 +43,11 @@
43 "log"43 "log"
44 },44 },
4545
46 indicate_workarea_overlaps = {
47 frisians_foresters_house = true,
48 frisians_woodcutters_house = false,
49 },
50
46 programs = {51 programs = {
47 work = {52 work = {
48 -- TRANSLATORS: Completed/Skipped/Did not start felling trees because ...53 -- TRANSLATORS: Completed/Skipped/Did not start felling trees because ...
4954
=== modified file 'data/txts/developers.json'
--- data/txts/developers.json 2019-04-22 05:24:58 +0000
+++ data/txts/developers.json 2019-06-21 11:33:28 +0000
@@ -159,7 +159,7 @@
159 },159 },
160 {160 {
161 "heading": "Musicians",161 "heading": "Musicians",
162 "image": "images/wui/overlays/workarea123.png",162 "image": "images/wui/buildings/toggle_workarea.png",
163 "entries":[163 "entries":[
164 {164 {
165 "members":[165 "members":[
@@ -178,7 +178,7 @@
178 },178 },
179 {179 {
180 "heading": "Sound Effects",180 "heading": "Sound Effects",
181 "image": "images/wui/overlays/workarea123.png",181 "image": "images/wui/buildings/toggle_workarea.png",
182 "entries":[182 "entries":[
183 {183 {
184 "members":[184 "members":[
185185
=== modified file 'src/logic/map_objects/tribes/productionsite.cc'
--- src/logic/map_objects/tribes/productionsite.cc 2019-05-29 07:14:00 +0000
+++ src/logic/map_objects/tribes/productionsite.cc 2019-06-21 11:33:28 +0000
@@ -208,6 +208,26 @@
208 }208 }
209 }209 }
210210
211 if (table.has_key("indicate_workarea_overlaps")) {
212 items_table = table.get_table("indicate_workarea_overlaps");
213 for (const std::string& s : items_table->keys<std::string>()) {
214 if (highlight_overlapping_workarea_for_.find(s) != highlight_overlapping_workarea_for_.end()) {
215 throw wexception("indicate_workarea_overlaps has duplicate entry");
216 }
217 highlight_overlapping_workarea_for_.emplace(s, items_table->get_bool(s));
218 }
219 }
220 if (workarea_info().empty() ^ highlight_overlapping_workarea_for_.empty()) {
221 if (highlight_overlapping_workarea_for_.empty()) {
222 log("WARNING: Productionsite %s has a workarea but does not inform about any conflicting buildings\n",
223 name().c_str());
224 } else {
225 throw GameDataError(
226 "Productionsite %s without a workarea must not inform about conflicting buildings",
227 name().c_str());
228 }
229 }
230
211 // Verify that any map resource collected is valid231 // Verify that any map resource collected is valid
212 if (!hints().collects_ware_from_map().empty()) {232 if (!hints().collects_ware_from_map().empty()) {
213 if (!(tribes.ware_exists(hints().collects_ware_from_map()))) {233 if (!(tribes.ware_exists(hints().collects_ware_from_map()))) {
214234
=== modified file 'src/logic/map_objects/tribes/productionsite.h'
--- src/logic/map_objects/tribes/productionsite.h 2019-05-28 21:04:36 +0000
+++ src/logic/map_objects/tribes/productionsite.h 2019-06-21 11:33:28 +0000
@@ -128,6 +128,20 @@
128 return out_of_resource_productivity_threshold_;128 return out_of_resource_productivity_threshold_;
129 }129 }
130130
131 bool highlight_overlapping_workarea_for(const std::string& n, bool* positive) const {
132 const auto it = highlight_overlapping_workarea_for_.find(n);
133 if (it == highlight_overlapping_workarea_for_.end()) {
134 return false;
135 } else {
136 *positive = it->second;
137 return true;
138 }
139 }
140
141 const std::map<std::string, bool>& get_highlight_overlapping_workarea_for() const {
142 return highlight_overlapping_workarea_for_;
143 }
144
131private:145private:
132 BillOfMaterials working_positions_;146 BillOfMaterials working_positions_;
133 BillOfMaterials input_wares_;147 BillOfMaterials input_wares_;
@@ -140,6 +154,7 @@
140 std::string out_of_resource_message_;154 std::string out_of_resource_message_;
141 std::string resource_not_needed_message_;155 std::string resource_not_needed_message_;
142 int out_of_resource_productivity_threshold_;156 int out_of_resource_productivity_threshold_;
157 std::map<std::string, bool> highlight_overlapping_workarea_for_;
143158
144 DISALLOW_COPY_AND_ASSIGN(ProductionSiteDescr);159 DISALLOW_COPY_AND_ASSIGN(ProductionSiteDescr);
145};160};
146161
=== modified file 'src/logic/map_objects/tribes/tribes.cc'
--- src/logic/map_objects/tribes/tribes.cc 2019-05-29 06:24:42 +0000
+++ src/logic/map_objects/tribes/tribes.cc 2019-06-21 11:33:28 +0000
@@ -335,6 +335,22 @@
335 for (const auto& job : de->working_positions()) {335 for (const auto& job : de->working_positions()) {
336 workers_->get_mutable(job.first)->add_employer(i);336 workers_->get_mutable(job.first)->add_employer(i);
337 }337 }
338
339 // Check that all workarea overlap hints are valid
340 for (const auto& pair : de->get_highlight_overlapping_workarea_for()) {
341 const DescriptionIndex di = safe_building_index(pair.first);
342 if (upcast(const ProductionSiteDescr, p, get_building_descr(di))) {
343 if (!p->workarea_info().empty()) {
344 continue;
345 }
346 throw GameDataError(
347 "Productionsite %s will inform about conflicting building %s which doesn’t have a workarea",
348 de->name().c_str(), pair.first.c_str());
349 }
350 throw GameDataError(
351 "Productionsite %s will inform about conflicting building %s which is not a productionsite",
352 de->name().c_str(), pair.first.c_str());
353 }
338 }354 }
339355
340 // Register which buildings buildings can have been enhanced from356 // Register which buildings buildings can have been enhanced from
341357
=== modified file 'src/wui/fieldaction.cc'
--- src/wui/fieldaction.cc 2019-05-31 19:31:45 +0000
+++ src/wui/fieldaction.cc 2019-06-21 11:33:28 +0000
@@ -208,6 +208,7 @@
208 bool showing_workarea_preview_;208 bool showing_workarea_preview_;
209 std::set<Widelands::Coords> overlapping_workareas_;209 std::set<Widelands::Coords> overlapping_workareas_;
210 bool is_showing_workarea_overlaps_;210 bool is_showing_workarea_overlaps_;
211 Widelands::DescriptionIndex building_under_mouse_;
211212
212 /// Variables to use with attack dialog.213 /// Variables to use with attack dialog.
213 AttackBox* attack_box_;214 AttackBox* attack_box_;
@@ -258,6 +259,7 @@
258 best_tab_(0),259 best_tab_(0),
259 showing_workarea_preview_(false),260 showing_workarea_preview_(false),
260 is_showing_workarea_overlaps_(ib->get_display_flag(InteractiveBase::dfShowWorkareaOverlap)),261 is_showing_workarea_overlaps_(ib->get_display_flag(InteractiveBase::dfShowWorkareaOverlap)),
262 building_under_mouse_(Widelands::INVALID_INDEX),
261 attack_box_(nullptr) {263 attack_box_(nullptr) {
262 ib->set_sel_freeze(true);264 ib->set_sel_freeze(true);
263 set_center_panel(&tabpanel_);265 set_center_panel(&tabpanel_);
@@ -280,12 +282,14 @@
280 if (!is_showing_workarea_overlaps_) {282 if (!is_showing_workarea_overlaps_) {
281 clear_overlapping_workareas();283 clear_overlapping_workareas();
282 }284 }
283#ifndef NDEBUG
284 else {285 else {
285 // Desired overlaps will be shown as soon as the user moves the mouse
286 assert(overlapping_workareas_.empty());286 assert(overlapping_workareas_.empty());
287 if (building_under_mouse_ != Widelands::INVALID_INDEX) {
288 const Widelands::DescriptionIndex di = building_under_mouse_;
289 building_icon_mouse_out(di); // this unsets building_under_mouse_
290 building_icon_mouse_in(di);
291 }
287 }292 }
288#endif
289 }293 }
290 if (player_ && player_->vision(node_.field - &ibase().egbase().map()[0]) <= 1 &&294 if (player_ && player_->vision(node_.field - &ibase().egbase().map()[0]) <= 1 &&
291 !player_->see_all()) {295 !player_->see_all()) {
@@ -730,13 +734,20 @@
730 if (showing_workarea_preview_) {734 if (showing_workarea_preview_) {
731 ibase().hide_workarea(node_, false);735 ibase().hide_workarea(node_, false);
732 showing_workarea_preview_ = false;736 showing_workarea_preview_ = false;
737 building_under_mouse_ = Widelands::INVALID_INDEX;
733 clear_overlapping_workareas();738 clear_overlapping_workareas();
734 }739 }
735}740}
736741
742constexpr uint32_t kOverlapColorDefault = 0xff3f3fbf;
743constexpr uint32_t kOverlapColorPositive = 0xff3fbf3f;
744constexpr uint32_t kOverlapColorNegative = 0xffbf3f3f;
745constexpr uint32_t kOverlapColorPale = 0x7fffffff;
746
737void FieldActionWindow::building_icon_mouse_in(const Widelands::DescriptionIndex idx) {747void FieldActionWindow::building_icon_mouse_in(const Widelands::DescriptionIndex idx) {
738 if (!showing_workarea_preview_) {748 if (!showing_workarea_preview_) {
739 assert(overlapping_workareas_.empty());749 assert(overlapping_workareas_.empty());
750 building_under_mouse_ = idx;
740 const Widelands::BuildingDescr& descr = *player_->tribe().get_building_descr(idx);751 const Widelands::BuildingDescr& descr = *player_->tribe().get_building_descr(idx);
741 const WorkareaInfo& workarea_info = descr.workarea_info();752 const WorkareaInfo& workarea_info = descr.workarea_info();
742 ibase().show_workarea(workarea_info, node_);753 ibase().show_workarea(workarea_info, node_);
@@ -768,11 +779,14 @@
768 continue;779 continue;
769 }780 }
770 const Widelands::BuildingDescr* d = nullptr;781 const Widelands::BuildingDescr* d = nullptr;
782 bool positive = false; // unused default value to make g++ happy
771 if (imm_type == Widelands::MapObjectType::CONSTRUCTIONSITE) {783 if (imm_type == Widelands::MapObjectType::CONSTRUCTIONSITE) {
772 upcast(Widelands::ConstructionSite, cs, imm);784 upcast(Widelands::ConstructionSite, cs, imm);
773 d = cs->get_info().becomes;785 d = cs->get_info().becomes;
774 if ((descr.type() == Widelands::MapObjectType::PRODUCTIONSITE &&786 if ((descr.type() == Widelands::MapObjectType::PRODUCTIONSITE &&
775 d->type() != Widelands::MapObjectType::PRODUCTIONSITE) ||787 (d->type() != Widelands::MapObjectType::PRODUCTIONSITE ||
788 !dynamic_cast<const Widelands::ProductionSiteDescr&>(descr).
789 highlight_overlapping_workarea_for(d->name(), &positive))) ||
776 ((descr.type() == Widelands::MapObjectType::MILITARYSITE ||790 ((descr.type() == Widelands::MapObjectType::MILITARYSITE ||
777 descr.type() == Widelands::MapObjectType::WAREHOUSE) &&791 descr.type() == Widelands::MapObjectType::WAREHOUSE) &&
778 imm_type != Widelands::MapObjectType::MILITARYSITE &&792 imm_type != Widelands::MapObjectType::MILITARYSITE &&
@@ -781,7 +795,8 @@
781 }795 }
782 } else if (descr.type() == Widelands::MapObjectType::PRODUCTIONSITE) {796 } else if (descr.type() == Widelands::MapObjectType::PRODUCTIONSITE) {
783 if (imm_type != Widelands::MapObjectType::PRODUCTIONSITE ||797 if (imm_type != Widelands::MapObjectType::PRODUCTIONSITE ||
784 imm->get_owner() != player_) {798 imm->get_owner() != player_ || !dynamic_cast<const Widelands::ProductionSiteDescr&>(
799 descr).highlight_overlapping_workarea_for(imm->descr().name(), &positive)) {
785 continue;800 continue;
786 }801 }
787 } else if (descr.type() == Widelands::MapObjectType::WAREHOUSE ||802 } else if (descr.type() == Widelands::MapObjectType::WAREHOUSE ||
@@ -811,7 +826,12 @@
811 std::map<Widelands::TCoords<>, uint32_t> colors;826 std::map<Widelands::TCoords<>, uint32_t> colors;
812 for (const Widelands::TCoords<>& t : map.triangles_in_region(827 for (const Widelands::TCoords<>& t : map.triangles_in_region(
813 map.to_set(Widelands::Area<>(mr.location(), wa_radius)))) {828 map.to_set(Widelands::Area<>(mr.location(), wa_radius)))) {
814 colors[t] = main_region.count(t) ? 0xffbf3f3f : 0x7fffffff;829 colors[t] = mr.location() == t.node || mr.location() == map.br_n(t.node) ||
830 mr.location() == (t.t == Widelands::TriangleIndex::D ? map.bl_n(t.node) :
831 map.r_n(t.node)) || main_region.count(t) ?
832 descr.type() == Widelands::MapObjectType::PRODUCTIONSITE ?
833 positive ? kOverlapColorPositive : kOverlapColorNegative :
834 kOverlapColorDefault : kOverlapColorPale;
815 }835 }
816 ibase().show_workarea(wa, mr.location(), colors);836 ibase().show_workarea(wa, mr.location(), colors);
817 overlapping_workareas_.insert(mr.location());837 overlapping_workareas_.insert(mr.location());

Subscribers

People subscribed via source and target branches

to status/vote changes: