pokerogue/src/phases
Sirz Benjie 5296966f70
[Ability] [Move] Implement Magic Bounce and Magic Coat (#5225)
* Add unit tests for magic bounce

* Add reflectable tag and apply to moves

* Add BattlerTagType for Magic Coat

* Add more magic bounce tests

* Add magic bounce test for sticky web source

* Mostly working magic bounce and magic coat

* Fix missing negation on mayBounce check

* Move onto the next target after bouncing

* Fix magic bounce accuracy check test

* Finish magic bounce impl

* Make spikes use leftmost magic bounce target

* Add magic coat tests

* Add MagicCoatTag to battler-tags.ts

* Add final set of tests for Magic Coat / Bounce

* Fix semi invulnerbale check in hitCheck

* Fix magic bounce semi-invulnerable interaction

This was based on smogon's incorrect handling of this situation

* Magic bounce should not bounce anything during semi-invulnerable state

* Activate mirror armor interaction test

Also update i18 locales key to `magicCoatActivated`
2025-02-11 03:25:36 -08:00
..
add-enemy-buff-modifier-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
attempt-capture-phase.ts [Refactor/Bug] Pokemon.leaveField(), Fix Related Abilities (#5191) 2025-02-06 18:37:50 -05:00
attempt-run-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
battle-end-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
battle-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
berry-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
check-status-effect-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
check-switch-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
command-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
common-anim-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
damage-anim-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
egg-hatch-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
egg-lapse-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
egg-summary-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
encounter-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
end-card-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
end-evolution-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
enemy-command-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
enemy-party-member-pokemon-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
evolution-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
exp-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
faint-phase.ts [Ability][Move] Last Respects Refactor and Full Implementation (#5200) 2025-02-11 00:53:37 -06:00
field-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
form-change-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
game-over-modifier-reward-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
game-over-phase.ts [Ability][Move] Last Respects Refactor and Full Implementation (#5200) 2025-02-11 00:53:37 -06:00
hide-party-exp-bar-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
learn-move-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
level-cap-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
level-up-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
login-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
message-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
modifier-reward-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
money-reward-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
move-anim-test-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
move-charge-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
move-effect-phase.ts [Ability] [Move] Implement Magic Bounce and Magic Coat (#5225) 2025-02-11 03:25:36 -08:00
move-end-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
move-header-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
move-phase.ts [Ability] [Move] Implement Magic Bounce and Magic Coat (#5225) 2025-02-11 03:25:36 -08:00
mystery-encounter-phases.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
new-battle-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
new-biome-encounter-phase.ts [Move] Improve implementation of Rage Fist damage increase (#5129) 2025-01-19 11:52:50 -06:00
next-encounter-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
obtain-status-effect-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
party-exp-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
party-heal-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
party-member-pokemon-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
player-party-member-pokemon-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
pokemon-anim-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
pokemon-heal-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
pokemon-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
post-game-over-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
post-summon-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
post-turn-status-effect-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
quiet-form-change-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
reload-session-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
return-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
ribbon-modifier-reward-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
scan-ivs-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
select-biome-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
select-challenge-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
select-gender-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
select-modifier-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
select-starter-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
select-target-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
shiny-sparkle-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
show-ability-phase.ts [Ability] Implement Mirror Armor (#4769) 2025-02-09 03:14:56 -05:00
show-party-exp-bar-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
show-trainer-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
stat-stage-change-phase.ts [Ability] Implement Mirror Armor (#4769) 2025-02-09 03:14:56 -05:00
summon-missing-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
summon-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
switch-biome-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
switch-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
switch-summon-phase.ts [Refactor/Bug] Pokemon.leaveField(), Fix Related Abilities (#5191) 2025-02-06 18:37:50 -05:00
test-message-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
title-phase.ts [UI/UX] Moving Daily Run option (#5273) 2025-02-07 20:56:17 -07:00
toggle-double-position-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
trainer-message-test-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
trainer-victory-phase.ts [Misc] Charms in any events (#5194) 2025-01-27 14:44:21 -08:00
turn-end-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
turn-init-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
turn-start-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
unavailable-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
unlock-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00
victory-phase.ts [Refactor] Replace all instances of integer with number (#5250) 2025-02-04 17:56:13 -07:00
weather-effect-phase.ts [Refactor] Create global scene variable (#4766) 2025-01-12 15:33:05 -08:00