Special damages: Booyah Bomb

This commit is contained in:
Kalle
2023-06-19 18:25:43 +03:00
parent eb70b3fc7d
commit daab42be50
8 changed files with 18 additions and 3 deletions

View File

@@ -39,6 +39,7 @@ export const DAMAGE_TYPE = [
"SPECIAL_BULLET_MIN",
"SPECIAL_BUMP",
"SPECIAL_JUMP",
"SPECIAL_TICK",
] as const;
export const damageTypeToWeaponType: Record<
@@ -80,6 +81,7 @@ export const damageTypeToWeaponType: Record<
SPECIAL_CANNON: "SPECIAL",
SPECIAL_BUMP: "SPECIAL",
SPECIAL_JUMP: "SPECIAL",
SPECIAL_TICK: "SPECIAL",
};
export const multiShot: Partial<Record<MainWeaponId, number>> = {

View File

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

View File

@@ -434,6 +434,7 @@ const damageTypeToParamsKey: Record<
SPECIAL_CANNON: "CannonDamage",
SPECIAL_BUMP: "BumpDamage",
SPECIAL_JUMP: "JumpDamage",
SPECIAL_TICK: "TickDamage",
};
function damages(args: StatFunctionInput): AnalyzedBuild["stats"]["damages"] {
@@ -476,7 +477,6 @@ function damages(args: StatFunctionInput): AnalyzedBuild["stats"]["damages"] {
return result;
}
// xxx: TODO: handle damage distance increasing e.g. inkzooka, small special power up icon next to the distance
function specialWeaponDamages(
args: StatFunctionInput
): AnalyzedBuild["stats"]["specialWeaponDamages"] {

View File

@@ -1779,7 +1779,8 @@
"Low": 0.002,
"Mid": 0.006
}
}
},
"TickDamage": 33
},
"7": {
"overwrites": {

View File

@@ -93,7 +93,7 @@ export const objectDamageJsonKeyPriority: Record<
MovePainter_Direct: null,
MultiMissile_BombCore: ["BOMB_NORMAL"],
MultiMissile_Bullet: null,
NiceBall: null,
NiceBall: ["SPECIAL_TICK"],
ObjectEffect_Up: null,
RollerCore: ["ROLL_OVER"],
RollerSplash_Compact: [

View File

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

View File

@@ -121,6 +121,7 @@
"damage.SPECIAL_CANNON": "Cannon",
"damage.SPECIAL_BUMP": "Bump",
"damage.SPECIAL_JUMP": "Jump",
"damage.SPECIAL_TICK": "Tick",
"suffix.seconds": "s",
"suffix.hp": "hp",
"suffix.specialPointsShort": "p",

View File

@@ -464,6 +464,8 @@ function parametersToSpecialWeaponResult(params: any) {
const isCrabTank = () => !!params["CannonParam"];
const isKraken = () => !!params["BodyParam"]?.["DamageJumpValue"];
const isInkjet = () => !!params["JetParam"];
const isBooyahBomb = () =>
params["BlastParam"]?.["$type"] === "spl__BulletSpNiceBallBlastParam";
const SwingDamage = () => {
if (!isUltraStamp()) return;
@@ -504,6 +506,12 @@ function parametersToSpecialWeaponResult(params: any) {
return 1200;
};
const BooyahBombTickDamage = () => {
if (!isBooyahBomb()) return;
return 33;
};
return {
ArmorHP: params["WeaponSpChariotParam"]?.["ArmorHP"],
overwrites: resultUnwrapped,
@@ -537,6 +545,7 @@ function parametersToSpecialWeaponResult(params: any) {
CannonDamage: Cannon(),
BumpDamage: isCrabTank() ? 400 : undefined,
JumpDamage: params["BodyParam"]?.["DamageJumpValue"],
TickDamage: BooyahBombTickDamage(),
};
}