forked from mirrors/0ad
Fix eslint rule 'prefer-const' in components/tests/[A-R]*
eslint --no-config-lookup --fix --rule '"prefer-const": 1' \
binaries/data/mods/public/simulation/components/tests
Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
This commit is contained in:
@@ -38,7 +38,7 @@ let entityID = 903;
|
||||
|
||||
function attackComponentTest(defenderClass, isEnemy, test_function)
|
||||
{
|
||||
let playerEnt1 = 5;
|
||||
const playerEnt1 = 5;
|
||||
|
||||
AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|
||||
"GetPlayerByID": () => playerEnt1
|
||||
@@ -52,7 +52,7 @@ function attackComponentTest(defenderClass, isEnemy, test_function)
|
||||
"IsEnemy": () => isEnemy
|
||||
});
|
||||
|
||||
let attacker = entityID;
|
||||
const attacker = entityID;
|
||||
|
||||
AddMock(attacker, IID_Position, {
|
||||
"IsInWorld": () => true,
|
||||
@@ -64,7 +64,7 @@ function attackComponentTest(defenderClass, isEnemy, test_function)
|
||||
"GetOwner": () => 1
|
||||
});
|
||||
|
||||
let cmpAttack = ConstructComponent(attacker, "Attack", {
|
||||
const cmpAttack = ConstructComponent(attacker, "Attack", {
|
||||
"Melee": {
|
||||
"Damage": {
|
||||
"Hack": 11,
|
||||
@@ -157,7 +157,7 @@ function attackComponentTest(defenderClass, isEnemy, test_function)
|
||||
}
|
||||
});
|
||||
|
||||
let defender = ++entityID;
|
||||
const defender = ++entityID;
|
||||
|
||||
AddMock(defender, IID_Identity, {
|
||||
"GetClassesList": () => [defenderClass],
|
||||
@@ -281,14 +281,14 @@ attackComponentTest(undefined, true, (attacker, cmpAttack, defender) => {
|
||||
});
|
||||
});
|
||||
|
||||
for (let className of ["Infantry", "Cavalry"])
|
||||
for (const className of ["Infantry", "Cavalry"])
|
||||
attackComponentTest(className, true, (attacker, cmpAttack, defender) => {
|
||||
|
||||
TS_ASSERT_EQUALS(cmpAttack.GetAttackEffectsData("Melee").Bonuses.BonusCav.Multiplier, 2);
|
||||
|
||||
TS_ASSERT_EQUALS(cmpAttack.GetAttackEffectsData("Capture").Bonuses || null, null);
|
||||
|
||||
let getAttackBonus = (s, t, e, splash) => AttackHelper.GetAttackBonus(s, e, t, cmpAttack.GetAttackEffectsData(t, splash).Bonuses || null);
|
||||
const getAttackBonus = (s, t, e, splash) => AttackHelper.GetAttackBonus(s, e, t, cmpAttack.GetAttackEffectsData(t, splash).Bonuses || null);
|
||||
TS_ASSERT_UNEVAL_EQUALS(getAttackBonus(attacker, "Melee", defender), className == "Cavalry" ? 2 : 1);
|
||||
TS_ASSERT_UNEVAL_EQUALS(getAttackBonus(attacker, "Ranged", defender), 1);
|
||||
TS_ASSERT_UNEVAL_EQUALS(getAttackBonus(attacker, "Ranged", defender, true), className == "Cavalry" ? 3 : 1);
|
||||
@@ -323,11 +323,11 @@ function testGetBestAttackAgainst(defenderClass, bestAttack, bestAllyAttack, isB
|
||||
TS_ASSERT_EQUALS(cmpAttack.CanAttack(defender, ["!Ranged", "!Melee"]), isBuilding || defenderClass == "Domestic");
|
||||
TS_ASSERT_EQUALS(cmpAttack.CanAttack(defender, ["Melee", "!Melee"]), false);
|
||||
|
||||
let allowCapturing = [true];
|
||||
const allowCapturing = [true];
|
||||
if (!isBuilding)
|
||||
allowCapturing.push(false);
|
||||
|
||||
for (let ac of allowCapturing)
|
||||
for (const ac of allowCapturing)
|
||||
TS_ASSERT_EQUALS(cmpAttack.GetBestAttackAgainst(defender, ac), bestAttack);
|
||||
});
|
||||
|
||||
@@ -351,11 +351,11 @@ function testGetBestAttackAgainst(defenderClass, bestAttack, bestAllyAttack, isB
|
||||
TS_ASSERT_EQUALS(cmpAttack.CanAttack(defender, ["!Ranged", "!Melee"]), isBuilding || defenderClass == "Domestic");
|
||||
TS_ASSERT_EQUALS(cmpAttack.CanAttack(defender, ["Melee", "!Melee"]), false);
|
||||
|
||||
let allowCapturing = [true];
|
||||
const allowCapturing = [true];
|
||||
if (!isBuilding)
|
||||
allowCapturing.push(false);
|
||||
|
||||
for (let ac of allowCapturing)
|
||||
for (const ac of allowCapturing)
|
||||
TS_ASSERT_EQUALS(cmpAttack.GetBestAttackAgainst(defender, ac), bestAllyAttack);
|
||||
});
|
||||
}
|
||||
@@ -371,7 +371,7 @@ function testAttackPreference()
|
||||
{
|
||||
const attacker = 5;
|
||||
|
||||
let cmpAttack = ConstructComponent(attacker, "Attack", {
|
||||
const cmpAttack = ConstructComponent(attacker, "Attack", {
|
||||
"Melee": {
|
||||
"Damage": {
|
||||
"Crush": 0
|
||||
|
||||
@@ -18,7 +18,7 @@ var template = { "Identity": { "Classes": { "_string": "CorrectClass OtherClass"
|
||||
|
||||
global.AuraTemplates = {
|
||||
"Get": name => {
|
||||
let template = {
|
||||
const template = {
|
||||
"type": name,
|
||||
"affectedPlayers": ["Ally"],
|
||||
"affects": ["CorrectClass"],
|
||||
@@ -96,10 +96,10 @@ function testAuras(name, test_function)
|
||||
"GetOwner": () => playerID[1]
|
||||
});
|
||||
|
||||
let cmpModifiersManager = ConstructComponent(SYSTEM_ENTITY, "ModifiersManager", {});
|
||||
const cmpModifiersManager = ConstructComponent(SYSTEM_ENTITY, "ModifiersManager", {});
|
||||
cmpModifiersManager.OnGlobalPlayerEntityChanged({ "player": playerID[1], "from": -1, "to": playerEnt[1] });
|
||||
cmpModifiersManager.OnGlobalPlayerEntityChanged({ "player": playerID[2], "from": -1, "to": playerEnt[2] });
|
||||
let cmpAuras = ConstructComponent(sourceEnt, "Auras", { "_string": name });
|
||||
const cmpAuras = ConstructComponent(sourceEnt, "Auras", { "_string": name });
|
||||
test_function(name, cmpAuras);
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|
||||
let timerActivated = false;
|
||||
let bought = 0;
|
||||
let sold = 0;
|
||||
let multiplier = {
|
||||
const multiplier = {
|
||||
"buy": {
|
||||
"wood": 1.0,
|
||||
"stone": 1.0,
|
||||
@@ -36,7 +36,7 @@ let multiplier = {
|
||||
"metal": 1.0
|
||||
}
|
||||
};
|
||||
let cmpBarter = ConstructComponent(SYSTEM_ENTITY, "Barter");
|
||||
const cmpBarter = ConstructComponent(SYSTEM_ENTITY, "Barter");
|
||||
|
||||
AddMock(SYSTEM_ENTITY, IID_Timer, {
|
||||
"CancelTimer": id => { timerActivated = false; },
|
||||
@@ -52,7 +52,7 @@ AddMock(SYSTEM_ENTITY, IID_Timer, {
|
||||
TS_ASSERT_EQUALS(cmpBarter.restoreTimer, undefined);
|
||||
TS_ASSERT_UNEVAL_EQUALS(cmpBarter.priceDifferences, { "wood": 0, "stone": 0, "metal": 0 });
|
||||
|
||||
let cmpPlayer = AddMock(playerEnt, IID_Player, {
|
||||
const cmpPlayer = AddMock(playerEnt, IID_Player, {
|
||||
"TrySubtractResources": amounts => {
|
||||
sold = amounts[Object.keys(amounts)[0]];
|
||||
return true;
|
||||
|
||||
@@ -29,7 +29,7 @@ Engine.RegisterGlobal("ApplyValueModificationsToEntity", (prop, oVal, ent) => oV
|
||||
|
||||
function testEntitiesList()
|
||||
{
|
||||
let cmpBuilder = ConstructComponent(builderId, "Builder", {
|
||||
const cmpBuilder = ConstructComponent(builderId, "Builder", {
|
||||
"Rate": "1.0",
|
||||
"Entities": { "_string": "structures/{civ}/barracks structures/{civ}/civil_centre structures/{native}/house" }
|
||||
});
|
||||
@@ -106,7 +106,7 @@ testEntitiesList();
|
||||
|
||||
function testBuildingFoundation()
|
||||
{
|
||||
let cmpBuilder = ConstructComponent(builderId, "Builder", {
|
||||
const cmpBuilder = ConstructComponent(builderId, "Builder", {
|
||||
"Rate": "1.0",
|
||||
"Entities": { "_string": "" }
|
||||
});
|
||||
@@ -128,7 +128,7 @@ function testBuildingFoundation()
|
||||
"AddBuilder": () => {}
|
||||
});
|
||||
|
||||
let cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer");
|
||||
const cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer");
|
||||
|
||||
TS_ASSERT(cmpBuilder.StartRepairing(target));
|
||||
cmpTimer.OnUpdate({ "turnLength": 1 });
|
||||
@@ -145,7 +145,7 @@ function testRepairing()
|
||||
"IsAlly": (p) => p == playerId
|
||||
});
|
||||
|
||||
let cmpBuilder = ConstructComponent(builderId, "Builder", {
|
||||
const cmpBuilder = ConstructComponent(builderId, "Builder", {
|
||||
"Rate": "1.0",
|
||||
"Entities": { "_string": "" }
|
||||
});
|
||||
@@ -158,7 +158,7 @@ function testRepairing()
|
||||
"GetBuildTime": () => 100
|
||||
});
|
||||
|
||||
let cmpTargetHealth = ConstructComponent(target, "Health", {
|
||||
const cmpTargetHealth = ConstructComponent(target, "Health", {
|
||||
"Max": 100,
|
||||
"RegenRate": 0,
|
||||
"IdleRegenRate": 0,
|
||||
@@ -169,11 +169,11 @@ function testRepairing()
|
||||
cmpTargetHealth.SetHitpoints(50);
|
||||
|
||||
DeleteMock(target, IID_Foundation);
|
||||
let cmpTargetRepairable = ConstructComponent(target, "Repairable", {
|
||||
const cmpTargetRepairable = ConstructComponent(target, "Repairable", {
|
||||
"RepairTimeRatio": 1,
|
||||
});
|
||||
|
||||
let cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer");
|
||||
const cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer");
|
||||
|
||||
TS_ASSERT(cmpTargetRepairable.IsRepairable());
|
||||
TS_ASSERT(cmpBuilder.StartRepairing(target));
|
||||
|
||||
@@ -75,7 +75,7 @@ function testCapturable(testData, test_function)
|
||||
"CapturedBuilding": () => {}
|
||||
});
|
||||
|
||||
let cmpCapturable = ConstructComponent(testData.structure, "Capturable", {
|
||||
const cmpCapturable = ConstructComponent(testData.structure, "Capturable", {
|
||||
"CapturePoints": testData.maxCapturePoints,
|
||||
"RegenRate": testData.regenRate,
|
||||
"GarrisonRegenRate": testData.garrisonRegenRate
|
||||
|
||||
@@ -32,12 +32,12 @@ function Test_Generic()
|
||||
{
|
||||
ResetState();
|
||||
|
||||
let cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer");
|
||||
const cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer");
|
||||
cmpTimer.OnUpdate({ "turnLength": 1 });
|
||||
let attacker = 11;
|
||||
const attacker = 11;
|
||||
let atkPlayerEntity = 1;
|
||||
let attackerOwner = 6;
|
||||
let cmpAttack = ConstructComponent(attacker, "Attack",
|
||||
const attackerOwner = 6;
|
||||
const cmpAttack = ConstructComponent(attacker, "Attack",
|
||||
{
|
||||
"Ranged": {
|
||||
"Damage": {
|
||||
@@ -55,17 +55,17 @@ function Test_Generic()
|
||||
}
|
||||
}
|
||||
});
|
||||
let damage = 5;
|
||||
let target = 21;
|
||||
let targetOwner = 7;
|
||||
let targetPos = new Vector3D(3, 0, 3);
|
||||
const damage = 5;
|
||||
const target = 21;
|
||||
const targetOwner = 7;
|
||||
const targetPos = new Vector3D(3, 0, 3);
|
||||
|
||||
let type = "Melee";
|
||||
let damageTaken = false;
|
||||
|
||||
cmpAttack.GetAttackStrengths = attackType => ({ "Hack": 0, "Pierce": 0, "Crush": damage });
|
||||
|
||||
let data = {
|
||||
const data = {
|
||||
"type": "Melee",
|
||||
"attackData": {
|
||||
"Damage": { "Hack": 0, "Pierce": 0, "Crush": damage },
|
||||
@@ -181,7 +181,7 @@ function TestLinearSplashDamage()
|
||||
|
||||
const origin = new Vector2D(0, 0);
|
||||
|
||||
let data = {
|
||||
const data = {
|
||||
"type": "Ranged",
|
||||
"attackData": { "Damage": { "Hack": 100, "Pierce": 0, "Crush": 0 } },
|
||||
"attacker": attacker,
|
||||
@@ -193,12 +193,12 @@ function TestLinearSplashDamage()
|
||||
"friendlyFire": false,
|
||||
};
|
||||
|
||||
let fallOff = function(x, y)
|
||||
const fallOff = function(x, y)
|
||||
{
|
||||
return (1 - x * x / (data.radius * data.radius)) * (1 - 25 * y * y / (data.radius * data.radius));
|
||||
};
|
||||
|
||||
let hitEnts = new Set();
|
||||
const hitEnts = new Set();
|
||||
|
||||
AddMock(attackerOwner, IID_Diplomacy, {
|
||||
"GetEnemies": () => [2]
|
||||
@@ -289,9 +289,9 @@ function TestCircularSplashDamage()
|
||||
Engine.PostMessage = (ent, iid, message) => {};
|
||||
|
||||
const radius = 10;
|
||||
let attackerOwner = 1;
|
||||
const attackerOwner = 1;
|
||||
|
||||
let fallOff = function(r)
|
||||
const fallOff = function(r)
|
||||
{
|
||||
return 1 - r * r / (radius * radius);
|
||||
};
|
||||
@@ -373,21 +373,21 @@ function TestCircularSplashDamage()
|
||||
}
|
||||
});
|
||||
|
||||
let cmphealth64 = AddMock(64, IID_Health, {
|
||||
const cmphealth64 = AddMock(64, IID_Health, {
|
||||
"TakeDamage": (amount, __, ___) => {
|
||||
TS_ASSERT_EQUALS(amount, 0);
|
||||
return { "healthChange": -amount };
|
||||
}
|
||||
});
|
||||
let spy64 = new Spy(cmphealth64, "TakeDamage");
|
||||
const spy64 = new Spy(cmphealth64, "TakeDamage");
|
||||
|
||||
let cmpHealth65 = AddMock(65, IID_Health, {
|
||||
const cmpHealth65 = AddMock(65, IID_Health, {
|
||||
"TakeDamage": (amount, __, ___) => {
|
||||
TS_ASSERT_EQUALS(amount, 100 * fallOff(2));
|
||||
return { "healthChange": -amount };
|
||||
}
|
||||
});
|
||||
let spy65 = new Spy(cmpHealth65, "TakeDamage");
|
||||
const spy65 = new Spy(cmpHealth65, "TakeDamage");
|
||||
|
||||
AttackHelper.CauseDamageOverArea({
|
||||
"type": "Ranged",
|
||||
@@ -411,12 +411,12 @@ function Test_MissileHit()
|
||||
ResetState();
|
||||
Engine.PostMessage = (ent, iid, message) => {};
|
||||
|
||||
let cmpDelayedDamage = ConstructComponent(SYSTEM_ENTITY, "DelayedDamage");
|
||||
const cmpDelayedDamage = ConstructComponent(SYSTEM_ENTITY, "DelayedDamage");
|
||||
|
||||
let target = 60;
|
||||
let targetOwner = 1;
|
||||
let targetPos = new Vector3D(3, 10, 0);
|
||||
let hitEnts = new Set();
|
||||
const target = 60;
|
||||
const targetOwner = 1;
|
||||
const targetPos = new Vector3D(3, 10, 0);
|
||||
const hitEnts = new Set();
|
||||
|
||||
AddMock(SYSTEM_ENTITY, IID_Timer, {
|
||||
"GetLatestTurnLength": () => 500
|
||||
@@ -424,7 +424,7 @@ function Test_MissileHit()
|
||||
|
||||
const radius = 10;
|
||||
|
||||
let data = {
|
||||
const data = {
|
||||
"type": "Ranged",
|
||||
"attackData": { "Damage": { "Hack": 0, "Pierce": 100, "Crush": 0 } },
|
||||
"target": 60,
|
||||
@@ -608,8 +608,8 @@ function Test_MissileHit()
|
||||
"DistanceToPoint": (ent) => 0
|
||||
});
|
||||
|
||||
let bonus = { "BonusCav": { "Classes": "Cavalry", "Multiplier": 400 } };
|
||||
let splashBonus = { "BonusCav": { "Classes": "Cavalry", "Multiplier": 10000 } };
|
||||
const bonus = { "BonusCav": { "Classes": "Cavalry", "Multiplier": 400 } };
|
||||
const splashBonus = { "BonusCav": { "Classes": "Cavalry", "Multiplier": 10000 } };
|
||||
|
||||
AddMock(61, IID_Identity, {
|
||||
"GetClassesList": () => ["Cavalry"],
|
||||
|
||||
@@ -8,8 +8,8 @@ Engine.LoadComponentScript("interfaces/DeathDamage.js");
|
||||
Engine.LoadComponentScript("interfaces/ModifiersManager.js");
|
||||
Engine.LoadComponentScript("DeathDamage.js");
|
||||
|
||||
let deadEnt = 60;
|
||||
let player = 1;
|
||||
const deadEnt = 60;
|
||||
const player = 1;
|
||||
|
||||
ApplyValueModificationsToEntity = function(value, stat, ent)
|
||||
{
|
||||
@@ -18,7 +18,7 @@ ApplyValueModificationsToEntity = function(value, stat, ent)
|
||||
return stat;
|
||||
};
|
||||
|
||||
let template = {
|
||||
const template = {
|
||||
"Shape": "Circular",
|
||||
"Range": 10.7,
|
||||
"FriendlyFire": "false",
|
||||
@@ -29,7 +29,7 @@ let template = {
|
||||
}
|
||||
};
|
||||
|
||||
let effects = {
|
||||
const effects = {
|
||||
"Damage": {
|
||||
"Hack": 0.0,
|
||||
"Pierce": 215.0,
|
||||
@@ -39,10 +39,10 @@ let effects = {
|
||||
|
||||
let cmpDeathDamage = ConstructComponent(deadEnt, "DeathDamage", template);
|
||||
|
||||
let playersToDamage = [2, 3, 7];
|
||||
let pos = new Vector2D(3, 4.2);
|
||||
const playersToDamage = [2, 3, 7];
|
||||
const pos = new Vector2D(3, 4.2);
|
||||
|
||||
let result = {
|
||||
const result = {
|
||||
"type": "Death",
|
||||
"attackData": effects,
|
||||
"attacker": deadEnt,
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
Engine.LoadComponentScript("interfaces/EndGameManager.js");
|
||||
Engine.LoadComponentScript("EndGameManager.js");
|
||||
|
||||
let cmpEndGameManager = ConstructComponent(SYSTEM_ENTITY, "EndGameManager");
|
||||
const cmpEndGameManager = ConstructComponent(SYSTEM_ENTITY, "EndGameManager");
|
||||
|
||||
let playerEnt1 = 1;
|
||||
let wonderDuration = 2 * 60 * 1000;
|
||||
const playerEnt1 = 1;
|
||||
const wonderDuration = 2 * 60 * 1000;
|
||||
|
||||
AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|
||||
"GetNumPlayers": () => 4
|
||||
|
||||
@@ -5,7 +5,7 @@ Engine.LoadComponentScript("interfaces/TrainingRestrictions.js");
|
||||
Engine.LoadComponentScript("interfaces/Player.js");
|
||||
Engine.LoadComponentScript("EntityLimits.js");
|
||||
|
||||
let template ={
|
||||
const template ={
|
||||
"Limits": {
|
||||
"Tower": 5,
|
||||
"Wonder": 1,
|
||||
@@ -28,7 +28,7 @@ AddMock(SYSTEM_ENTITY, IID_GuiInterface, {
|
||||
"PushNotification": () => {}
|
||||
});
|
||||
|
||||
let cmpEntityLimits = ConstructComponent(10, "EntityLimits", template);
|
||||
const cmpEntityLimits = ConstructComponent(10, "EntityLimits", template);
|
||||
|
||||
// Test getters
|
||||
TS_ASSERT_UNEVAL_EQUALS(cmpEntityLimits.GetCounts(), { "Tower": 0, "Wonder": 0, "Hero": 0, "Champion": 0 });
|
||||
|
||||
@@ -23,21 +23,21 @@ Engine.LoadComponentScript("AutoBuildable.js");
|
||||
Engine.LoadComponentScript("Foundation.js");
|
||||
Engine.LoadComponentScript("Timer.js");
|
||||
|
||||
let player = 1;
|
||||
let playerEnt = 3;
|
||||
let foundationEnt = 20;
|
||||
let previewEnt = 21;
|
||||
let newEnt = 22;
|
||||
let finalTemplate = "structures/athen/civil_centre.xml";
|
||||
const player = 1;
|
||||
const playerEnt = 3;
|
||||
const foundationEnt = 20;
|
||||
const previewEnt = 21;
|
||||
const newEnt = 22;
|
||||
const finalTemplate = "structures/athen/civil_centre.xml";
|
||||
|
||||
function testFoundation(...mocks)
|
||||
{
|
||||
ResetState();
|
||||
|
||||
let foundationHP = 1;
|
||||
let maxHP = 100;
|
||||
let rot = new Vector3D(1, 2, 3);
|
||||
let pos = new Vector2D(4, 5);
|
||||
const maxHP = 100;
|
||||
const rot = new Vector3D(1, 2, 3);
|
||||
const pos = new Vector2D(4, 5);
|
||||
let cmpFoundation;
|
||||
|
||||
AddMock(SYSTEM_ENTITY, IID_Trigger, {
|
||||
@@ -131,7 +131,7 @@ function testFoundation(...mocks)
|
||||
"SetHeightOffset": () => {}
|
||||
});
|
||||
|
||||
for (let mock of mocks)
|
||||
for (const mock of mocks)
|
||||
AddMock(...mock);
|
||||
|
||||
// INITIALISE
|
||||
@@ -151,8 +151,8 @@ function testFoundation(...mocks)
|
||||
// BUILDER COUNT, BUILD RATE, TIME REMAINING
|
||||
AddMock(10, IID_Builder, { "GetRate": () => 1.0 });
|
||||
AddMock(11, IID_Builder, { "GetRate": () => 1.0 });
|
||||
let twoBuilderMultiplier = Math.pow(2, cmpFoundation.buildTimeModifier) / 2;
|
||||
let threeBuilderMultiplier = Math.pow(3, cmpFoundation.buildTimeModifier) / 3;
|
||||
const twoBuilderMultiplier = Math.pow(2, cmpFoundation.buildTimeModifier) / 2;
|
||||
const threeBuilderMultiplier = Math.pow(3, cmpFoundation.buildTimeModifier) / 3;
|
||||
|
||||
TS_ASSERT_EQUALS(cmpFoundation.CalculateBuildMultiplier(1), 1);
|
||||
TS_ASSERT_EQUALS(cmpFoundation.CalculateBuildMultiplier(2), twoBuilderMultiplier);
|
||||
@@ -191,7 +191,7 @@ function testFoundation(...mocks)
|
||||
|
||||
// COMMIT FOUNDATION
|
||||
TS_ASSERT_EQUALS(cmpFoundation.committed, false);
|
||||
let work = 5;
|
||||
const work = 5;
|
||||
cmpFoundation.Build(10, work);
|
||||
TS_ASSERT_EQUALS(cmpFoundation.committed, true);
|
||||
TS_ASSERT_EQUALS(foundationHP, 1 + work * cmpFoundation.GetBuildRate() * cmpFoundation.buildMultiplier);
|
||||
@@ -231,9 +231,9 @@ testFoundation([playerEnt, IID_StatisticsTracker, {
|
||||
|
||||
// Test autobuild feature.
|
||||
const foundationEnt2 = 42;
|
||||
let turnLength = 0.2;
|
||||
const turnLength = 0.2;
|
||||
let currentFoundationHP = 1;
|
||||
let cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer");
|
||||
const cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer");
|
||||
|
||||
AddMock(foundationEnt2, IID_Cost, {
|
||||
"GetBuildTime": () => 50,
|
||||
@@ -269,9 +269,9 @@ for (let i = 0; i < 10; ++i)
|
||||
TS_ASSERT_EQUALS(cmpAutoBuildingFoundation.GetNumBuilders(), 0);
|
||||
}
|
||||
|
||||
let currentPercentage = cmpAutoBuildingFoundation.GetBuildPercentage();
|
||||
const currentPercentage = cmpAutoBuildingFoundation.GetBuildPercentage();
|
||||
cmpTimer.OnUpdate({ "turnLength": turnLength * 5 });
|
||||
let newPercentage = cmpAutoBuildingFoundation.GetBuildPercentage();
|
||||
const newPercentage = cmpAutoBuildingFoundation.GetBuildPercentage();
|
||||
|
||||
if (i >= 8)
|
||||
TS_ASSERT_EQUALS(currentPercentage, newPercentage);
|
||||
|
||||
@@ -100,7 +100,7 @@ AddMock(33, IID_Identity, {
|
||||
"GetSelectionGroupName": () => "spart_infantry_archer_a"
|
||||
});
|
||||
|
||||
let testGarrisonAllowed = function()
|
||||
const testGarrisonAllowed = function()
|
||||
{
|
||||
TS_ASSERT_EQUALS(cmpGarrisonHolder.HasEnoughHealth(), true);
|
||||
TS_ASSERT_EQUALS(cmpGarrisonHolder.Garrison(enemyUnitId), false);
|
||||
@@ -110,7 +110,7 @@ let testGarrisonAllowed = function()
|
||||
TS_ASSERT_EQUALS(cmpGarrisonHolder.Unload(largeUnitId), true);
|
||||
TS_ASSERT_EQUALS(cmpGarrisonHolder.Unload(unitToGarrisonId), true);
|
||||
TS_ASSERT_EQUALS(cmpGarrisonHolder.Garrison(unitToGarrisonId), true);
|
||||
for (let entity of garrisonedEntitiesList)
|
||||
for (const entity of garrisonedEntitiesList)
|
||||
TS_ASSERT_EQUALS(cmpGarrisonHolder.Garrison(entity), true);
|
||||
TS_ASSERT_EQUALS(cmpGarrisonHolder.Garrison(largeUnitId), false);
|
||||
TS_ASSERT_EQUALS(cmpGarrisonHolder.IsFull(), true);
|
||||
@@ -185,16 +185,16 @@ cmpGarrisonHolder = ConstructComponent(garrisonHolderId, "GarrisonHolder", {
|
||||
testGarrisonAllowed();
|
||||
|
||||
// Test entity renaming.
|
||||
let siegeEngineId = 44;
|
||||
const siegeEngineId = 44;
|
||||
AddMock(siegeEngineId, IID_Identity, {
|
||||
"GetClassesList": () => ["Siege"]
|
||||
});
|
||||
let archerId = 45;
|
||||
const archerId = 45;
|
||||
AddMock(archerId, IID_Identity, {
|
||||
"GetClassesList": () => ["Infantry", "Ranged"]
|
||||
});
|
||||
|
||||
let originalClassList = "Infantry+Ranged Siege Cavalry";
|
||||
const originalClassList = "Infantry+Ranged Siege Cavalry";
|
||||
|
||||
cmpGarrisonHolder = ConstructComponent(garrisonHolderId, "GarrisonHolder", {
|
||||
"Max": 10,
|
||||
@@ -206,7 +206,7 @@ cmpGarrisonHolder = ConstructComponent(garrisonHolderId, "GarrisonHolder", {
|
||||
"Pickup": false
|
||||
});
|
||||
|
||||
let traderId = 32;
|
||||
const traderId = 32;
|
||||
AddMock(traderId, IID_Identity, {
|
||||
"GetClassesList": () => ["Trader"]
|
||||
});
|
||||
@@ -219,7 +219,7 @@ AddMock(siegeEngineId, IID_Position, {
|
||||
"MoveOutOfWorld": () => {},
|
||||
"SetHeightOffset": height => {}
|
||||
});
|
||||
let currentSiegePlayer = player;
|
||||
const currentSiegePlayer = player;
|
||||
AddMock(siegeEngineId, IID_Ownership, {
|
||||
"GetOwner": () => currentSiegePlayer
|
||||
});
|
||||
@@ -229,7 +229,7 @@ AddMock(siegeEngineId, IID_Garrisonable, {
|
||||
"Garrison": (entity, renamed) => cmpGarrisonHolder.Garrison(siegeEngineId, renamed),
|
||||
"UnGarrison": () => true
|
||||
});
|
||||
let cavalryId = 46;
|
||||
const cavalryId = 46;
|
||||
AddMock(cavalryId, IID_Identity, {
|
||||
"GetClassesList": () => ["Infantry", "Ranged"]
|
||||
});
|
||||
@@ -263,7 +263,7 @@ cmpGarrisonHolder.OnGlobalOwnershipChanged({
|
||||
});
|
||||
TS_ASSERT_EQUALS(cmpGarrisonHolder.GetGarrisonedEntitiesCount(), 0);
|
||||
|
||||
let oldApplyValueModificationsToEntity = ApplyValueModificationsToEntity;
|
||||
const oldApplyValueModificationsToEntity = ApplyValueModificationsToEntity;
|
||||
|
||||
TS_ASSERT(cmpGarrisonHolder.Garrison(siegeEngineId));
|
||||
TS_ASSERT_UNEVAL_EQUALS(cmpGarrisonHolder.GetEntities(), [siegeEngineId]);
|
||||
|
||||
@@ -20,15 +20,15 @@ AddMock(garrisonHolderID, IID_Footprint, {
|
||||
"PickSpawnPoint": entity => new Vector3D(4, 3, 30)
|
||||
});
|
||||
|
||||
let size = 1;
|
||||
let cmpGarrisonable = ConstructComponent(garrisonableID, "Garrisonable", {
|
||||
const size = 1;
|
||||
const cmpGarrisonable = ConstructComponent(garrisonableID, "Garrisonable", {
|
||||
"Size": size
|
||||
});
|
||||
|
||||
TS_ASSERT_EQUALS(cmpGarrisonable.UnitSize(), size);
|
||||
TS_ASSERT_EQUALS(cmpGarrisonable.TotalSize(), size);
|
||||
|
||||
let extraSize = 2;
|
||||
const extraSize = 2;
|
||||
AddMock(garrisonableID, IID_GarrisonHolder, {
|
||||
"OccupiedSlots": () => extraSize
|
||||
});
|
||||
@@ -49,7 +49,7 @@ TS_ASSERT_UNEVAL_EQUALS(cmpGarrisonable.HolderID(), INVALID_ENTITY);
|
||||
|
||||
// Test renaming.
|
||||
const newGarrisonableID = 3;
|
||||
let cmpGarrisonableNew = ConstructComponent(newGarrisonableID, "Garrisonable", {
|
||||
const cmpGarrisonableNew = ConstructComponent(newGarrisonableID, "Garrisonable", {
|
||||
"Size": 1
|
||||
});
|
||||
TS_ASSERT(cmpGarrisonable.Garrison(garrisonHolderID));
|
||||
|
||||
@@ -17,7 +17,7 @@ const friendlyPlayer = 3;
|
||||
const garrison = 10;
|
||||
const holder = 11;
|
||||
|
||||
let createGarrisonCmp = entity => {
|
||||
const createGarrisonCmp = entity => {
|
||||
AddMock(entity, IID_Identity, {
|
||||
"GetClassesList": () => ["Ranged"],
|
||||
"GetSelectionGroupName": () => "mace_infantry_archer_a"
|
||||
@@ -88,11 +88,11 @@ AddMock(garrison, IID_Position, {
|
||||
"SetYRotation": angle => {}
|
||||
});
|
||||
|
||||
let cmpGarrisonable = ConstructComponent(garrison, "Garrisonable", {
|
||||
const cmpGarrisonable = ConstructComponent(garrison, "Garrisonable", {
|
||||
"Size": "1"
|
||||
});
|
||||
|
||||
let cmpGarrisonHolder = ConstructComponent(holder, "GarrisonHolder", {
|
||||
const cmpGarrisonHolder = ConstructComponent(holder, "GarrisonHolder", {
|
||||
"Max": "10",
|
||||
"List": { "_string": "Ranged" },
|
||||
"EjectHealth": "0.1",
|
||||
@@ -122,8 +122,8 @@ TS_ASSERT(cmpGarrisonHolder.Unload(garrison));
|
||||
TS_ASSERT_EQUALS(cmpGarrisonHolder.GetGarrisonedEntitiesCount(), 0);
|
||||
|
||||
// Test initGarrison.
|
||||
let entities = [21, 22, 23, 24];
|
||||
for (let entity of entities)
|
||||
const entities = [21, 22, 23, 24];
|
||||
for (const entity of entities)
|
||||
createGarrisonCmp(entity);
|
||||
cmpGarrisonHolder.SetInitGarrison(entities);
|
||||
cmpGarrisonHolder.OnGlobalInitGame();
|
||||
|
||||
@@ -14,22 +14,22 @@ function testBasicBehaviour()
|
||||
}));
|
||||
Engine.RegisterGlobal("PlaySound", () => {});
|
||||
|
||||
let cmpRangeMgr = AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|
||||
const cmpRangeMgr = AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|
||||
"GetEntityFlagMask": () => {},
|
||||
"CreateActiveQuery": () => {},
|
||||
"EnableActiveQuery": () => {},
|
||||
});
|
||||
let querySpy = new Spy(cmpRangeMgr, "CreateActiveQuery");
|
||||
const querySpy = new Spy(cmpRangeMgr, "CreateActiveQuery");
|
||||
|
||||
let ownUnitAI = AddMock(own, IID_UnitAI, {
|
||||
const ownUnitAI = AddMock(own, IID_UnitAI, {
|
||||
"AbleToMove": () => true
|
||||
});
|
||||
|
||||
let cmpGate = ConstructComponent(gate, "Gate", {
|
||||
const cmpGate = ConstructComponent(gate, "Gate", {
|
||||
"PassRange": passRange
|
||||
});
|
||||
let setupSpy = new Spy(cmpGate, "SetupRangeQuery");
|
||||
let cmpGateObst = AddMock(gate, IID_Obstruction, {
|
||||
const setupSpy = new Spy(cmpGate, "SetupRangeQuery");
|
||||
const cmpGateObst = AddMock(gate, IID_Obstruction, {
|
||||
"SetDisableBlockMovementPathfinding": () => {},
|
||||
"GetEntitiesBlockingConstruction": () => [],
|
||||
"GetBlockMovementFlag": () => false,
|
||||
@@ -85,7 +85,7 @@ function testBasicBehaviour()
|
||||
|
||||
function testShouldOpen()
|
||||
{
|
||||
let cmpGate = ConstructComponent(5, "Gate", {});
|
||||
const cmpGate = ConstructComponent(5, "Gate", {});
|
||||
cmpGate.allies = [1, 2, 3, 4];
|
||||
cmpGate.ignoreList = [];
|
||||
TS_ASSERT_EQUALS(cmpGate.ShouldOpen(), true);
|
||||
|
||||
@@ -19,7 +19,7 @@ AddMock(SYSTEM_ENTITY, IID_ObstructionManager, {
|
||||
"IsInTargetRange": () => true
|
||||
});
|
||||
|
||||
let template = {
|
||||
const template = {
|
||||
"Range": "20",
|
||||
"RangeOverlay": {
|
||||
"LineTexture": "heal_overlay_range.png",
|
||||
@@ -65,7 +65,7 @@ ApplyValueModificationsToEntity = function(value, stat, ent)
|
||||
}
|
||||
};
|
||||
|
||||
let cmpHeal = ConstructComponent(60, "Heal", template);
|
||||
const cmpHeal = ConstructComponent(60, "Heal", template);
|
||||
|
||||
// Test Getters
|
||||
TS_ASSERT_EQUALS(cmpHeal.GetInterval(), 2000 + 200);
|
||||
@@ -88,7 +88,7 @@ TS_ASSERT_UNEVAL_EQUALS(cmpHeal.GetRangeOverlays(), [{
|
||||
}]);
|
||||
|
||||
// Test healing.
|
||||
let target = 70;
|
||||
const target = 70;
|
||||
AddMock(target, IID_Ownership, {
|
||||
"GetOwner": () => player
|
||||
});
|
||||
@@ -98,7 +98,7 @@ AddMock(target, IID_Identity, {
|
||||
"GetClassesList": () => targetClasses
|
||||
});
|
||||
|
||||
let cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer");
|
||||
const cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer");
|
||||
let increased;
|
||||
let unhealable = false;
|
||||
AddMock(target, IID_Health, {
|
||||
@@ -180,7 +180,7 @@ TS_ASSERT_UNEVAL_EQUALS(cmpHeal.CanHeal(target), true);
|
||||
unhealable = true;
|
||||
TS_ASSERT_UNEVAL_EQUALS(cmpHeal.CanHeal(target), false);
|
||||
|
||||
let otherTarget = 71;
|
||||
const otherTarget = 71;
|
||||
AddMock(otherTarget, IID_Ownership, {
|
||||
"GetOwner": () => otherPlayer
|
||||
});
|
||||
|
||||
@@ -26,7 +26,7 @@ var corpse_entity;
|
||||
|
||||
function setEntityUp()
|
||||
{
|
||||
let cmpHealth = ConstructComponent(entity_id, "Health", health_template);
|
||||
const cmpHealth = ConstructComponent(entity_id, "Health", health_template);
|
||||
|
||||
AddMock(entity_id, IID_DeathDamage, {
|
||||
"CauseDeathDamage": () => {}
|
||||
|
||||
@@ -5,7 +5,7 @@ Resources = {
|
||||
"GetResource": () => ({}),
|
||||
"BuildSchema": (type) => {
|
||||
let schema = "";
|
||||
for (let res of Resources.GetCodes())
|
||||
for (const res of Resources.GetCodes())
|
||||
schema +=
|
||||
"<optional>" +
|
||||
"<element name='" + res + "'>" +
|
||||
|
||||
@@ -5,7 +5,7 @@ Resources = {
|
||||
"GetResource": () => ({}),
|
||||
"BuildSchema": (type) => {
|
||||
let schema = "";
|
||||
for (let res of Resources.GetCodes())
|
||||
for (const res of Resources.GetCodes())
|
||||
schema +=
|
||||
"<optional>" +
|
||||
"<element name='" + res + "'>" +
|
||||
@@ -47,10 +47,10 @@ AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|
||||
"GetPlayerByID": () => playerEntity
|
||||
});
|
||||
|
||||
let resourceCount = {};
|
||||
const resourceCount = {};
|
||||
AddMock(playerEntity, IID_Player, {
|
||||
"AddResources": (amounts) => {
|
||||
for (let type in amounts)
|
||||
for (const type in amounts)
|
||||
resourceCount[type] = (resourceCount[type] ?? 0) +amounts[type];
|
||||
}
|
||||
});
|
||||
|
||||
@@ -23,8 +23,8 @@ AddMock(PLAYER_ENTITY_ID, IID_Player, {
|
||||
"GetPlayerID": () => PLAYER_ID_FOR_TEST
|
||||
});
|
||||
|
||||
let entitiesToTest = [STRUCTURE_ENTITY_ID, 6, 7, 8];
|
||||
for (let ent of entitiesToTest)
|
||||
const entitiesToTest = [STRUCTURE_ENTITY_ID, 6, 7, 8];
|
||||
for (const ent of entitiesToTest)
|
||||
AddMock(ent, IID_Ownership, {
|
||||
"GetOwner": () => PLAYER_ID_FOR_TEST
|
||||
});
|
||||
@@ -48,7 +48,7 @@ AddMock(8, IID_Identity, {
|
||||
// Sprinkle random serialisation cycles.
|
||||
function SerializationCycle()
|
||||
{
|
||||
let data = cmpModifiersManager.Serialize();
|
||||
const data = cmpModifiersManager.Serialize();
|
||||
cmpModifiersManager = ConstructComponent(SYSTEM_ENTITY, "ModifiersManager", {});
|
||||
cmpModifiersManager.Deserialize(data);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Resources = {
|
||||
"GetResource": () => ({}),
|
||||
"BuildSchema": (type) => {
|
||||
let schema = "";
|
||||
for (let res of Resources.GetCodes())
|
||||
for (const res of Resources.GetCodes())
|
||||
schema +=
|
||||
"<optional>" +
|
||||
"<element name='" + res + "'>" +
|
||||
|
||||
@@ -6,7 +6,7 @@ Engine.LoadComponentScript("Population.js");
|
||||
|
||||
const player = 1;
|
||||
const entity = 11;
|
||||
let entPopBonus = 5;
|
||||
const entPopBonus = 5;
|
||||
|
||||
Engine.RegisterGlobal("ApplyValueModificationsToEntity",
|
||||
(valueName, currentValue, entity) => currentValue
|
||||
@@ -16,7 +16,7 @@ AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|
||||
"GetPlayerByID": () => player
|
||||
});
|
||||
|
||||
let cmpPopulation = ConstructComponent(entity, "Population", {
|
||||
const cmpPopulation = ConstructComponent(entity, "Population", {
|
||||
"Bonus": entPopBonus
|
||||
});
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ const playerData = [
|
||||
}
|
||||
];
|
||||
|
||||
let currentPopCaps = [];
|
||||
const currentPopCaps = [];
|
||||
|
||||
AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|
||||
"GetNonGaiaPlayers": () => { return Object.keys(playerData).slice(1); },
|
||||
|
||||
@@ -9,20 +9,20 @@ let cmpPromotion;
|
||||
const entity = 60;
|
||||
let modifier = 0;
|
||||
|
||||
let ApplyValueModificationsToEntity = (_, val) => val + modifier;
|
||||
const ApplyValueModificationsToEntity = (_, val) => val + modifier;
|
||||
Engine.RegisterGlobal("ApplyValueModificationsToEntity", ApplyValueModificationsToEntity);
|
||||
Engine.RegisterGlobal("ApplyValueModificationsToTemplate", ApplyValueModificationsToEntity);
|
||||
|
||||
let QueryOwnerInterface = () => ({ "GetPlayerID": () => 1 });
|
||||
const QueryOwnerInterface = () => ({ "GetPlayerID": () => 1 });
|
||||
Engine.RegisterGlobal("QueryOwnerInterface", QueryOwnerInterface);
|
||||
|
||||
let entTemplates = {
|
||||
const entTemplates = {
|
||||
"60": "template_b",
|
||||
"61": "template_f",
|
||||
"62": "end"
|
||||
};
|
||||
|
||||
let promote = {
|
||||
const promote = {
|
||||
"template_b": "template_c",
|
||||
"template_c": "template_d",
|
||||
"template_d": "template_e",
|
||||
@@ -38,10 +38,10 @@ AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|
||||
}),
|
||||
});
|
||||
|
||||
let ChangeEntityTemplate = function(ent, template)
|
||||
const ChangeEntityTemplate = function(ent, template)
|
||||
{
|
||||
let newEnt = ent + 1;
|
||||
let cmpNewPromotion = ConstructComponent(newEnt, "Promotion", {
|
||||
const newEnt = ent + 1;
|
||||
const cmpNewPromotion = ConstructComponent(newEnt, "Promotion", {
|
||||
"Entity": entTemplates[newEnt],
|
||||
"RequiredXp": 1000
|
||||
});
|
||||
@@ -89,7 +89,7 @@ cmpPromotion = ConstructComponent(entity, "Promotion", {
|
||||
"RequiredXp": 1000
|
||||
});
|
||||
|
||||
let cmpHealth = AddMock(entity, IID_Health, {
|
||||
const cmpHealth = AddMock(entity, IID_Health, {
|
||||
"GetHitpoints": () => 0,
|
||||
});
|
||||
|
||||
@@ -99,7 +99,7 @@ TS_ASSERT_EQUALS(cmpPromotion.GetCurrentXp(), 0);
|
||||
DeleteMock(entity, IID_Health);
|
||||
|
||||
// Test XP trickle.
|
||||
let cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer", {});
|
||||
const cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer", {});
|
||||
cmpPromotion = ConstructComponent(entity, "Promotion", {
|
||||
"Entity": "template_b",
|
||||
"RequiredXp": "100",
|
||||
|
||||
@@ -7,8 +7,8 @@ function initialRallyPointTest(test_function)
|
||||
{
|
||||
ResetState();
|
||||
|
||||
let entityID = 123;
|
||||
let cmpRallyPoint = ConstructComponent(entityID, "RallyPoint", {});
|
||||
const entityID = 123;
|
||||
const cmpRallyPoint = ConstructComponent(entityID, "RallyPoint", {});
|
||||
|
||||
TS_ASSERT_UNEVAL_EQUALS(cmpRallyPoint.GetData(), []);
|
||||
TS_ASSERT_UNEVAL_EQUALS(cmpRallyPoint.GetPositions(), []);
|
||||
@@ -19,14 +19,14 @@ function initialRallyPointTest(test_function)
|
||||
cmpRallyPoint.AddPosition(926, 535);
|
||||
TS_ASSERT_UNEVAL_EQUALS(cmpRallyPoint.GetPositions(), [{ "x": 3, "z": 1415 }, { "x": 926, "z": 535 }]);
|
||||
|
||||
let targetID = 456;
|
||||
let myData = { "command": "write a unit test", "target": targetID };
|
||||
const targetID = 456;
|
||||
const myData = { "command": "write a unit test", "target": targetID };
|
||||
cmpRallyPoint.AddData(myData);
|
||||
TS_ASSERT_UNEVAL_EQUALS(cmpRallyPoint.GetPositions(), [{ "x": 3, "z": 1415 }, { "x": 926, "z": 535 }]);
|
||||
TS_ASSERT_UNEVAL_EQUALS(cmpRallyPoint.GetData(), [myData]);
|
||||
|
||||
let targetID2 = 789;
|
||||
let myData2 = { "command": "this time really", "target": targetID2 };
|
||||
const targetID2 = 789;
|
||||
const myData2 = { "command": "this time really", "target": targetID2 };
|
||||
cmpRallyPoint.AddData(myData2);
|
||||
TS_ASSERT_UNEVAL_EQUALS(cmpRallyPoint.GetData(), [myData, myData2]);
|
||||
|
||||
|
||||
@@ -60,20 +60,20 @@ class testResistance
|
||||
{
|
||||
this.Reset();
|
||||
|
||||
let damage = 5;
|
||||
let attackData = { "Damage": { "Name": damage } };
|
||||
let attackType = "Test";
|
||||
const damage = 5;
|
||||
const attackData = { "Damage": { "Name": damage } };
|
||||
const attackType = "Test";
|
||||
|
||||
TS_ASSERT(!this.cmpResistance.IsInvulnerable());
|
||||
|
||||
let cmpHealth = AddMock(this.EntityID, IID_Health, {
|
||||
const cmpHealth = AddMock(this.EntityID, IID_Health, {
|
||||
"TakeDamage": (amount, __, ___) => {
|
||||
TS_ASSERT_EQUALS(amount, damage);
|
||||
return { "healthChange": -amount };
|
||||
}
|
||||
});
|
||||
let spy = new Spy(cmpHealth, "TakeDamage");
|
||||
let data = {
|
||||
const spy = new Spy(cmpHealth, "TakeDamage");
|
||||
const data = {
|
||||
"type": attackType,
|
||||
"attackData": attackData,
|
||||
"attacker": this.AttackerID,
|
||||
@@ -94,10 +94,10 @@ class testResistance
|
||||
{
|
||||
this.Reset();
|
||||
|
||||
let damage = 5;
|
||||
let bonus = 2;
|
||||
let classes = "Entity";
|
||||
let attackData = {
|
||||
const damage = 5;
|
||||
const bonus = 2;
|
||||
const classes = "Entity";
|
||||
const attackData = {
|
||||
"Damage": { "Name": damage },
|
||||
"Bonuses": {
|
||||
"bonus": {
|
||||
@@ -112,13 +112,13 @@ class testResistance
|
||||
"GetCiv": () => "civ"
|
||||
});
|
||||
|
||||
let cmpHealth = AddMock(this.EntityID, IID_Health, {
|
||||
const cmpHealth = AddMock(this.EntityID, IID_Health, {
|
||||
"TakeDamage": (amount, __, ___) => {
|
||||
TS_ASSERT_EQUALS(amount, damage * bonus);
|
||||
return { "healthChange": -amount };
|
||||
}
|
||||
});
|
||||
let spy = new Spy(cmpHealth, "TakeDamage");
|
||||
const spy = new Spy(cmpHealth, "TakeDamage");
|
||||
|
||||
AttackHelper.HandleAttackEffects(this.EntityID, {
|
||||
"type": "Test",
|
||||
@@ -131,8 +131,8 @@ class testResistance
|
||||
|
||||
TestDamageResistanceApplies()
|
||||
{
|
||||
let resistanceValue = 2;
|
||||
let damageType = "Name";
|
||||
const resistanceValue = 2;
|
||||
const damageType = "Name";
|
||||
this.Reset({
|
||||
"Entity": {
|
||||
"Damage": {
|
||||
@@ -141,18 +141,18 @@ class testResistance
|
||||
}
|
||||
});
|
||||
|
||||
let damage = 5;
|
||||
let attackData = {
|
||||
const damage = 5;
|
||||
const attackData = {
|
||||
"Damage": { "Name": damage }
|
||||
};
|
||||
|
||||
let cmpHealth = AddMock(this.EntityID, IID_Health, {
|
||||
const cmpHealth = AddMock(this.EntityID, IID_Health, {
|
||||
"TakeDamage": (amount, __, ___) => {
|
||||
TS_ASSERT_EQUALS(amount, damage * Math.pow(0.9, resistanceValue));
|
||||
return { "healthChange": -amount };
|
||||
}
|
||||
});
|
||||
let spy = new Spy(cmpHealth, "TakeDamage");
|
||||
const spy = new Spy(cmpHealth, "TakeDamage");
|
||||
|
||||
AttackHelper.HandleAttackEffects(this.EntityID, {
|
||||
"type": "Test",
|
||||
@@ -165,25 +165,25 @@ class testResistance
|
||||
|
||||
TestCaptureResistanceApplies()
|
||||
{
|
||||
let resistanceValue = 2;
|
||||
const resistanceValue = 2;
|
||||
this.Reset({
|
||||
"Entity": {
|
||||
"Capture": resistanceValue
|
||||
}
|
||||
});
|
||||
|
||||
let damage = 5;
|
||||
let attackData = {
|
||||
const damage = 5;
|
||||
const attackData = {
|
||||
"Capture": damage
|
||||
};
|
||||
|
||||
let cmpCapturable = AddMock(this.EntityID, IID_Capturable, {
|
||||
const cmpCapturable = AddMock(this.EntityID, IID_Capturable, {
|
||||
"Capture": (amount, __, ___) => {
|
||||
TS_ASSERT_EQUALS(amount, damage * Math.pow(0.9, resistanceValue));
|
||||
return { "captureChange": amount };
|
||||
}
|
||||
});
|
||||
let spy = new Spy(cmpCapturable, "Capture");
|
||||
const spy = new Spy(cmpCapturable, "Capture");
|
||||
|
||||
AttackHelper.HandleAttackEffects(this.EntityID, {
|
||||
"type": "Test",
|
||||
@@ -197,8 +197,8 @@ class testResistance
|
||||
TestStatusEffectsResistancesApplies()
|
||||
{
|
||||
// Test duration reduction.
|
||||
let durationFactor = 0.5;
|
||||
let statusName = "statusName";
|
||||
const durationFactor = 0.5;
|
||||
const statusName = "statusName";
|
||||
this.Reset({
|
||||
"Entity": {
|
||||
"ApplyStatus": {
|
||||
@@ -209,7 +209,7 @@ class testResistance
|
||||
}
|
||||
});
|
||||
|
||||
let duration = 10;
|
||||
const duration = 10;
|
||||
let attackData = {
|
||||
"ApplyStatus": {
|
||||
[statusName]: {
|
||||
@@ -262,8 +262,8 @@ class testResistance
|
||||
TS_ASSERT_EQUALS(spy._called, 1);
|
||||
|
||||
// Test multiple resistances.
|
||||
let reducedStatusName = "reducedStatus";
|
||||
let blockedStatusName = "blockedStatus";
|
||||
const reducedStatusName = "reducedStatus";
|
||||
const blockedStatusName = "blockedStatus";
|
||||
this.Reset({
|
||||
"Entity": {
|
||||
"ApplyStatus": {
|
||||
@@ -308,8 +308,8 @@ class testResistance
|
||||
|
||||
TestResistanceAndBonus()
|
||||
{
|
||||
let resistanceValue = 2;
|
||||
let damageType = "Name";
|
||||
const resistanceValue = 2;
|
||||
const damageType = "Name";
|
||||
this.Reset({
|
||||
"Entity": {
|
||||
"Damage": {
|
||||
@@ -318,10 +318,10 @@ class testResistance
|
||||
}
|
||||
});
|
||||
|
||||
let damage = 5;
|
||||
let bonus = 2;
|
||||
let classes = "Entity";
|
||||
let attackData = {
|
||||
const damage = 5;
|
||||
const bonus = 2;
|
||||
const classes = "Entity";
|
||||
const attackData = {
|
||||
"Damage": { "Name": damage },
|
||||
"Bonuses": {
|
||||
"bonus": {
|
||||
@@ -336,13 +336,13 @@ class testResistance
|
||||
"GetCiv": () => "civ"
|
||||
});
|
||||
|
||||
let cmpHealth = AddMock(this.EntityID, IID_Health, {
|
||||
const cmpHealth = AddMock(this.EntityID, IID_Health, {
|
||||
"TakeDamage": (amount, __, ___) => {
|
||||
TS_ASSERT_EQUALS(amount, damage * bonus * Math.pow(0.9, resistanceValue));
|
||||
return { "healthChange": -amount };
|
||||
}
|
||||
});
|
||||
let spy = new Spy(cmpHealth, "TakeDamage");
|
||||
const spy = new Spy(cmpHealth, "TakeDamage");
|
||||
|
||||
AttackHelper.HandleAttackEffects(this.EntityID, {
|
||||
"type": "Test",
|
||||
@@ -355,17 +355,17 @@ class testResistance
|
||||
|
||||
TestMultipleEffects()
|
||||
{
|
||||
let captureResistanceValue = 2;
|
||||
const captureResistanceValue = 2;
|
||||
this.Reset({
|
||||
"Entity": {
|
||||
"Capture": captureResistanceValue
|
||||
}
|
||||
});
|
||||
|
||||
let damage = 5;
|
||||
let bonus = 2;
|
||||
let classes = "Entity";
|
||||
let attackData = {
|
||||
const damage = 5;
|
||||
const bonus = 2;
|
||||
const classes = "Entity";
|
||||
const attackData = {
|
||||
"Damage": { "Name": damage },
|
||||
"Capture": damage,
|
||||
"Bonuses": {
|
||||
@@ -381,13 +381,13 @@ class testResistance
|
||||
"GetCiv": () => "civ"
|
||||
});
|
||||
|
||||
let cmpCapturable = AddMock(this.EntityID, IID_Capturable, {
|
||||
const cmpCapturable = AddMock(this.EntityID, IID_Capturable, {
|
||||
"Capture": (amount, __, ___) => {
|
||||
TS_ASSERT_EQUALS(amount, damage * bonus * Math.pow(0.9, captureResistanceValue));
|
||||
return { "captureChange": amount };
|
||||
}
|
||||
});
|
||||
let cmpHealth = AddMock(this.EntityID, IID_Health, {
|
||||
const cmpHealth = AddMock(this.EntityID, IID_Health, {
|
||||
"TakeDamage": (amount, __, ___) => {
|
||||
TS_ASSERT_EQUALS(amount, damage * bonus);
|
||||
return { "healthChange": -amount };
|
||||
@@ -395,8 +395,8 @@ class testResistance
|
||||
"GetHitpoints": () => 1,
|
||||
"GetMaxHitpoints": () => 1
|
||||
});
|
||||
let healthSpy = new Spy(cmpHealth, "TakeDamage");
|
||||
let captureSpy = new Spy(cmpCapturable, "Capture");
|
||||
const healthSpy = new Spy(cmpHealth, "TakeDamage");
|
||||
const captureSpy = new Spy(cmpCapturable, "Capture");
|
||||
|
||||
AttackHelper.HandleAttackEffects(this.EntityID, {
|
||||
"type": "Test",
|
||||
@@ -409,7 +409,7 @@ class testResistance
|
||||
}
|
||||
}
|
||||
|
||||
let cmp = new testResistance();
|
||||
const cmp = new testResistance();
|
||||
cmp.TestInvulnerability();
|
||||
cmp.TestBonus();
|
||||
cmp.TestDamageResistanceApplies();
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
Resources = {
|
||||
"BuildChoicesSchema": () => {
|
||||
let schema = "";
|
||||
for (let res of ["food", "metal"])
|
||||
for (const res of ["food", "metal"])
|
||||
{
|
||||
for (let subtype in ["meat", "grain"])
|
||||
for (const subtype in ["meat", "grain"])
|
||||
schema += "<value>" + res + "." + subtype + "</value>";
|
||||
schema += "<value> treasure." + res + "</value>";
|
||||
}
|
||||
@@ -19,14 +19,14 @@ Engine.RegisterGlobal("ApplyValueModificationsToEntity", (prop, oVal, ent) => oV
|
||||
|
||||
const owner = 1;
|
||||
const entity = 11;
|
||||
let dropper = 12;
|
||||
const dropper = 12;
|
||||
|
||||
let template = {
|
||||
const template = {
|
||||
"Sharable": "true",
|
||||
"Types": "food"
|
||||
};
|
||||
|
||||
let cmpResourceDropsite = ConstructComponent(entity, "ResourceDropsite", template);
|
||||
const cmpResourceDropsite = ConstructComponent(entity, "ResourceDropsite", template);
|
||||
TS_ASSERT(cmpResourceDropsite.IsSharable());
|
||||
|
||||
AddMock(dropper, IID_Ownership, {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
Resources = {
|
||||
"BuildSchema": () => {
|
||||
let schema = "";
|
||||
for (let res of ["food", "metal", "wood"])
|
||||
for (const res of ["food", "metal", "wood"])
|
||||
{
|
||||
for (let subtype in ["meat", "grain"])
|
||||
for (const subtype in ["meat", "grain"])
|
||||
schema += "<value>" + res + "." + subtype + "</value>";
|
||||
schema += "<value> treasure." + res + "</value>";
|
||||
}
|
||||
@@ -42,7 +42,7 @@ const gathererID = 11;
|
||||
const dropsiteID = 12;
|
||||
const supplyID = 13;
|
||||
|
||||
let template = {
|
||||
const template = {
|
||||
"MaxDistance": "10",
|
||||
"BaseSpeed": "1",
|
||||
"Rates": {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
Resources = {
|
||||
"BuildChoicesSchema": () => {
|
||||
let schema = "";
|
||||
for (let res of ["food", "metal"])
|
||||
for (const res of ["food", "metal"])
|
||||
{
|
||||
for (let subtype in ["meat", "grain"])
|
||||
for (const subtype in ["meat", "grain"])
|
||||
schema += "<value>" + res + "." + subtype + "</value>";
|
||||
schema += "<value> treasure." + res + "</value>";
|
||||
}
|
||||
@@ -19,7 +19,7 @@ Engine.LoadComponentScript("interfaces/Timer.js");
|
||||
Engine.LoadComponentScript("ResourceSupply.js");
|
||||
Engine.LoadComponentScript("Timer.js");
|
||||
|
||||
let entity = 60;
|
||||
const entity = 60;
|
||||
|
||||
AddMock(entity, IID_Fogging, {
|
||||
"Activate": () => {}
|
||||
|
||||
@@ -5,7 +5,7 @@ Resources = {
|
||||
"GetResource": () => ({}),
|
||||
"BuildSchema": (type) => {
|
||||
let schema = "";
|
||||
for (let res of Resources.GetCodes())
|
||||
for (const res of Resources.GetCodes())
|
||||
schema +=
|
||||
"<optional>" +
|
||||
"<element name='" + res + "'>" +
|
||||
@@ -26,12 +26,12 @@ Engine.LoadComponentScript("Timer.js");
|
||||
// Resource Trickle requires this function to be defined before the component is built.
|
||||
let ApplyValueModificationsToEntity = (valueName, currentValue, entity) => currentValue;
|
||||
Engine.RegisterGlobal("ApplyValueModificationsToEntity", ApplyValueModificationsToEntity);
|
||||
let wonderEnt = 1;
|
||||
let turnLength = 0.2;
|
||||
let playerEnt = 10;
|
||||
let cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer", {});
|
||||
const wonderEnt = 1;
|
||||
const turnLength = 0.2;
|
||||
const playerEnt = 10;
|
||||
const cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer", {});
|
||||
|
||||
let cmpResourceTrickle = ConstructComponent(wonderEnt, "ResourceTrickle", {
|
||||
const cmpResourceTrickle = ConstructComponent(wonderEnt, "ResourceTrickle", {
|
||||
"Interval": "200",
|
||||
"Rates": {
|
||||
"food": "0",
|
||||
@@ -39,7 +39,7 @@ let cmpResourceTrickle = ConstructComponent(wonderEnt, "ResourceTrickle", {
|
||||
}
|
||||
});
|
||||
|
||||
let cmpPlayer = ConstructComponent(playerEnt, "Player", {
|
||||
const cmpPlayer = ConstructComponent(playerEnt, "Player", {
|
||||
"SpyCostMultiplier": "1",
|
||||
"BarterMultiplier": {
|
||||
"Buy": {
|
||||
@@ -54,7 +54,7 @@ let cmpPlayer = ConstructComponent(playerEnt, "Player", {
|
||||
"Formations": { "_string": "" },
|
||||
});
|
||||
|
||||
let QueryOwnerInterface = () => cmpPlayer;
|
||||
const QueryOwnerInterface = () => cmpPlayer;
|
||||
Engine.RegisterGlobal("QueryOwnerInterface", QueryOwnerInterface);
|
||||
TS_ASSERT_UNEVAL_EQUALS(cmpPlayer.GetResourceCounts(), { "food": 300, "metal": 300 });
|
||||
TS_ASSERT_EQUALS(cmpResourceTrickle.GetInterval(), 200);
|
||||
|
||||
@@ -4,9 +4,9 @@ Resources = {
|
||||
"GetBarterableCodes": () => ["food", "metal", "stone", "wood"],
|
||||
"BuildSchema": () => {
|
||||
let schema = "";
|
||||
for (let res of ["food", "metal"])
|
||||
for (const res of ["food", "metal"])
|
||||
{
|
||||
for (let subtype in ["meat", "grain"])
|
||||
for (const subtype in ["meat", "grain"])
|
||||
schema += "<value>" + res + "." + subtype + "</value>";
|
||||
schema += "<value> treasure." + res + "</value>";
|
||||
}
|
||||
@@ -14,9 +14,9 @@ Resources = {
|
||||
},
|
||||
"BuildChoicesSchema": () => {
|
||||
let schema = "";
|
||||
for (let res of ["food", "metal"])
|
||||
for (const res of ["food", "metal"])
|
||||
{
|
||||
for (let subtype in ["meat", "grain"])
|
||||
for (const subtype in ["meat", "grain"])
|
||||
schema += "<value>" + res + "." + subtype + "</value>";
|
||||
schema += "<value> treasure." + res + "</value>";
|
||||
}
|
||||
@@ -47,7 +47,7 @@ Engine.LoadComponentScript("ResourceSupply.js");
|
||||
Engine.LoadComponentScript("Timer.js");
|
||||
|
||||
Engine.RegisterGlobal("ApplyValueModificationsToEntity", (prop, oVal, ent) => oVal);
|
||||
let cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer", null);
|
||||
const cmpTimer = ConstructComponent(SYSTEM_ENTITY, "Timer", null);
|
||||
|
||||
AddMock(SYSTEM_ENTITY, IID_ObstructionManager, {
|
||||
"IsInTargetRange": () => true
|
||||
@@ -70,7 +70,7 @@ AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|
||||
"GetPlayerByID": (id) => owner
|
||||
});
|
||||
|
||||
let cmpPlayer = ConstructComponent(owner, "Player", {
|
||||
const cmpPlayer = ConstructComponent(owner, "Player", {
|
||||
"SpyCostMultiplier": "1",
|
||||
"BarterMultiplier": {
|
||||
"Buy": {},
|
||||
@@ -78,9 +78,9 @@ let cmpPlayer = ConstructComponent(owner, "Player", {
|
||||
},
|
||||
"Formations": { "_string": "" }
|
||||
});
|
||||
let playerSpy = new Spy(cmpPlayer, "AddResources");
|
||||
const playerSpy = new Spy(cmpPlayer, "AddResources");
|
||||
|
||||
let cmpResourceGatherer = ConstructComponent(gatherer, "ResourceGatherer", {
|
||||
const cmpResourceGatherer = ConstructComponent(gatherer, "ResourceGatherer", {
|
||||
"MaxDistance": "10",
|
||||
"BaseSpeed": "1",
|
||||
"Rates": {
|
||||
@@ -91,14 +91,14 @@ let cmpResourceGatherer = ConstructComponent(gatherer, "ResourceGatherer", {
|
||||
}
|
||||
});
|
||||
cmpResourceGatherer.OnGlobalInitGame();
|
||||
let cmpResourceSupply = ConstructComponent(supply, "ResourceSupply", {
|
||||
const cmpResourceSupply = ConstructComponent(supply, "ResourceSupply", {
|
||||
"Max": 1000,
|
||||
"Type": "food.meat",
|
||||
"KillBeforeGather": false,
|
||||
"MaxGatherers": 2
|
||||
});
|
||||
cmpResourceSupply.RecalculateValues();
|
||||
let cmpResourceDropsite = ConstructComponent(dropsite, "ResourceDropsite", {
|
||||
const cmpResourceDropsite = ConstructComponent(dropsite, "ResourceDropsite", {
|
||||
"Sharable": "true",
|
||||
"Types": "food"
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user