diff --git a/binaries/data/mods/public/gui/reference/common/TemplateParser.js b/binaries/data/mods/public/gui/reference/common/TemplateParser.js
index 1973191e31..ffe1e7cb29 100644
--- a/binaries/data/mods/public/gui/reference/common/TemplateParser.js
+++ b/binaries/data/mods/public/gui/reference/common/TemplateParser.js
@@ -82,7 +82,7 @@ class TemplateParser
if (template.ResourceSupply)
parsed.supply = {
"type": template.ResourceSupply.Type.split("."),
- "amount": template.ResourceSupply.Amount,
+ "amount": template.ResourceSupply.Max,
};
if (parsed.upgrades)
diff --git a/binaries/data/mods/public/simulation/ai/common-api/entity.js b/binaries/data/mods/public/simulation/ai/common-api/entity.js
index c43075ed86..656c26edce 100644
--- a/binaries/data/mods/public/simulation/ai/common-api/entity.js
+++ b/binaries/data/mods/public/simulation/ai/common-api/entity.js
@@ -392,7 +392,7 @@ m.Template = m.Class({
"getDiminishingReturns": function() { return +(this.get("ResourceSupply/DiminishingReturns") || 1); },
- "resourceSupplyMax": function() { return +this.get("ResourceSupply/Amount"); },
+ "resourceSupplyMax": function() { return +this.get("ResourceSupply/Max"); },
"maxGatherers": function() { return +(this.get("ResourceSupply/MaxGatherers") || 0); },
diff --git a/binaries/data/mods/public/simulation/components/ResourceSupply.js b/binaries/data/mods/public/simulation/components/ResourceSupply.js
index 80f7aa96f3..24fa015c9c 100644
--- a/binaries/data/mods/public/simulation/components/ResourceSupply.js
+++ b/binaries/data/mods/public/simulation/components/ResourceSupply.js
@@ -3,18 +3,47 @@ function ResourceSupply() {}
ResourceSupply.prototype.Schema =
"Provides a supply of one particular type of resource." +
"" +
- "1000" +
+ "1000" +
+ "1000" +
"food.meat" +
"false" +
"25" +
"0.8" +
+ "" +
+ "" +
+ "2" +
+ "1000" +
+ "" +
+ "" +
+ "alive" +
+ "2" +
+ "1000" +
+ "500" +
+ "" +
+ "" +
+ "dead notGathered" +
+ "-2" +
+ "1000" +
+ "" +
+ "" +
+ "dead" +
+ "-1" +
+ "1000" +
+ "500" +
+ "" +
+ "" +
"" +
"" +
"" +
"" +
- "" +
+ "" +
"Infinity" +
"" +
+ "" +
+ "" +
+ "Infinity" +
+ "" +
+ "" +
"" +
Resources.BuildChoicesSchema(true, true) +
"" +
@@ -25,22 +54,70 @@ ResourceSupply.prototype.Schema =
"" +
"" +
"" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "alive" +
+ "dead" +
+ "gathered" +
+ "notGathered" +
+ "" +
+ "" +
+ "
" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
"";
ResourceSupply.prototype.Init = function()
{
- // Current resource amount (non-negative)
- this.amount = this.GetMaxAmount();
+ this.amount = +(this.template.Initial || this.template.Max);
+ // Includes the ones that are tasked but not here yet, i.e. approaching.
this.gatherers = [];
+ this.activeGatherers = [];
let [type, subtype] = this.template.Type.split('.');
this.cachedType = { "generic": type, "specific": subtype };
+
+ if (this.template.Change)
+ {
+ this.timers = {};
+ this.cachedChanges = {};
+ }
};
ResourceSupply.prototype.IsInfinite = function()
{
- return !isFinite(+this.template.Amount);
+ return !isFinite(+this.template.Max);
};
ResourceSupply.prototype.GetKillBeforeGather = function()
@@ -50,7 +127,7 @@ ResourceSupply.prototype.GetKillBeforeGather = function()
ResourceSupply.prototype.GetMaxAmount = function()
{
- return +this.template.Amount;
+ return this.maxAmount;
};
ResourceSupply.prototype.GetCurrentAmount = function()
@@ -68,6 +145,14 @@ ResourceSupply.prototype.GetNumGatherers = function()
return this.gatherers.length;
};
+/**
+ * @return {number} - The number of currently active gatherers.
+ */
+ResourceSupply.prototype.GetNumActiveGatherers = function()
+{
+ return this.activeGatherers.length;
+};
+
/**
* @return {{ "generic": string, "specific": string }} An object containing the subtype and the generic type. All resources must have both.
*/
@@ -127,26 +212,52 @@ ResourceSupply.prototype.GetDiminishingReturns = function()
* @return {{ "amount": number, "exhausted": boolean }} The current resource amount in the entity and whether it's exhausted or not.
*/
ResourceSupply.prototype.TakeResources = function(amount)
+{
+ if (this.IsInfinite())
+ return { "amount": amount, "exhausted": false };
+
+ return {
+ "amount": Math.abs(this.Change(-amount)),
+ "exhausted": this.amount == 0
+ };
+};
+
+/**
+ * @param {number} change - The amount to change the resources with (can be negative).
+ * @return {number} - The actual change in resourceSupply.
+ */
+ResourceSupply.prototype.Change = function(change)
{
// Before changing the amount, activate Fogging if necessary to hide changes
let cmpFogging = Engine.QueryInterface(this.entity, IID_Fogging);
if (cmpFogging)
cmpFogging.Activate();
- if (this.IsInfinite())
- return { "amount": amount, "exhausted": false };
+ let oldAmount = this.amount;
+ this.amount = Math.min(Math.max(oldAmount + change, 0), this.maxAmount);
- let oldAmount = this.GetCurrentAmount();
- this.amount = Math.max(0, oldAmount - amount);
-
- let isExhausted = this.GetCurrentAmount() == 0;
- // Remove entities that have been exhausted
- if (isExhausted)
+ // Remove entities that have been exhausted.
+ if (this.amount == 0)
Engine.DestroyEntity(this.entity);
- Engine.PostMessage(this.entity, MT_ResourceSupplyChanged, { "from": oldAmount, "to": this.GetCurrentAmount() });
+ let actualChange = this.amount - oldAmount;
+ if (actualChange != 0)
+ {
+ Engine.PostMessage(this.entity, MT_ResourceSupplyChanged, {
+ "from": oldAmount,
+ "to": this.amount
+ });
+ this.CheckTimers();
+ }
+ return actualChange;
+};
- return { "amount": oldAmount - this.GetCurrentAmount(), "exhausted": isExhausted };
+/**
+ * @param {number} newValue - The value to set the current amount to.
+ */
+ResourceSupply.prototype.SetAmount = function(newValue)
+{
+ this.Change(newValue - this.amount);
};
/**
@@ -168,6 +279,26 @@ ResourceSupply.prototype.AddGatherer = function(gathererID)
return true;
};
+/**
+ * @param {number} player - The playerID owning the gatherer.
+ * @param {number} entity - The entityID gathering.
+ *
+ * @return {boolean} - Whether the gatherer was successfully added to the active-gatherers list
+ * or the entity was already in that list.
+ */
+ResourceSupply.prototype.AddActiveGatherer = function(entity)
+{
+ if (!this.AddGatherer(entity))
+ return false;
+
+ if (this.activeGatherers.indexOf(entity) == -1)
+ {
+ this.activeGatherers.push(entity);
+ this.CheckTimers();
+ }
+ return true;
+};
+
/**
* @param {number} gathererID - The gatherer's entity id.
* @todo: Should this return false if the gatherer didn't gather from said resource?
@@ -175,11 +306,166 @@ ResourceSupply.prototype.AddGatherer = function(gathererID)
ResourceSupply.prototype.RemoveGatherer = function(gathererID)
{
let index = this.gatherers.indexOf(gathererID);
+ if (index != -1)
+ {
+ this.gatherers.splice(index, 1);
+ Engine.PostMessage(this.entity, MT_ResourceSupplyNumGatherersChanged, { "to": this.GetNumGatherers() });
+ }
+
+ index = this.activeGatherers.indexOf(gathererID);
if (index == -1)
return;
+ this.activeGatherers.splice(index, 1);
+ this.CheckTimers();
+};
- this.gatherers.splice(index, 1);
- Engine.PostMessage(this.entity, MT_ResourceSupplyNumGatherersChanged, { "to": this.GetNumGatherers() });
+/**
+ * Checks whether a timer ought to be added or removed.
+ */
+ResourceSupply.prototype.CheckTimers = function()
+{
+ if (!this.template.Change || this.IsInfinite())
+ return;
+
+ for (let changeKey in this.template.Change)
+ {
+ if (!this.CheckState(changeKey))
+ {
+ this.StopTimer(changeKey);
+ continue;
+ }
+ let template = this.template.Change[changeKey];
+ if (this.amount < +(template.LowerLimit || -1) ||
+ this.amount > +(template.UpperLimit || this.GetMaxAmount()))
+ {
+ this.StopTimer(changeKey);
+ continue;
+ }
+
+ if (this.cachedChanges[changeKey] == 0)
+ {
+ this.StopTimer(changeKey);
+ continue;
+ }
+
+ if (!this.timers[changeKey])
+ this.StartTimer(changeKey);
+ }
+};
+
+/**
+ * This verifies whether the current state of the supply matches the ones needed
+ * for the specific timer to run.
+ *
+ * @param {string} changeKey - The name of the Change to verify the state for.
+ * @return {boolean} - Whether the timer may run.
+ */
+ResourceSupply.prototype.CheckState = function(changeKey)
+{
+ let template = this.template.Change[changeKey];
+ if (!template.State)
+ return true;
+
+ let states = template.State;
+ let cmpHealth = Engine.QueryInterface(this.entity, IID_Health);
+ if (states.indexOf("alive") != -1 && !cmpHealth && states.indexOf("dead") == -1 ||
+ states.indexOf("dead") != -1 && cmpHealth && states.indexOf("alive") == -1)
+ return false;
+
+ let activeGatherers = this.GetNumActiveGatherers();
+ if (states.indexOf("gathered") != -1 && activeGatherers == 0 && states.indexOf("notGathered") == -1 ||
+ states.indexOf("notGathered") != -1 && activeGatherers > 0 && states.indexOf("gathered") == -1)
+ return false;
+
+ return true;
+};
+
+/**
+ * @param {string} changeKey - The name of the Change to apply to the entity.
+ */
+ResourceSupply.prototype.StartTimer = function(changeKey)
+{
+ if (this.timers[changeKey])
+ return;
+
+ let cmpTimer = Engine.QueryInterface(SYSTEM_ENTITY, IID_Timer);
+ let interval = ApplyValueModificationsToEntity("ResourceSupply/Change/" + changeKey + "/Interval", +(this.template.Change[changeKey].Interval || 1000), this.entity);
+ this.timers[changeKey] = cmpTimer.SetInterval(this.entity, IID_ResourceSupply, "TimerTick", interval, interval, changeKey);
+};
+
+/**
+ * @param {string} changeKey - The name of the change to stop the timer for.
+ */
+ResourceSupply.prototype.StopTimer = function(changeKey)
+{
+ if (!this.timers[changeKey])
+ return;
+
+ let cmpTimer = Engine.QueryInterface(SYSTEM_ENTITY, IID_Timer);
+ cmpTimer.CancelTimer(this.timers[changeKey]);
+ delete this.timers[changeKey];
+};
+
+/**
+ * @param {string} changeKey - The name of the change to apply to the entity.
+ */
+ResourceSupply.prototype.TimerTick = function(changeKey)
+{
+ let template = this.template.Change[changeKey];
+ if (!template || !this.Change(this.cachedChanges[changeKey]))
+ this.StopTimer(changeKey);
+};
+
+/**
+ * Since the supposed changes can be affected by modifications, and applying those
+ * are slow, do not calculate them every timer tick.
+ */
+ResourceSupply.prototype.RecalculateValues = function()
+{
+ this.maxAmount = ApplyValueModificationsToEntity("ResourceSupply/Max", +this.template.Max, this.entity);
+ if (!this.template.Change || this.IsInfinite())
+ return;
+
+ for (let changeKey in this.template.Change)
+ this.cachedChanges[changeKey] = ApplyValueModificationsToEntity("ResourceSupply/Change/" + changeKey + "/Value", +this.template.Change[changeKey].Value, this.entity);
+
+ this.CheckTimers();
+};
+
+/**
+ * @param {{ "component": string, "valueNames": string[] }} msg - Message containing a list of values that were changed.
+ */
+ResourceSupply.prototype.OnValueModification = function(msg)
+{
+ if (msg.component != "ResourceSupply")
+ return;
+
+ this.RecalculateValues();
+};
+
+/**
+ * @param {{ "from": number, "to": number }} msg - Message containing the old new owner.
+ */
+ResourceSupply.prototype.OnOwnershipChanged = function(msg)
+{
+ if (msg.to == INVALID_PLAYER)
+ {
+ let cmpTimer = Engine.QueryInterface(SYSTEM_ENTITY, IID_Timer);
+ for (let changeKey in this.timers)
+ cmpTimer.CancelTimer(this.timers[changeKey]);
+ }
+ else
+ this.RecalculateValues();
+};
+
+/**
+ * @param {{ "entity": number, "newentity": number }} msg - Message to what the entity has been renamed.
+ */
+ResourceSupply.prototype.OnEntityRenamed = function(msg)
+{
+ let cmpResourceSupplyNew = Engine.QueryInterface(msg.newentity, IID_ResourceSupply);
+ if (cmpResourceSupplyNew)
+ cmpResourceSupplyNew.SetAmount(this.GetCurrentAmount());
};
Engine.RegisterComponentType(IID_ResourceSupply, "ResourceSupply", ResourceSupply);
diff --git a/binaries/data/mods/public/simulation/components/UnitAI.js b/binaries/data/mods/public/simulation/components/UnitAI.js
index 4e2566d1ee..942cf44c11 100644
--- a/binaries/data/mods/public/simulation/components/UnitAI.js
+++ b/binaries/data/mods/public/simulation/components/UnitAI.js
@@ -2447,7 +2447,7 @@ UnitAI.prototype.UnitFsmSpec = {
// Check if the resource is full.
// Will only be added if we're not already in.
let cmpSupply = Engine.QueryInterface(this.gatheringTarget, IID_ResourceSupply);
- if (!cmpSupply || !cmpSupply.AddGatherer(this.entity))
+ if (!cmpSupply || !cmpSupply.AddActiveGatherer(this.entity))
{
this.SetNextState("FINDINGNEWTARGET");
return true;
diff --git a/binaries/data/mods/public/simulation/components/tests/test_ResourceSupply.js b/binaries/data/mods/public/simulation/components/tests/test_ResourceSupply.js
index d5818edc35..149815ab46 100644
--- a/binaries/data/mods/public/simulation/components/tests/test_ResourceSupply.js
+++ b/binaries/data/mods/public/simulation/components/tests/test_ResourceSupply.js
@@ -11,10 +11,15 @@ Resources = {
}
};
+Engine.LoadHelperScript("ValueModification.js");
+Engine.LoadComponentScript("interfaces/Health.js");
+Engine.LoadComponentScript("interfaces/ModifiersManager.js");
Engine.LoadComponentScript("interfaces/ResourceSupply.js");
+Engine.LoadComponentScript("interfaces/Timer.js");
Engine.LoadComponentScript("ResourceSupply.js");
+Engine.LoadComponentScript("Timer.js");
-const entity = 60;
+let entity = 60;
AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
"GetNumPlayers": () => 3
@@ -25,19 +30,21 @@ AddMock(entity, IID_Fogging, {
});
let template = {
- "Amount": 1000,
+ "Max": "1001",
+ "Initial": "1000",
"Type": "food.meat",
- "KillBeforeGather": false,
- "MaxGatherers": 2
+ "KillBeforeGather": "false",
+ "MaxGatherers": "2"
};
let cmpResourceSupply = ConstructComponent(entity, "ResourceSupply", template);
+cmpResourceSupply.OnOwnershipChanged({ "to": 1 });
TS_ASSERT(!cmpResourceSupply.IsInfinite());
TS_ASSERT(!cmpResourceSupply.GetKillBeforeGather());
-TS_ASSERT_EQUALS(cmpResourceSupply.GetMaxAmount(), 1000);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetMaxAmount(), 1001);
TS_ASSERT_EQUALS(cmpResourceSupply.GetMaxGatherers(), 2);
@@ -63,6 +70,18 @@ TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 2);
cmpResourceSupply.RemoveGatherer(70);
TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 1);
+TS_ASSERT(cmpResourceSupply.AddActiveGatherer(70));
+TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 2);
+
+cmpResourceSupply.RemoveGatherer(70);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 1);
+
+TS_ASSERT(cmpResourceSupply.AddActiveGatherer(70));
+TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 2);
+
+cmpResourceSupply.RemoveGatherer(70);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 1);
+
TS_ASSERT_UNEVAL_EQUALS(cmpResourceSupply.GetCurrentAmount(), 1000);
TS_ASSERT_UNEVAL_EQUALS(cmpResourceSupply.TakeResources(300), { "amount": 300, "exhausted": false });
TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 700);
@@ -72,3 +91,658 @@ TS_ASSERT_UNEVAL_EQUALS(cmpResourceSupply.TakeResources(800), { "amount": 700, "
TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 0);
// The resource is not available when exhausted
TS_ASSERT(!cmpResourceSupply.IsAvailableTo(70));
+
+cmpResourceSupply.RemoveGatherer(71);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetNumGatherers(), 0);
+
+
+// Test Changes.
+
+let cmpTimer;
+function reset(newTemplate)
+{
+ cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer");
+ cmpResourceSupply = ConstructComponent(entity, "ResourceSupply", newTemplate);
+ cmpResourceSupply.OnOwnershipChanged({ "to": 1 });
+}
+
+// Decay.
+template = {
+ "Max": "1000",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Rotting": {
+ "Value": "-1",
+ "Interval": "1000"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 1000);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 999);
+cmpTimer.OnUpdate({ "turnLength": 5 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 994);
+
+// Decay with minimum.
+template = {
+ "Max": "1000",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Rotting": {
+ "Value": "-1",
+ "Interval": "1000",
+ "LowerLimit": "997"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 1000);
+cmpTimer.OnUpdate({ "turnLength": 3 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 997);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 996);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 996);
+
+// Decay with maximum.
+template = {
+ "Max": "1000",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Rotting": {
+ "Value": "-1",
+ "Interval": "1000",
+ "UpperLimit": "995"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 1000);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 1000);
+
+// Decay with minimum and maximum.
+template = {
+ "Max": "1000",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Rotting": {
+ "Value": "-1",
+ "Interval": "1000",
+ "UpperLimit": "995",
+ "LowerLimit": "990"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 1000);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 1000);
+cmpResourceSupply.TakeResources(6);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 994);
+cmpTimer.OnUpdate({ "turnLength": 10 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 989);
+
+// Growth.
+template = {
+ "Initial": "995",
+ "Max": "1000",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Growth": {
+ "Value": "1",
+ "Interval": "1000"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 995);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 996);
+cmpTimer.OnUpdate({ "turnLength": 5 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 1000);
+
+// Growth with minimum.
+template = {
+ "Initial": "995",
+ "Max": "1000",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Growth": {
+ "Value": "1",
+ "Interval": "1000",
+ "LowerLimit": "997"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 995);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 995);
+
+// Growth with maximum.
+template = {
+ "Initial": "994",
+ "Max": "1000",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Growth": {
+ "Value": "1",
+ "Interval": "1000",
+ "UpperLimit": 995
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 994);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 995);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 996);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 996);
+
+// Growth with minimum and maximum.
+template = {
+ "Initial": "990",
+ "Max": "1000",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Growth": {
+ "Value": "1",
+ "Interval": "1000",
+ "UpperLimit": "995",
+ "LowerLimit": "990"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 990);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 991);
+cmpTimer.OnUpdate({ "turnLength": 8 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 996);
+
+// Growth when resources are taken again.
+template = {
+ "Initial": "995",
+ "Max": "1000",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Growth": {
+ "Value": "1",
+ "Interval": "1000"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 995);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 996);
+cmpResourceSupply.TakeResources(6);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 990);
+cmpTimer.OnUpdate({ "turnLength": 5 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 995);
+
+// Decay when dead.
+template = {
+ "Max": "10",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Rotting": {
+ "Value": "-1",
+ "Interval": "1000",
+ "State": "dead"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 10);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 9);
+
+// No growth when dead.
+template = {
+ "Max": "10",
+ "Initial": "5",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Growth": {
+ "Value": "1",
+ "Interval": "1000",
+ "State": "alive"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 5);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 5);
+
+// Decay when dead or alive.
+template = {
+ "Max": "10",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Rotting": {
+ "Value": "-1",
+ "Interval": "1000",
+ "State": "dead alive"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 10);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 9);
+
+AddMock(entity, IID_Health, {}); // Bring the entity to life.
+
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 8);
+
+// No decay when alive.
+template = {
+ "Max": "10",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Rotting": {
+ "Value": "-1",
+ "Interval": "1000",
+ "State": "dead"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 10);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 10);
+
+// Growth when alive.
+template = {
+ "Max": "10",
+ "Initial": "5",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Growth": {
+ "Value": "1",
+ "Interval": "1000",
+ "State": "alive"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 5);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 6);
+
+// Growth when dead or alive.
+template = {
+ "Max": "10",
+ "Initial": "5",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Growth": {
+ "Value": "1",
+ "Interval": "1000",
+ "State": "dead alive"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 5);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 6);
+
+DeleteMock(entity, IID_Health); // "Kill" the entity.
+
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 7);
+
+// Decay *and* growth.
+template = {
+ "Max": "10",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Rotting": {
+ "Value": "-1",
+ "Interval": "1000"
+ },
+ "Growth": {
+ "Value": "1",
+ "Interval": "1000"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 10);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 10);
+
+// Decay *and* growth with different health states.
+template = {
+ "Max": "10",
+ "Initial": "5",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Rotting": {
+ "Value": "-1",
+ "Interval": "1000",
+ "State": "dead"
+ },
+ "Growth": {
+ "Value": "1",
+ "Interval": "1000",
+ "State": "alive"
+ }
+ },
+ "MaxGatherers": "2"
+};
+AddMock(entity, IID_Health, { }); // Bring the entity to life.
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 5);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 6);
+DeleteMock(entity, IID_Health); // "Kill" the entity.
+// We overshoot one due to lateness.
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 7);
+
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 6);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 5);
+
+// Two effects with different limits.
+template = {
+ "Max": "20",
+ "Initial": "5",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "SuperGrowth": {
+ "Value": "2",
+ "Interval": "1000",
+ "UpperLimit": "8"
+ },
+ "Growth": {
+ "Value": "1",
+ "Interval": "1000",
+ "UpperLimit": "12"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 5);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 8);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 11);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 12);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 13);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 13);
+
+// Two effects with different limits.
+// This in an interesting case, where the order of the changes matters.
+template = {
+ "Max": "20",
+ "Initial": "5",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Growth": {
+ "Value": "1",
+ "Interval": "1000",
+ "UpperLimit": "12"
+ },
+ "SuperGrowth": {
+ "Value": "2",
+ "Interval": "1000",
+ "UpperLimit": "8"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 5);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 8);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 9);
+cmpTimer.OnUpdate({ "turnLength": 5 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 13);
+
+// Infinity with growth.
+template = {
+ "Max": "Infinity",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Growth": {
+ "Value": "1",
+ "Interval": "1000"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), Infinity);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), Infinity);
+
+// Infinity with decay.
+template = {
+ "Max": "Infinity",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Decay": {
+ "Value": "-1",
+ "Interval": "1000"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), Infinity);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), Infinity);
+
+// Decay when not gathered.
+template = {
+ "Max": "10",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Decay": {
+ "Value": "-1",
+ "Interval": "1000",
+ "State": "notGathered"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 10);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 9);
+TS_ASSERT(cmpResourceSupply.AddActiveGatherer(70));
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 9);
+cmpResourceSupply.RemoveGatherer(70);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 8);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 7);
+
+// Grow when gathered.
+template = {
+ "Max": "10",
+ "Initial": "5",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Growth": {
+ "Value": "1",
+ "Interval": "1000",
+ "State": "gathered"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 5);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 5);
+TS_ASSERT(cmpResourceSupply.AddActiveGatherer(70));
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 6);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 7);
+cmpResourceSupply.RemoveGatherer(70, 1);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 7);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 7);
+
+// Grow when gathered or not.
+template = {
+ "Max": "10",
+ "Initial": "5",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Growth": {
+ "Value": "1",
+ "Interval": "1000",
+ "State": "notGathered gathered"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 5);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 6);
+TS_ASSERT(cmpResourceSupply.AddActiveGatherer(70));
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 7);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 8);
+cmpResourceSupply.RemoveGatherer(70);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 9);
+
+// Grow when gathered and alive.
+template = {
+ "Max": "10",
+ "Initial": "5",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Growth": {
+ "Value": "1",
+ "Interval": "1000",
+ "State": "alive gathered"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 5);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 5);
+TS_ASSERT(cmpResourceSupply.AddActiveGatherer(70));
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 5);
+AddMock(entity, IID_Health, { }); // Bring the entity to life.
+cmpResourceSupply.CheckTimers(); // No other way to tell we've come to life.
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 6);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 7);
+cmpResourceSupply.RemoveGatherer(70);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 7);
+DeleteMock(entity, IID_Health); // "Kill" the entity.
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 7);
+
+// Decay when dead and not gathered.
+template = {
+ "Max": "10",
+ "Initial": "5",
+ "Type": "food.meat",
+ "KillBeforeGather": "false",
+ "Change": {
+ "Decay": {
+ "Value": "-1",
+ "Interval": "1000",
+ "State": "dead notGathered"
+ }
+ },
+ "MaxGatherers": "2"
+};
+reset(template);
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 5);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 4);
+TS_ASSERT(cmpResourceSupply.AddActiveGatherer(70));
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 4);
+AddMock(entity, IID_Health, {}); // Bring the entity to life.
+cmpResourceSupply.CheckTimers(); // No other way to tell we've come to life.
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 4);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 4);
+cmpResourceSupply.RemoveGatherer(70);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 4);
+DeleteMock(entity, IID_Health); // "Kill" the entity.
+cmpResourceSupply.CheckTimers(); // No other way to tell we've died.
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 3);
+cmpTimer.OnUpdate({ "turnLength": 1 });
+TS_ASSERT_EQUALS(cmpResourceSupply.GetCurrentAmount(), 2);
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_boar.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_boar.xml
index 3822440902..a4f7a6a954 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_boar.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_boar.xml
@@ -25,7 +25,7 @@
gaia/fauna_boar.png
- 150
+ 150
3.0
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_camel.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_camel.xml
index 31f10b5c85..b0c5af7937 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_camel.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_camel.xml
@@ -13,7 +13,7 @@
gaia/fauna_camel.png
- 200
+ 200
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_cattle_cow.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_cattle_cow.xml
index 9726e3125a..182672a496 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_cattle_cow.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_cattle_cow.xml
@@ -19,7 +19,7 @@
gaia/fauna_cow.png
- 300
+ 300
5
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_cattle_sanga.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_cattle_sanga.xml
index f3b656fe18..d8367b009e 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_cattle_sanga.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_cattle_sanga.xml
@@ -19,7 +19,7 @@
gaia/fauna_sanga.png
- 300
+ 300
5
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_cattle_zebu.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_cattle_zebu.xml
index c1d9b94f92..fdb1e244e4 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_cattle_zebu.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_cattle_zebu.xml
@@ -19,7 +19,7 @@
gaia/fauna_zebu.png
- 300
+ 300
5
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_chicken.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_chicken.xml
index bcd7e85a3d..e63b2ac537 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_chicken.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_chicken.xml
@@ -19,7 +19,7 @@
upright
- 40
+ 40
5
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_donkey.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_donkey.xml
index 68cffbfdeb..1923deaf19 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_donkey.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_donkey.xml
@@ -13,7 +13,7 @@
gaia/fauna_donkey.png
- 200
+ 200
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_african_bush.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_african_bush.xml
index ab6a55639b..7eecd63e36 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_african_bush.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_african_bush.xml
@@ -16,7 +16,7 @@
75
- 800
+ 800
10.0
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_asian.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_asian.xml
index 0f3a2adb80..b464698c85 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_asian.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_asian.xml
@@ -16,7 +16,7 @@
60
- 650
+ 650
8.0
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_north_african.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_north_african.xml
index 46d2aa142b..99285bc25f 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_north_african.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_elephant_north_african.xml
@@ -16,7 +16,7 @@
50
- 500
+ 500
7.5
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_giraffe.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_giraffe.xml
index a08fd8fa66..b1f1009d39 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_giraffe.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_giraffe.xml
@@ -13,7 +13,7 @@
gaia/fauna_giraffe.png
- 350
+ 350
14.0
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_giraffe_infant.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_giraffe_infant.xml
index 7c105ff57d..ba35c672f9 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_giraffe_infant.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_giraffe_infant.xml
@@ -13,7 +13,7 @@
gaia/fauna_giraffe.png
- 150
+ 150
8.5
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_goat.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_goat.xml
index bf444ab158..412e78e967 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_goat.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_goat.xml
@@ -19,7 +19,7 @@
gaia/fauna_goat.png
- 70
+ 70
2
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_hippopotamus.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_hippopotamus.xml
index 984d58a9bd..60f5f004f6 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_hippopotamus.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_hippopotamus.xml
@@ -26,7 +26,7 @@
50
- 400
+ 400
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_horse.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_horse.xml
index 76ed33622b..eaeafcae40 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_horse.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_horse.xml
@@ -13,7 +13,7 @@
gaia/fauna_horse.png
- 200
+ 200
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_muskox.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_muskox.xml
index b1e77483a2..455bc6ce55 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_muskox.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_muskox.xml
@@ -13,7 +13,7 @@
gaia/fauna_muskox.png
- 200
+ 200
4.5
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_peacock.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_peacock.xml
index cc8d8ecf99..8a46d5e717 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_peacock.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_peacock.xml
@@ -16,7 +16,7 @@
upright
- 50
+ 50
5
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_pig.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_pig.xml
index cfc8509c95..2f2fb9dfe4 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_pig.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_pig.xml
@@ -19,7 +19,7 @@
gaia/fauna_pig.png
- 150
+ 150
4
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_piglet.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_piglet.xml
index 35e497e187..60465bc1ab 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_piglet.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_piglet.xml
@@ -11,7 +11,7 @@
Piglet
- 10
+ 10
1
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_rabbit.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_rabbit.xml
index b3b4f79cd1..37ea4c832a 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_rabbit.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_rabbit.xml
@@ -16,7 +16,7 @@
false
- 50
+ 50
2.0
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_rhinoceros_white.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_rhinoceros_white.xml
index 0760a199bb..8f35933a80 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_rhinoceros_white.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_rhinoceros_white.xml
@@ -25,7 +25,7 @@
gaia/fauna_rhino.png
- 300
+ 300
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_sheep.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_sheep.xml
index 4bdc0c6015..ca8b196b72 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_sheep.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_sheep.xml
@@ -19,7 +19,7 @@
gaia/fauna_sheep.png
- 100
+ 100
3
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_walrus.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_walrus.xml
index 9819decb3a..58914eb98f 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_walrus.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_walrus.xml
@@ -27,7 +27,7 @@
gaia/fauna_walrus.png
- 300
+ 300
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_wildebeest.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_wildebeest.xml
index 1ef28180f4..96ee0f036f 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_wildebeest.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_wildebeest.xml
@@ -13,7 +13,7 @@
gaia/fauna_wildebeest.png
- 150
+ 150
4.0
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fauna_zebra.xml b/binaries/data/mods/public/simulation/templates/gaia/fauna_zebra.xml
index cc05e7cc19..5cbeb6ea19 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fauna_zebra.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fauna_zebra.xml
@@ -13,7 +13,7 @@
gaia/fauna_zebra.png
- 150
+ 150
3.5
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fruit/apple.xml b/binaries/data/mods/public/simulation/templates/gaia/fruit/apple.xml
index 44a497d05f..43f3434e81 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fruit/apple.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fruit/apple.xml
@@ -4,7 +4,7 @@
Apple
- 400
+ 400
flora/trees/apple_bloom.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fruit/banana.xml b/binaries/data/mods/public/simulation/templates/gaia/fruit/banana.xml
index 200bd86537..09c443d15a 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fruit/banana.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fruit/banana.xml
@@ -4,7 +4,7 @@
Banana
- 400
+ 400
flora/trees/banana.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_01.xml b/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_01.xml
index 5c5b788ee9..2a9a9bed9c 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_01.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_01.xml
@@ -4,7 +4,7 @@
Berries
- 200
+ 200
props/flora/berry_bush.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_02.xml b/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_02.xml
index 624cf98ca3..3caea2082f 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_02.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_02.xml
@@ -4,7 +4,7 @@
Berries
- 200
+ 200
props/flora/berry_bush_02.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_03.xml b/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_03.xml
index b0023b5d33..5fbc4472cd 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_03.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_03.xml
@@ -4,7 +4,7 @@
Berries
- 200
+ 200
props/flora/berry_bush_03.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_04.xml b/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_04.xml
index 977afe433c..5931162386 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_04.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_04.xml
@@ -4,7 +4,7 @@
Berries
- 200
+ 200
props/flora/berry_bush_autumn_01.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_05.xml b/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_05.xml
index 1e1c2cd3df..ad4b033b52 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_05.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fruit/berry_05.xml
@@ -4,7 +4,7 @@
Berries
- 200
+ 200
props/flora/bush_berries_large.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fruit/date.xml b/binaries/data/mods/public/simulation/templates/gaia/fruit/date.xml
index c82e0ab831..6a5404ffc8 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fruit/date.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fruit/date.xml
@@ -4,7 +4,7 @@
Date Palm
- 400
+ 400
flora/trees/palm_date_new_fruit.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fruit/fig.xml b/binaries/data/mods/public/simulation/templates/gaia/fruit/fig.xml
index 9744c8fafb..816400bb36 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fruit/fig.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fruit/fig.xml
@@ -10,7 +10,7 @@
- 500
+ 500
flora/trees/fig.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fruit/grapes.xml b/binaries/data/mods/public/simulation/templates/gaia/fruit/grapes.xml
index 7a6b1ec12a..1a6ea49794 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fruit/grapes.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fruit/grapes.xml
@@ -5,7 +5,7 @@
gaia/flora_bush_grapes.png
- 200
+ 200
props/flora/forage_grapes.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/fruit/olive.xml b/binaries/data/mods/public/simulation/templates/gaia/fruit/olive.xml
index 9b0e32563c..ae508cbd2f 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/fruit/olive.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/fruit/olive.xml
@@ -4,7 +4,7 @@
Olive
- 400
+ 400
flora/trees/olive.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/ruins/column_doric.xml b/binaries/data/mods/public/simulation/templates/gaia/ruins/column_doric.xml
index 7b9205a856..65fa9eac97 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/ruins/column_doric.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/ruins/column_doric.xml
@@ -9,7 +9,7 @@
gaia/special_fence.png
- 500
+ 500
props/special/eyecandy/column_doric_fallen.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/ruins/pyramid_great.xml b/binaries/data/mods/public/simulation/templates/gaia/ruins/pyramid_great.xml
index fb15e9c7b9..05dcce443c 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/ruins/pyramid_great.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/ruins/pyramid_great.xml
@@ -15,7 +15,7 @@
-2.0
- 10000
+ 10000
120
diff --git a/binaries/data/mods/public/simulation/templates/gaia/ruins/pyramid_minor.xml b/binaries/data/mods/public/simulation/templates/gaia/ruins/pyramid_minor.xml
index eb127736e7..3a39c2f392 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/ruins/pyramid_minor.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/ruins/pyramid_minor.xml
@@ -12,7 +12,7 @@
- 5000
+ 5000
90
diff --git a/binaries/data/mods/public/simulation/templates/gaia/ruins/standing_stone.xml b/binaries/data/mods/public/simulation/templates/gaia/ruins/standing_stone.xml
index 908782958c..20e6719b1f 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/ruins/standing_stone.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/ruins/standing_stone.xml
@@ -12,7 +12,7 @@
- 300
+ 300
props/special/eyecandy/standing_stones.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/ruins/stone_statues_egyptian.xml b/binaries/data/mods/public/simulation/templates/gaia/ruins/stone_statues_egyptian.xml
index 211e38947f..3fb5334496 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/ruins/stone_statues_egyptian.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/ruins/stone_statues_egyptian.xml
@@ -12,7 +12,7 @@
- 300
+ 300
diff --git a/binaries/data/mods/public/simulation/templates/gaia/ruins/stone_statues_kushite.xml b/binaries/data/mods/public/simulation/templates/gaia/ruins/stone_statues_kushite.xml
index a797ef4bb7..ba01aee3dd 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/ruins/stone_statues_kushite.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/ruins/stone_statues_kushite.xml
@@ -12,7 +12,7 @@
- 300
+ 300
diff --git a/binaries/data/mods/public/simulation/templates/gaia/ruins/stone_statues_roman.xml b/binaries/data/mods/public/simulation/templates/gaia/ruins/stone_statues_roman.xml
index dbedaa0821..34819718da 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/ruins/stone_statues_roman.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/ruins/stone_statues_roman.xml
@@ -12,7 +12,7 @@
- 300
+ 300
diff --git a/binaries/data/mods/public/simulation/templates/gaia/ruins/unfinished_greek_temple.xml b/binaries/data/mods/public/simulation/templates/gaia/ruins/unfinished_greek_temple.xml
index d09d90e3be..554c0335bb 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/ruins/unfinished_greek_temple.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/ruins/unfinished_greek_temple.xml
@@ -12,7 +12,7 @@
- 2000
+ 2000
30
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/food_barrel.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/food_barrel.xml
index aa69b1ad00..8ba0b002db 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/food_barrel.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/food_barrel.xml
@@ -9,7 +9,7 @@
gaia/special_treasure_food.png
- 100
+ 100
treasure.food
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/food_barrels_buried.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/food_barrels_buried.xml
index 46369d4691..684aa7a19b 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/food_barrels_buried.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/food_barrels_buried.xml
@@ -16,7 +16,7 @@
0.0
- 200
+ 200
treasure.food
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/food_bin.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/food_bin.xml
index 8026bf96cd..51af837dae 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/food_bin.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/food_bin.xml
@@ -12,7 +12,7 @@
- 300
+ 300
treasure.food
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/food_crate.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/food_crate.xml
index 508a7fa0a6..e7e0e5701a 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/food_crate.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/food_crate.xml
@@ -12,7 +12,7 @@
- 200
+ 200
treasure.food
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/food_jars.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/food_jars.xml
index 3e7c6bcf29..0ec12e32af 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/food_jars.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/food_jars.xml
@@ -12,7 +12,7 @@
- 300
+ 300
treasure.food
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/food_persian_big.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/food_persian_big.xml
index bde5896033..c26f15f317 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/food_persian_big.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/food_persian_big.xml
@@ -12,7 +12,7 @@
- 600
+ 600
treasure.food
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/food_persian_small.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/food_persian_small.xml
index 7fe29a4faa..4257e6b2f4 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/food_persian_small.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/food_persian_small.xml
@@ -12,7 +12,7 @@
- 400
+ 400
treasure.food
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/golden_fleece.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/golden_fleece.xml
index 5e25a934cf..8b70a1ba22 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/golden_fleece.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/golden_fleece.xml
@@ -8,7 +8,7 @@
Golden Fleece
- 1000
+ 1000
treasure.metal
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/metal.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/metal.xml
index 56e05d06ca..7fd2f57a71 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/metal.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/metal.xml
@@ -8,7 +8,7 @@
Secret Box
- 300
+ 300
treasure.metal
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/metal_persian_big.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/metal_persian_big.xml
index 7eac9dc280..8cbac45704 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/metal_persian_big.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/metal_persian_big.xml
@@ -11,7 +11,7 @@
- 500
+ 500
treasure.metal
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/metal_persian_small.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/metal_persian_small.xml
index b0d76dec39..3be7a031dc 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/metal_persian_small.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/metal_persian_small.xml
@@ -11,7 +11,7 @@
- 300
+ 300
treasure.metal
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/pegasus.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/pegasus.xml
index 4e914b2407..060cc598c3 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/pegasus.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/pegasus.xml
@@ -8,7 +8,7 @@
Pegasus
- 1000
+ 1000
treasure.metal
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck.xml
index 5e5e07a5d1..6eaab29d15 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck.xml
@@ -15,7 +15,7 @@
0.0
- 500
+ 500
treasure.wood
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck_debris.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck_debris.xml
index af84437a70..48afd62935 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck_debris.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck_debris.xml
@@ -18,7 +18,7 @@
0.0
- 200
+ 200
treasure.food
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck_ram_bow.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck_ram_bow.xml
index 6b2191c1a2..b1d73e24e2 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck_ram_bow.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck_ram_bow.xml
@@ -15,7 +15,7 @@
0.0
- 550
+ 550
treasure.wood
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck_sail_boat.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck_sail_boat.xml
index 3a1ba456e5..73d9576891 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck_sail_boat.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck_sail_boat.xml
@@ -15,7 +15,7 @@
0.0
- 400
+ 400
treasure.wood
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck_sail_boat_cut.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck_sail_boat_cut.xml
index c471ff1c51..25e2cffceb 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck_sail_boat_cut.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/shipwreck_sail_boat_cut.xml
@@ -15,7 +15,7 @@
0.0
- 450
+ 450
treasure.wood
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/standing_stone.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/standing_stone.xml
index 070d5a844d..2b6920b9be 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/standing_stone.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/standing_stone.xml
@@ -11,7 +11,7 @@
- 300
+ 300
treasure.stone
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/stone.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/stone.xml
index eafd78d5b8..936bcad09d 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/stone.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/stone.xml
@@ -11,7 +11,7 @@
- 300
+ 300
treasure.stone
diff --git a/binaries/data/mods/public/simulation/templates/gaia/treasure/wood.xml b/binaries/data/mods/public/simulation/templates/gaia/treasure/wood.xml
index 508be1006e..f33bf5a2b3 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/treasure/wood.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/treasure/wood.xml
@@ -11,7 +11,7 @@
- 300
+ 300
treasure.wood
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/acacia.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/acacia.xml
index 8d63b56caf..e3b9214028 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/acacia.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/acacia.xml
@@ -4,7 +4,7 @@
Acacia
- 200
+ 200
flora/trees/acacia.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/aleppo_pine.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/aleppo_pine.xml
index b2803abd1e..3db56b64a6 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/aleppo_pine.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/aleppo_pine.xml
@@ -4,7 +4,7 @@
Aleppo Pine
- 200
+ 200
flora/trees/aleppo_pine.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/bamboo.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/bamboo.xml
index e30ddb87f5..910253fe21 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/bamboo.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/bamboo.xml
@@ -4,7 +4,7 @@
Bamboo
- 200
+ 200
flora/trees/bamboo.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/bamboo_dragon.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/bamboo_dragon.xml
index 96b1aad27e..91b77e06f3 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/bamboo_dragon.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/bamboo_dragon.xml
@@ -11,7 +11,7 @@
- 1000
+ 1000
12
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/bamboo_single.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/bamboo_single.xml
index 1c5c10c54c..1f20998ffe 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/bamboo_single.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/bamboo_single.xml
@@ -4,7 +4,7 @@
Bamboo
- 100
+ 100
1
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/banyan.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/banyan.xml
index 524c2a9a05..ec49cd6e02 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/banyan.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/banyan.xml
@@ -11,7 +11,7 @@
- 600
+ 600
12
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/baobab.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/baobab.xml
index c5f323df79..f922146945 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/baobab.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/baobab.xml
@@ -11,7 +11,7 @@
- 400
+ 400
9
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/baobab_1_sapling.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/baobab_1_sapling.xml
index 2480acf503..45e7684706 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/baobab_1_sapling.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/baobab_1_sapling.xml
@@ -4,7 +4,7 @@
Baobab Sapling
- 50
+ 50
2
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/baobab_2_young.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/baobab_2_young.xml
index 6d4400d8b9..0621c7b3af 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/baobab_2_young.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/baobab_2_young.xml
@@ -4,7 +4,7 @@
Young Baobab
- 200
+ 200
flora/trees/baobab_new_young.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/baobab_3_mature.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/baobab_3_mature.xml
index 4fc9f19300..df398364e8 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/baobab_3_mature.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/baobab_3_mature.xml
@@ -11,7 +11,7 @@
- 600
+ 600
12
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/baobab_4_dead.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/baobab_4_dead.xml
index 7b188c093f..3b9753c7a0 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/baobab_4_dead.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/baobab_4_dead.xml
@@ -11,7 +11,7 @@
- 550
+ 550
12
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/bush_badlands.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/bush_badlands.xml
index d1a21ab2e3..35cd6fc94e 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/bush_badlands.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/bush_badlands.xml
@@ -4,7 +4,7 @@
Hardy Bush
- 75
+ 75
props/flora/bush_tempe_a.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/bush_temperate.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/bush_temperate.xml
index 39d56a0104..bab0ed03c0 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/bush_temperate.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/bush_temperate.xml
@@ -4,7 +4,7 @@
Bush
- 50
+ 50
flora/trees/temperate_bush_biome.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/bush_temperate_winter.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/bush_temperate_winter.xml
index 5eb6a7fee8..34fca12fda 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/bush_temperate_winter.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/bush_temperate_winter.xml
@@ -4,7 +4,7 @@
Bush
- 50
+ 50
flora/trees/temperate_bush_biome_winter.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/bush_tropic.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/bush_tropic.xml
index f9d39b556d..c9c3b99c3e 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/bush_tropic.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/bush_tropic.xml
@@ -4,7 +4,7 @@
Bush
- 50
+ 50
flora/trees/tropic_bush_biome.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/carob.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/carob.xml
index 3f5c317289..4b384768fd 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/carob.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/carob.xml
@@ -4,7 +4,7 @@
Carob
- 200
+ 200
flora/trees/carob.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/cedar_atlas_1_sapling.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/cedar_atlas_1_sapling.xml
index b8ff5ed533..bd2b4b0c4e 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/cedar_atlas_1_sapling.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/cedar_atlas_1_sapling.xml
@@ -4,7 +4,7 @@
Atlas Cedar Sapling
- 50
+ 50
flora/trees/cedar_atlas_sapling.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/cedar_atlas_2_young.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/cedar_atlas_2_young.xml
index b6bd89d9d5..826a4b84b5 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/cedar_atlas_2_young.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/cedar_atlas_2_young.xml
@@ -4,7 +4,7 @@
Atlas Cedar
- 200
+ 200
flora/trees/cedar_atlas_young.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/cedar_atlas_3_mature.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/cedar_atlas_3_mature.xml
index 4678e6a8c3..b66fbc949c 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/cedar_atlas_3_mature.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/cedar_atlas_3_mature.xml
@@ -4,7 +4,7 @@
Atlas Cedar
- 350
+ 350
flora/trees/cedar_atlas.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/cedar_atlas_4_dead.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/cedar_atlas_4_dead.xml
index e0c2cc5c30..7551e5e1ec 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/cedar_atlas_4_dead.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/cedar_atlas_4_dead.xml
@@ -4,7 +4,7 @@
Atlas Cedar
- 300
+ 300
flora/trees/cedar_atlas_dead.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/cretan_date_palm_patch.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/cretan_date_palm_patch.xml
index 3055db3983..adb309eb50 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/cretan_date_palm_patch.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/cretan_date_palm_patch.xml
@@ -11,7 +11,7 @@
- 300
+ 300
12
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/cretan_date_palm_short.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/cretan_date_palm_short.xml
index 0e63c61181..964a1af26f 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/cretan_date_palm_short.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/cretan_date_palm_short.xml
@@ -4,7 +4,7 @@
Cretan Date Palm
- 100
+ 100
flora/trees/palm_cretan_date_short.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/cretan_date_palm_tall.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/cretan_date_palm_tall.xml
index 5612c42806..a00fd2c422 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/cretan_date_palm_tall.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/cretan_date_palm_tall.xml
@@ -4,7 +4,7 @@
Cretan Date Palm
- 200
+ 200
flora/trees/palm_cretan_date_tall.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/cypress.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/cypress.xml
index b63caa873f..e7d46f476c 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/cypress.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/cypress.xml
@@ -4,7 +4,7 @@
Cypress
- 200
+ 200
flora/trees/mediterranean_cypress.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/cypress_wild.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/cypress_wild.xml
index 0f566207e5..add4844bf0 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/cypress_wild.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/cypress_wild.xml
@@ -4,7 +4,7 @@
Cypress
- 200
+ 200
flora/trees/cypress_mediterranean_wild.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/cypress_windswept.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/cypress_windswept.xml
index 8c65a0a716..f58670486e 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/cypress_windswept.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/cypress_windswept.xml
@@ -4,7 +4,7 @@
Cypress
- 200
+ 200
flora/trees/cypress_mediterranean_windswept.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/date_palm.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/date_palm.xml
index 33e75acdb8..0b742cb970 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/date_palm.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/date_palm.xml
@@ -4,7 +4,7 @@
Date Palm
- 200
+ 200
flora/trees/palm_date_new.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/date_palm_dead.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/date_palm_dead.xml
index 7256624c4f..f874ab84d7 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/date_palm_dead.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/date_palm_dead.xml
@@ -4,7 +4,7 @@
Date Palm
- 200
+ 200
flora/trees/palm_date_dead.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/dead.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/dead.xml
index 33fe613a83..3e638d2072 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/dead.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/dead.xml
@@ -4,7 +4,7 @@
Deciduous Tree
- 200
+ 200
flora/trees/temperate_dead_forest.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/elm.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/elm.xml
index 7f2795774f..7ede90d848 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/elm.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/elm.xml
@@ -4,7 +4,7 @@
Elm
- 200
+ 200
flora/trees/elm.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/elm_dead.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/elm_dead.xml
index 62baa76019..cd4a7023ff 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/elm_dead.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/elm_dead.xml
@@ -4,7 +4,7 @@
Elm
- 200
+ 200
flora/trees/elm_dead.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/euro_beech.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/euro_beech.xml
index f8c135a0ad..32df76f967 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/euro_beech.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/euro_beech.xml
@@ -4,7 +4,7 @@
European Beech
- 200
+ 200
flora/trees/european_beech.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/euro_beech_aut.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/euro_beech_aut.xml
index fbd0f01dee..638244e393 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/euro_beech_aut.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/euro_beech_aut.xml
@@ -4,7 +4,7 @@
European Beech
- 200
+ 200
flora/trees/european_beech_aut.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/euro_birch.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/euro_birch.xml
index b6017edaec..86e3dee3b2 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/euro_birch.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/euro_birch.xml
@@ -4,7 +4,7 @@
Silver Birch
- 300
+ 300
flora/trees/euro_birch_tree.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/fir.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/fir.xml
index f339940d7d..32f3d168c3 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/fir.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/fir.xml
@@ -4,7 +4,7 @@
Fir
- 200
+ 200
flora/trees/fir_tree.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/fir_sapling.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/fir_sapling.xml
index af77283bce..200e973bf2 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/fir_sapling.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/fir_sapling.xml
@@ -4,7 +4,7 @@
Fir Sapling
- 50
+ 50
flora/trees/fir_sapling.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/fir_winter.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/fir_winter.xml
index 1194c078af..63f20c438e 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/fir_winter.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/fir_winter.xml
@@ -4,7 +4,7 @@
Fir
- 200
+ 200
flora/trees/fir_tree_winter.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/juniper_prickly.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/juniper_prickly.xml
index ed240c3b56..9c275663ec 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/juniper_prickly.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/juniper_prickly.xml
@@ -4,7 +4,7 @@
Prickly Juniper
- 200
+ 200
flora/trees/juniper_prickly.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/mangrove.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/mangrove.xml
index 61d1767896..86447a1436 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/mangrove.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/mangrove.xml
@@ -4,7 +4,7 @@
Mangrove
- 200
+ 200
flora/trees/mangrove.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/maple.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/maple.xml
index a9e163de6d..8a12ac89ff 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/maple.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/maple.xml
@@ -4,7 +4,7 @@
Maple
- 300
+ 300
flora/trees/temperate_maple_trees.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/medit_fan_palm.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/medit_fan_palm.xml
index 2ef576d9fd..a5bbeeb0cd 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/medit_fan_palm.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/medit_fan_palm.xml
@@ -4,7 +4,7 @@
Mediterranean Fan Palm
- 200
+ 200
flora/trees/palm_medit_fan_new.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/oak.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/oak.xml
index 7f8989f73c..5345c263e7 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/oak.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/oak.xml
@@ -4,7 +4,7 @@
Oak
- 200
+ 200
flora/trees/oak.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/oak_aut.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/oak_aut.xml
index 92bf736b31..3c957994a3 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/oak_aut.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/oak_aut.xml
@@ -4,7 +4,7 @@
Oak
- 200
+ 200
flora/trees/oak_aut.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/oak_aut_new.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/oak_aut_new.xml
index b1e5031a1b..8277d32ade 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/oak_aut_new.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/oak_aut_new.xml
@@ -4,7 +4,7 @@
Oak
- 200
+ 200
flora/trees/oak_new_aut.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/oak_dead.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/oak_dead.xml
index 8c562e1cf6..feabf5deb8 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/oak_dead.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/oak_dead.xml
@@ -4,7 +4,7 @@
Oak
- 200
+ 200
flora/trees/oak_dead.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/oak_holly.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/oak_holly.xml
index ca20420a99..9d2963ebe8 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/oak_holly.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/oak_holly.xml
@@ -4,7 +4,7 @@
Holly Oak
- 200
+ 200
flora/trees/oak_holly.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/oak_hungarian.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/oak_hungarian.xml
index 8848f15344..364852c994 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/oak_hungarian.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/oak_hungarian.xml
@@ -4,7 +4,7 @@
Hungarian Oak
- 200
+ 200
flora/trees/oak_hungarian.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/oak_hungarian_autumn.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/oak_hungarian_autumn.xml
index dec11d0a8a..0da2d8f267 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/oak_hungarian_autumn.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/oak_hungarian_autumn.xml
@@ -4,7 +4,7 @@
Hungarian Oak
- 200
+ 200
flora/trees/oak_hungarian_autumn.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/oak_large.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/oak_large.xml
index 110b94b5e4..91ab186d54 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/oak_large.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/oak_large.xml
@@ -4,7 +4,7 @@
Large Oak
- 300
+ 300
flora/trees/oak_large.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/oak_new.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/oak_new.xml
index ce8b8f0723..789f9e3c6c 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/oak_new.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/oak_new.xml
@@ -4,7 +4,7 @@
Oak
- 200
+ 200
flora/trees/oak_new.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/palm_areca.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/palm_areca.xml
index 3ed02b0063..d5d05e1eea 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/palm_areca.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/palm_areca.xml
@@ -4,7 +4,7 @@
Areca Palm
- 200
+ 200
flora/trees/palm_areca.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/palm_doum.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/palm_doum.xml
index e23302d501..0ac1c09718 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/palm_doum.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/palm_doum.xml
@@ -4,7 +4,7 @@
Doum Palm
- 200
+ 200
flora/trees/palm_doum.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/palm_palmyra.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/palm_palmyra.xml
index 971cee7de7..51a7276e31 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/palm_palmyra.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/palm_palmyra.xml
@@ -4,7 +4,7 @@
Palmyra Palm
- 200
+ 200
flora/trees/palm_palmyra.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/palm_tropic.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/palm_tropic.xml
index cfe81c8096..f42cddcaf7 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/palm_tropic.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/palm_tropic.xml
@@ -4,7 +4,7 @@
Palm
- 200
+ 200
flora/trees/palm_tropical_tall.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/palm_tropical.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/palm_tropical.xml
index 8d7a1c8c91..755074d8f8 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/palm_tropical.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/palm_tropical.xml
@@ -4,7 +4,7 @@
Tropical Palm
- 200
+ 200
flora/trees/palm_tropical.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/pine.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/pine.xml
index c9ac541959..708de96ff7 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/pine.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/pine.xml
@@ -4,7 +4,7 @@
Pine
- 200
+ 200
flora/trees/pine.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/pine_black.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/pine_black.xml
index 9973a08b36..7ec7ea5e0b 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/pine_black.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/pine_black.xml
@@ -4,7 +4,7 @@
Black Pine
- 200
+ 200
flora/trees/pine_black.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/pine_black_dead.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/pine_black_dead.xml
index 371074915c..a069ad77ee 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/pine_black_dead.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/pine_black_dead.xml
@@ -4,7 +4,7 @@
Black Pine
- 200
+ 200
flora/trees/pine_black_dead.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/pine_maritime.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/pine_maritime.xml
index 560e0cb845..b1cdfbfa29 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/pine_maritime.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/pine_maritime.xml
@@ -4,7 +4,7 @@
Maritime Pine
- 200
+ 200
flora/trees/pine_maritime.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/pine_maritime_short.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/pine_maritime_short.xml
index 2ba39eb437..c16e23c5a5 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/pine_maritime_short.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/pine_maritime_short.xml
@@ -4,7 +4,7 @@
Maritime Pine
- 200
+ 200
flora/trees/pine_maritime_short.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/pine_w.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/pine_w.xml
index 2cd770b587..39f488685b 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/pine_w.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/pine_w.xml
@@ -4,7 +4,7 @@
Pine
- 200
+ 200
flora/trees/pine_w.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/poplar.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/poplar.xml
index 00b4df92b7..a1887c8341 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/poplar.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/poplar.xml
@@ -4,7 +4,7 @@
Poplar
- 200
+ 200
flora/trees/poplar.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/poplar_dead.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/poplar_dead.xml
index 80ce58765f..3a86a07aeb 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/poplar_dead.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/poplar_dead.xml
@@ -4,7 +4,7 @@
Poplar
- 200
+ 200
flora/trees/poplar_dead.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/poplar_lombardy.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/poplar_lombardy.xml
index 9475c85840..9a39042356 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/poplar_lombardy.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/poplar_lombardy.xml
@@ -4,7 +4,7 @@
Black Poplar
- 200
+ 200
flora/trees/poplar_lombardy.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/poplar_lombardy_autumn.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/poplar_lombardy_autumn.xml
index 4ff40341ac..a95de1b890 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/poplar_lombardy_autumn.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/poplar_lombardy_autumn.xml
@@ -4,7 +4,7 @@
Poplar
- 200
+ 200
flora/trees/poplar_autumn.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/poplar_lombardy_dead.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/poplar_lombardy_dead.xml
index e08c4fc997..112ccbceed 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/poplar_lombardy_dead.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/poplar_lombardy_dead.xml
@@ -4,7 +4,7 @@
Black Poplar
- 200
+ 200
flora/trees/poplar_lombardy_dead.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/senegal_date_palm.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/senegal_date_palm.xml
index 68127ecf71..f5ad900e77 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/senegal_date_palm.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/senegal_date_palm.xml
@@ -4,7 +4,7 @@
Senegal Date Palm
- 200
+ 200
flora/trees/palm_senegal_date.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/strangler.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/strangler.xml
index 17bb8b3757..e9b5310ce6 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/strangler.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/strangler.xml
@@ -11,7 +11,7 @@
- 500
+ 500
10
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/tamarix.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/tamarix.xml
index 72327798a7..d1623da80a 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/tamarix.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/tamarix.xml
@@ -4,7 +4,7 @@
Tamarix
- 200
+ 200
flora/trees/tamarix.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/teak.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/teak.xml
index 9d1087fb7b..4e6c97c14a 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/teak.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/teak.xml
@@ -11,7 +11,7 @@
- 500
+ 500
flora/trees/teak.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/temperate.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/temperate.xml
index 955750382b..d489d0fcf3 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/temperate.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/temperate.xml
@@ -4,7 +4,7 @@
Deciduous Tree
- 200
+ 200
flora/trees/temperate_forest_biome_tree.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/temperate_autumn.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/temperate_autumn.xml
index 80f5036713..7e37758152 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/temperate_autumn.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/temperate_autumn.xml
@@ -4,7 +4,7 @@
Deciduous Tree
- 200
+ 200
flora/trees/temperate_forest_biome_tree_autumn.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/temperate_winter.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/temperate_winter.xml
index eef73fff3d..5161502ca2 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/temperate_winter.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/temperate_winter.xml
@@ -4,7 +4,7 @@
Deciduous Tree
- 200
+ 200
flora/trees/temperate_forest_biome_tree_winter.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/toona.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/toona.xml
index a51a6a648d..5ccfa62f9b 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/toona.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/toona.xml
@@ -4,7 +4,7 @@
Toona
- 200
+ 200
flora/trees/tree_tropic.xml
diff --git a/binaries/data/mods/public/simulation/templates/gaia/tree/tropic_rainforest.xml b/binaries/data/mods/public/simulation/templates/gaia/tree/tropic_rainforest.xml
index a592a4b461..6eb707eed2 100644
--- a/binaries/data/mods/public/simulation/templates/gaia/tree/tropic_rainforest.xml
+++ b/binaries/data/mods/public/simulation/templates/gaia/tree/tropic_rainforest.xml
@@ -4,7 +4,7 @@
Rainforest Tree
- 200
+ 200
flora/trees/tropic_forest_biome_tree.xml
diff --git a/binaries/data/mods/public/simulation/templates/template_gaia_fish.xml b/binaries/data/mods/public/simulation/templates/template_gaia_fish.xml
index 5a7aa7b725..3c46f95b11 100644
--- a/binaries/data/mods/public/simulation/templates/template_gaia_fish.xml
+++ b/binaries/data/mods/public/simulation/templates/template_gaia_fish.xml
@@ -26,7 +26,7 @@
false
- 1000
+ 1000
food.fish
4
diff --git a/binaries/data/mods/public/simulation/templates/template_gaia_fruit.xml b/binaries/data/mods/public/simulation/templates/template_gaia_fruit.xml
index 14e5e2dcb5..2c373e0a5b 100644
--- a/binaries/data/mods/public/simulation/templates/template_gaia_fruit.xml
+++ b/binaries/data/mods/public/simulation/templates/template_gaia_fruit.xml
@@ -20,7 +20,7 @@
false
- 1
+ 1
food.fruit
8
diff --git a/binaries/data/mods/public/simulation/templates/template_gaia_ore.xml b/binaries/data/mods/public/simulation/templates/template_gaia_ore.xml
index 9d68738531..4684403760 100644
--- a/binaries/data/mods/public/simulation/templates/template_gaia_ore.xml
+++ b/binaries/data/mods/public/simulation/templates/template_gaia_ore.xml
@@ -21,7 +21,7 @@
false
- 1000
+ 1000
metal.ore
12
diff --git a/binaries/data/mods/public/simulation/templates/template_gaia_ore_large.xml b/binaries/data/mods/public/simulation/templates/template_gaia_ore_large.xml
index 70d9e83056..e44345d2c1 100644
--- a/binaries/data/mods/public/simulation/templates/template_gaia_ore_large.xml
+++ b/binaries/data/mods/public/simulation/templates/template_gaia_ore_large.xml
@@ -8,7 +8,7 @@
- 5000
+ 5000
24
diff --git a/binaries/data/mods/public/simulation/templates/template_gaia_rock.xml b/binaries/data/mods/public/simulation/templates/template_gaia_rock.xml
index fa7edf5fb0..436c83453f 100644
--- a/binaries/data/mods/public/simulation/templates/template_gaia_rock.xml
+++ b/binaries/data/mods/public/simulation/templates/template_gaia_rock.xml
@@ -21,7 +21,7 @@
false
- 1000
+ 1000
stone.rock
12
diff --git a/binaries/data/mods/public/simulation/templates/template_gaia_rock_large.xml b/binaries/data/mods/public/simulation/templates/template_gaia_rock_large.xml
index 411a8430fb..9fd481f7af 100644
--- a/binaries/data/mods/public/simulation/templates/template_gaia_rock_large.xml
+++ b/binaries/data/mods/public/simulation/templates/template_gaia_rock_large.xml
@@ -8,7 +8,7 @@
- 5000
+ 5000
24
diff --git a/binaries/data/mods/public/simulation/templates/template_gaia_ruins.xml b/binaries/data/mods/public/simulation/templates/template_gaia_ruins.xml
index 5fe76b1224..61dbe93608 100644
--- a/binaries/data/mods/public/simulation/templates/template_gaia_ruins.xml
+++ b/binaries/data/mods/public/simulation/templates/template_gaia_ruins.xml
@@ -18,7 +18,7 @@
false
- 500
+ 500
stone.ruins
1
diff --git a/binaries/data/mods/public/simulation/templates/template_gaia_treasure.xml b/binaries/data/mods/public/simulation/templates/template_gaia_treasure.xml
index f4967c11a2..92ff275153 100644
--- a/binaries/data/mods/public/simulation/templates/template_gaia_treasure.xml
+++ b/binaries/data/mods/public/simulation/templates/template_gaia_treasure.xml
@@ -18,7 +18,7 @@
false
- 300
+ 300
1
diff --git a/binaries/data/mods/public/simulation/templates/template_gaia_tree.xml b/binaries/data/mods/public/simulation/templates/template_gaia_tree.xml
index 403f2b2721..be256fa46a 100644
--- a/binaries/data/mods/public/simulation/templates/template_gaia_tree.xml
+++ b/binaries/data/mods/public/simulation/templates/template_gaia_tree.xml
@@ -20,7 +20,7 @@
false
- 1
+ 1
wood.tree
8
diff --git a/binaries/data/mods/public/simulation/templates/template_structure_resource_corral.xml b/binaries/data/mods/public/simulation/templates/template_structure_resource_corral.xml
index 56600f231e..1cfaadae69 100644
--- a/binaries/data/mods/public/simulation/templates/template_structure_resource_corral.xml
+++ b/binaries/data/mods/public/simulation/templates/template_structure_resource_corral.xml
@@ -1,5 +1,8 @@
+
+ structures/corral
+
50
diff --git a/binaries/data/mods/public/simulation/templates/template_structure_resource_field.xml b/binaries/data/mods/public/simulation/templates/template_structure_resource_field.xml
index eb0b359dcb..ef9d41c1dc 100644
--- a/binaries/data/mods/public/simulation/templates/template_structure_resource_field.xml
+++ b/binaries/data/mods/public/simulation/templates/template_structure_resource_field.xml
@@ -45,7 +45,7 @@
false
- Infinity
+ Infinity
food.grain
5
0.90
diff --git a/binaries/data/mods/public/simulation/templates/template_unit_fauna_herd.xml b/binaries/data/mods/public/simulation/templates/template_unit_fauna_herd.xml
index 9e37e44678..9cfdece3f0 100644
--- a/binaries/data/mods/public/simulation/templates/template_unit_fauna_herd.xml
+++ b/binaries/data/mods/public/simulation/templates/template_unit_fauna_herd.xml
@@ -5,7 +5,7 @@
true
- 100
+ 100
food.meat
8
diff --git a/binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt.xml b/binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt.xml
index 8e4535e0d2..14a10fc4e3 100644
--- a/binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt.xml
+++ b/binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt.xml
@@ -8,7 +8,7 @@
true
- 100
+ 100
food.meat
8
diff --git a/binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_aggressive_bear.xml b/binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_aggressive_bear.xml
index 57b298f10b..0d09d40646 100644
--- a/binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_aggressive_bear.xml
+++ b/binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_aggressive_bear.xml
@@ -13,7 +13,7 @@
- 300
+ 300
diff --git a/binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_skittish_elephant_infant.xml b/binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_skittish_elephant_infant.xml
index 1eb8660312..27c106c54b 100644
--- a/binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_skittish_elephant_infant.xml
+++ b/binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_skittish_elephant_infant.xml
@@ -4,7 +4,7 @@
Elephant
- 100
+ 100
diff --git a/binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_whale.xml b/binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_whale.xml
index dfbab7cc32..71c8e25bd4 100644
--- a/binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_whale.xml
+++ b/binaries/data/mods/public/simulation/templates/template_unit_fauna_hunt_whale.xml
@@ -20,7 +20,7 @@
true
- 2000
+ 2000
food.fish
5