Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Ability Implementation] Implementing Mirror Armor #4769

Draft
wants to merge 4 commits into
base: beta
Choose a base branch
from

Conversation

PrabbyDD
Copy link
Contributor

@PrabbyDD PrabbyDD commented Oct 31, 2024

Some notes:
NOT READY TO BE MERGED, STILL MANY THINGS TO DO
WILL ADD MORE VIDEOS AS I COMPLETE THIS

This was working with double battles properly with doubles at one point yesterday, but I think I broke something and now
double battles dont work (it doesnt decrease the stats of the proper pokemon)

I added a LOT of tests to account for the simplest situations I came across. The tests dont all work, but hopefully they do when I get around to finishing this ability.
There is some more edges cases that need to be thought of:

  • how this interacts with Sticky Web (still havent thought of a good way to do that since that stat reduction doesnt really follow the same structure as stat reductions from moves and abilities)
  • How this interacts with memento (needs to reduce stats before the pokemon dies)
  • preventing two opposing pokemon with mirror armor from looping stat losses vs one another
  • magic guard interaction, which should be last priority considering magic bounce isnt implemented as well.

Any help would be nice, the code is quite messy imo.

What are the changes the user will see?

Mirror Armor will work as intended in the game

Why am I making these changes?

Adding new gameplay features

What are the changes from a developer perspective?

Had to add new variables to keep track of uses of moves and abilities, added new ability attr, and changed some phase files around.

Screenshots/Videos

2024-10-31.16-15-02.mp4

How to test the changes?

Override Files and unit tests, and debugger in browser

Checklist

  • I'm using beta as my base branch
  • There is no overlap with another PR?
  • The PR is self-contained and cannot be split into smaller PRs?
  • Have I provided a clear explanation of the changes?
  • Have I considered writing automated tests for the issue?
  • If I have text, did I make it translatable and add a key in the English locale file(s)?
  • Have I tested the changes (manually)?
    • Are all unit tests still passing? (npm run test)
  • Are the changes visual?
    • Have I provided screenshots/videos of the changes?

@PrabbyDD PrabbyDD requested a review from a team as a code owner October 31, 2024 23:26
@PrabbyDD
Copy link
Contributor Author

I would also like if someone updated the ability draft with this PR as well...I dont think I can. Thanks :)

@PrabbyDD PrabbyDD marked this pull request as draft October 31, 2024 23:35
@Tempo-anon Tempo-anon added the Ability Affects an ability label Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Ability Affects an ability
Projects
Development

Successfully merging this pull request may close these issues.

2 participants