mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-08-11 03:46:52 -05:00
More descriptive jump RNG reduction stat
This commit is contained in:
@@ -85,7 +85,8 @@ export function buildStats({
|
||||
quickRespawnTime: quickRespawnTime(input),
|
||||
superJumpTimeGroundFrames: superJumpTimeGroundFrames(input),
|
||||
superJumpTimeTotal: superJumpTimeTotal(input),
|
||||
jumpRngReductionEffectPercentage: jumpRngReductionEffectPercentage(input),
|
||||
shotSpreadAir: shotSpreadAir(input),
|
||||
shotSpreadGround: mainWeaponParams.Stand_DegSwerve,
|
||||
subDefPointSensorMarkedTimeInSeconds:
|
||||
subDefPointSensorMarkedTimeInSeconds(input),
|
||||
subDefInkMineMarkedTimeInSeconds: subDefInkMineMarkedTimeInSeconds(input),
|
||||
@@ -539,23 +540,36 @@ function superJumpTimeTotal(
|
||||
};
|
||||
}
|
||||
|
||||
function jumpRngReductionEffectPercentage(
|
||||
function shotSpreadAir(
|
||||
args: StatFunctionInput
|
||||
): AnalyzedBuild["stats"]["jumpRngReductionEffectPercentage"] {
|
||||
const JUMP_RNG_REDUCTION_ABILITY = "IA";
|
||||
const { baseEffect, effect } = abilityPointsToEffects({
|
||||
): AnalyzedBuild["stats"]["shotSpreadAir"] {
|
||||
const SHOT_SPREAD_AIR_ABILITY = "IA";
|
||||
const groundSpread = args.mainWeaponParams.Stand_DegSwerve;
|
||||
const jumpSpread = args.mainWeaponParams.Jump_DegSwerve;
|
||||
|
||||
if (
|
||||
typeof jumpSpread !== "number" ||
|
||||
typeof groundSpread !== "number" ||
|
||||
jumpSpread === groundSpread
|
||||
)
|
||||
return;
|
||||
|
||||
const { effect } = abilityPointsToEffects({
|
||||
abilityPoints: apFromMap({
|
||||
abilityPoints: args.abilityPoints,
|
||||
ability: JUMP_RNG_REDUCTION_ABILITY,
|
||||
ability: SHOT_SPREAD_AIR_ABILITY,
|
||||
}),
|
||||
key: "ReduceJumpSwerveRate",
|
||||
weapon: args.mainWeaponParams,
|
||||
});
|
||||
|
||||
const extraSpread = jumpSpread - groundSpread;
|
||||
const reducedExtraSpread = extraSpread * (1 - effect);
|
||||
|
||||
return {
|
||||
baseValue: roundToTwoDecimalPlaces(baseEffect * 100),
|
||||
value: roundToTwoDecimalPlaces(effect * 100),
|
||||
modifiedBy: JUMP_RNG_REDUCTION_ABILITY,
|
||||
baseValue: roundToTwoDecimalPlaces(jumpSpread),
|
||||
value: roundToTwoDecimalPlaces(reducedExtraSpread + groundSpread),
|
||||
modifiedBy: SHOT_SPREAD_AIR_ABILITY,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,8 @@ export interface MainWeaponParams {
|
||||
DamageParam_ValueMax?: number;
|
||||
DamageParam_ValueMin?: number;
|
||||
DamageParam_ValueDirect?: number;
|
||||
Jump_DegSwerve?: number;
|
||||
Stand_DegSwerve?: number;
|
||||
/** Damage caused by charger's full charged shot */
|
||||
DamageParam_ValueFullCharge?: number;
|
||||
/** Max damage caused by charger's charged shot before fully charged */
|
||||
@@ -190,7 +192,8 @@ export interface AnalyzedBuild {
|
||||
quickRespawnTime: Stat;
|
||||
superJumpTimeGroundFrames: Stat;
|
||||
superJumpTimeTotal: Stat;
|
||||
jumpRngReductionEffectPercentage: Stat;
|
||||
shotSpreadAir?: Stat;
|
||||
shotSpreadGround?: number;
|
||||
|
||||
subDefPointSensorMarkedTimeInSeconds: Stat;
|
||||
subDefInkMineMarkedTimeInSeconds: Stat;
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
"WeaponSpeedType": "Fast",
|
||||
"DamageParam_ValueMax": 380,
|
||||
"DamageParam_ValueMin": 190,
|
||||
"Jump_DegSwerve": 18,
|
||||
"Stand_DegSwerve": 12,
|
||||
"InkRecoverStop": 15,
|
||||
"InkConsume": 0.008
|
||||
},
|
||||
@@ -17,6 +19,8 @@
|
||||
"WeaponSpeedType": "Fast",
|
||||
"DamageParam_ValueMax": 280,
|
||||
"DamageParam_ValueMin": 140,
|
||||
"Jump_DegSwerve": 15,
|
||||
"Stand_DegSwerve": 12,
|
||||
"InkRecoverStop": 15,
|
||||
"InkConsume": 0.0043
|
||||
},
|
||||
@@ -27,6 +31,8 @@
|
||||
"WeaponSpeedType": "Fast",
|
||||
"DamageParam_ValueMax": 280,
|
||||
"DamageParam_ValueMin": 140,
|
||||
"Jump_DegSwerve": 0,
|
||||
"Stand_DegSwerve": 0,
|
||||
"InkConsume": 0.008
|
||||
},
|
||||
"30": {
|
||||
@@ -36,6 +42,8 @@
|
||||
"WeaponSpeedType": "Fast",
|
||||
"DamageParam_ValueMax": 240,
|
||||
"DamageParam_ValueMin": 120,
|
||||
"Jump_DegSwerve": 16,
|
||||
"Stand_DegSwerve": 13,
|
||||
"InkRecoverStop": 15,
|
||||
"InkConsume": 0.0055
|
||||
},
|
||||
@@ -45,6 +53,8 @@
|
||||
"specialWeaponId": 1,
|
||||
"DamageParam_ValueMax": 360,
|
||||
"DamageParam_ValueMin": 180,
|
||||
"Jump_DegSwerve": 12,
|
||||
"Stand_DegSwerve": 6,
|
||||
"InkConsume": 0.0092
|
||||
},
|
||||
"45": {
|
||||
@@ -53,6 +63,8 @@
|
||||
"specialWeaponId": 1,
|
||||
"DamageParam_ValueMax": 360,
|
||||
"DamageParam_ValueMin": 180,
|
||||
"Jump_DegSwerve": 12,
|
||||
"Stand_DegSwerve": 6,
|
||||
"InkConsume": 0.0092
|
||||
},
|
||||
"50": {
|
||||
@@ -61,6 +73,8 @@
|
||||
"specialWeaponId": 9,
|
||||
"DamageParam_ValueMax": 520,
|
||||
"DamageParam_ValueMin": 300,
|
||||
"Jump_DegSwerve": 12,
|
||||
"Stand_DegSwerve": 6,
|
||||
"InkConsume": 0.013
|
||||
},
|
||||
"60": {
|
||||
@@ -70,6 +84,8 @@
|
||||
"WeaponSpeedType": "Fast",
|
||||
"DamageParam_ValueMax": 280,
|
||||
"DamageParam_ValueMin": 140,
|
||||
"Jump_DegSwerve": 12,
|
||||
"Stand_DegSwerve": 6,
|
||||
"InkConsume": 0.008
|
||||
},
|
||||
"70": {
|
||||
@@ -88,6 +104,8 @@
|
||||
},
|
||||
"DamageParam_ValueMax": 420,
|
||||
"DamageParam_ValueMin": 210,
|
||||
"Jump_DegSwerve": 6,
|
||||
"Stand_DegSwerve": 2.7,
|
||||
"InkConsume": 0.02
|
||||
},
|
||||
"80": {
|
||||
@@ -96,6 +114,8 @@
|
||||
"specialWeaponId": 8,
|
||||
"DamageParam_ValueMax": 620,
|
||||
"DamageParam_ValueMin": 350,
|
||||
"Jump_DegSwerve": 11.3511,
|
||||
"Stand_DegSwerve": 4,
|
||||
"InkConsume": 0.025
|
||||
},
|
||||
"90": {
|
||||
@@ -104,6 +124,8 @@
|
||||
"specialWeaponId": 8,
|
||||
"DamageParam_ValueMax": 320,
|
||||
"DamageParam_ValueMin": 160,
|
||||
"Jump_DegSwerve": 8,
|
||||
"Stand_DegSwerve": 3,
|
||||
"InkConsume": 0.016
|
||||
},
|
||||
"200": {
|
||||
@@ -131,6 +153,8 @@
|
||||
"Distance": 3.57
|
||||
}
|
||||
],
|
||||
"Jump_DegSwerve": 8,
|
||||
"Stand_DegSwerve": 0,
|
||||
"InkRecoverStop": 55,
|
||||
"InkConsume": 0.075
|
||||
},
|
||||
@@ -154,6 +178,8 @@
|
||||
"Distance": 3.3
|
||||
}
|
||||
],
|
||||
"Jump_DegSwerve": 10,
|
||||
"Stand_DegSwerve": 0,
|
||||
"InkRecoverStop": 60,
|
||||
"InkConsume": 0.1
|
||||
},
|
||||
@@ -177,6 +203,8 @@
|
||||
"Distance": 3.5
|
||||
}
|
||||
],
|
||||
"Jump_DegSwerve": 8,
|
||||
"Stand_DegSwerve": 0,
|
||||
"InkRecoverStop": 70,
|
||||
"InkConsume": 0.11
|
||||
},
|
||||
@@ -201,6 +229,8 @@
|
||||
"Distance": 4
|
||||
}
|
||||
],
|
||||
"Jump_DegSwerve": 8,
|
||||
"Stand_DegSwerve": 0,
|
||||
"InkRecoverStop": 40,
|
||||
"InkConsume": 0.04
|
||||
},
|
||||
@@ -224,6 +254,8 @@
|
||||
"Distance": 3.3
|
||||
}
|
||||
],
|
||||
"Jump_DegSwerve": 8,
|
||||
"Stand_DegSwerve": 0,
|
||||
"InkRecoverStop": 50,
|
||||
"InkConsume": 0.07
|
||||
},
|
||||
@@ -247,6 +279,8 @@
|
||||
"Distance": 3.3
|
||||
}
|
||||
],
|
||||
"Jump_DegSwerve": 8,
|
||||
"Stand_DegSwerve": 0,
|
||||
"InkRecoverStop": 50,
|
||||
"InkConsume": 0.08
|
||||
},
|
||||
@@ -257,6 +291,8 @@
|
||||
"TripleShotSpanFrame": 8,
|
||||
"DamageParam_ValueMax": 290,
|
||||
"DamageParam_ValueMin": 145,
|
||||
"Jump_DegSwerve": 6,
|
||||
"Stand_DegSwerve": 1,
|
||||
"InkRecoverStop": 25,
|
||||
"InkConsume": 0.0115
|
||||
},
|
||||
@@ -277,6 +313,8 @@
|
||||
"TripleShotSpanFrame": 20,
|
||||
"DamageParam_ValueMax": 410,
|
||||
"DamageParam_ValueMin": 205,
|
||||
"Jump_DegSwerve": 1,
|
||||
"Stand_DegSwerve": 1,
|
||||
"InkRecoverStop": 25,
|
||||
"InkConsume": 0.0225
|
||||
},
|
||||
@@ -286,6 +324,8 @@
|
||||
"specialWeaponId": 1,
|
||||
"DamageParam_ValueMax": 380,
|
||||
"DamageParam_ValueMin": 190,
|
||||
"Jump_DegSwerve": 0,
|
||||
"Stand_DegSwerve": 0,
|
||||
"InkConsume": 0.022
|
||||
},
|
||||
"1000": {
|
||||
@@ -478,6 +518,8 @@
|
||||
},
|
||||
"DamageParam_ValueMax": 320,
|
||||
"DamageParam_ValueMin": 160,
|
||||
"Jump_DegSwerve": 8,
|
||||
"Stand_DegSwerve": 4,
|
||||
"InkRecoverStop": 30,
|
||||
"InkConsumeFullChargeSplatling": 0.1725
|
||||
},
|
||||
@@ -494,6 +536,8 @@
|
||||
},
|
||||
"DamageParam_ValueMax": 300,
|
||||
"DamageParam_ValueMin": 150,
|
||||
"Jump_DegSwerve": 7,
|
||||
"Stand_DegSwerve": 3.3,
|
||||
"InkRecoverStop": 40,
|
||||
"InkConsumeFullChargeSplatling": 0.225
|
||||
},
|
||||
@@ -516,6 +560,8 @@
|
||||
"WeaponSpeedType": "Slow",
|
||||
"DamageParam_ValueMax": 320,
|
||||
"DamageParam_ValueMin": 160,
|
||||
"Jump_DegSwerve": 6,
|
||||
"Stand_DegSwerve": 3,
|
||||
"InkRecoverStop": 40,
|
||||
"InkConsumeFullChargeSplatling": 0.35
|
||||
},
|
||||
@@ -532,6 +578,8 @@
|
||||
},
|
||||
"DamageParam_ValueMax": 280,
|
||||
"DamageParam_ValueMin": 140,
|
||||
"Jump_DegSwerve": 12,
|
||||
"Stand_DegSwerve": 6,
|
||||
"InkRecoverStop": 40,
|
||||
"InkConsumeFullChargeSplatling": 0.25
|
||||
},
|
||||
@@ -549,6 +597,8 @@
|
||||
"DamageParam_ValueMax": 320,
|
||||
"DamageParam_ValueMin": 160,
|
||||
"KeepChargeFullFrame": 200,
|
||||
"Jump_DegSwerve": 3.6,
|
||||
"Stand_DegSwerve": 3.3,
|
||||
"InkRecoverStop": 40,
|
||||
"InkConsumeFullChargeSplatling": 0.15
|
||||
},
|
||||
@@ -559,6 +609,8 @@
|
||||
"WeaponSpeedType": "Fast",
|
||||
"DamageParam_ValueMax": 360,
|
||||
"DamageParam_ValueMin": 180,
|
||||
"Jump_DegSwerve": 12,
|
||||
"Stand_DegSwerve": 7,
|
||||
"InkConsume": 0.00663,
|
||||
"InkConsume_SideStepParam": 0.05
|
||||
},
|
||||
@@ -568,6 +620,8 @@
|
||||
"specialWeaponId": 12,
|
||||
"DamageParam_ValueMax": 300,
|
||||
"DamageParam_ValueMin": 150,
|
||||
"Jump_DegSwerve": 7.5,
|
||||
"Stand_DegSwerve": 2,
|
||||
"InkConsume": 0.0072,
|
||||
"InkConsume_SideStepParam": 0.07
|
||||
},
|
||||
@@ -577,6 +631,8 @@
|
||||
"specialWeaponId": 6,
|
||||
"DamageParam_ValueMax": 360,
|
||||
"DamageParam_ValueMin": 180,
|
||||
"Jump_DegSwerve": 8,
|
||||
"Stand_DegSwerve": 3.2,
|
||||
"InkConsume": 0.014,
|
||||
"InkConsume_SideStepParam": 0.08
|
||||
},
|
||||
@@ -586,6 +642,8 @@
|
||||
"specialWeaponId": 7,
|
||||
"DamageParam_ValueMax": 280,
|
||||
"DamageParam_ValueMin": 140,
|
||||
"Jump_DegSwerve": 8,
|
||||
"Stand_DegSwerve": 4,
|
||||
"InkConsume": 0.012,
|
||||
"InkConsume_SideStepParam": 0.08
|
||||
},
|
||||
@@ -595,6 +653,8 @@
|
||||
"specialWeaponId": 13,
|
||||
"DamageParam_ValueMax": 280,
|
||||
"DamageParam_ValueMin": 140,
|
||||
"Jump_DegSwerve": 12.8,
|
||||
"Stand_DegSwerve": 7.4,
|
||||
"InkConsume": 0.008,
|
||||
"InkConsume_SideStepParam": 0.03
|
||||
},
|
||||
|
||||
@@ -134,12 +134,20 @@ export default function BuildAnalyzerPage() {
|
||||
</div>
|
||||
<div className="stack md">
|
||||
<StatCategory title={t("analyzer:stat.category.main")}>
|
||||
<StatCard
|
||||
stat={analyzed.stats.jumpRngReductionEffectPercentage}
|
||||
title={t("analyzer:stat.jumpRngReduction")}
|
||||
popoverInfo={t("analyzer:stat.jumpRngReduction.explanation")}
|
||||
suffix="%"
|
||||
/>
|
||||
{analyzed.stats.shotSpreadAir && (
|
||||
<StatCard
|
||||
stat={analyzed.stats.shotSpreadAir}
|
||||
title={t("analyzer:stat.jumpShotSpread")}
|
||||
suffix="°"
|
||||
/>
|
||||
)}
|
||||
{typeof analyzed.stats.shotSpreadGround === "number" && (
|
||||
<StatCard
|
||||
stat={analyzed.stats.shotSpreadGround}
|
||||
title={t("analyzer:stat.groundShotSpread")}
|
||||
suffix="°"
|
||||
/>
|
||||
)}
|
||||
{typeof analyzed.stats.mainWeaponWhiteInkSeconds === "number" && (
|
||||
<StatCard
|
||||
stat={analyzed.stats.mainWeaponWhiteInkSeconds}
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
"stat.quickRespawnTime": "Quick respawn time",
|
||||
"stat.superJumpTimeGround": "Super jump vulnerable frames",
|
||||
"stat.superJumpTimeTotal": "Super jump time (total)",
|
||||
"stat.jumpRngReduction": "Midjump shooting RNG reduction",
|
||||
"stat.jumpRngReduction.explanation": "If effect is 100% then midjump and ground RNG are the same.",
|
||||
"stat.jumpShotSpread": "Shot spread in degrees (jumping)",
|
||||
"stat.groundShotSpread": "Shot spread in degrees (ground)",
|
||||
"stat.swimSpeed": "Swim speed (units per frame)",
|
||||
"stat.runSpeed": "Run speed (units per frame)",
|
||||
"stat.runSpeedInEnemyInk": "Run speed in enemy ink",
|
||||
|
||||
@@ -160,6 +160,8 @@ function parametersToMainWeaponResult(
|
||||
],
|
||||
KeepChargeFullFrame:
|
||||
KeepChargeFullFrame !== 1 ? KeepChargeFullFrame : undefined,
|
||||
Jump_DegSwerve: params["WeaponParam"]?.["Jump_DegSwerve"],
|
||||
Stand_DegSwerve: params["WeaponParam"]?.["Stand_DegSwerve"],
|
||||
InkRecoverStop: params["WeaponParam"]?.["InkRecoverStop"],
|
||||
InkConsume,
|
||||
InkConsumeSlosher,
|
||||
|
||||
Reference in New Issue
Block a user