Index: binaries/data/mods/public/simulation/components/Attack.js =================================================================== --- binaries/data/mods/public/simulation/components/Attack.js +++ binaries/data/mods/public/simulation/components/Attack.js @@ -68,7 +68,6 @@ "" + "" + "" + - "50.0" + "2.5" + "props/units/weapons/rock_flaming.xml" + "props/units/weapons/rock_explosion.xml" + @@ -165,9 +164,6 @@ "" + "" + "" + - "" + - "" + - "" + "" + "" + "" + @@ -513,10 +509,6 @@ // * Obstacles like trees could reduce the probability of the target being hit // * Obstacles like walls should block projectiles entirely - let horizSpeed = +this.template[type].Projectile.Speed; - let gravity = +this.template[type].Projectile.Gravity; - // horizSpeed /= 2; gravity /= 2; // slow it down for testing - // We will try to estimate the position of the target, where we can hit it. // We first estimate the time-till-hit by extrapolating linearly the movement // of the last turn. We compute the time till an arrow will intersect the target. @@ -529,6 +521,13 @@ return; let targetPosition = cmpTargetPosition.GetPosition(); + let gravity = +this.template[type].Projectile.Gravity; + let spread = ApplyValueModificationsToEntity("Attack/Ranged/Spread", +this.template[type].Projectile.Spread, this.entity); + // Compute the horizontal speed for a given gravity and assuming initial angle of pi/4 for maximum range. + let range = this.GetRange(type); + let maxRange = range.max + spread; + let horizSpeed = maxRange * Math.sqrt(gravity / (2 * Math.max(maxRange - range.elevationBonus + targetPosition.y - selfPosition.y, 1))); + let targetVelocity = Vector3D.sub(targetPosition, cmpTargetPosition.GetPreviousPosition()).div(turnLength); let timeToTarget = PositionHelper.PredictTimeToTarget(selfPosition, horizSpeed, targetPosition, targetVelocity); @@ -563,8 +562,7 @@ let predictedHeight = cmpTargetPosition.GetHeightAt(predictedPosition.x, predictedPosition.z); // Add inaccuracy based on spread. - let distanceModifiedSpread = ApplyValueModificationsToEntity("Attack/Ranged/Spread", +this.template[type].Projectile.Spread, this.entity) * - predictedPosition.horizDistanceTo(selfPosition) / 100; + let distanceModifiedSpread = spread * predictedPosition.horizDistanceTo(selfPosition) / 100; let randNorm = randomNormal2D(); let offsetX = randNorm[0] * distanceModifiedSpread; Index: binaries/data/mods/public/simulation/templates/structures/rome/army_camp.xml =================================================================== --- binaries/data/mods/public/simulation/templates/structures/rome/army_camp.xml +++ binaries/data/mods/public/simulation/templates/structures/rome/army_camp.xml @@ -14,9 +14,8 @@ 2000 0 - 100.0 1.5 - 50.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml +++ binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml @@ -20,9 +20,8 @@ 2000 0 - 100.0 1.5 - 50.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_structure_defensive_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_defensive_tower.xml +++ binaries/data/mods/public/simulation/templates/template_structure_defensive_tower.xml @@ -14,9 +14,8 @@ 2000 0 - 100.0 1.5 - 50.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_artillery.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_artillery.xml +++ binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_artillery.xml @@ -12,9 +12,7 @@ 4500 5000 - 40.0 6.0 - 9.81 false props/units/weapons/tower_artillery_projectile.xml Index: binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_bolt.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_bolt.xml +++ binaries/data/mods/public/simulation/templates/template_structure_defensive_tower_bolt.xml @@ -12,9 +12,7 @@ 500 4000 - 150.0 1.0 - 9.81 false props/units/weapons/tower_artillery_projectile_impact.xml Index: binaries/data/mods/public/simulation/templates/template_structure_defensive_wall_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_defensive_wall_tower.xml +++ binaries/data/mods/public/simulation/templates/template_structure_defensive_wall_tower.xml @@ -14,9 +14,8 @@ 2000 0 - 100.0 1.5 - 50.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml +++ binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml @@ -14,9 +14,8 @@ 2000 0 - 100.0 1.5 - 50.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_unit_cavalry_ranged.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_cavalry_ranged.xml +++ binaries/data/mods/public/simulation/templates/template_unit_cavalry_ranged.xml @@ -13,7 +13,6 @@ 1500 0 - 100.0 3.0 9.81 false Index: binaries/data/mods/public/simulation/templates/template_unit_cavalry_ranged_archer.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_cavalry_ranged_archer.xml +++ binaries/data/mods/public/simulation/templates/template_unit_cavalry_ranged_archer.xml @@ -14,9 +14,7 @@ 1000 0 - 100.0 2.0 - 50.0 false Index: binaries/data/mods/public/simulation/templates/template_unit_cavalry_ranged_javelineer.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_cavalry_ranged_javelineer.xml +++ binaries/data/mods/public/simulation/templates/template_unit_cavalry_ranged_javelineer.xml @@ -14,9 +14,7 @@ 1250 0 - 70.0 4.0 - 35.0 false Index: binaries/data/mods/public/simulation/templates/template_unit_champion_cavalry_archer.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_champion_cavalry_archer.xml +++ binaries/data/mods/public/simulation/templates/template_unit_champion_cavalry_archer.xml @@ -14,9 +14,8 @@ 1000 0 - 100.0 0.8 - 50.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_unit_champion_cavalry_javelineer.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_champion_cavalry_javelineer.xml +++ binaries/data/mods/public/simulation/templates/template_unit_champion_cavalry_javelineer.xml @@ -14,9 +14,8 @@ 1250 0 - 70.0 1.6 - 35.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_unit_champion_infantry_archer.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_champion_infantry_archer.xml +++ binaries/data/mods/public/simulation/templates/template_unit_champion_infantry_archer.xml @@ -14,9 +14,8 @@ 1000 0 - 100.0 0.8 - 50.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_unit_champion_infantry_javelineer.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_champion_infantry_javelineer.xml +++ binaries/data/mods/public/simulation/templates/template_unit_champion_infantry_javelineer.xml @@ -14,9 +14,8 @@ 1000 0 - 70.0 1.6 - 35.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_unit_elephant_archer.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_elephant_archer.xml +++ binaries/data/mods/public/simulation/templates/template_unit_elephant_archer.xml @@ -14,9 +14,8 @@ 1000 0 - 100.0 2.0 - 50.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_unit_hero_cavalry_archer.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_hero_cavalry_archer.xml +++ binaries/data/mods/public/simulation/templates/template_unit_hero_cavalry_archer.xml @@ -14,9 +14,8 @@ 1000 0 - 100.0 0.4 - 50.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_unit_hero_cavalry_javelineer.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_hero_cavalry_javelineer.xml +++ binaries/data/mods/public/simulation/templates/template_unit_hero_cavalry_javelineer.xml @@ -14,9 +14,8 @@ 1250 0 - 70.0 0.8 - 35.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_unit_hero_infantry_archer.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_hero_infantry_archer.xml +++ binaries/data/mods/public/simulation/templates/template_unit_hero_infantry_archer.xml @@ -14,9 +14,8 @@ 1000 0 - 100.0 0.4 - 50.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_unit_hero_infantry_javelineer.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_hero_infantry_javelineer.xml +++ binaries/data/mods/public/simulation/templates/template_unit_hero_infantry_javelineer.xml @@ -14,9 +14,8 @@ 1000 0 - 70 0.8 - 35.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_unit_infantry_ranged.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_infantry_ranged.xml +++ binaries/data/mods/public/simulation/templates/template_unit_infantry_ranged.xml @@ -13,7 +13,6 @@ 1250 0 - 100.0 3.0 9.81 false Index: binaries/data/mods/public/simulation/templates/template_unit_infantry_ranged_archer.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_infantry_ranged_archer.xml +++ binaries/data/mods/public/simulation/templates/template_unit_infantry_ranged_archer.xml @@ -14,9 +14,7 @@ 1000 0 - 100.0 2.0 - 50.0 false Index: binaries/data/mods/public/simulation/templates/template_unit_infantry_ranged_javelineer.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_infantry_ranged_javelineer.xml +++ binaries/data/mods/public/simulation/templates/template_unit_infantry_ranged_javelineer.xml @@ -14,9 +14,7 @@ 1250 0 - 70.0 4.0 - 35.0 false Index: binaries/data/mods/public/simulation/templates/template_unit_infantry_ranged_slinger.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_infantry_ranged_slinger.xml +++ binaries/data/mods/public/simulation/templates/template_unit_infantry_ranged_slinger.xml @@ -14,9 +14,7 @@ 1250 0 - 90.0 3.0 - 45.0 false Index: binaries/data/mods/public/simulation/templates/template_unit_ship_bireme.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_ship_bireme.xml +++ binaries/data/mods/public/simulation/templates/template_unit_ship_bireme.xml @@ -14,9 +14,8 @@ 2000 0 - 100.0 2.0 - 50.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_unit_ship_quinquereme.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_ship_quinquereme.xml +++ binaries/data/mods/public/simulation/templates/template_unit_ship_quinquereme.xml @@ -14,9 +14,8 @@ 5000 0 - 40.0 6.0 - 20.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_unit_ship_trireme.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_ship_trireme.xml +++ binaries/data/mods/public/simulation/templates/template_unit_ship_trireme.xml @@ -14,9 +14,8 @@ 2000 0 - 100.0 2.0 - 50.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/template_unit_siege_boltshooter.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_siege_boltshooter.xml +++ binaries/data/mods/public/simulation/templates/template_unit_siege_boltshooter.xml @@ -14,7 +14,6 @@ 6000 0 - 150.0 1.0 9.81 false Index: binaries/data/mods/public/simulation/templates/template_unit_siege_stonethrower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_siege_stonethrower.xml +++ binaries/data/mods/public/simulation/templates/template_unit_siege_stonethrower.xml @@ -14,9 +14,8 @@ 7000 0 - 40.0 6.0 - 20.0 + 9.81 false props/units/weapons/rock_explosion.xml Index: binaries/data/mods/public/simulation/templates/template_unit_siege_tower.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_unit_siege_tower.xml +++ binaries/data/mods/public/simulation/templates/template_unit_siege_tower.xml @@ -15,9 +15,8 @@ 2000 0 - 100.0 2.0 - 50.0 + 9.81 false Index: binaries/data/mods/public/simulation/templates/units/mace/champion_infantry_crossbowman.xml =================================================================== --- binaries/data/mods/public/simulation/templates/units/mace/champion_infantry_crossbowman.xml +++ binaries/data/mods/public/simulation/templates/units/mace/champion_infantry_crossbowman.xml @@ -14,9 +14,7 @@ 3000 0 - 120.0 0.8 - 30.0 false Index: binaries/data/mods/public/simulation/templates/units/plane.xml =================================================================== --- binaries/data/mods/public/simulation/templates/units/plane.xml +++ binaries/data/mods/public/simulation/templates/units/plane.xml @@ -14,7 +14,6 @@ 10000 0 - 75.0 1.0 9.81 false Index: binaries/data/mods/public/simulation/templates/units/theb_siege_fireraiser.xml =================================================================== --- binaries/data/mods/public/simulation/templates/units/theb_siege_fireraiser.xml +++ binaries/data/mods/public/simulation/templates/units/theb_siege_fireraiser.xml @@ -12,7 +12,6 @@ 2000 0 - 10.0 2.0 9.81 false