mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-09-27 21:58:08 -05:00
@@ -325,6 +325,7 @@ export interface AnalyzedBuild {
|
||||
shotAutofireSpreadAir?: Stat;
|
||||
shotAutofireSpreadGround?: number;
|
||||
squidSurgeChargeFrames: Stat;
|
||||
squidRollSpeedRetained: Stat;
|
||||
|
||||
subDefPointSensorMarkedTimeInSeconds: Stat;
|
||||
subDefInkMineMarkedTimeInSeconds: Stat;
|
||||
|
||||
@@ -229,6 +229,17 @@ describe("Analyze build", () => {
|
||||
expect(analyzed.stats.jumpHeightInEnemyInk.value).toBe(1.1);
|
||||
});
|
||||
|
||||
test("IA removes the speed loss of consecutive Squid Rolls", () => {
|
||||
const analyzed = buildStats({
|
||||
weaponSplId: 40,
|
||||
abilityPoints: new Map([["IA", 57]]),
|
||||
hasTacticooler: false,
|
||||
});
|
||||
|
||||
expect(analyzed.stats.squidRollSpeedRetained.baseValue).toBe(85);
|
||||
expect(analyzed.stats.squidRollSpeedRetained.value).toBe(100);
|
||||
});
|
||||
|
||||
test("Accounts for Jr. big ink tank with main weapon ink consumption %", () => {
|
||||
const analyzedJr = buildStats({
|
||||
weaponSplId: 10,
|
||||
|
||||
@@ -156,6 +156,7 @@ export function buildStats({
|
||||
shotAutofireSpreadAir: shotAutofireSpreadAir(input),
|
||||
shotAutofireSpreadGround: mainWeaponParams.Variable_Stand_DegSwerve,
|
||||
squidSurgeChargeFrames: squidSurgeChargeFrames(input),
|
||||
squidRollSpeedRetained: squidRollSpeedRetained(input),
|
||||
subDefPointSensorMarkedTimeInSeconds:
|
||||
subDefPointSensorMarkedTimeInSeconds(input),
|
||||
subDefInkMineMarkedTimeInSeconds: subDefInkMineMarkedTimeInSeconds(input),
|
||||
@@ -1232,6 +1233,26 @@ function squidSurgeChargeFrames(
|
||||
};
|
||||
}
|
||||
|
||||
function squidRollSpeedRetained(
|
||||
args: StatFunctionInput,
|
||||
): AnalyzedBuild["stats"]["squidRollSpeedRetained"] {
|
||||
const SQUID_ROLL_SPEED_RETAINED_ABILITY = "IA";
|
||||
const { baseEffect, effect } = abilityPointsToEffects({
|
||||
abilityPoints: apFromMap({
|
||||
abilityPoints: args.abilityPoints,
|
||||
ability: SQUID_ROLL_SPEED_RETAINED_ABILITY,
|
||||
}),
|
||||
key: "Somersault_MoveVelKd",
|
||||
weapon: args.mainWeaponParams,
|
||||
});
|
||||
|
||||
return {
|
||||
baseValue: effectToRounded(baseEffect * 100, 1),
|
||||
value: effectToRounded(effect * 100, 1),
|
||||
modifiedBy: SQUID_ROLL_SPEED_RETAINED_ABILITY,
|
||||
};
|
||||
}
|
||||
|
||||
function damageTakenInEnemyInkPerSecond(
|
||||
args: StatFunctionInput,
|
||||
): AnalyzedBuild["stats"]["damageTakenInEnemyInkPerSecond"] {
|
||||
|
||||
@@ -922,6 +922,12 @@ function BuildAnalyzerPage() {
|
||||
stat={statKeyToTuple("squidSurgeChargeFrames")}
|
||||
title={t("analyzer:stat.squidSurgeChargeFrames")}
|
||||
/>
|
||||
<StatCard
|
||||
context={context}
|
||||
stat={statKeyToTuple("squidRollSpeedRetained")}
|
||||
title={t("analyzer:stat.squidRollSpeedRetained")}
|
||||
suffix="%"
|
||||
/>
|
||||
<StatCard
|
||||
context={context}
|
||||
stat={statKeyToTuple("runSpeedInEnemyInk")}
|
||||
|
||||
5
changelog/2026-09-24-analyzer-squid-roll-speed.md
Normal file
5
changelog/2026-09-24-analyzer-squid-roll-speed.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
navItem: analyzer
|
||||
type: feature
|
||||
---
|
||||
Build analyzer shows how Intensify Action affects the speed kept when doing consecutive Squid Rolls
|
||||
@@ -52,6 +52,7 @@
|
||||
"stat.shotAutofireSpreadGround": "Sekundær tilstands skudspredning (på jorden)",
|
||||
"stat.shotAutofireSpreadAir": "Sekundær tilstands skudspredning (ved spring)",
|
||||
"stat.squidSurgeChargeFrames": "Opladningstid for Murspring (Squid Surge) i billeder (frames)",
|
||||
"stat.squidRollSpeedRetained": "",
|
||||
"stat.swimSpeed": "Svømmehastighed (Distanceenheder per billede)",
|
||||
"stat.swimSpeedHoldingRainmaker": "Svømmehastighed imens man bærer Rainmakeren",
|
||||
"stat.runSpeed": "Løbehastighed (Distanceenheder per billede)",
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
"stat.shotAutofireSpreadGround": "",
|
||||
"stat.shotAutofireSpreadAir": "",
|
||||
"stat.squidSurgeChargeFrames": "Wandsprung Frames für volle Aufladung",
|
||||
"stat.squidRollSpeedRetained": "",
|
||||
"stat.swimSpeed": "Schwimmtempo (Einheiten per Frame)",
|
||||
"stat.swimSpeedHoldingRainmaker": "Schwimmtempo (wenn mit Goldfischkanone)",
|
||||
"stat.runSpeed": "Renntempo (Einheiten per Frame)",
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
"stat.shotAutofireSpreadGround": "Secondary mode spread (ground)",
|
||||
"stat.shotAutofireSpreadAir": "Secondary mode spread (jumping)",
|
||||
"stat.squidSurgeChargeFrames": "Squid Surge charge to full frames",
|
||||
"stat.squidRollSpeedRetained": "Squid Roll speed kept (consecutive rolls)",
|
||||
"stat.swimSpeed": "Swim speed (units per frame)",
|
||||
"stat.swimSpeedHoldingRainmaker": "Swim speed (holding Rainmaker)",
|
||||
"stat.runSpeed": "Run speed (units per frame)",
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
"stat.shotAutofireSpreadGround": "Modo de disparo secundario (en el suelo)",
|
||||
"stat.shotAutofireSpreadAir": "Modo de disparo secundario (saltando)",
|
||||
"stat.squidSurgeChargeFrames": "Tiempo de carga para saltar desde la tinta en fotogramas",
|
||||
"stat.squidRollSpeedRetained": "",
|
||||
"stat.swimSpeed": "Velocidad de nado (unidades por fotograma)",
|
||||
"stat.swimSpeedHoldingRainmaker": "Velocidad de nado (con Pez Dorado)",
|
||||
"stat.runSpeed": "Velocidad al correr (unidades por fotograma)",
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
"stat.shotAutofireSpreadGround": "Modo de disparo secundario (parado)",
|
||||
"stat.shotAutofireSpreadAir": "Modo de disparo secundario (saltando)",
|
||||
"stat.squidSurgeChargeFrames": "Tiempo de carga para saltar desde la tinta en fotogramas",
|
||||
"stat.squidRollSpeedRetained": "",
|
||||
"stat.swimSpeed": "Velocidad de nado (unidades por fotograma)",
|
||||
"stat.swimSpeedHoldingRainmaker": "Velocidad de nado (con Pez Dorado)",
|
||||
"stat.runSpeed": "Velocidad al correr (unidades por fotograma)",
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
"stat.shotAutofireSpreadGround": "Degrés de dispersion mode auto (sol)",
|
||||
"stat.shotAutofireSpreadAir": "Degrés de dispersion mode auto (saut)",
|
||||
"stat.squidSurgeChargeFrames": "Temps de charge de la déferlante (en frames)",
|
||||
"stat.squidRollSpeedRetained": "",
|
||||
"stat.swimSpeed": "Vitesse de nage (unités/frames)",
|
||||
"stat.swimSpeedHoldingRainmaker": "Vitesse de nage (Bazookarpe)",
|
||||
"stat.runSpeed": "Vitesse de course (unités/frames)",
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
"stat.shotAutofireSpreadGround": "Degrés de dispersion mode auto (sol)",
|
||||
"stat.shotAutofireSpreadAir": "Degrés de dispersion mode auto (saut)",
|
||||
"stat.squidSurgeChargeFrames": "Temps de charge de la déferlante (en frames)",
|
||||
"stat.squidRollSpeedRetained": "",
|
||||
"stat.swimSpeed": "Vitesse de nage (unités/frames)",
|
||||
"stat.swimSpeedHoldingRainmaker": "Vitesse de nage (Bazookarpe)",
|
||||
"stat.runSpeed": "Vitesse de course (unités/frames)",
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
"stat.shotAutofireSpreadGround": "התפשטות במצב המשני (קרקע)",
|
||||
"stat.shotAutofireSpreadAir": "התפשטות במצב המשני (קפיצה)",
|
||||
"stat.squidSurgeChargeFrames": "פריימים מלאים עבור Squid Surge",
|
||||
"stat.squidRollSpeedRetained": "",
|
||||
"stat.swimSpeed": "מהירות שחייה (יחידות לפריים)",
|
||||
"stat.swimSpeedHoldingRainmaker": "מהירות שחייה (בהחזקת Rainmaker)",
|
||||
"stat.runSpeed": "מהירות ריצה (יחידות לפריים)",
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
"stat.shotAutofireSpreadGround": "Diffusione a caso proiettili modalità secondaria (ground)",
|
||||
"stat.shotAutofireSpreadAir": "Diffusione a caso proiettili modalità secondaria (saltando)",
|
||||
"stat.squidSurgeChargeFrames": "Tempo carica avvitotano",
|
||||
"stat.squidRollSpeedRetained": "",
|
||||
"stat.swimSpeed": "Velocità nuoto (unità per fotogrammo)",
|
||||
"stat.swimSpeedHoldingRainmaker": "Velocità nuoto (tenendo il bazookarp)",
|
||||
"stat.runSpeed": "Velocità movimento (unità per fotogrammo)",
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
"stat.shotAutofireSpreadGround": "長押し時のブレの角度(立ち撃ち)",
|
||||
"stat.shotAutofireSpreadAir": "長押し時のブレの角度 (ジャンプ撃ち)",
|
||||
"stat.squidSurgeChargeFrames": "イカノボリのチャージ完了までのフレーム数",
|
||||
"stat.squidRollSpeedRetained": "",
|
||||
"stat.swimSpeed": "イカ速 (DU/F)",
|
||||
"stat.swimSpeedHoldingRainmaker": "イカ速 (ホコ持ち状態)",
|
||||
"stat.runSpeed": "ヒト速 (DU/F)",
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
"stat.shotAutofireSpreadGround": "보조 모드 탄퍼짐 (지상)",
|
||||
"stat.shotAutofireSpreadAir": "보조 모드 탄퍼짐 (점프)",
|
||||
"stat.squidSurgeChargeFrames": "징어클라임 완전 충전 프레임",
|
||||
"stat.squidRollSpeedRetained": "",
|
||||
"stat.swimSpeed": "징어대시 (프레임 당 거리)",
|
||||
"stat.swimSpeedHoldingRainmaker": "징어대시 (랭크 피쉬)",
|
||||
"stat.runSpeed": "인간 이동 속도 (프레임 당 거리)",
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
"stat.shotAutofireSpreadGround": "",
|
||||
"stat.shotAutofireSpreadAir": "",
|
||||
"stat.squidSurgeChargeFrames": "Wall Boost tot volledig opgeladen in frames",
|
||||
"stat.squidRollSpeedRetained": "",
|
||||
"stat.swimSpeed": "Zwemdiploma (eenheden per frame)",
|
||||
"stat.swimSpeedHoldingRainmaker": "",
|
||||
"stat.runSpeed": "Hardloper (eenheden per frame)",
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
"stat.shotAutofireSpreadGround": "",
|
||||
"stat.shotAutofireSpreadAir": "",
|
||||
"stat.squidSurgeChargeFrames": "Czas naładowania Squid Surge'u w klatkach",
|
||||
"stat.squidRollSpeedRetained": "",
|
||||
"stat.swimSpeed": "Prędkość pływania (jednostka na klatkę)",
|
||||
"stat.swimSpeedHoldingRainmaker": "Prędkość pływania (trzymając Rainmaker)",
|
||||
"stat.runSpeed": "Prędkość biegania (jednostka na klatkę)",
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
"stat.shotAutofireSpreadGround": "Propagação do modo secundário (no chão)",
|
||||
"stat.shotAutofireSpreadAir": "Propagação do modo secundário (pulando)",
|
||||
"stat.squidSurgeChargeFrames": "Quadros para carregar o Squid Surge completamente",
|
||||
"stat.squidRollSpeedRetained": "",
|
||||
"stat.swimSpeed": "Velocidade de nado (unidades por quadro)",
|
||||
"stat.swimSpeedHoldingRainmaker": "Velocidade de nado (segurando o Rainmaker)",
|
||||
"stat.runSpeed": "Velocidade de corrida (unidades por quadro)",
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
"stat.shotAutofireSpreadGround": "Разброс выстрелов вторичного режима (на земле)",
|
||||
"stat.shotAutofireSpreadAir": "Разброс выстрелов вторичного режима (в прыжке)",
|
||||
"stat.squidSurgeChargeFrames": "Заряд Кальмарного Рывка (в кадрах)",
|
||||
"stat.squidRollSpeedRetained": "",
|
||||
"stat.swimSpeed": "Скорость плавания (единицы расстояния за кадр)",
|
||||
"stat.swimSpeedHoldingRainmaker": "Скорость плавания (с Мегакарпом)",
|
||||
"stat.runSpeed": "Скорость бега (единицы расстояния за кадр)",
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
"stat.shotAutofireSpreadGround": "第二射击模式乱数 (地面)",
|
||||
"stat.shotAutofireSpreadAir": "第二射击模式乱数 (跳跃)",
|
||||
"stat.squidSurgeChargeFrames": "鱿鱼登顶蓄力时间",
|
||||
"stat.squidRollSpeedRetained": "",
|
||||
"stat.swimSpeed": "游速 (单位/帧)",
|
||||
"stat.swimSpeedHoldingRainmaker": "游速 (持有真格鱼虎)",
|
||||
"stat.runSpeed": "走速 (单位/帧)",
|
||||
|
||||
Reference in New Issue
Block a user