Index: binaries/data/mods/public/globalscripts/Templates.js
===================================================================
--- binaries/data/mods/public/globalscripts/Templates.js (révision 18205)
+++ binaries/data/mods/public/globalscripts/Templates.js (copie de travail)
@@ -245,10 +245,17 @@ function GetTemplateDataHelper(template,
};
if (template.UnitMotion.Run)
ret.speed.run = func("UnitMotion/Run/Speed", +template.UnitMotion.Run.Speed, player, template);
}
+ if (template.ProductionQueue)
+ {
+ ret.techCostMultiplier = {};
+ for (let res in template.ProductionQueue.TechCostMultiplier)
+ ret.techCostMultiplier[res] = func("ProductionQueue/TechCostMultiplier/"+res, +template.ProductionQueue.TechCostMultiplier[res], player, template);
+ }
+
if (template.Trader)
{
ret.trader = {
"GainMultiplier": func("Trader/GainMultiplier", +template.Trader.GainMultiplier, player, template)
};
Index: binaries/data/mods/public/gui/session/selection_panels.js
===================================================================
--- binaries/data/mods/public/gui/session/selection_panels.js (révision 18205)
+++ binaries/data/mods/public/gui/session/selection_panels.js (copie de travail)
@@ -802,10 +802,15 @@ g_SelectionPanels.Research = {
data.entType = data.item.pair ? [data.item.top, data.item.bottom] : [data.item];
data.template = data.entType.map(GetTechnologyData);
// abort if no template found for any of the techs
if (data.template.some(v => !v))
return false;
+
+ for (let template of data.template)
+ for (let res in template.cost)
+ template.cost[res] *= data.unitEntState.production.techCostMultiplier[res];
+
// index one row below
var shiftedIndex = data.i + data.rowLength;
data.positions = data.item.pair ? [data.i, shiftedIndex] : [shiftedIndex];
data.positionsToHide = data.item.pair ? [] : [data.i];
Index: binaries/data/mods/public/gui/structree/draw.js
===================================================================
--- binaries/data/mods/public/gui/structree/draw.js (révision 18205)
+++ binaries/data/mods/public/gui/structree/draw.js (copie de travail)
@@ -69,10 +69,13 @@ function draw()
if (stru.production.technology[prod_pha])
{
for (let prod of stru.production.technology[prod_pha])
{
prod = (depath(prod).slice(0,5) == "phase") ? g_ParsedData.phases[prod] : g_ParsedData.techs[prod];
+ if (prod.cost && stru.techCostMultiplier)
+ for (let res in prod.cost)
+ prod.cost[res] *= stru.techCostMultiplier[res];
if (!drawProdIcon(i, s, r, p, prod))
break;
p++;
}
}
Index: binaries/data/mods/public/simulation/components/GuiInterface.js
===================================================================
--- binaries/data/mods/public/simulation/components/GuiInterface.js (révision 18205)
+++ binaries/data/mods/public/simulation/components/GuiInterface.js (copie de travail)
@@ -306,11 +306,12 @@ GuiInterface.prototype.GetEntityState =
let cmpProductionQueue = Engine.QueryInterface(ent, IID_ProductionQueue);
if (cmpProductionQueue)
ret.production = {
"entities": cmpProductionQueue.GetEntitiesList(),
"technologies": cmpProductionQueue.GetTechnologiesList(),
- "queue": cmpProductionQueue.GetQueue(),
+ "techCostMultiplier": cmpProductionQueue.GetTechCostMultiplier(),
+ "queue": cmpProductionQueue.GetQueue()
};
let cmpTrader = Engine.QueryInterface(ent, IID_Trader);
if (cmpTrader)
ret.trader = {
Index: binaries/data/mods/public/simulation/components/ProductionQueue.js
===================================================================
--- binaries/data/mods/public/simulation/components/ProductionQueue.js (révision 18205)
+++ binaries/data/mods/public/simulation/components/ProductionQueue.js (copie de travail)
@@ -27,11 +27,20 @@ ProductionQueue.prototype.Schema =
"" +
"tokens" +
"" +
"" +
"" +
- "";
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "";
ProductionQueue.prototype.Init = function()
{
this.nextID = 1;
@@ -214,10 +223,18 @@ ProductionQueue.prototype.GetTechnologie
}
return ret;
};
+ProductionQueue.prototype.GetTechCostMultiplier = function()
+{
+ let techCostMultiplier = {}
+ for (let res in this.template.TechCostMultiplier)
+ techCostMultiplier[res] = ApplyValueModificationsToEntity("ProductionQueue/TechCostMultiplier/"+res, +this.template.TechCostMultiplier[res], this.entity);
+ return techCostMultiplier;
+};
+
ProductionQueue.prototype.IsTechnologyResearchedOrInProgress = function(tech)
{
if (!tech)
return false;
@@ -319,16 +336,17 @@ ProductionQueue.prototype.AddBatch = fun
var cmpDataTemplateManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_DataTemplateManager);
var template = cmpDataTemplateManager.GetTechnologyTemplate(templateName);
if (!template)
return;
var cmpPlayer = QueryOwnerInterface(this.entity);
- var time = template.researchTime * cmpPlayer.GetCheatTimeMultiplier();
+ let techCostMultiplier = this.GetTechCostMultiplier();
+ let time = techCostMultiplier.time * template.researchTime * cmpPlayer.GetCheatTimeMultiplier();
var cost = {};
- for each (var r in ["food", "wood", "stone", "metal"])
- cost[r] = Math.floor(template.cost[r]);
-
+ for (let res in template.cost)
+ cost[res] = Math.floor(techCostMultiplier[res] * template.cost[res]);
+
// TrySubtractResources should report error to player (they ran out of resources)
if (!cmpPlayer.TrySubtractResources(cost))
return;
// Tell the technology manager that we have started researching this so that people can't research the same
Index: binaries/data/mods/public/simulation/data/auras/maur_hero_ashoka.json
===================================================================
--- binaries/data/mods/public/simulation/data/auras/maur_hero_ashoka.json (nonexistent)
+++ binaries/data/mods/public/simulation/data/auras/maur_hero_ashoka.json (copie de travail)
@@ -0,0 +1,15 @@
+{
+ "type": "global",
+ "affectedPlayers": ["MutualAlly"],
+ "affects": ["Temple"],
+ "modifications": [
+ { "value": "ProductionQueue/TechCostMultiplier/wood", "multiply": 0.5 },
+ { "value": "ProductionQueue/TechCostMultiplier/food", "multiply": 0.5 },
+ { "value": "ProductionQueue/TechCostMultiplier/metal", "multiply": 0.5 },
+ { "value": "ProductionQueue/TechCostMultiplier/stone", "multiply": 0.5 },
+ { "value": "ProductionQueue/TechCostMultiplier/time", "multiply": 0.5 }
+ ],
+ "auraDescription": "All allied Temple technologies -50% cost and -50% research time.",
+ "auraName": "Evangelism Aura",
+ "overlayIcon": "art/textures/ui/session/auras/build_bonus.png"
+}
Index: binaries/data/mods/public/simulation/data/auras/maur_hero_chanakya.json
===================================================================
--- binaries/data/mods/public/simulation/data/auras/maur_hero_chanakya.json (nonexistent)
+++ binaries/data/mods/public/simulation/data/auras/maur_hero_chanakya.json (copie de travail)
@@ -0,0 +1,10 @@
+{
+ "type": "garrison",
+ "affects": ["Structure"],
+ "modifications": [
+ { "value": "ProductionQueue/TechCostMultiplier/time", "multiply": 0.5 }
+ ],
+ "auraDescription": "Empower a building with -50% research time.",
+ "auraName": "Teacher Aura",
+ "overlayIcon": "art/textures/ui/session/auras/build_bonus.png"
+}
Index: binaries/data/mods/public/simulation/templates/other/bench.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/other/bench.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/other/bench.xml (copie de travail)
@@ -32,10 +32,11 @@
+
6.0
4
Index: binaries/data/mods/public/simulation/templates/other/bridge_hele.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/other/bridge_hele.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/other/bridge_hele.xml (copie de travail)
@@ -22,10 +22,11 @@
+
72
Index: binaries/data/mods/public/simulation/templates/other/bridge_wooden.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/other/bridge_wooden.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/other/bridge_wooden.xml (copie de travail)
@@ -21,10 +21,11 @@
+
Index: binaries/data/mods/public/simulation/templates/other/column_doric.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/other/column_doric.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/other/column_doric.xml (copie de travail)
@@ -30,10 +30,11 @@
0
+
8.0
4
Index: binaries/data/mods/public/simulation/templates/other/column_doric_fallen.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/other/column_doric_fallen.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/other/column_doric_fallen.xml (copie de travail)
@@ -29,10 +29,11 @@
0
+
6.0
4
Index: binaries/data/mods/public/simulation/templates/other/column_doric_fallen_b.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/other/column_doric_fallen_b.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/other/column_doric_fallen_b.xml (copie de travail)
@@ -30,10 +30,11 @@
0
+
6.0
4
Index: binaries/data/mods/public/simulation/templates/other/fence_long.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/other/fence_long.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/other/fence_long.xml (copie de travail)
@@ -33,10 +33,11 @@
+
6.0
Index: binaries/data/mods/public/simulation/templates/other/fence_short.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/other/fence_short.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/other/fence_short.xml (copie de travail)
@@ -33,10 +33,11 @@
+
6.0
Index: binaries/data/mods/public/simulation/templates/other/fence_stone.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/other/fence_stone.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/other/fence_stone.xml (copie de travail)
@@ -30,10 +30,11 @@
0
+
6.0
Index: binaries/data/mods/public/simulation/templates/other/hellenic_propylaea.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/other/hellenic_propylaea.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/other/hellenic_propylaea.xml (copie de travail)
@@ -36,10 +36,11 @@
75
+
false
40
65535
Index: binaries/data/mods/public/simulation/templates/other/hellenic_stoa.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/other/hellenic_stoa.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/other/hellenic_stoa.xml (copie de travail)
@@ -36,10 +36,11 @@
50
+
false
36
65535
Index: binaries/data/mods/public/simulation/templates/other/obelisk.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/other/obelisk.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/other/obelisk.xml (copie de travail)
@@ -31,10 +31,11 @@
200
+
12
Index: binaries/data/mods/public/simulation/templates/other/table_rectangle.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/other/table_rectangle.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/other/table_rectangle.xml (copie de travail)
@@ -32,10 +32,11 @@
+
6.0
Index: binaries/data/mods/public/simulation/templates/other/table_square.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/other/table_square.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/other/table_square.xml (copie de travail)
@@ -32,10 +32,11 @@
+
6.0
Index: binaries/data/mods/public/simulation/templates/structures/athen_theatron.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/athen_theatron.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/structures/athen_theatron.xml (copie de travail)
@@ -29,10 +29,11 @@
structures/theatron.png
+
interface/complete/building/complete_greek_theater.xml
attack/destruction/building_collapse_large.xml
Index: binaries/data/mods/public/simulation/templates/structures/brit_rotarymill.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/brit_rotarymill.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/structures/brit_rotarymill.xml (copie de travail)
@@ -26,10 +26,11 @@
structures/rotarymill.png
+
interface/complete/building/complete_ffactri.xml
Index: binaries/data/mods/public/simulation/templates/structures/gaul_rotarymill.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/gaul_rotarymill.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/structures/gaul_rotarymill.xml (copie de travail)
@@ -26,10 +26,11 @@
structures/rotarymill.png
+
interface/complete/building/complete_ffactri.xml
Index: binaries/data/mods/public/simulation/templates/structures/iber_monument.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/iber_monument.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/structures/iber_monument.xml (copie de travail)
@@ -33,10 +33,11 @@
The Iberians were a religious people who built small monuments to their various gods. These monuments could also serve as family tombs.
+
interface/complete/building/complete_iber_monument.xml
Index: binaries/data/mods/public/simulation/templates/structures/mace_theatron.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/mace_theatron.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/structures/mace_theatron.xml (copie de travail)
@@ -29,10 +29,11 @@
structures/theatron.png
+
interface/complete/building/complete_greek_theater.xml
attack/destruction/building_collapse_large.xml
Index: binaries/data/mods/public/simulation/templates/structures/pers_ishtar_gate.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/pers_ishtar_gate.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/structures/pers_ishtar_gate.xml (copie de travail)
@@ -33,10 +33,11 @@
+
true
special/pers_ishtar_gate.xml
Index: binaries/data/mods/public/simulation/templates/structures/pers_palace.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/pers_palace.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/structures/pers_palace.xml (copie de travail)
@@ -28,10 +28,11 @@
structures/palace.png
+
true
48
Index: binaries/data/mods/public/simulation/templates/structures/ptol_lighthouse.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/ptol_lighthouse.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/structures/ptol_lighthouse.xml (copie de travail)
@@ -26,10 +26,11 @@
true
+
interface/complete/building/complete_temple.xml
attack/destruction/building_collapse_large.xml
@@ -45,6 +46,6 @@
structures/ptolemies/lighthouse.xml
structures/fndn_4x4_dock.xml
-
\ Pas de fin de ligne à la fin du fichier
+
Index: binaries/data/mods/public/simulation/templates/structures/rome_arch.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/rome_arch.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/structures/rome_arch.xml (copie de travail)
@@ -25,10 +25,11 @@
structures/arch.png
+
interface/complete/building/complete_theatre.xml
Index: binaries/data/mods/public/simulation/templates/structures/spart_theatron.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/spart_theatron.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/structures/spart_theatron.xml (copie de travail)
@@ -29,10 +29,11 @@
structures/theatron.png
+
interface/complete/building/complete_greek_theater.xml
attack/destruction/building_collapse_large.xml
Index: binaries/data/mods/public/simulation/templates/structures/theb_theatron.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/theb_theatron.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/structures/theb_theatron.xml (copie de travail)
@@ -29,10 +29,11 @@
structures/theatron.png
+
interface/complete/building/complete_theatre.xml
attack/destruction/building_collapse_large.xml
Index: binaries/data/mods/public/simulation/templates/template_structure.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_structure.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/template_structure.xml (copie de travail)
@@ -69,10 +69,19 @@
true
false
false
+
+
+ 1.0
+ 1.0
+ 1.0
+ 1.0
+
+
+
special/rallypoint
art/textures/misc/rallypoint_line.png
art/textures/misc/rallypoint_line_mask.png
Index: binaries/data/mods/public/simulation/templates/template_structure_defense_wall.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_structure_defense_wall.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/template_structure_defense_wall.xml (copie de travail)
@@ -37,10 +37,11 @@
0
+
interface/complete/building/complete_wall.xml
Index: binaries/data/mods/public/simulation/templates/template_structure_defense_wall_gate.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_structure_defense_wall_gate.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/template_structure_defense_wall_gate.xml (copie de travail)
@@ -43,10 +43,11 @@
+
interface/complete/building/complete_gate.xml
Index: binaries/data/mods/public/simulation/templates/template_structure_military_blacksmith.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_structure_military_blacksmith.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/template_structure_military_blacksmith.xml (copie de travail)
@@ -15,11 +15,11 @@
1
0.1
Unit
- Infantry
+ Infantry Healer
0
2
2000
Index: binaries/data/mods/public/simulation/templates/template_structure_resource_field.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_structure_resource_field.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/template_structure_resource_field.xml (copie de travail)
@@ -43,10 +43,11 @@
false
false
+
false
Infinity
food.grain
Index: binaries/data/mods/public/simulation/templates/units/athen_ship_trireme.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/units/athen_ship_trireme.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/units/athen_ship_trireme.xml (copie de travail)
@@ -11,10 +11,17 @@
0.7
units/athen_infantry_marine_archer_b
units/athen_champion_marine
+
+ 1.0
+ 1.0
+ 1.0
+ 1.0
+
+
structures/athenians/trireme.xml
Index: binaries/data/mods/public/simulation/templates/units/maur_hero_ashoka.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/units/maur_hero_ashoka.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/units/maur_hero_ashoka.xml (copie de travail)
@@ -1,7 +1,8 @@
+ maur_hero_ashoka
5.0
Index: binaries/data/mods/public/simulation/templates/units/maur_hero_chanakya.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/units/maur_hero_chanakya.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/units/maur_hero_chanakya.xml (copie de travail)
@@ -3,37 +3,37 @@
4.0
8.0
4.0
-
- 20
- 12
- 2000
-
- Human
-
+ maur_hero_chanakya
2
60
100
250
+
+ 20
+ 12
+ 2000
+
+ Human
+
600
maur
- Human Organic
+ Human Organic Support
Hero Healer
Acharya Chanakya
Acharya Chāṇakya
units/maur_hero_chanakya.png
Hero Special: "Healer" - Heal units at an accelerated rate.
-Hero Special: "Teacher" - Empower a building to research and train +50% faster.
Hero Special: "Philosopher" - Research 4 special technologies only available to Chanakya.
phase_city
hero
Index: binaries/data/mods/public/simulation/templates/units/maur_hero_maurya.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/units/maur_hero_maurya.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/units/maur_hero_maurya.xml (copie de travail)
@@ -9,10 +9,17 @@
0.7
units/maur_champion_maiden_archer
+
+ 1.0
+ 1.0
+ 1.0
+ 1.0
+
+
units/mauryans/elephant_hero.xml
Index: binaries/data/mods/public/simulation/templates/units/pers_hero_cyrus.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/units/pers_hero_cyrus.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/units/pers_hero_cyrus.xml (copie de travail)
@@ -11,10 +11,17 @@
0.7
units/pers_champion_infantry
+
+ 1.0
+ 1.0
+ 1.0
+ 1.0
+
+
units/persians/hero_cyrus.xml
Index: binaries/data/mods/public/simulation/templates/units/pers_ship_trireme.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/units/pers_ship_trireme.xml (révision 18205)
+++ binaries/data/mods/public/simulation/templates/units/pers_ship_trireme.xml (copie de travail)
@@ -15,10 +15,17 @@
0.8
units/pers_cavalry_swordsman_b_trireme
units/pers_cavalry_javelinist_b_trireme
+
+ 1.0
+ 1.0
+ 1.0
+ 1.0
+
+
structures/persians/trireme.xml