← Back to team overview

widelands-dev team mailing list archive

[Merge] lp:~widelands-dev/widelands/bug-1786613-10s-return-skipped into lp:widelands

 

Toni Förster has proposed merging lp:~widelands-dev/widelands/bug-1786613-10s-return-skipped into lp:widelands.

Commit message:
introduced the return value no_stats for work programs.

Requested reviews:
  hessenfarmer (stephan-lutz)
Related bugs:
  Bug #1786613 in widelands: "production times are 10s longer when return=skipped"
  https://bugs.launchpad.net/widelands/+bug/1786613

For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/bug-1786613-10s-return-skipped/+merge/354381

When the program returns=no_stats it enters the None case. No stats are calculated but in case it has been return=skipped before it gets removed from the skipped_programs-stack.
-- 
Your team Widelands Developers is subscribed to branch lp:~widelands-dev/widelands/bug-1786613-10s-return-skipped.
=== modified file 'data/campaigns/emp04.wmf/scripting/tribes/farm1.lua'
--- data/campaigns/emp04.wmf/scripting/tribes/farm1.lua	2018-07-31 06:17:07 +0000
+++ data/campaigns/emp04.wmf/scripting/tribes/farm1.lua	2018-09-06 08:41:46 +0000
@@ -41,7 +41,7 @@
          actions = {
             "call=plant",
             "call=harvest",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       plant = {

=== modified file 'data/tribes/buildings/productionsites/atlanteans/armorsmithy/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/armorsmithy/init.lua	2017-09-03 07:59:51 +0000
+++ data/tribes/buildings/productionsites/atlanteans/armorsmithy/init.lua	2018-09-06 08:41:46 +0000
@@ -144,7 +144,7 @@
          actions = {
             "call=produce_shield_steel",
             "call=produce_shield_advanced",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       produce_shield_steel = {

=== modified file 'data/tribes/buildings/productionsites/atlanteans/blackroot_farm/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/blackroot_farm/init.lua	2017-11-18 21:23:09 +0000
+++ data/tribes/buildings/productionsites/atlanteans/blackroot_farm/init.lua	2018-09-06 08:41:46 +0000
@@ -49,7 +49,7 @@
          actions = {
             "call=plant",
             "call=harvest",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       plant = {

=== modified file 'data/tribes/buildings/productionsites/atlanteans/crystalmine/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/crystalmine/init.lua	2018-03-04 14:11:19 +0000
+++ data/tribes/buildings/productionsites/atlanteans/crystalmine/init.lua	2018-09-06 08:41:46 +0000
@@ -63,7 +63,7 @@
             "call=mine_granite",
             "call=mine_quartz",
             "call=mine_diamond",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       mine_granite = {

=== modified file 'data/tribes/buildings/productionsites/atlanteans/farm/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/farm/init.lua	2017-11-18 21:23:09 +0000
+++ data/tribes/buildings/productionsites/atlanteans/farm/init.lua	2018-09-06 08:41:46 +0000
@@ -53,7 +53,7 @@
          actions = {
             "call=plant",
             "call=harvest",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       plant = {

=== modified file 'data/tribes/buildings/productionsites/atlanteans/mill/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/mill/init.lua	2017-11-18 17:57:00 +0000
+++ data/tribes/buildings/productionsites/atlanteans/mill/init.lua	2018-09-06 08:41:46 +0000
@@ -57,7 +57,7 @@
          actions = {
             "call=produce_cornmeal",
             "call=produce_blackroot_flour",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       produce_cornmeal = {

=== modified file 'data/tribes/buildings/productionsites/atlanteans/quarry/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/quarry/init.lua	2018-07-08 16:10:50 +0000
+++ data/tribes/buildings/productionsites/atlanteans/quarry/init.lua	2018-09-06 08:41:46 +0000
@@ -44,7 +44,7 @@
            -- This order is on purpose so that the productivity
            -- drops fast once all rocks are gone.
             "call=mine_stone",
-            "return=skipped"
+            "return=no_stats"
          },
       },
       mine_stone = {

=== modified file 'data/tribes/buildings/productionsites/atlanteans/shipyard/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/shipyard/init.lua	2017-11-18 21:23:09 +0000
+++ data/tribes/buildings/productionsites/atlanteans/shipyard/init.lua	2018-09-06 08:41:46 +0000
@@ -65,7 +65,7 @@
          actions = {
             "sleep=20000",
             "call=ship",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       ship = {

=== modified file 'data/tribes/buildings/productionsites/atlanteans/smelting_works/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/smelting_works/init.lua	2017-11-18 17:57:00 +0000
+++ data/tribes/buildings/productionsites/atlanteans/smelting_works/init.lua	2018-09-06 08:41:46 +0000
@@ -58,7 +58,7 @@
             "call=smelt_iron",
             "call=smelt_gold",
             "call=smelt_iron",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       smelt_iron = {

=== modified file 'data/tribes/buildings/productionsites/atlanteans/smokery/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/smokery/init.lua	2017-09-03 07:59:51 +0000
+++ data/tribes/buildings/productionsites/atlanteans/smokery/init.lua	2018-09-06 08:41:46 +0000
@@ -60,7 +60,7 @@
             "call=smoke_fish",
             "call=smoke_meat",
             "call=smoke_fish",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       smoke_meat = {

=== modified file 'data/tribes/buildings/productionsites/atlanteans/toolsmithy/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/toolsmithy/init.lua	2017-11-18 17:57:00 +0000
+++ data/tribes/buildings/productionsites/atlanteans/toolsmithy/init.lua	2018-09-06 08:41:46 +0000
@@ -76,7 +76,7 @@
             "call=produce_saw",
             "call=produce_scythe",
             "call=produce_shovel",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       produce_bread_paddle = {

=== modified file 'data/tribes/buildings/productionsites/atlanteans/weaponsmithy/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/weaponsmithy/init.lua	2017-11-18 17:57:00 +0000
+++ data/tribes/buildings/productionsites/atlanteans/weaponsmithy/init.lua	2018-09-06 08:41:46 +0000
@@ -65,7 +65,7 @@
             "call=produce_trident_steel",
             "call=produce_trident_double",
             "call=produce_trident_heavy_double",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       produce_trident_light = {

=== modified file 'data/tribes/buildings/productionsites/atlanteans/weaving_mill/init.lua'
--- data/tribes/buildings/productionsites/atlanteans/weaving_mill/init.lua	2017-11-18 17:57:00 +0000
+++ data/tribes/buildings/productionsites/atlanteans/weaving_mill/init.lua	2018-09-06 08:41:46 +0000
@@ -60,7 +60,7 @@
             "call=produce_spidercloth",
             "call=produce_tabard",
             "call=produce_tabard_golden",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       produce_spidercloth = {

=== modified file 'data/tribes/buildings/productionsites/barbarians/ax_workshop/init.lua'
--- data/tribes/buildings/productionsites/barbarians/ax_workshop/init.lua	2017-11-18 17:57:00 +0000
+++ data/tribes/buildings/productionsites/barbarians/ax_workshop/init.lua	2018-09-06 08:41:46 +0000
@@ -69,7 +69,7 @@
             "call=produce_ax",
             "call=produce_ax_sharp",
             "call=produce_ax_broad",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       produce_ax = {

=== modified file 'data/tribes/buildings/productionsites/barbarians/big_inn/init.lua'
--- data/tribes/buildings/productionsites/barbarians/big_inn/init.lua	2017-11-18 17:57:00 +0000
+++ data/tribes/buildings/productionsites/barbarians/big_inn/init.lua	2018-09-06 08:41:46 +0000
@@ -62,7 +62,7 @@
             "call=produce_ration",
             "call=produce_snack",
             "call=produce_meal",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       produce_ration = {

=== modified file 'data/tribes/buildings/productionsites/barbarians/farm/init.lua'
--- data/tribes/buildings/productionsites/barbarians/farm/init.lua	2017-11-18 21:23:09 +0000
+++ data/tribes/buildings/productionsites/barbarians/farm/init.lua	2018-09-06 08:41:46 +0000
@@ -61,7 +61,7 @@
          actions = {
             "call=plant",
             "call=harvest",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       plant = {

=== modified file 'data/tribes/buildings/productionsites/barbarians/helmsmithy/init.lua'
--- data/tribes/buildings/productionsites/barbarians/helmsmithy/init.lua	2017-09-03 07:59:51 +0000
+++ data/tribes/buildings/productionsites/barbarians/helmsmithy/init.lua	2018-09-06 08:41:46 +0000
@@ -70,7 +70,7 @@
             "call=produce_helmet",
             "call=produce_helmet_mask",
             "call=produce_helmet_warhelm",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       produce_helmet = {

=== modified file 'data/tribes/buildings/productionsites/barbarians/inn/init.lua'
--- data/tribes/buildings/productionsites/barbarians/inn/init.lua	2017-11-18 17:57:00 +0000
+++ data/tribes/buildings/productionsites/barbarians/inn/init.lua	2018-09-06 08:41:46 +0000
@@ -59,7 +59,7 @@
          actions = {
             "call=produce_ration",
             "call=produce_snack",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       produce_ration = {

=== modified file 'data/tribes/buildings/productionsites/barbarians/metal_workshop/init.lua'
--- data/tribes/buildings/productionsites/barbarians/metal_workshop/init.lua	2017-11-18 17:57:00 +0000
+++ data/tribes/buildings/productionsites/barbarians/metal_workshop/init.lua	2018-09-06 08:41:46 +0000
@@ -86,7 +86,7 @@
             "call=produce_pick",
             "call=produce_scythe",
             "call=produce_shovel",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       produce_bread_paddle = {

=== modified file 'data/tribes/buildings/productionsites/barbarians/quarry/init.lua'
--- data/tribes/buildings/productionsites/barbarians/quarry/init.lua	2018-07-08 16:10:50 +0000
+++ data/tribes/buildings/productionsites/barbarians/quarry/init.lua	2018-09-06 08:41:46 +0000
@@ -51,7 +51,7 @@
            -- This order is on purpose so that the productivity
            -- drops fast once all rocks are gone.
             "call=mine_stone",
-            "return=skipped"
+            "return=no_stats"
          },
       },
       mine_stone = {

=== modified file 'data/tribes/buildings/productionsites/barbarians/reed_yard/init.lua'
--- data/tribes/buildings/productionsites/barbarians/reed_yard/init.lua	2017-11-18 21:23:09 +0000
+++ data/tribes/buildings/productionsites/barbarians/reed_yard/init.lua	2018-09-06 08:41:46 +0000
@@ -45,7 +45,7 @@
          actions = {
             "call=plant",
             "call=harvest",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       plant = {

=== modified file 'data/tribes/buildings/productionsites/barbarians/shipyard/init.lua'
--- data/tribes/buildings/productionsites/barbarians/shipyard/init.lua	2018-07-08 16:10:50 +0000
+++ data/tribes/buildings/productionsites/barbarians/shipyard/init.lua	2018-09-06 08:41:46 +0000
@@ -64,7 +64,7 @@
          actions = {
             "sleep=20000",
             "call=ship",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       ship = {

=== modified file 'data/tribes/buildings/productionsites/barbarians/smelting_works/init.lua'
--- data/tribes/buildings/productionsites/barbarians/smelting_works/init.lua	2017-11-18 17:57:00 +0000
+++ data/tribes/buildings/productionsites/barbarians/smelting_works/init.lua	2018-09-06 08:41:46 +0000
@@ -62,7 +62,7 @@
             "call=smelt_iron",
             "call=smelt_gold",
             "call=smelt_iron",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       smelt_iron = {

=== modified file 'data/tribes/buildings/productionsites/barbarians/warmill/init.lua'
--- data/tribes/buildings/productionsites/barbarians/warmill/init.lua	2017-11-18 17:57:00 +0000
+++ data/tribes/buildings/productionsites/barbarians/warmill/init.lua	2018-09-06 08:41:46 +0000
@@ -76,7 +76,7 @@
             "call=produce_ax_bronze",
             "call=produce_ax_battle",
             "call=produce_ax_warriors",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       produce_ax = {

=== modified file 'data/tribes/buildings/productionsites/empire/armorsmithy/init.lua'
--- data/tribes/buildings/productionsites/empire/armorsmithy/init.lua	2017-09-03 07:59:51 +0000
+++ data/tribes/buildings/productionsites/empire/armorsmithy/init.lua	2018-09-06 08:41:46 +0000
@@ -71,7 +71,7 @@
             "call=produce_armor",
             "call=produce_armor_chain",
             "call=produce_armor_gilded",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       produce_armor_helmet = {

=== modified file 'data/tribes/buildings/productionsites/empire/farm/init.lua'
--- data/tribes/buildings/productionsites/empire/farm/init.lua	2017-11-18 21:23:09 +0000
+++ data/tribes/buildings/productionsites/empire/farm/init.lua	2018-09-06 08:41:46 +0000
@@ -52,7 +52,7 @@
          actions = {
             "call=plant",
             "call=harvest",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       plant = {

=== modified file 'data/tribes/buildings/productionsites/empire/inn/init.lua'
--- data/tribes/buildings/productionsites/empire/inn/init.lua	2017-11-18 17:57:00 +0000
+++ data/tribes/buildings/productionsites/empire/inn/init.lua	2018-09-06 08:41:46 +0000
@@ -55,7 +55,7 @@
          actions = {
             "call=produce_ration",
             "call=produce_meal",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       produce_ration = {

=== modified file 'data/tribes/buildings/productionsites/empire/marblemine/init.lua'
--- data/tribes/buildings/productionsites/empire/marblemine/init.lua	2017-09-03 07:59:51 +0000
+++ data/tribes/buildings/productionsites/empire/marblemine/init.lua	2018-09-06 08:41:46 +0000
@@ -62,7 +62,7 @@
          actions = {
             "call=mine_marble",
             "call=mine_granite",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       mine_marble = {

=== modified file 'data/tribes/buildings/productionsites/empire/quarry/init.lua'
--- data/tribes/buildings/productionsites/empire/quarry/init.lua	2018-07-08 16:10:50 +0000
+++ data/tribes/buildings/productionsites/empire/quarry/init.lua	2018-09-06 08:41:46 +0000
@@ -49,7 +49,7 @@
             "call=mine_granite",
             "call=mine_granite",
             "call=mine_marble", -- This will find marble 2 out of 7 times
-            "return=skipped"
+            "return=no_stats"
          }
       },
       mine_granite = {

=== modified file 'data/tribes/buildings/productionsites/empire/shipyard/init.lua'
--- data/tribes/buildings/productionsites/empire/shipyard/init.lua	2017-11-18 21:23:09 +0000
+++ data/tribes/buildings/productionsites/empire/shipyard/init.lua	2018-09-06 08:41:46 +0000
@@ -64,7 +64,7 @@
          actions = {
             "sleep=20000",
             "call=ship",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       ship = {

=== modified file 'data/tribes/buildings/productionsites/empire/smelting_works/init.lua'
--- data/tribes/buildings/productionsites/empire/smelting_works/init.lua	2017-11-18 17:57:00 +0000
+++ data/tribes/buildings/productionsites/empire/smelting_works/init.lua	2018-09-06 08:41:46 +0000
@@ -63,7 +63,7 @@
             "call=smelt_iron",
             "call=smelt_gold",
             "call=smelt_iron",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       smelt_iron = {

=== modified file 'data/tribes/buildings/productionsites/empire/toolsmithy/init.lua'
--- data/tribes/buildings/productionsites/empire/toolsmithy/init.lua	2017-11-18 17:57:00 +0000
+++ data/tribes/buildings/productionsites/empire/toolsmithy/init.lua	2018-09-06 08:41:46 +0000
@@ -75,7 +75,7 @@
             "call=produce_saw",
             "call=produce_scythe",
             "call=produce_shovel",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       produce_felling_ax = {

=== modified file 'data/tribes/buildings/productionsites/empire/vineyard/init.lua'
--- data/tribes/buildings/productionsites/empire/vineyard/init.lua	2017-11-18 21:23:09 +0000
+++ data/tribes/buildings/productionsites/empire/vineyard/init.lua	2018-09-06 08:41:46 +0000
@@ -51,7 +51,7 @@
          actions = {
             "call=plant",
             "call=harvest",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       plant = {

=== modified file 'data/tribes/buildings/productionsites/empire/weaponsmithy/init.lua'
--- data/tribes/buildings/productionsites/empire/weaponsmithy/init.lua	2017-11-18 17:57:00 +0000
+++ data/tribes/buildings/productionsites/empire/weaponsmithy/init.lua	2018-09-06 08:41:46 +0000
@@ -70,7 +70,7 @@
             "call=produce_spear_advanced",
             "call=produce_spear_heavy",
             "call=produce_spear_war",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       produce_spear_wooden = {

=== modified file 'data/tribes/buildings/productionsites/frisians/aqua_farm/init.lua'
--- data/tribes/buildings/productionsites/frisians/aqua_farm/init.lua	2018-07-17 10:13:49 +0000
+++ data/tribes/buildings/productionsites/frisians/aqua_farm/init.lua	2018-09-06 08:41:46 +0000
@@ -56,7 +56,7 @@
          actions = {
             "call=breed_fish",
             "call=fish_pond",
-            "return=skipped",
+            "return=no_stats",
          },
       },
       breed_fish = {

=== modified file 'data/tribes/buildings/productionsites/frisians/armor_smithy_large/init.lua'
--- data/tribes/buildings/productionsites/frisians/armor_smithy_large/init.lua	2018-07-17 10:13:49 +0000
+++ data/tribes/buildings/productionsites/frisians/armor_smithy_large/init.lua	2018-09-06 08:41:46 +0000
@@ -67,7 +67,7 @@
             "call=produce_hg",
             "call=produce_s3",
             "call=produce_s4",
-            "return=skipped",
+            "return=no_stats",
          },
       },
       produce_s3 = {

=== modified file 'data/tribes/buildings/productionsites/frisians/armor_smithy_small/init.lua'
--- data/tribes/buildings/productionsites/frisians/armor_smithy_small/init.lua	2018-07-17 10:13:49 +0000
+++ data/tribes/buildings/productionsites/frisians/armor_smithy_small/init.lua	2018-09-06 08:41:46 +0000
@@ -66,7 +66,7 @@
             "call=produce_s2",
             "call=produce_h",
             "call=produce_s2",
-            "return=skipped",
+            "return=no_stats",
          },
       },
       produce_s1 = {

=== modified file 'data/tribes/buildings/productionsites/frisians/blacksmithy/init.lua'
--- data/tribes/buildings/productionsites/frisians/blacksmithy/init.lua	2018-07-08 12:38:44 +0000
+++ data/tribes/buildings/productionsites/frisians/blacksmithy/init.lua	2018-09-06 08:41:46 +0000
@@ -86,7 +86,7 @@
             "call=produce_8",
             "call=produce_7",
             "call=produce_6",
-            "return=skipped",
+            "return=no_stats",
          },
       },
       produce_1 = {

=== modified file 'data/tribes/buildings/productionsites/frisians/drinking_hall/init.lua'
--- data/tribes/buildings/productionsites/frisians/drinking_hall/init.lua	2018-07-09 10:44:31 +0000
+++ data/tribes/buildings/productionsites/frisians/drinking_hall/init.lua	2018-09-06 08:41:46 +0000
@@ -65,7 +65,7 @@
          actions = {
             "call=produce_ration",
             "call=produce_meal",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       produce_ration = {

=== modified file 'data/tribes/buildings/productionsites/frisians/farm/init.lua'
--- data/tribes/buildings/productionsites/frisians/farm/init.lua	2018-07-18 08:23:41 +0000
+++ data/tribes/buildings/productionsites/frisians/farm/init.lua	2018-09-06 08:41:46 +0000
@@ -64,7 +64,7 @@
          actions = {
             "call=plant_barley",
             "call=harvest_barley",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       plant_barley = {

=== modified file 'data/tribes/buildings/productionsites/frisians/furnace/init.lua'
--- data/tribes/buildings/productionsites/frisians/furnace/init.lua	2018-07-08 17:54:33 +0000
+++ data/tribes/buildings/productionsites/frisians/furnace/init.lua	2018-09-06 08:41:46 +0000
@@ -72,7 +72,7 @@
             "call=smelt_iron",
             "call=smelt_gold",
             "call=smelt_iron",
-            "return=skipped",
+            "return=no_stats",
          },
       },
       smelt_iron = {

=== modified file 'data/tribes/buildings/productionsites/frisians/honey_bread_bakery/init.lua'
--- data/tribes/buildings/productionsites/frisians/honey_bread_bakery/init.lua	2018-07-09 11:34:23 +0000
+++ data/tribes/buildings/productionsites/frisians/honey_bread_bakery/init.lua	2018-09-06 08:41:46 +0000
@@ -64,7 +64,7 @@
             "call=bake_honey",
             "call=bake_normal",
             "call=bake_honey",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       bake_honey = {

=== modified file 'data/tribes/buildings/productionsites/frisians/mead_brewery/init.lua'
--- data/tribes/buildings/productionsites/frisians/mead_brewery/init.lua	2018-07-09 11:34:23 +0000
+++ data/tribes/buildings/productionsites/frisians/mead_brewery/init.lua	2018-09-06 08:41:46 +0000
@@ -62,7 +62,7 @@
             "call=brew_mead",
             "call=brew_beer",
             "call=brew_mead",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       brew_mead = {

=== modified file 'data/tribes/buildings/productionsites/frisians/quarry/init.lua'
--- data/tribes/buildings/productionsites/frisians/quarry/init.lua	2018-07-17 10:13:49 +0000
+++ data/tribes/buildings/productionsites/frisians/quarry/init.lua	2018-09-06 08:41:46 +0000
@@ -51,7 +51,7 @@
            -- This order is on purpose so that the productivity
            -- drops fast once all rocks are gone.
             "call=mine_stone",
-            "return=skipped"
+            "return=no_stats"
          },
       },
       mine_stone = {

=== modified file 'data/tribes/buildings/productionsites/frisians/recycling_center/init.lua'
--- data/tribes/buildings/productionsites/frisians/recycling_center/init.lua	2018-07-09 09:25:35 +0000
+++ data/tribes/buildings/productionsites/frisians/recycling_center/init.lua	2018-09-06 08:41:46 +0000
@@ -77,7 +77,7 @@
             "call=smelt_mixed",
             "call=smelt_iron",
             "call=make_fur",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       make_fur = {

=== modified file 'data/tribes/buildings/productionsites/frisians/reed_farm/init.lua'
--- data/tribes/buildings/productionsites/frisians/reed_farm/init.lua	2018-07-17 10:13:49 +0000
+++ data/tribes/buildings/productionsites/frisians/reed_farm/init.lua	2018-09-06 08:41:46 +0000
@@ -54,7 +54,7 @@
          actions = {
             "call=plant_reed",
             "call=harvest_reed",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       plant_reed = {

=== modified file 'data/tribes/buildings/productionsites/frisians/reindeer_farm/init.lua'
--- data/tribes/buildings/productionsites/frisians/reindeer_farm/init.lua	2018-09-01 13:24:52 +0000
+++ data/tribes/buildings/productionsites/frisians/reindeer_farm/init.lua	2018-09-06 08:41:46 +0000
@@ -68,7 +68,7 @@
             "call=make_fur",
             "call=recruit_deer",
             "call=make_fur_meat",
-            "return=skipped",
+            "return=no_stats",
          }
       },
       recruit_deer = {

=== modified file 'data/tribes/buildings/productionsites/frisians/shipyard/init.lua'
--- data/tribes/buildings/productionsites/frisians/shipyard/init.lua	2018-07-17 10:13:49 +0000
+++ data/tribes/buildings/productionsites/frisians/shipyard/init.lua	2018-09-06 08:41:46 +0000
@@ -58,7 +58,7 @@
          actions = {
             "sleep=20000",
             "call=ship",
-            "return=skipped"
+            "return=no_stats"
          }
       },
       ship = {

=== modified file 'data/tribes/buildings/productionsites/frisians/smokery/init.lua'
--- data/tribes/buildings/productionsites/frisians/smokery/init.lua	2018-07-08 17:54:33 +0000
+++ data/tribes/buildings/productionsites/frisians/smokery/init.lua	2018-09-06 08:41:46 +0000
@@ -65,7 +65,7 @@
          actions = {
             "call=smoke_meat",
             "call=smoke_fish",
-            "return=skipped"
+            "return=no_stats"
          },
       },
       smoke_fish = {

=== modified file 'data/tribes/buildings/productionsites/frisians/tailors_shop/init.lua'
--- data/tribes/buildings/productionsites/frisians/tailors_shop/init.lua	2018-07-09 10:44:31 +0000
+++ data/tribes/buildings/productionsites/frisians/tailors_shop/init.lua	2018-09-06 08:41:46 +0000
@@ -63,7 +63,7 @@
          actions = {
             "call=weave_studded",
             "call=weave_gold",
-            "return=skipped",
+            "return=no_stats",
          },
       },
       weave_studded = {

=== modified file 'data/tribes/buildings/productionsites/frisians/tavern/init.lua'
--- data/tribes/buildings/productionsites/frisians/tavern/init.lua	2018-06-04 06:19:58 +0000
+++ data/tribes/buildings/productionsites/frisians/tavern/init.lua	2018-09-06 08:41:46 +0000
@@ -66,7 +66,7 @@
          actions = {
             "call=produce_malus",
             "call=produce_bonus",
-            "return=skipped"
+            "return=no_stats"
          },
       },
       produce_malus = {

=== modified file 'src/logic/map_objects/tribes/production_program.cc'
--- src/logic/map_objects/tribes/production_program.cc	2018-07-12 16:53:21 +0000
+++ src/logic/map_objects/tribes/production_program.cc	2018-09-06 08:41:46 +0000
@@ -467,9 +467,11 @@
 			result_ = Completed;
 		else if (match(parameters, "skipped"))
 			result_ = Skipped;
+		else if (match(parameters, "no_stats"))
+			result_ = None;
 		else
 			throw GameDataError(
-			   "expected %s but found \"%s\"", "{\"failed\"|\"completed\"|\"skipped\"}", parameters);
+			   "expected %s but found \"%s\"", "{\"failed\"|\"completed\"|\"skipped\"|\"no_stats\"}", parameters);
 
 		if (skip(parameters)) {
 			if (match_force_skip(parameters, "when")) {

=== modified file 'src/logic/map_objects/tribes/production_program.h'
--- src/logic/map_objects/tribes/production_program.h	2018-07-12 16:53:21 +0000
+++ src/logic/map_objects/tribes/production_program.h	2018-09-06 08:41:46 +0000
@@ -107,10 +107,11 @@
 	///
 	/// Parameter syntax:
 	///    parameters         ::= return_value [condition_part]
-	///    return_value       ::= Failed | Completed | Skipped
+	///    return_value       ::= Failed | Completed | Skipped | None
 	///    Failed             ::= "failed"
 	///    Completed          ::= "completed"
 	///    Skipped            ::= "skipped"
+	///    None               ::= "no_stats"
 	///    condition_part     ::= when_condition | unless_conition
 	///    when_condition     ::= "when" condition {"and" condition}
 	///    unless_condition   ::= "unless" condition {"or" condition}
@@ -126,8 +127,9 @@
 	/// Parameter semantics:
 	///    return_value:
 	///       If return_value is Failed or Completed, the productionsite's
-	///       statistics is updated accordingly. If return_value is Skipped, the
-	///       statistics are not affected.
+	///       statistics is updated accordingly. If return_value is Skipped or
+	///       None, the statistics are not affected. But Skipped adds a 10s delay
+	///       before the program is executed again.
 	///    condition:
 	///       A boolean condition that can be evaluated to true or false.
 	///    condition_part:
@@ -235,11 +237,12 @@
 	/// Parameter syntax:
 	///    parameters         ::= program {handling_directive}
 	///    handling_directive ::= "on" Result handling_method
-	///    Result             ::= "failure" | "completion" | "skip"
+	///    Result             ::= "failure" | "completion" | "skip" | "no_stats"
 	///    handling_method    ::= Fail | Complete | Skip | Repeat
 	///    Fail               ::= "fail"
 	///    Ignore             ::= "ignore"
 	///    Repeat             ::= "repeat"
+	///    None               ::= "no_stats"
 	/// Parameter semantics:
 	///    program:
 	///       The name of a program defined in the productionsite.
@@ -260,6 +263,9 @@
 	///       * If handling_method is Skip, the command skips the calling
 	///         program (with the same effect as executing "return=skipped").
 	///       * If handling_method is "repeat", the command is repeated.
+	///       * If handling_method is None the called program continues normal,
+	///         but no statistics are calculated (with the same effect as
+	///         executing "return=no_stats")
 	struct ActCall : public Action {
 		ActCall(char* parameters, const ProductionSiteDescr&);
 		void execute(Game&, ProductionSite&) const override;

=== modified file 'src/logic/map_objects/tribes/productionsite.cc'
--- src/logic/map_objects/tribes/productionsite.cc	2018-06-19 08:52:49 +0000
+++ src/logic/map_objects/tribes/productionsite.cc	2018-09-06 08:41:46 +0000
@@ -941,6 +941,7 @@
 		crude_percent_ = crude_percent_ * 98 / 100;
 		break;
 	case None:
+		skipped_programs_.erase(program_name);
 		break;
 	}
 


Follow ups