Special damages: Kraken Royale

This commit is contained in:
Kalle 2023-06-19 17:46:36 +03:00
parent faf59524f7
commit 112fc68a3e
8 changed files with 20 additions and 3 deletions

View File

@ -38,6 +38,7 @@ export const DAMAGE_TYPE = [
"SPECIAL_BULLET_MAX",
"SPECIAL_BULLET_MIN",
"SPECIAL_BUMP",
"SPECIAL_JUMP",
] as const;
export const damageTypeToWeaponType: Record<
@ -78,6 +79,7 @@ export const damageTypeToWeaponType: Record<
SPECIAL_BULLET_MAX: "SPECIAL",
SPECIAL_CANNON: "SPECIAL",
SPECIAL_BUMP: "SPECIAL",
SPECIAL_JUMP: "SPECIAL",
};
export const multiShot: Partial<Record<MainWeaponId, number>> = {

View File

@ -134,6 +134,7 @@ export type SpecialWeaponParams = SpecialWeaponParamsObject[SpecialWeaponId] & {
BulletDamageMax?: number;
CannonDamage?: Array<DistanceDamage>;
BumpDamage?: number;
JumpDamage?: number;
};
export type ParamsJson = {

View File

@ -433,6 +433,7 @@ const damageTypeToParamsKey: Record<
SPECIAL_BULLET_MIN: "BulletDamageMin",
SPECIAL_CANNON: "CannonDamage",
SPECIAL_BUMP: "BumpDamage",
SPECIAL_JUMP: "JumpDamage",
};
function damages(args: StatFunctionInput): AnalyzedBuild["stats"]["damages"] {

View File

@ -2017,7 +2017,9 @@
"Low": 480,
"Mid": 540
}
}
},
"DirectDamage": 1200,
"JumpDamage": 600
}
}
}

View File

@ -28,7 +28,7 @@ export const objectDamageJsonKeyPriority: Record<
Maneuver_SideStep_BombCore: null,
// added in fresh season 2022
BlowerExhale: null,
Castle: null,
Castle: ["BOMB_DIRECT", "SPECIAL_JUMP"],
CoopEnemyRush: null,
CoopEnemySakelienBomberBlast: null,
CoopEnemySakerocketBlast: null,

View File

@ -134,6 +134,7 @@ export const damageTypePriorityList = [
"SPECIAL_BULLET_MAX",
"SPECIAL_BULLET_MIN",
"SPECIAL_BUMP",
"SPECIAL_JUMP",
] as const;
assertType<
(typeof damageTypePriorityList)[number],

View File

@ -120,6 +120,7 @@
"damage.SPECIAL_BULLET_MAX": "Bullet (Maximum)",
"damage.SPECIAL_CANNON": "Cannon",
"damage.SPECIAL_BUMP": "Bump",
"damage.SPECIAL_JUMP": "Jump",
"suffix.seconds": "s",
"suffix.hp": "hp",
"suffix.specialPointsShort": "p",

View File

@ -462,6 +462,7 @@ function parametersToSpecialWeaponResult(params: any) {
const isUltraStamp = () => !!params["SwingBigBlastParam"];
const isCrabTank = () => !!params["CannonParam"];
const isKraken = () => !!params["BodyParam"]?.["DamageJumpValue"];
const SwingDamage = () => {
if (!isUltraStamp()) return;
@ -490,6 +491,12 @@ function parametersToSpecialWeaponResult(params: any) {
];
};
const KrakenDirectDamage = () => {
if (!isKraken()) return;
return 1200;
};
return {
ArmorHP: params["WeaponSpChariotParam"]?.["ArmorHP"],
overwrites: resultUnwrapped,
@ -506,7 +513,8 @@ function parametersToSpecialWeaponResult(params: any) {
] ??
params["spl__BulletSpMicroLaserBitParam"]?.["LaserParam"]?.[
"LaserDamage"
],
] ??
KrakenDirectDamage(),
WaveDamage:
params["spl__BulletSpShockSonarParam"]?.["WaveParam"]?.["Damage"],
ExhaleBlastParamMinChargeDistanceDamage:
@ -520,6 +528,7 @@ function parametersToSpecialWeaponResult(params: any) {
BulletDamageMax: params["ShooterDamageParam"]?.["ValueMax"],
CannonDamage: Cannon(),
BumpDamage: isCrabTank() ? 400 : undefined,
JumpDamage: params["BodyParam"]?.["DamageJumpValue"],
};
}