Analyzer show brella canopy hp and damage

This commit is contained in:
Kalle 2022-09-15 13:56:17 +03:00
parent dc4b670869
commit 36f38cc791
6 changed files with 32 additions and 3 deletions

View File

@ -48,6 +48,7 @@ export function buildStats({
weapon: {
subWeaponSplId: mainWeaponParams.subWeaponId,
specialWeaponSplId: mainWeaponParams.specialWeaponId,
brellaCanopyHp: mainWeaponParams.CanopyHP,
speedType: mainWeaponParams.WeaponSpeedType ?? "Normal",
isTripleShooter: Boolean(mainWeaponParams.TripleShotSpanFrame),
},

View File

@ -29,6 +29,9 @@ export interface MainWeaponParams {
// xxx: what are these? would probably be nice to show
// DamageParam_ReduceStartFrame?: number;
// DamageParam_ReduceEndFrame?: number;
// xxx: CanopyHP missing from Splat Brella
/** Brella shield HP */
CanopyHP?: number;
/** How much ink one shot consumes? InkConsume = 0.5 means 2 shots per full tank */
InkConsume?: number;
/** How much ink one slosh of slosher consumes? */
@ -153,6 +156,7 @@ export interface AnalyzedBuild {
weapon: {
subWeaponSplId: SubWeaponId;
specialWeaponSplId: SpecialWeaponId;
brellaCanopyHp?: number;
speedType: NonNullable<MainWeaponParams["WeaponSpeedType"]> | "Normal";
isTripleShooter: boolean;
};

View File

@ -571,6 +571,7 @@
"SpecialPoint": 200,
"subWeaponId": 3,
"specialWeaponId": 14,
"DamageParam_ValueMax": 810,
"InkConsumeUmbrella_WeaponShelterCanopyParam": 0.3
},
"6010": {
@ -584,6 +585,8 @@
}
},
"WeaponSpeedType": "Slow",
"DamageParam_ValueMax": 1190,
"CanopyHP": 7000,
"InkConsumeUmbrella_WeaponShelterCanopyParam": 0.3,
"InkConsume_WeaponShelterShotgunParam": 0.11
},
@ -592,6 +595,8 @@
"subWeaponId": 10,
"specialWeaponId": 13,
"WeaponSpeedType": "Fast",
"DamageParam_ValueMax": 400,
"CanopyHP": 2000,
"InkConsumeUmbrella_WeaponShelterCanopyParam": 0,
"InkConsume_WeaponShelterShotgunParam": 0.04
},

View File

@ -55,6 +55,15 @@ export default function BuildAnalyzerPage() {
</div>
</div>
<div className="stack md">
<StatCategory title={t("stat.category.main")}>
{typeof analyzed.weapon.brellaCanopyHp === "number" && (
<StatCard
stat={analyzed.weapon.brellaCanopyHp}
title={t("stat.canopyHp")}
suffix={t("suffix.hp")}
/>
)}
</StatCategory>
<StatCategory title={t("stat.category.sub")}>
<StatCard
stat={analyzed.stats.subWeaponWhiteInkFrames}

View File

@ -10,6 +10,7 @@
"stat.category.damage": "Damage",
"stat.category.movement": "Movement",
"stat.category.misc": "Miscellaneous",
"stat.canopyHp": "Canopy durability",
"stat.specialPoints": "Points to special",
"stat.specialLost": "Special lost when splatted",
"stat.whiteInkFrames": "Frames of no ink recovery after usage",
@ -38,6 +39,7 @@
"damage.TAP_SHOT": "Tap shot",
"damage.DISTANCE": "Splash",
"suffix.seconds": "s",
"suffix.hp": "hp",
"base": "Base",
"value": "Value",
"build": "Build",

View File

@ -122,6 +122,15 @@ function parametersToMainWeaponResult(
? params["DamageParam"]?.["ValueMax"]
: undefined;
const DamageParam_ValueMax = () => {
if (DamageParam_ValueDirect) return undefined;
return (
params["DamageParam"]?.["ValueMax"] ??
params["spl__BulletShelterShotgunParam"]?.["DamageEffectiveTotalMax"]
);
};
return {
SpecialPoint: weapon.SpecialPoint,
subWeaponId: resolveSubWeaponId(weapon),
@ -129,9 +138,7 @@ function parametersToMainWeaponResult(
overwrites: resolveOverwrites(params),
TripleShotSpanFrame: params["WeaponParam"]?.["TripleShotSpanFrame"],
WeaponSpeedType: params["MainWeaponSetting"]?.["WeaponSpeedType"],
DamageParam_ValueMax: !DamageParam_ValueDirect
? params["DamageParam"]?.["ValueMax"]
: undefined,
DamageParam_ValueMax: DamageParam_ValueMax(),
DamageParam_ValueMin: !DamageParam_ValueDirect
? params["DamageParam"]?.["ValueMin"]
: undefined,
@ -140,6 +147,7 @@ function parametersToMainWeaponResult(
DamageParam_ValueFullCharge: params["DamageParam"]?.["ValueFullCharge"],
DamageParam_ValueMaxCharge: params["DamageParam"]?.["ValueMaxCharge"],
DamageParam_ValueMinCharge: params["DamageParam"]?.["ValueMinCharge"],
CanopyHP: params["spl__BulletShelterCanopyParam"]?.["CanopyHP"],
InkConsume,
InkConsumeSlosher,
InkConsumeFullCharge: params["WeaponParam"]?.["InkConsumeFullCharge"],