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

Stating which stat was increased from Protosynthesis or Quark Drive. #81

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

cryosphericleaf
Copy link
Contributor

No description provided.

@Flame442
Copy link
Owner

This doesn't cover all cases. If the terrain changes, no message will be sent. If a pokemon gets booster energy from snatch, no message will be sent and the ability would be prevented from activating. Ideally there would be a proper way to check for changes in weather/terrain/item/etc without resorting to ugly edge case hacks, but that does not currently exist.

Unrelated to this change, but noticed as a result of it, these abilities probably aren't implemented correctly currently. I would need to do some very nitty gritty testing to know exactly how these abilities are supposed to work. Bulbapedia is implying that a one-time check for the highest stat is performed, and that stat remains increased. However, it could also be dynamic, since it should be taking into account the stage changes. I believe I probably went for a simple approach of ignoring the stat stage changes to make it consistent without needing to figure out if it needed to remember the stat once it triggered.

I don't have any good direction for how this PR can be improved right now, I would need to investigate how it should be working much closer to determine what needs to be changed to achieve that.

@cryosphericleaf
Copy link
Contributor Author

For the the abilities/items that are activated(instantly) with the presence of terrain/weather, the only way i can think of without making substantial logic change is to make a function that is called when the pokemon is sent out and after each current pokemon uses an action(move or switch)
same thing as the "edge case hacks" just inside a function

Kinda confused about booster energy, according to bulbapedia description it cannot be transfered to or from a Paradox pokemon except Koraidon and Miraidon
so this implies that this could only be done if both the active pokemon are koraidon or miraidon?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants