feat: terrain coefficients

This commit is contained in:
TrèsAbhi committed 2024-06-29 13:25:59 -05:00
1 parent 11cca03f2c
commit 1dc85253c9
3 files changed
+42 -15

No files matched your search

+17
View File
@@ -1357,6 +1357,23 @@ export default function Page() {
/>
<Row name="Engine power" value="enginePower" decimals={0} />
<Row name="Weight" value="weight" decimals={1} />
<Row
name="Terrain coefficient"
value="hardTerrainCoefficient"
decimals={1}
/>
<Row
name="medium terrain"
indent
value="mediumTerrainCoefficient"
decimals={1}
/>
<Row
name="soft terrain"
indent
value="softTerrainCoefficient"
decimals={1}
/>
<Row
name="Power to weight ratio"
value="powerToWeightRatioHardTerrain"
@@ -534,6 +534,16 @@ export function Characteristics() {
>
{stats.weight}
</InfoWithDelta>
<Info name="Terrain coefficients" />
<InfoWithDelta decimals={1} indent name="Hard">
{stats.hardTerrainCoefficient}
</InfoWithDelta>
<InfoWithDelta decimals={1} indent name="Medium">
{stats.mediumTerrainCoefficient}
</InfoWithDelta>
<InfoWithDelta decimals={1} indent name="Soft">
{stats.softTerrainCoefficient}
</InfoWithDelta>
<Info name="Power to weight ratio" unit="hp/tn" />
<InfoWithDelta decimals={1} indent name="On hard terrain">
{stats.powerToWeightRatioHardTerrain}
+15 -15
View File
@@ -405,40 +405,37 @@ export function tankCharacteristics(
const speedForwards = tank.speed.forwards + speedForwardsSum;
const speedBackwards = tank.speed.backwards + speedBackwardsSum;
const enginePower = resolvedEnginePower;
const hardTerrainCoefficient =
track.resistance.hard * resistanceHardCoefficient;
const mediumTerrainCoefficient =
track.resistance.medium * resistanceMediumCoefficient;
const softTerrainCoefficient =
track.resistance.soft * resistanceSoftCoefficient;
const powerToWeightRatioHardTerrain =
resolvedEnginePower /
weightTons /
(track.resistance.hard * resistanceHardCoefficient);
resolvedEnginePower / weightTons / hardTerrainCoefficient;
const powerToWeightRatioMediumTerrain =
resolvedEnginePower /
weightTons /
(track.resistance.medium * resistanceMediumCoefficient);
resolvedEnginePower / weightTons / mediumTerrainCoefficient;
const powerToWeightRatioSoftTerrain =
resolvedEnginePower /
weightTons /
(track.resistance.soft * resistanceSoftCoefficient);
resolvedEnginePower / weightTons / softTerrainCoefficient;
const weight = weightTons;
const turretTraverseSpeed = turret.traverseSpeed * turretTraverseCoefficient;
const hullTraverseHardTerrain =
(resolvedEnginePower / stockEngine.power) *
track.traverseSpeed *
hullTraverseCoefficient *
(track.resistance.hard /
(track.resistance.hard * resistanceHardCoefficient)) *
(track.resistance.hard / hardTerrainCoefficient) *
(stockWeight / weightKg);
const hullTraverseMediumTerrain =
(resolvedEnginePower / stockEngine.power) *
track.traverseSpeed *
hullTraverseCoefficient *
(track.resistance.hard /
(track.resistance.medium * resistanceMediumCoefficient)) *
(track.resistance.hard / mediumTerrainCoefficient) *
(stockWeight / weightKg);
const hullTraverseSoftTerrain =
(resolvedEnginePower / stockEngine.power) *
track.traverseSpeed *
hullTraverseCoefficient *
(track.resistance.hard /
(track.resistance.soft * resistanceSoftCoefficient)) *
(track.resistance.hard / softTerrainCoefficient) *
(stockWeight / weightKg);
const health = (tank.health + turret.health) * healthCoefficient;
const fireChance = engine.fireChance * fireChanceCoefficient;
@@ -500,6 +497,9 @@ export function tankCharacteristics(
azimuthRight,
speedForwards,
speedBackwards,
hardTerrainCoefficient,
mediumTerrainCoefficient,
softTerrainCoefficient,
enginePower,
powerToWeightRatioHardTerrain,
powerToWeightRatioMediumTerrain,