mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-09-29 06:43:17 -05:00
Add jump height in enemy ink to analyzer, fix bad stat
This commit is contained in:
@@ -311,6 +311,7 @@ export interface AnalyzedBuild {
|
||||
swimSpeed: Stat;
|
||||
swimSpeedHoldingRainmaker: Stat;
|
||||
runSpeedInEnemyInk: Stat;
|
||||
jumpHeightInEnemyInk: Stat;
|
||||
framesBeforeTakingDamageInEnemyInk: Stat;
|
||||
damageTakenInEnemyInkPerSecond: Stat;
|
||||
enemyInkDamageLimit: Stat;
|
||||
|
||||
@@ -218,6 +218,17 @@ describe("Analyze build", () => {
|
||||
expect(statWithISM.value).toBeGreaterThan(statWithISM.baseValue);
|
||||
});
|
||||
|
||||
test("RES increases jump height in enemy ink", () => {
|
||||
const analyzed = buildStats({
|
||||
weaponSplId: 40,
|
||||
abilityPoints: new Map([["RES", 57]]),
|
||||
hasTacticooler: false,
|
||||
});
|
||||
|
||||
expect(analyzed.stats.jumpHeightInEnemyInk.baseValue).toBe(0.8);
|
||||
expect(analyzed.stats.jumpHeightInEnemyInk.value).toBe(1.1);
|
||||
});
|
||||
|
||||
test("Accounts for Jr. big ink tank with main weapon ink consumption %", () => {
|
||||
const analyzedJr = buildStats({
|
||||
weaponSplId: 10,
|
||||
|
||||
@@ -142,6 +142,7 @@ export function buildStats({
|
||||
swimSpeed: swimSpeed(input),
|
||||
swimSpeedHoldingRainmaker: swimSpeedHoldingRainmaker(input),
|
||||
runSpeedInEnemyInk: runSpeedInEnemyInk(input),
|
||||
jumpHeightInEnemyInk: jumpHeightInEnemyInk(input),
|
||||
damageTakenInEnemyInkPerSecond: damageTakenInEnemyInkPerSecond(input),
|
||||
enemyInkDamageLimit: enemyInkDamageLimit(input),
|
||||
framesBeforeTakingDamageInEnemyInk:
|
||||
@@ -926,6 +927,26 @@ function runSpeedInEnemyInk(
|
||||
};
|
||||
}
|
||||
|
||||
function jumpHeightInEnemyInk(
|
||||
args: StatFunctionInput,
|
||||
): AnalyzedBuild["stats"]["jumpHeightInEnemyInk"] {
|
||||
const JUMP_HEIGHT_IN_ENEMY_INK_ABILITY = "RES";
|
||||
const { baseEffect, effect } = abilityPointsToEffects({
|
||||
abilityPoints: apFromMap({
|
||||
abilityPoints: args.abilityPoints,
|
||||
ability: JUMP_HEIGHT_IN_ENEMY_INK_ABILITY,
|
||||
}),
|
||||
key: "OpInk_JumpVel",
|
||||
weapon: args.mainWeaponParams,
|
||||
});
|
||||
|
||||
return {
|
||||
baseValue: effectToRounded(baseEffect * 10),
|
||||
value: effectToRounded(effect * 10),
|
||||
modifiedBy: JUMP_HEIGHT_IN_ENEMY_INK_ABILITY,
|
||||
};
|
||||
}
|
||||
|
||||
function shootingRunSpeed(
|
||||
args: StatFunctionInput,
|
||||
keyName:
|
||||
|
||||
@@ -4,7 +4,7 @@ export const abilityValues = {
|
||||
ConsumeRt_Sub_Lv1: [0.7, 0.85, 1.0],
|
||||
ConsumeRt_Sub_Lv2: [0.65, 0.825, 1.0],
|
||||
ConsumeRt_Sub_Lv3: [0.6, 0.8, 1.0],
|
||||
ConsumeRt_Sub_Lv4: [0.71111, 0.85555, 1.0],
|
||||
ConsumeRt_Sub_Lv4: [0.711111, 0.855555, 1.0],
|
||||
DamageRt_BombH: [0.5, 0.75, 1.0],
|
||||
DamageRt_BombL: [0.6, 0.75, 1.0],
|
||||
DamageRt_LineMarker: [0.5, 0.75, 1.0],
|
||||
@@ -27,7 +27,7 @@ export const abilityValues = {
|
||||
MoveVel_Stealth_Slow: [0.24, 0.216, 0.1728],
|
||||
OpInk_ArmorHP: [39.0, 26.0, 0.0],
|
||||
OpInk_DamageLmt: [0.2, 0.3, 0.4],
|
||||
OpInk_DamagePerFrame: [0.0015, 0.0022, 0.003],
|
||||
OpInk_DamagePerFrame: [0.0015, 0.00225, 0.003],
|
||||
OpInk_JumpVel: [0.11, 0.098, 0.08],
|
||||
OpInk_MoveVel: [0.0768, 0.0557, 0.024],
|
||||
OpInk_MoveVel_Shot: [0.042, 0.033, 0.012],
|
||||
|
||||
@@ -927,6 +927,11 @@ function BuildAnalyzerPage() {
|
||||
stat={statKeyToTuple("runSpeedInEnemyInk")}
|
||||
title={t("analyzer:stat.runSpeedInEnemyInk")}
|
||||
/>
|
||||
<StatCard
|
||||
context={context}
|
||||
stat={statKeyToTuple("jumpHeightInEnemyInk")}
|
||||
title={t("analyzer:stat.jumpHeightInEnemyInk")}
|
||||
/>
|
||||
<StatCard
|
||||
context={context}
|
||||
stat={statKeyToTuple("framesBeforeTakingDamageInEnemyInk")}
|
||||
|
||||
5
changelog/2026-09-24-analyzer-enemy-ink-damage-fix.md
Normal file
5
changelog/2026-09-24-analyzer-enemy-ink-damage-fix.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
navItem: analyzer
|
||||
type: bug
|
||||
---
|
||||
Fixed build analyzer's enemy ink damage per second with Ink Resistance Up being slightly off
|
||||
5
changelog/2026-09-24-analyzer-jump-height-enemy-ink.md
Normal file
5
changelog/2026-09-24-analyzer-jump-height-enemy-ink.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
navItem: analyzer
|
||||
type: feature
|
||||
---
|
||||
Build analyzer shows how Ink Resistance Up affects jump height in enemy ink
|
||||
@@ -56,6 +56,7 @@
|
||||
"stat.swimSpeedHoldingRainmaker": "Svømmehastighed imens man bærer Rainmakeren",
|
||||
"stat.runSpeed": "Løbehastighed (Distanceenheder per billede)",
|
||||
"stat.runSpeedInEnemyInk": "Løbehastighed i fjendtligt blæk",
|
||||
"stat.jumpHeightInEnemyInk": "",
|
||||
"stat.shootingRunSpeed": "Løbehastighed imens man skyder",
|
||||
"stat.shootingRunSpeedCharging": "Løbehastighed (imens man oplader skud)",
|
||||
"stat.shootingRunSpeedFullCharge": "Løbehastighed (imens våbnet er fuldopladt)",
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
"stat.swimSpeedHoldingRainmaker": "Schwimmtempo (wenn mit Goldfischkanone)",
|
||||
"stat.runSpeed": "Renntempo (Einheiten per Frame)",
|
||||
"stat.runSpeedInEnemyInk": "Renntempo in gegnerischer Tinte",
|
||||
"stat.jumpHeightInEnemyInk": "",
|
||||
"stat.shootingRunSpeed": "Renntempo beim Schießen",
|
||||
"stat.shootingRunSpeedCharging": "Renntempo beim Aufladen",
|
||||
"stat.shootingRunSpeedFullCharge": "Renntempo beim Halten voller Ladung",
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
"stat.swimSpeedHoldingRainmaker": "Swim speed (holding Rainmaker)",
|
||||
"stat.runSpeed": "Run speed (units per frame)",
|
||||
"stat.runSpeedInEnemyInk": "Run speed in enemy ink",
|
||||
"stat.jumpHeightInEnemyInk": "Jump height in enemy ink",
|
||||
"stat.shootingRunSpeed": "Run speed while shooting",
|
||||
"stat.shootingRunSpeedCharging": "Run speed while charging",
|
||||
"stat.shootingRunSpeedFullCharge": "Run speed (holding a full charge)",
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
"stat.swimSpeedHoldingRainmaker": "Velocidad de nado (con Pez Dorado)",
|
||||
"stat.runSpeed": "Velocidad al correr (unidades por fotograma)",
|
||||
"stat.runSpeedInEnemyInk": "Velocidad al correr sobre tinta rival",
|
||||
"stat.jumpHeightInEnemyInk": "",
|
||||
"stat.shootingRunSpeed": "Velocidad al correr disparando",
|
||||
"stat.shootingRunSpeedCharging": "Velocidad al correr cargando disparo",
|
||||
"stat.shootingRunSpeedFullCharge": "Velocidad al correr (manteniendo carga completa)",
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
"stat.swimSpeedHoldingRainmaker": "Velocidad de nado (con Pez Dorado)",
|
||||
"stat.runSpeed": "Velocidad al correr (unidades por fotograma)",
|
||||
"stat.runSpeedInEnemyInk": "Velocidad al correr sobre tinta rival",
|
||||
"stat.jumpHeightInEnemyInk": "",
|
||||
"stat.shootingRunSpeed": "Velocidad al correr disparando",
|
||||
"stat.shootingRunSpeedCharging": "Velocidad al correr cargando disparo",
|
||||
"stat.shootingRunSpeedFullCharge": "Velocidad al correr (manteniendo carga completa)",
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
"stat.swimSpeedHoldingRainmaker": "Vitesse de nage (Bazookarpe)",
|
||||
"stat.runSpeed": "Vitesse de course (unités/frames)",
|
||||
"stat.runSpeedInEnemyInk": "Vitesse de course dans l'encre ennemie",
|
||||
"stat.jumpHeightInEnemyInk": "",
|
||||
"stat.shootingRunSpeed": "Vitesse de course en tirant",
|
||||
"stat.shootingRunSpeedCharging": "Vitesse de course en chargeant",
|
||||
"stat.shootingRunSpeedFullCharge": "Vitesse de course (charge complète)",
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
"stat.swimSpeedHoldingRainmaker": "Vitesse de nage (Bazookarpe)",
|
||||
"stat.runSpeed": "Vitesse de course (unités/frames)",
|
||||
"stat.runSpeedInEnemyInk": "Vitesse de course dans l'encre ennemie",
|
||||
"stat.jumpHeightInEnemyInk": "",
|
||||
"stat.shootingRunSpeed": "Vitesse de course en tirant",
|
||||
"stat.shootingRunSpeedCharging": "Vitesse de course en chargeant",
|
||||
"stat.shootingRunSpeedFullCharge": "Vitesse de course (charge complète)",
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
"stat.swimSpeedHoldingRainmaker": "מהירות שחייה (בהחזקת Rainmaker)",
|
||||
"stat.runSpeed": "מהירות ריצה (יחידות לפריים)",
|
||||
"stat.runSpeedInEnemyInk": "מהירות ריצה על דיו של היריב",
|
||||
"stat.jumpHeightInEnemyInk": "",
|
||||
"stat.shootingRunSpeed": "מהירות ריצה בזמן יריה",
|
||||
"stat.shootingRunSpeedCharging": "מהירות ריצה בזמן טעינה",
|
||||
"stat.shootingRunSpeedFullCharge": "מהירות ריצה (החזקת טעינה מלאה)",
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
"stat.swimSpeedHoldingRainmaker": "Velocità nuoto (tenendo il bazookarp)",
|
||||
"stat.runSpeed": "Velocità movimento (unità per fotogrammo)",
|
||||
"stat.runSpeedInEnemyInk": "Velocità movimento in inchiostro nemico",
|
||||
"stat.jumpHeightInEnemyInk": "",
|
||||
"stat.shootingRunSpeed": "Velocità movimento durante uso arma principale",
|
||||
"stat.shootingRunSpeedCharging": "Velocità movimento durante la carica",
|
||||
"stat.shootingRunSpeedFullCharge": "Velocità movimento a carica piena",
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
"stat.swimSpeedHoldingRainmaker": "イカ速 (ホコ持ち状態)",
|
||||
"stat.runSpeed": "ヒト速 (DU/F)",
|
||||
"stat.runSpeedInEnemyInk": "敵インク上でのヒト速",
|
||||
"stat.jumpHeightInEnemyInk": "",
|
||||
"stat.shootingRunSpeed": "撃っている最中のヒト速",
|
||||
"stat.shootingRunSpeedCharging": "チャージ中のヒト速",
|
||||
"stat.shootingRunSpeedFullCharge": "ヒト速(フルチャージ中)",
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
"stat.swimSpeedHoldingRainmaker": "징어대시 (랭크 피쉬)",
|
||||
"stat.runSpeed": "인간 이동 속도 (프레임 당 거리)",
|
||||
"stat.runSpeedInEnemyInk": "상대 잉크에서 인간 이동 속도",
|
||||
"stat.jumpHeightInEnemyInk": "",
|
||||
"stat.shootingRunSpeed": "사격 중 인간 이동 속도",
|
||||
"stat.shootingRunSpeedCharging": "충전 중 인간 이동 속도",
|
||||
"stat.shootingRunSpeedFullCharge": "인간 이동 속도 (풀충전 중)",
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
"stat.swimSpeedHoldingRainmaker": "",
|
||||
"stat.runSpeed": "Hardloper (eenheden per frame)",
|
||||
"stat.runSpeedInEnemyInk": "Hardloper in vijandige inkt",
|
||||
"stat.jumpHeightInEnemyInk": "",
|
||||
"stat.shootingRunSpeed": "Hardloper tijdens schieten",
|
||||
"stat.shootingRunSpeedCharging": "Hardloper tijdens opladen",
|
||||
"stat.shootingRunSpeedFullCharge": "Hardloper (terwijl opgeladen)",
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
"stat.swimSpeedHoldingRainmaker": "Prędkość pływania (trzymając Rainmaker)",
|
||||
"stat.runSpeed": "Prędkość biegania (jednostka na klatkę)",
|
||||
"stat.runSpeedInEnemyInk": "Prędkośc biegania w farbie przeciwnika",
|
||||
"stat.jumpHeightInEnemyInk": "",
|
||||
"stat.shootingRunSpeed": "Prędkość biegania podczas strzelania",
|
||||
"stat.shootingRunSpeedCharging": "Prędkość biegania podczas ładowania",
|
||||
"stat.shootingRunSpeedFullCharge": "Prędkość biegania (trzymając strzał)",
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
"stat.swimSpeedHoldingRainmaker": "Velocidade de nado (segurando o Rainmaker)",
|
||||
"stat.runSpeed": "Velocidade de corrida (unidades por quadro)",
|
||||
"stat.runSpeedInEnemyInk": "Velocidade de corrida na tinta inimiga",
|
||||
"stat.jumpHeightInEnemyInk": "",
|
||||
"stat.shootingRunSpeed": "Velocidade de corrida enquanto atira",
|
||||
"stat.shootingRunSpeedCharging": "Velocidade de corrida enquanto carrega",
|
||||
"stat.shootingRunSpeedFullCharge": "Velocidade de corrida (segurando uma carga completa)",
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
"stat.swimSpeedHoldingRainmaker": "Скорость плавания (с Мегакарпом)",
|
||||
"stat.runSpeed": "Скорость бега (единицы расстояния за кадр)",
|
||||
"stat.runSpeedInEnemyInk": "Скорость бега во вражеских чернилах",
|
||||
"stat.jumpHeightInEnemyInk": "",
|
||||
"stat.shootingRunSpeed": "Скорость бега во время стрельбы",
|
||||
"stat.shootingRunSpeedCharging": "Скорость бега во время заряда",
|
||||
"stat.shootingRunSpeedFullCharge": "Скорость бега с полным зарядом",
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
"stat.swimSpeedHoldingRainmaker": "游速 (持有真格鱼虎)",
|
||||
"stat.runSpeed": "走速 (单位/帧)",
|
||||
"stat.runSpeedInEnemyInk": "敌方墨汁上走速",
|
||||
"stat.jumpHeightInEnemyInk": "",
|
||||
"stat.shootingRunSpeed": "射击走速",
|
||||
"stat.shootingRunSpeedCharging": "蓄力走速",
|
||||
"stat.shootingRunSpeedFullCharge": "完全蓄力走速",
|
||||
|
||||
Reference in New Issue
Block a user