Index: binaries/data/mods/public/simulation/ai/common-api/entity.js
===================================================================
--- binaries/data/mods/public/simulation/ai/common-api/entity.js
+++ binaries/data/mods/public/simulation/ai/common-api/entity.js
@@ -98,18 +98,22 @@
return 0;
},
- "cost": function(productionQueue) {
+ "cost": function(trainer) {
if (!this.get("Cost"))
return {};
- let ret = {};
- for (let type in this.get("Cost/Resources"))
+ const ret = {};
+ for (const type in this.get("Cost/Resources"))
+ {
ret[type] = +this.get("Cost/Resources/" + type);
+ if (trainer)
+ ret[type] *= trainer.trainCostMultiplier(type);
+ }
return ret;
},
- "costSum": function(productionQueue) {
- let cost = this.cost(productionQueue);
+ "costSum": function(trainer) {
+ const cost = this.cost(trainer);
if (!cost)
return 0;
let ret = 0;
@@ -122,6 +126,10 @@
return +(this.get("Researcher/TechCostMultiplier/"+type) || 1);
},
+ "trainCostMultiplier": function(type) {
+ return +(this.get("Trainer/TrainCostMultiplier/" + type) || 1);
+ },
+
/**
* Returns { "max": max, "min": min } or undefined if no obstruction.
* max: radius of the outer circle surrounding this entity's obstruction shape
Index: binaries/data/mods/public/simulation/components/GuiInterface.js
===================================================================
--- binaries/data/mods/public/simulation/components/GuiInterface.js
+++ binaries/data/mods/public/simulation/components/GuiInterface.js
@@ -361,7 +361,8 @@
const cmpTrainer = Engine.QueryInterface(ent, IID_Trainer);
if (cmpTrainer)
ret.trainer = {
- "entities": cmpTrainer.GetEntitiesList()
+ "entities": cmpTrainer.GetEntitiesList(),
+ "trainCostMultiplier": cmpTrainer.GetTrainCostMultiplier()
};
let cmpTrader = Engine.QueryInterface(ent, IID_Trader);
Index: binaries/data/mods/public/simulation/components/Trainer.js
===================================================================
--- binaries/data/mods/public/simulation/components/Trainer.js
+++ binaries/data/mods/public/simulation/components/Trainer.js
@@ -20,6 +20,11 @@
"" +
"" +
"" +
+ "" +
+ "" +
+ "" +
+ Resources.BuildSchema("nonNegativeDecimal", ["time"]) +
+ "" +
"";
/**