Display Super Chumps damage as Splash (Min/Max)
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run

Closes #2789
This commit is contained in:
Kalle 2026-02-21 18:25:16 +02:00
parent af4dd3eb55
commit 7f7ca44221
22 changed files with 60 additions and 1 deletions

View File

@ -40,6 +40,8 @@ export const DAMAGE_TYPE = [
"SPECIAL_CANNON",
"SPECIAL_BULLET_MAX",
"SPECIAL_BULLET_MIN",
"SPECIAL_SPLASH_MAX",
"SPECIAL_SPLASH_MIN",
"SPECIAL_BUMP",
"SPECIAL_JUMP",
"SPECIAL_TICK",
@ -90,6 +92,8 @@ export const damageTypeToWeaponType: Record<
SPECIAL_THROW_DIRECT: "SPECIAL",
SPECIAL_BULLET_MIN: "SPECIAL",
SPECIAL_BULLET_MAX: "SPECIAL",
SPECIAL_SPLASH_MAX: "SPECIAL",
SPECIAL_SPLASH_MIN: "SPECIAL",
SPECIAL_CANNON: "SPECIAL",
SPECIAL_BUMP: "SPECIAL",
SPECIAL_JUMP: "SPECIAL",

View File

@ -182,6 +182,8 @@ export type SpecialWeaponParams = SpecialWeaponParamsObject[SpecialWeaponId] & {
ThrowDirectDamage?: number;
BulletDamageMin?: number;
BulletDamageMax?: number;
SplashDamageMax?: Array<DistanceDamage>;
SplashDamageMin?: Array<DistanceDamage>;
CannonDamage?: Array<DistanceDamage>;
BumpDamage?: number;
JumpDamage?: number;

View File

@ -442,6 +442,8 @@ const damageTypeToParamsKey: Record<
SPECIAL_THROW_DIRECT: "ThrowDirectDamage",
SPECIAL_BULLET_MAX: "BulletDamageMax",
SPECIAL_BULLET_MIN: "BulletDamageMin",
SPECIAL_SPLASH_MAX: "SplashDamageMax",
SPECIAL_SPLASH_MIN: "SplashDamageMin",
SPECIAL_CANNON: "CannonDamage",
SPECIAL_BUMP: "BumpDamage",
SPECIAL_JUMP: "JumpDamage",

View File

@ -2632,11 +2632,13 @@ export const weaponParams = {
Mid: 1.1,
},
},
DistanceDamage: [
SplashDamageMax: [
{
Damage: 700,
Distance: 3.6,
},
],
SplashDamageMin: [
{
Damage: 350,
Distance: 6,

View File

@ -139,6 +139,8 @@ const damageTypePriorityList = [
"SPECIAL_CANNON",
"SPECIAL_BULLET_MAX",
"SPECIAL_BULLET_MIN",
"SPECIAL_SPLASH_MAX",
"SPECIAL_SPLASH_MIN",
"SPECIAL_BUMP",
"SPECIAL_JUMP",
"SPECIAL_TICK",

View File

@ -130,6 +130,8 @@
"damage.SPECIAL_SWING": "Sving",
"damage.SPECIAL_BULLET_MIN": "Projektil (Minimum)",
"damage.SPECIAL_BULLET_MAX": "Projektil (Maksimum)",
"damage.SPECIAL_SPLASH_MAX": "",
"damage.SPECIAL_SPLASH_MIN": "",
"damage.SPECIAL_CANNON": "Kanon",
"damage.SPECIAL_BUMP": "Bump",
"damage.SPECIAL_JUMP": "Spring",

View File

@ -130,6 +130,8 @@
"damage.SPECIAL_SWING": "",
"damage.SPECIAL_BULLET_MIN": "",
"damage.SPECIAL_BULLET_MAX": "",
"damage.SPECIAL_SPLASH_MAX": "",
"damage.SPECIAL_SPLASH_MIN": "",
"damage.SPECIAL_CANNON": "",
"damage.SPECIAL_BUMP": "",
"damage.SPECIAL_JUMP": "",

View File

@ -130,6 +130,8 @@
"damage.SPECIAL_SWING": "Swing",
"damage.SPECIAL_BULLET_MIN": "Bullet (Minimum)",
"damage.SPECIAL_BULLET_MAX": "Bullet (Maximum)",
"damage.SPECIAL_SPLASH_MAX": "Splash (Maximum)",
"damage.SPECIAL_SPLASH_MIN": "Splash (Minimum)",
"damage.SPECIAL_CANNON": "Cannon",
"damage.SPECIAL_BUMP": "Bump",
"damage.SPECIAL_JUMP": "Jump",

View File

@ -131,6 +131,8 @@
"damage.SPECIAL_SWING": "Martilleo",
"damage.SPECIAL_BULLET_MIN": "Bala (mínimo)",
"damage.SPECIAL_BULLET_MAX": "Mala (máximo)",
"damage.SPECIAL_SPLASH_MAX": "",
"damage.SPECIAL_SPLASH_MIN": "",
"damage.SPECIAL_CANNON": "Cañón",
"damage.SPECIAL_BUMP": "Golpe",
"damage.SPECIAL_JUMP": "Salto",

View File

@ -131,6 +131,8 @@
"damage.SPECIAL_SWING": "Martilleo",
"damage.SPECIAL_BULLET_MIN": "Bala (mínimo)",
"damage.SPECIAL_BULLET_MAX": "Mala (máximo)",
"damage.SPECIAL_SPLASH_MAX": "",
"damage.SPECIAL_SPLASH_MIN": "",
"damage.SPECIAL_CANNON": "Cañón",
"damage.SPECIAL_BUMP": "Golpe",
"damage.SPECIAL_JUMP": "Salto",

View File

@ -131,6 +131,8 @@
"damage.SPECIAL_SWING": "Tamponnage",
"damage.SPECIAL_BULLET_MIN": "Mitrailleuse (Minimum)",
"damage.SPECIAL_BULLET_MAX": "Mitrailleuse (Maximum)",
"damage.SPECIAL_SPLASH_MAX": "",
"damage.SPECIAL_SPLASH_MIN": "",
"damage.SPECIAL_CANNON": "Canon",
"damage.SPECIAL_BUMP": "Collision",
"damage.SPECIAL_JUMP": "Saut",

View File

@ -131,6 +131,8 @@
"damage.SPECIAL_SWING": "Tamponnage",
"damage.SPECIAL_BULLET_MIN": "Mitrailleuse (Minimum)",
"damage.SPECIAL_BULLET_MAX": "Mitrailleuse (Maximum)",
"damage.SPECIAL_SPLASH_MAX": "",
"damage.SPECIAL_SPLASH_MIN": "",
"damage.SPECIAL_CANNON": "Canon",
"damage.SPECIAL_BUMP": "Collision",
"damage.SPECIAL_JUMP": "Saut",

View File

@ -131,6 +131,8 @@
"damage.SPECIAL_SWING": "הנפה",
"damage.SPECIAL_BULLET_MIN": "קליע (מינימום)",
"damage.SPECIAL_BULLET_MAX": "קליע (מקסימום)",
"damage.SPECIAL_SPLASH_MAX": "",
"damage.SPECIAL_SPLASH_MIN": "",
"damage.SPECIAL_CANNON": "תותח",
"damage.SPECIAL_BUMP": "מכה",
"damage.SPECIAL_JUMP": "קפיצה",

View File

@ -131,6 +131,8 @@
"damage.SPECIAL_SWING": "Colpo",
"damage.SPECIAL_BULLET_MIN": "Proiettile (Minimo)",
"damage.SPECIAL_BULLET_MAX": "Proiettile (Massimo)",
"damage.SPECIAL_SPLASH_MAX": "",
"damage.SPECIAL_SPLASH_MIN": "",
"damage.SPECIAL_CANNON": "Cannone",
"damage.SPECIAL_BUMP": "Scontro",
"damage.SPECIAL_JUMP": "Salto",

View File

@ -128,6 +128,8 @@
"damage.SPECIAL_SWING": "スタンプ",
"damage.SPECIAL_BULLET_MIN": "連射ショット (最小)",
"damage.SPECIAL_BULLET_MAX": "連射ショット (最大)",
"damage.SPECIAL_SPLASH_MAX": "",
"damage.SPECIAL_SPLASH_MIN": "",
"damage.SPECIAL_CANNON": "カノン砲",
"damage.SPECIAL_BUMP": "体当たり",
"damage.SPECIAL_JUMP": "ジャンプ",

View File

@ -128,6 +128,8 @@
"damage.SPECIAL_SWING": "휘두르기",
"damage.SPECIAL_BULLET_MIN": "연사 (최소)",
"damage.SPECIAL_BULLET_MAX": "연사 (최대)",
"damage.SPECIAL_SPLASH_MAX": "",
"damage.SPECIAL_SPLASH_MIN": "",
"damage.SPECIAL_CANNON": "대포",
"damage.SPECIAL_BUMP": "충돌",
"damage.SPECIAL_JUMP": "점프",

View File

@ -130,6 +130,8 @@
"damage.SPECIAL_SWING": "",
"damage.SPECIAL_BULLET_MIN": "",
"damage.SPECIAL_BULLET_MAX": "",
"damage.SPECIAL_SPLASH_MAX": "",
"damage.SPECIAL_SPLASH_MIN": "",
"damage.SPECIAL_CANNON": "",
"damage.SPECIAL_BUMP": "",
"damage.SPECIAL_JUMP": "",

View File

@ -132,6 +132,8 @@
"damage.SPECIAL_SWING": "",
"damage.SPECIAL_BULLET_MIN": "",
"damage.SPECIAL_BULLET_MAX": "",
"damage.SPECIAL_SPLASH_MAX": "",
"damage.SPECIAL_SPLASH_MIN": "",
"damage.SPECIAL_CANNON": "",
"damage.SPECIAL_BUMP": "",
"damage.SPECIAL_JUMP": "",

View File

@ -131,6 +131,8 @@
"damage.SPECIAL_SWING": "Martelada",
"damage.SPECIAL_BULLET_MIN": "Bala (Mínimo)",
"damage.SPECIAL_BULLET_MAX": "Bala (Máximo)",
"damage.SPECIAL_SPLASH_MAX": "",
"damage.SPECIAL_SPLASH_MIN": "",
"damage.SPECIAL_CANNON": "Canhão",
"damage.SPECIAL_BUMP": "Colisão",
"damage.SPECIAL_JUMP": "Pulo",

View File

@ -132,6 +132,8 @@
"damage.SPECIAL_SWING": "Взмах",
"damage.SPECIAL_BULLET_MIN": "Пуля (Минимум)",
"damage.SPECIAL_BULLET_MAX": "Пуля (Максимум)",
"damage.SPECIAL_SPLASH_MAX": "",
"damage.SPECIAL_SPLASH_MIN": "",
"damage.SPECIAL_CANNON": "Пушка",
"damage.SPECIAL_BUMP": "Толчок",
"damage.SPECIAL_JUMP": "Прыжок",

View File

@ -128,6 +128,8 @@
"damage.SPECIAL_SWING": "挥动",
"damage.SPECIAL_BULLET_MIN": "子弹 (最小值)",
"damage.SPECIAL_BULLET_MAX": "子弹 (最大值)",
"damage.SPECIAL_SPLASH_MAX": "",
"damage.SPECIAL_SPLASH_MIN": "",
"damage.SPECIAL_CANNON": "炮击",
"damage.SPECIAL_BUMP": "撞击",
"damage.SPECIAL_JUMP": "跳跃",

View File

@ -111,6 +111,21 @@ async function main() {
const rawParams = loadWeaponParamsObject(specialWeapon);
const params = parametersToSpecialWeaponResult(rawParams);
// Super Chumps has two distinct splash damage values (near/far)
// that should be labeled separately in the analyzer
const SUPER_CHUMP_SPECIAL_ID = 16;
if (
specialWeapon.Id === SUPER_CHUMP_SPECIAL_ID &&
params.DistanceDamage?.length === 2
) {
const sorted = [...params.DistanceDamage].sort(
(a: any, b: any) => b.Damage - a.Damage,
);
params.SplashDamageMax = [sorted[0]];
params.SplashDamageMin = [sorted[1]];
params.DistanceDamage = undefined;
}
if (hasLangDicts) {
translationsToArray({
arr: translations,