Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/helpers/InitGame.js
Show All 37 Lines | function InitGame(settings) | ||||
{ | { | ||||
let cmpRangeManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager); | let cmpRangeManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager); | ||||
for (let i = 1; i < settings.PlayerData.length; ++i) | for (let i = 1; i < settings.PlayerData.length; ++i) | ||||
cmpRangeManager.ExploreMap(i); | cmpRangeManager.ExploreMap(i); | ||||
} | } | ||||
// Sandbox, Very Easy, Easy, Medium, Hard, Very Hard | // Sandbox, Very Easy, Easy, Medium, Hard, Very Hard | ||||
// rate apply on resource stockpiling as gathering and trading | // rate apply on resource stockpiling as gathering and trading | ||||
// time apply on building, upgrading, packing, training and technologies | // time apply on building, upgrading, packing, training and technologies | ||||
marder: TODO: add a comment here | |||||
let rate = [ 0.42, 0.56, 0.75, 1.00, 1.25, 1.56 ]; | let rate = [ 0.42, 0.56, 0.75, 1.00, 1.25, 1.56 ]; | ||||
let time = [ 1.40, 1.25, 1.10, 1.00, 1.00, 1.00 ]; | let time = [ 1.40, 1.25, 1.10, 1.00, 1.00, 1.00 ]; | ||||
let distance = [ 0, 0, 0, 0, 15, 15 ]; | |||||
Lint: prefer-const 'distance' is never reassigned. Use 'const' instead. Lint: prefer-const: 'distance' is never reassigned. Use 'const' instead. | |||||
marderAuthorUnsubmitted Done Inline ActionsShould I use const or stay with let for modding purposes? marder: Should I use const or stay with let for modding purposes? | |||||
FreagarachUnsubmitted Not Done Inline Actions(const vs let vs var doesn't play within functions.) Freagarach: (`const` vs `let` vs `var` doesn't play within functions.) | |||||
let cmpModifiersManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ModifiersManager); | let cmpModifiersManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ModifiersManager); | ||||
let cmpAIManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_AIManager); | let cmpAIManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_AIManager); | ||||
for (let i = 0; i < settings.PlayerData.length; ++i) | for (let i = 0; i < settings.PlayerData.length; ++i) | ||||
{ | { | ||||
let cmpPlayer = QueryPlayerIDInterface(i); | let cmpPlayer = QueryPlayerIDInterface(i); | ||||
cmpPlayer.SetCheatsEnabled(!!settings.CheatsEnabled); | cmpPlayer.SetCheatsEnabled(!!settings.CheatsEnabled); | ||||
if (settings.PlayerData[i] && !!settings.PlayerData[i].AI) | if (settings.PlayerData[i] && !!settings.PlayerData[i].AI) | ||||
{ | { | ||||
let AIDiff = +settings.PlayerData[i].AIDiff; | let AIDiff = +settings.PlayerData[i].AIDiff; | ||||
cmpAIManager.AddPlayer(settings.PlayerData[i].AI, i, AIDiff, settings.PlayerData[i].AIBehavior || "random"); | cmpAIManager.AddPlayer(settings.PlayerData[i].AI, i, AIDiff, settings.PlayerData[i].AIBehavior || "random"); | ||||
cmpPlayer.SetAI(true); | cmpPlayer.SetAI(true); | ||||
AIDiff = Math.min(AIDiff, rate.length - 1); | AIDiff = Math.min(AIDiff, rate.length - 1); | ||||
cmpModifiersManager.AddModifiers("AI Bonus", { | cmpModifiersManager.AddModifiers("AI Bonus", { | ||||
FreagarachUnsubmitted Not Done Inline ActionsThis should be moved to PetraAI. Freagarach: This should be moved to PetraAI. | |||||
"ResourceGatherer/BaseSpeed": [{ "affects": ["Unit", "Structure"], "multiply": rate[AIDiff] }], | "ResourceGatherer/BaseSpeed": [{ "affects": ["Unit", "Structure"], "multiply": rate[AIDiff] }], | ||||
"Trader/GainMultiplier": [{ "affects": ["Unit", "Structure"], "multiply": rate[AIDiff] }], | "Trader/GainMultiplier": [{ "affects": ["Unit", "Structure"], "multiply": rate[AIDiff] }], | ||||
"Cost/BuildTime": [{ "affects": ["Unit", "Structure"], "multiply": time[AIDiff] }], | "Cost/BuildTime": [{ "affects": ["Unit", "Structure"], "multiply": time[AIDiff] }], | ||||
"Attack/Ranged/MinRange": [{ "affects": ["Ranged"], "replace": distance[AIDiff]}], | |||||
Lint: object-curly-spacing A space is required before '}'. Lint: object-curly-spacing: A space is required before '}'. | |||||
}, cmpPlayer.entity); | }, cmpPlayer.entity); | ||||
} | } | ||||
if (settings.PopulationCap) | if (settings.PopulationCap) | ||||
cmpPlayer.SetMaxPopulation(settings.PopulationCap); | cmpPlayer.SetMaxPopulation(settings.PopulationCap); | ||||
if (settings.AllyView) | if (settings.AllyView) | ||||
Engine.QueryInterface(cmpPlayer.entity, IID_TechnologyManager)?.ResearchTechnology(cmpPlayer.template.SharedLosTech); | Engine.QueryInterface(cmpPlayer.entity, IID_TechnologyManager)?.ResearchTechnology(cmpPlayer.template.SharedLosTech); | ||||
Show All 16 Lines |
Wildfire Games · Phabricator
TODO: add a comment here