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

Implement Gen 6 Symbiosis Eject Button glitch #10156

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

Conversation

atauber27
Copy link

@atauber27 atauber27 commented Feb 5, 2024

(https://github.com/smogon/pokemon-showdown/projects/3#card-61614976)
Implemented functionality for a specific interaction between an Eject Button holder and a Symbiosis user in Gen 6 doubles. If the Eject Button activates, the lastTurnEjected variable is updated to the turn on which the ejection occurred. Whenever this Pokemon switches out, if the current turn does not match the turn on which it was ejected (i.e. it switched back in, then out again) or if it is not holding an item (i.e. an item was not passed onto it via Symbiosis), lastTurnEjected is set to null. When lastTurnEjected is not null, a variety of effects occur:

  • Choice items, Assault Vest, Eviolite, type-enhancing effects, etc. have their buffs applied twice, handled in battle.chainModify
  • Black Sludge and Sticky Barb both affect the user twice, while Leftovers heals the user four times, implemented in batle.residualEvent
  • Restorative berries and the Berry Juice heal the holder twice if they are not eaten upon switching in, implemented in pokemon.eatItem
  • Stat stage boosting items, such as the Weakness Policy and Starf Berry, activate twice, implemented in pokemon.useItem
  • Scope Lens and Razor Claw boost the holder's critical hit stage by 2, hard coded in data/mods/gen6/items
  • Rocky Helmet damages the attacker twice on contact, hard coded in data/mods/gen6/items
  • Destiny Knot activates twice to bypass the effects of Mental Herb, hard coded in data/mods/gen6/items (Mental Herb)
  • Life Orb damages the user twice, but also applies the damage buff twice, handled in chainModify and data/mods/gen6/items
  • Metronome applies each incremental damage modifier twice, handled in chainModify
  • Shell Bell heals the user twice, hard coded in data/mods/gen6/items
  • Damage-reducing berries cause the user to only take 1/4 of the original damage, handled in pokemon.eatItem and chainModify
  • Quick Claw has its activation message display twice, hard coded in data/mods/gen6/items
  • Air Balloon displays its floating message twice, hard coded in data/mods/gen6/items

@atauber27 atauber27 changed the title Implemented Gen 6 Symbiosis Eject Button glitch Implement Gen 6 Symbiosis Eject Button glitch Feb 9, 2024
@atauber27 atauber27 deleted the branch smogon:master February 16, 2024 16:25
@atauber27 atauber27 closed this Feb 16, 2024
@atauber27 atauber27 deleted the master branch February 16, 2024 16:25
@atauber27 atauber27 restored the master branch February 16, 2024 16:35
@atauber27 atauber27 deleted the master branch February 19, 2024 02:54
@atauber27 atauber27 restored the master branch February 19, 2024 02:56
@atauber27 atauber27 reopened this Feb 19, 2024
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.

1 participant