From 3ba8b0c1a5565610186d4c8ab9ff263050b62558 Mon Sep 17 00:00:00 2001 From: Justus Avramenko Date: Sat, 31 Aug 2024 20:03:35 -0400 Subject: [PATCH] [Fix] Code inconsistency in Attack.js for range accuracy The proper schema is: Attack/Ranged/Projectile/Spread Fixes this oversight in Attack.js and adjusts the relevant technologies and trigger. --- .../mods/public/maps/scenarios/unit_dancing_test_triggers.js | 2 +- binaries/data/mods/public/simulation/components/Attack.js | 2 +- .../simulation/data/technologies/archer_attack_spread.json | 2 +- .../simulation/data/technologies/siege_bolt_accuracy.json | 2 +- .../mods/public/simulation/data/technologies/unit_advanced.json | 2 +- .../mods/public/simulation/data/technologies/unit_elite.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/binaries/data/mods/public/maps/scenarios/unit_dancing_test_triggers.js b/binaries/data/mods/public/maps/scenarios/unit_dancing_test_triggers.js index 32a26c05e0..4c7d9b9d56 100644 --- a/binaries/data/mods/public/maps/scenarios/unit_dancing_test_triggers.js +++ b/binaries/data/mods/public/maps/scenarios/unit_dancing_test_triggers.js @@ -356,7 +356,7 @@ Trigger.prototype.RemoveSpread = function() { let cmpModifiersManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ModifiersManager); cmpModifiersManager.AddModifiers("no_promotion", { - "Attack/Ranged/Spread": [{ "affects": ["Unit"], "replace": 0 }], + "Attack/Ranged/Projectile/Spread": [{ "affects": ["Unit"], "replace": 0 }], }, 4); // player 2 is ent 4 }; diff --git a/binaries/data/mods/public/simulation/components/Attack.js b/binaries/data/mods/public/simulation/components/Attack.js index 2ac58ac315..71db084f7c 100644 --- a/binaries/data/mods/public/simulation/components/Attack.js +++ b/binaries/data/mods/public/simulation/components/Attack.js @@ -674,7 +674,7 @@ Attack.prototype.PerformAttack = function(type, target) let predictedHeight = cmpTargetPosition.GetHeightAt(predictedPosition.x, predictedPosition.z); // Add inaccuracy based on spread. - let distanceModifiedSpread = ApplyValueModificationsToEntity("Attack/" + type + "/Spread", +this.template[type].Projectile.Spread, this.entity) * + const distanceModifiedSpread = ApplyValueModificationsToEntity("Attack/" + type + "/Projectile/Spread", +this.template[type].Projectile.Spread, this.entity) * predictedPosition.horizDistanceTo(selfPosition) / 100; let randNorm = randomNormal2D(); diff --git a/binaries/data/mods/public/simulation/data/technologies/archer_attack_spread.json b/binaries/data/mods/public/simulation/data/technologies/archer_attack_spread.json index d30eb0978f..b55d301e5f 100644 --- a/binaries/data/mods/public/simulation/data/technologies/archer_attack_spread.json +++ b/binaries/data/mods/public/simulation/data/technologies/archer_attack_spread.json @@ -20,7 +20,7 @@ "researchTime": 40, "tooltip": "Archers −20% ranged attack spread.", "modifications": [ - { "value": "Attack/Ranged/Spread", "multiply": 0.8 } + { "value": "Attack/Ranged/Projectile/Spread", "multiply": 0.8 } ], "affects": ["Archer"], "soundComplete": "interface/alarm/alarm_upgradearmory.xml" diff --git a/binaries/data/mods/public/simulation/data/technologies/siege_bolt_accuracy.json b/binaries/data/mods/public/simulation/data/technologies/siege_bolt_accuracy.json index c5ec2d9142..f075456f44 100644 --- a/binaries/data/mods/public/simulation/data/technologies/siege_bolt_accuracy.json +++ b/binaries/data/mods/public/simulation/data/technologies/siege_bolt_accuracy.json @@ -22,7 +22,7 @@ "researchTime": 40, "tooltip": "Bolt Shooters −20% ranged attack spread.", "modifications": [ - { "value": "Attack/Ranged/Spread", "multiply": 0.8 } + { "value": "Attack/Ranged/Projectile/Spread", "multiply": 0.8 } ], "affects": ["BoltShooter"], "soundComplete": "interface/alarm/alarm_upgradearmory.xml" diff --git a/binaries/data/mods/public/simulation/data/technologies/unit_advanced.json b/binaries/data/mods/public/simulation/data/technologies/unit_advanced.json index cdb7a0edc7..4a0c48dc10 100644 --- a/binaries/data/mods/public/simulation/data/technologies/unit_advanced.json +++ b/binaries/data/mods/public/simulation/data/technologies/unit_advanced.json @@ -7,7 +7,7 @@ { "value": "Attack/Melee/Damage/Hack", "multiply": 1.2, "affects": "Melee" }, { "value": "Attack/Melee/Damage/Pierce", "multiply": 1.2, "affects": "Melee" }, { "value": "Attack/Melee/Damage/Crush", "multiply": 1.2, "affects": "Melee" }, - { "value": "Attack/Ranged/Spread", "multiply": 0.8, "affects": "Ranged" }, + { "value": "Attack/Ranged/Projectile/Spread", "multiply": 0.8, "affects": "Ranged" }, { "value": "Cost/BuildTime", "multiply": 1.2 }, { "value": "Health/Max", "multiply": 1.25 }, { "value": "Heal/Range", "add": 3, "affects": "Healer" }, diff --git a/binaries/data/mods/public/simulation/data/technologies/unit_elite.json b/binaries/data/mods/public/simulation/data/technologies/unit_elite.json index 569a51d7b7..65ef3b8829 100644 --- a/binaries/data/mods/public/simulation/data/technologies/unit_elite.json +++ b/binaries/data/mods/public/simulation/data/technologies/unit_elite.json @@ -7,7 +7,7 @@ { "value": "Attack/Melee/Damage/Hack", "multiply": 1.2, "affects": "Melee" }, { "value": "Attack/Melee/Damage/Pierce", "multiply": 1.2, "affects": "Melee" }, { "value": "Attack/Melee/Damage/Crush", "multiply": 1.2, "affects": "Melee" }, - { "value": "Attack/Ranged/Spread", "multiply": 0.8, "affects": "Ranged" }, + { "value": "Attack/Ranged/Projectile/Spread", "multiply": 0.8, "affects": "Ranged" }, { "value": "Cost/BuildTime", "multiply": 1.2 }, { "value": "Health/Max", "multiply": 1.25 }, { "value": "Heal/Range", "add": 3, "affects": "Healer" },