From 30e74eaaa8e6faa64e85023205849aae9a9b42dd Mon Sep 17 00:00:00 2001 From: zaccie Date: Sat, 26 Apr 2025 08:33:59 +1200 Subject: [PATCH 1/6] [Bug] Fix boss level location (#5688) --- src/ui/battle-info.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui/battle-info.ts b/src/ui/battle-info.ts index 4f9e59c8c89..99a91a9330e 100644 --- a/src/ui/battle-info.ts +++ b/src/ui/battle-info.ts @@ -557,11 +557,11 @@ export default class BattleInfo extends Phaser.GameObjects.Container { this.ownedIcon, this.championRibbon, this.statusIndicator, - this.levelContainer, this.statValuesContainer, ].map(e => (e.x += 48 * (boss ? -1 : 1))); this.hpBar.x += 38 * (boss ? -1 : 1); this.hpBar.y += 2 * (this.boss ? -1 : 1); + this.levelContainer.x += 2 * (boss ? -1 : 1); this.hpBar.setTexture(`overlay_hp${boss ? "_boss" : ""}`); this.box.setTexture(this.getTextureName()); this.statsBox.setTexture(`${this.getTextureName()}_stats`); From 38d75897bb000343d9285f342507fb24cbbabac3 Mon Sep 17 00:00:00 2001 From: Xavion3 Date: Sat, 26 Apr 2025 11:28:52 +1000 Subject: [PATCH 2/6] [Balance] Remove Dynamax Cannon being a discouraged move for AI (#5708) Remove dynamax cannon from being discouraged on Eternatus Phase 2 --- src/data/moves/move.ts | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 903b2726676..bc047762fb6 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -7665,20 +7665,6 @@ export class AverageStatsAttr extends MoveEffectAttr { } } -export class DiscourageFrequentUseAttr extends MoveAttr { - getUserBenefitScore(user: Pokemon, target: Pokemon, move: Move): number { - const lastMoves = user.getLastXMoves(4); - console.log(lastMoves); - for (let m = 0; m < lastMoves.length; m++) { - if (lastMoves[m].move === move.id) { - return (4 - (m + 1)) * -10; - } - } - - return 0; - } -} - export class MoneyAttr extends MoveEffectAttr { constructor() { super(true, {firstHitOnly: true }); @@ -10517,8 +10503,7 @@ export function initMoves() { } else { return 1; } - }) - .attr(DiscourageFrequentUseAttr), + }), new AttackMove(Moves.SNIPE_SHOT, PokemonType.WATER, MoveCategory.SPECIAL, 80, 100, 15, -1, 0, 8) .attr(HighCritAttr) From 42f291eab3d35475a25c9b4eb32e019eef57e69f Mon Sep 17 00:00:00 2001 From: AndrewErting <55897803+AndrewErting@users.noreply.github.com> Date: Fri, 25 Apr 2025 18:34:57 -0700 Subject: [PATCH 3/6] [Bug] [UI/UX] Make `,` `.` `/` and `\` Bindable Keys (#5707) Added , . / and \ to the key atlas, json mapping, and cfg_keyboard_qwerty.ts --- public/images/inputs/keyboard.json | 30 +++++++++++++++++++- public/images/inputs/keyboard.png | Bin 1282 -> 1641 bytes src/configs/inputs/cfg_keyboard_qwerty.ts | 32 +++++++++++++++++----- 3 files changed, 54 insertions(+), 8 deletions(-) diff --git a/public/images/inputs/keyboard.json b/public/images/inputs/keyboard.json index c9b3c79fbfb..1e8e415b72f 100644 --- a/public/images/inputs/keyboard.json +++ b/public/images/inputs/keyboard.json @@ -516,8 +516,36 @@ "trimmed": true, "spriteSourceSize": { "x": 0, "y": 0, "w": 28, "h": 11 }, "sourceSize": { "w": 28, "h": 11 } + }, + "BACK_SLASH.png": { + "frame": { "x": 147, "y": 66, "w": 12, "h": 11 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 12, "h": 11 }, + "sourceSize": { "w": 12, "h": 11 } + }, + "FORWARD_SLASH.png": { + "frame": { "x": 144, "y": 55, "w": 12, "h": 11 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 12, "h": 11 }, + "sourceSize": { "w": 12, "h": 11 } + }, + "COMMA.png": { + "frame": { "x": 144, "y": 44, "w": 12, "h": 11 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 12, "h": 11 }, + "sourceSize": { "w": 12, "h": 11 } + }, + "PERIOD.png": { + "frame": { "x": 143, "y": 22, "w": 11, "h": 11 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 0, "w": 11, "h": 11 }, + "sourceSize": { "w": 11, "h": 11 } } - }, + }, "meta": { "app": "https://www.aseprite.org/", "version": "1.3.7-dev", diff --git a/public/images/inputs/keyboard.png b/public/images/inputs/keyboard.png index e4d849be0fb26b2ba1a8e790abee68e9bbedadbe..0c33e5790069e7caad424933bdbf831f3d673246 100644 GIT binary patch literal 1641 zcmV-v2A27WP)002!01^@s6Ar)_N000IsNkl<949&yl1|Iy5~c>70AdQK`D_fbdLne1hU?bpvg+sl7HXV2x%;fy~sHuUrE?Wdp4zkm8-ZCl5-Tr={` z$mP!Aj6WkbT!6Q#-JHLD|M7oA|L(nh|NAY^DBq(W+b1Sh=5Hj&{aAXhG4qAad(V!! z7D&#$*l+=Uc>ia2fR7d4Dw4fUK2GSCYcC&qQF@ac$%Xve$~($2x~Y178O2BEy_HWf zKdrgB#SRx>uj5PsK2Abw(7hG4l@nP3kzB~?-pY&QczkUX8z~ZWl^U&pk@@M3QC5Je z74Xq!`&@wDb&(bD{`I|F>?$-`0Y~G>u7JJx?5d6QJ^Iej>Niz@n-g;9FrU+U1$dv2 zecN^9ihR~Vav;fy~cHeG--+WnxP zA(uOcGrl`ET!5RyZ8>(gTL+&dmpg|uzB@KmfYqw08%0A_#XKv=Q^iumSs_LU!#Pl# z8uP3iPZdiMXN4FvhRdS3)-F4OsP;BrTZ395UIzKKwndcauonZ_!eZw}g5g>l(ah#B zgLy`KNqf{F8jnF}>^QS{F^VapXi$Y0dt5t2K_Uf+tbiHh7R73rc)f8dkl&~fGiZ!0 z!0fd{5TAVo>Q^iumSs?~ZL0l+Kjd@m%r;4SBvqB8I03A3+ zjd@m%r;4SBvqB7-f)qBYb|{8ZV3#xb&-T5t5416z#V%*`pY3~PpCO)OFj7Pn#-by1 z8-&e2Qk*db$f)6>sLko)=-X(%B$^OZwS{1)(a!y-FOmGc+@t+O2AiRRtlmbm%SV9$ zd-JzffZe@8Mis|ms3`yJ$qXZ^G~_~|niMo|7PXztM^=F73K+#U2!29P9h*Pu8^u)_ zWarG|@)?mQi7F1kM=ZAK54PK9lb@Sp8_WuGA( z$zqqY`p@>gvQM`Fv)JXV{irH$ev_Kdp6mn4|Gfly0nGpHb^M;w$Xa1*pJZt6-?n z9j>-_UvO7{BK>d8k7WhS;4cP4x$zM45X;sDci1Bjjhq=@(VtKOs!|7YCx1zD? zI3zxzzGD=2k@%VMD*7M#7JNmdRQ4YGZ~#P4rX~o26`X3oD+aG4Uy^ZRYiqJXU2x_F%akEiW z?}9K&HAEQ0^q+~(_Qyp^TB<*Ud^oQ!h3XV2%3Xj_X&`$+9Ox?Zpv=q@P@^bKG2V0m zI#E<>l1C^FJ?|{qfA%~zmpy~VSk>YTv`34RvM36f;E{3)QL05ySLVT#>i#ef%0&B* z7GM@NMo=9r&n&c5_J^XnLQ7?TD5@*8RQ89Wy23}*4o7u`j>`Tp)m)*YvR@9xIaO6| z)aO>Iu_$iFe6FUNOQATHBt+5ISygJIo&MP>wJ2Gdf#M+1(vd1MS3x;hZR8L{=lskl zK(;@<`Jqr8gI*XE7e!?*v^E1JUIlH^Bt)UAV(eLT6j716Rc-7Ubnf|dqD{5Ru25Xr z7m6$ULUD!S%DzxswL)=)jzsp)WQ)#$1j`jV(w&EPcH6zZzKk7&9!VZ%xq1Pzs41%A z$~@4K!HC(ok(+>dn5VJ;N7qiOiet_?8y)?nP^~d&Dr?VRtk%5j6-wkxHdTL_m??$a zY!rkPRK`A|LSs?lS!^Q;K_+GtyB3NQpNDpK+sB(QYX@PuLPxsu(4Ns&ZTAYx6*|(L nhxUxNYP(lhuJBN`BeC2+T!Qh!VedA{00000NkvXXu0mjfDQqXi literal 1282 zcmV+d1^xPoP)Px#7*I@9MF0Q*4htw67ceI!J|iGPGB8FzJ7v<|<$92jQ2+n{2y{|TQvm<}|NsC0 z|JBM=G5`Psgh@m}RA_4wZ(|CNP>|1;=s10KEPT1 zbW-WL2M>99*K|5^IldqDK4SgsdY%aJpAv0>%n#+U>izUA(&3bneUz0=S^K`Sr`})* z@@;X5FS$fHus<}JNSp;%BhRTDxh#8IyOH`!5x2EH9wEGrc3Ua9tt4)Xx57DCMB2(q zgoVQQ*0v{gk8ewd#CHV;cn5AU-&=5wDl5I*AE|Aa-{3KgJxgtw+?;?3t&!y3keddm!JV2|l3}>ZBUZ)e-sDADd|L`T zk~c~tCXG$&WdWpmS^DW1N$R$;L`VmY*2)bgds`|E6+s-2SUq7`6fA%V)UNedp(b`J zVo5~;ij+{xI{d|jkH>^T%}PeO6t*Vs!^dO7pk^hbTnbxRZuj??FsNC{D3`+4XPvrq-@oObxpPh{3s@m07X$?1Sz)~4CfI&w=9 z@fvQO3^>y#6w(n=bCY1x-rsv!S(TN!MI$KGWW!Iu{S=}aI>U~CTap90gQ6y2T)L7X z3PVA}akwlokysAYxWy6=G=23bL8{m%53y}Ib7CfEpGGQz{UEME#NbOi)ZXbOgRIP6{9ay= z<%|%rwO`sapc@80(i%0CwgU_)5K97OqK6oU2o`=dH zcWL57FGRC@2eZvMkGEU>#>9Y;do+EenZqUV^ebkaQj9A7KMv>OW!(q(1owc#wbx zb(>HJklai|P}=L07n9(_ImIR6)Xf=MKT zQZ(Hle8Mv?CLn01gq=MA(TPp4mponM2y%?WC$a@_0uBP8qI1HsayDfh8Fr#Un}1WH zffK@N4rmA;IiUbd1eAPeAgtQUJ3BJ~TFd!^&mH>@K6ln*@R=}IX*~g-`{vQG!15*^ z{67HX>(UnRp>Y$BL$O?!g$Z}+R+gD?#I)0Ma)!^s@K-{ZOjgZ8ERBA&EQCgmfg@O@ zRZ%y5f_GY$0ZSd8ya|V58(5Nh0jb}XmkVNP^k;D3Qk1Qxnk?WmYU0r-ma={vAotDv sb)oePeCABBo`KJt3DzgV=XLPsA7BZsSvU_`Q~&?~07*qoM6N<$f_(8;_W%F@ diff --git a/src/configs/inputs/cfg_keyboard_qwerty.ts b/src/configs/inputs/cfg_keyboard_qwerty.ts index 2ad04ab418d..4f0353971e0 100644 --- a/src/configs/inputs/cfg_keyboard_qwerty.ts +++ b/src/configs/inputs/cfg_keyboard_qwerty.ts @@ -31,6 +31,7 @@ const cfg_keyboard_qwerty = { KEY_X: Phaser.Input.Keyboard.KeyCodes.X, KEY_Y: Phaser.Input.Keyboard.KeyCodes.Y, KEY_Z: Phaser.Input.Keyboard.KeyCodes.Z, + KEY_0: Phaser.Input.Keyboard.KeyCodes.ZERO, KEY_1: Phaser.Input.Keyboard.KeyCodes.ONE, KEY_2: Phaser.Input.Keyboard.KeyCodes.TWO, @@ -41,11 +42,7 @@ const cfg_keyboard_qwerty = { KEY_7: Phaser.Input.Keyboard.KeyCodes.SEVEN, KEY_8: Phaser.Input.Keyboard.KeyCodes.EIGHT, KEY_9: Phaser.Input.Keyboard.KeyCodes.NINE, - KEY_CTRL: Phaser.Input.Keyboard.KeyCodes.CTRL, - KEY_DEL: Phaser.Input.Keyboard.KeyCodes.DELETE, - KEY_END: Phaser.Input.Keyboard.KeyCodes.END, - KEY_ENTER: Phaser.Input.Keyboard.KeyCodes.ENTER, - KEY_ESC: Phaser.Input.Keyboard.KeyCodes.ESC, + KEY_F1: Phaser.Input.Keyboard.KeyCodes.F1, KEY_F2: Phaser.Input.Keyboard.KeyCodes.F2, KEY_F3: Phaser.Input.Keyboard.KeyCodes.F3, @@ -58,24 +55,41 @@ const cfg_keyboard_qwerty = { KEY_F10: Phaser.Input.Keyboard.KeyCodes.F10, KEY_F11: Phaser.Input.Keyboard.KeyCodes.F11, KEY_F12: Phaser.Input.Keyboard.KeyCodes.F12, - KEY_HOME: Phaser.Input.Keyboard.KeyCodes.HOME, - KEY_INSERT: Phaser.Input.Keyboard.KeyCodes.INSERT, + KEY_PAGE_DOWN: Phaser.Input.Keyboard.KeyCodes.PAGE_DOWN, KEY_PAGE_UP: Phaser.Input.Keyboard.KeyCodes.PAGE_UP, + + KEY_CTRL: Phaser.Input.Keyboard.KeyCodes.CTRL, + KEY_DEL: Phaser.Input.Keyboard.KeyCodes.DELETE, + KEY_END: Phaser.Input.Keyboard.KeyCodes.END, + KEY_ENTER: Phaser.Input.Keyboard.KeyCodes.ENTER, + KEY_ESC: Phaser.Input.Keyboard.KeyCodes.ESC, + KEY_HOME: Phaser.Input.Keyboard.KeyCodes.HOME, + KEY_INSERT: Phaser.Input.Keyboard.KeyCodes.INSERT, + KEY_PLUS: Phaser.Input.Keyboard.KeyCodes.NUMPAD_ADD, // Assuming numpad plus KEY_MINUS: Phaser.Input.Keyboard.KeyCodes.NUMPAD_SUBTRACT, // Assuming numpad minus KEY_QUOTATION: Phaser.Input.Keyboard.KeyCodes.QUOTES, KEY_SHIFT: Phaser.Input.Keyboard.KeyCodes.SHIFT, + KEY_SPACE: Phaser.Input.Keyboard.KeyCodes.SPACE, KEY_TAB: Phaser.Input.Keyboard.KeyCodes.TAB, KEY_TILDE: Phaser.Input.Keyboard.KeyCodes.BACKTICK, + KEY_ARROW_UP: Phaser.Input.Keyboard.KeyCodes.UP, KEY_ARROW_DOWN: Phaser.Input.Keyboard.KeyCodes.DOWN, KEY_ARROW_LEFT: Phaser.Input.Keyboard.KeyCodes.LEFT, KEY_ARROW_RIGHT: Phaser.Input.Keyboard.KeyCodes.RIGHT, + KEY_LEFT_BRACKET: Phaser.Input.Keyboard.KeyCodes.OPEN_BRACKET, KEY_RIGHT_BRACKET: Phaser.Input.Keyboard.KeyCodes.CLOSED_BRACKET, + KEY_SEMICOLON: Phaser.Input.Keyboard.KeyCodes.SEMICOLON, + KEY_COMMA: Phaser.Input.Keyboard.KeyCodes.COMMA, + KEY_PERIOD: Phaser.Input.Keyboard.KeyCodes.PERIOD, + KEY_BACK_SLASH: Phaser.Input.Keyboard.KeyCodes.BACK_SLASH, + KEY_FORWARD_SLASH: Phaser.Input.Keyboard.KeyCodes.FORWARD_SLASH, + KEY_BACKSPACE: Phaser.Input.Keyboard.KeyCodes.BACKSPACE, KEY_ALT: Phaser.Input.Keyboard.KeyCodes.ALT, }, @@ -160,6 +174,10 @@ const cfg_keyboard_qwerty = { KEY_RIGHT_BRACKET: "RIGHT_BRACKET.png", KEY_SEMICOLON: "SEMICOLON.png", + KEY_COMMA: "COMMA.png", + KEY_PERIOD: "PERIOD.png", + KEY_BACK_SLASH: "BACK_SLASH.png", + KEY_FORWARD_SLASH: "FORWARD_SLASH.png", KEY_BACKSPACE: "BACK.png", KEY_ALT: "ALT.png", From a288de700d083ab1c3ac17df9a2f8776c14a1234 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Sat, 26 Apr 2025 00:14:08 -0500 Subject: [PATCH 4/6] [Docs][Dev] Update linting docs (#5709) --- docs/linting.md | 44 +++++++++++++++++++------------------------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/docs/linting.md b/docs/linting.md index 39b30b7a1c0..ff512740a80 100644 --- a/docs/linting.md +++ b/docs/linting.md @@ -1,40 +1,34 @@ -# ESLint +# Biome + ## Key Features 1. **Automation**: - - A pre-commit hook has been added to automatically run ESLint on the added or modified files, ensuring code quality before commits. + - A pre-commit hook has been added to automatically run Biome on the added or modified files, ensuring code quality before commits. 2. **Manual Usage**: - - If you prefer not to use the pre-commit hook, you can manually run ESLint to automatically fix issues using the command: + - If you prefer not to use the pre-commit hook, you can manually run biome to automatically fix issues using the command: + ```sh - npx eslint --fix . or npm run eslint + npx @biomejs/biome --write ``` + - Running this command will lint all files in the repository. 3. **GitHub Action**: - - A GitHub Action has been added to automatically run ESLint on every push and pull request, ensuring code quality in the CI/CD pipeline. + - A GitHub Action has been added to automatically run Biome on every push and pull request, ensuring code quality in the CI/CD pipeline. -## Summary of ESLint Rules +If you are getting linting errors from biome and want to see which files they are coming from, you can find that out by running biome in a way that is configured to only show the errors for that specific rule: ``npx @biomejs/biome lint --only=category/ruleName`` -1. **General Rules**: - - **Equality**: Use `===` and `!==` instead of `==` and `!=` (`eqeqeq`). - - **Indentation**: Enforce 2-space indentation (`indent`). - - **Quotes**: Use doublequotes for strings (`quotes`). - - **Variable Declarations**: - - Disallow `var`; use `let` or `const` (`no-var`). - - Prefer `const` for variables that are never reassigned (`prefer-const`). - - **Unused Variables**: Allow unused function parameters but enforce error for other unused variables (`@typescript-eslint/no-unused-vars`). - - **End of Line**: Ensure at least one newline at the end of files (`eol-last`). - - **Curly Braces**: Enforce the use of curly braces for all control statements (`curly`). - - **Brace Style**: Use one true brace style (`1tbs`) for TypeScript-specific syntax (`@typescript-eslint/brace-style`). +## Summary of Biome Rules -2. **TypeScript-Specific Rules**: - - **Semicolons**: - - Enforce semicolons for TypeScript-specific syntax (`@typescript-eslint/semi`). - - Disallow unnecessary semicolons (`@typescript-eslint/no-extra-semi`). +We use the [recommended ruleset](https://biomejs.dev/linter/rules/) for Biome, with some customizations to better suit our project's needs. -## Benefits +For a complete list of rules and their configurations, refer to the `biome.jsonc` file in the project root. -- **Consistency**: Ensures consistent coding style across the project. -- **Code Quality**: Helps catch potential errors and improve overall code quality. -- **Readability**: Makes the codebase easier to read and maintain. \ No newline at end of file +Some things to consider: + +- We have disabled rules that prioritize style over performance, such as `useTemplate` +- Some rules are currently marked as warnings (`warn`) to allow for gradual refactoring without blocking development. Do not write new code that triggers these warnings. +- The linter is configured to ignore specific files and folders, such as large or complex files that are pending refactors, to improve performance and focus on actionable areas. + +Formatting is also handled by Biome. You should not have to worry about manually formatting your code. From 0a48726e70469ecf091aaa0be29a705e42601f17 Mon Sep 17 00:00:00 2001 From: Wlowscha <54003515+Wlowscha@users.noreply.github.com> Date: Sat, 26 Apr 2025 07:24:11 +0200 Subject: [PATCH 5/6] =?UTF-8?q?[UI/UX]=20Move=20Pok=C3=A9mon=20sprite=20be?= =?UTF-8?q?low=20name=20and=20other=20text=20in=20dex=20pages=20(#5698)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Moved sprite below name --- src/ui/pokedex-page-ui-handler.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ui/pokedex-page-ui-handler.ts b/src/ui/pokedex-page-ui-handler.ts index d0b85544494..4888e14b24f 100644 --- a/src/ui/pokedex-page-ui-handler.ts +++ b/src/ui/pokedex-page-ui-handler.ts @@ -292,6 +292,13 @@ export default class PokedexPageUiHandler extends MessageUiHandler { starterSelectBg.setOrigin(0, 0); this.starterSelectContainer.add(starterSelectBg); + this.pokemonSprite = globalScene.add.sprite(53, 63, "pkmn__sub"); + this.pokemonSprite.setPipeline(globalScene.spritePipeline, { + tone: [0.0, 0.0, 0.0, 0.0], + ignoreTimeTint: true, + }); + this.starterSelectContainer.add(this.pokemonSprite); + this.shinyOverlay = globalScene.add.image(6, 6, "summary_overlay_shiny"); this.shinyOverlay.setOrigin(0, 0); this.shinyOverlay.setVisible(false); @@ -343,13 +350,6 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.starterSelectContainer.add(starterBoxContainer); - this.pokemonSprite = globalScene.add.sprite(53, 63, "pkmn__sub"); - this.pokemonSprite.setPipeline(globalScene.spritePipeline, { - tone: [0.0, 0.0, 0.0, 0.0], - ignoreTimeTint: true, - }); - this.starterSelectContainer.add(this.pokemonSprite); - this.type1Icon = globalScene.add.sprite(8, 98, getLocalizedSpriteKey("types")); this.type1Icon.setScale(0.5); this.type1Icon.setOrigin(0, 0); From a036f865f05822576652d624dd6f0ea7cc12b4a9 Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Sat, 26 Apr 2025 01:17:42 -0500 Subject: [PATCH 6/6] [Bug] Fix improper critical hit key in move effect phase (#5713) --- src/phases/move-effect-phase.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index 01085834ba5..4b4e62db71b 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -859,7 +859,7 @@ export class MoveEffectPhase extends PokemonPhase { }); if (isCritical) { - globalScene.queueMessage(i18next.t("battle:criticalHit")); + globalScene.queueMessage(i18next.t("battle:hitResultCriticalHit")); } if (damage <= 0) {