I'm not the main programmer of Fortemons but I have contributed to it. Either way, I am quite familiar with the PS! codebase and can read the code to know how the format works (for anyone interested, it's located
here).
Thus, even though I rarely battle competitively myself, for this month I decided to lurk in the Other Metas room and answer questions. I see the same ones over and over, all basically "does this count for fortemons???". And it's not exactly intuitive what does and doesn't count; the OP doesn't make it completely clear. It's also evident that the PS! implementation of this meta isn't exactly how the OP wanted it; the Payback -> Gyro Ball set they listed doesn't work as one would expect, as noted by
drampa's grandpa above. So, I'm going to do the only sensible thing: make a post to describe exactly what happens when a move gets boosted.
Whether or not a forte's effect is transferred to a move is based partly on its implementation in PS!. The full source code for moves is located
here, but I don't expect you to be able to read JavaScript to understand this meta.
Speaking of PS! code, the code may change at any time and render this post inaccurate and obsolete. We can only hope this doesn't happen, but chances are there'll be a glitch that needs patching or something idk.
I will refer to the move in the item slot as the "forte", and the move in the move slot (the one actually being used) as the "move".
Firstly,
the move gains any flags that the forte had. These include whether or not the move is a contact move, whether the move is boosted by Triage, whether or not the move is boosted by Strong Jaw, etc. The full list of move flags is at the top of the move code linked above.
If the forte has positive or negative priority, the move will have the same priority. However, if they
both have nonzero priority, they stack additively. Thus, a forte of Feint using Dragon Tail will have (+2) + (-6) = -4 priority.
Anything that happens to the user when the forte hits is merged into the move. This is a bit ambiguous, but for attacking moves there's really only a few things that this can mean:
- Stat drops such as recoil (like Close Combat giving -1 def/spdef)
- Having to recharge
- Being locked into a move like Outrage/Petal Dance
Any secondary effects that the forte has are added to the move. If you run Sheer Force anything, you should already know what this means. Examples of secondary effects include: Sludge Bomb poisoning, Nuzzle paralyzing, and Charge Beam boosting the user. Moves that have a secondary effect are marked as having one in the /dt command. The move also keeps its own secondaries, so a Dark Pulse forte on Zen Headbutt will have a 20% chance to flinch followed by another 20% chance to flinch, or 36% overall.
If the forte has variable base power, the power calculation is given to the move. Notable examples include Return/Frustration, Gyro Ball, Payback, Fury Cutter. Not all moves that can have an innate power boost necessarily have "variable base power" by definition; any move in the move source code that has a "basePowerCallback" does. Also note that
the forte can overwrite the move's own base power calculation. This explains the Payback + Gyro Ball error; Payback's base power calculation overrides Gyro Ball. But since Payback reads the move's base power directly, and Gyro Ball is defined with 0 base power, the engine will calculate Gyro Ball with 0 base power, something never intended to happen as it would normally be overwritten by Gyro Ball's base power calculation.
Everything is a lot less complicated from here on out.
If the forte breaks Protect when it hits, the move will, too. Example: If a mon's forte is Feint, all of its attacks will break through Protect.
If the forte has a heightened crit ratio, the move will, too. If the forte and move both have a high crit ratio, they stack to the point where the move will always crit.
If the forte uses a specific defensive stat to calculate damage, the move will too. Example: If a mon's forte is Psyshock, all of its attacks will use physical Defense to calculate damage regardless of their actual category.
If the forte drains HP, the move will drain that much HP as well. Example: If a mon's forte is Draining Kiss, all of its attacks will heal it for 3/4 of the damage inflicted.
If the forte forces the target to switch, the move will as well. Example: If a mon's forte is Dragon Tail, all of its attacks will force the target to switch to a random Pokemon.
If the forte ignores the ability of the target, the move will as well. Example: If a mon's forte is Moongeist Beam, all of its attacks will ignore the target's Ability when attacking, in the same way that Mold Breaker does.
If the forte ignores the foe's defensive boosts, the move will as well. Example: Sacred Sword as a forte.
If the forte ignores the foe's evasion boosts, the move will as well. Example: Sacred Sword again.
If the forte ignores certain immunities, the move will as well. Example: If a mon's forte is Thousand Arrows, all of its Ground attacks can hit Flying-type Pokemon.
If the forte adds a field effect when it hits, the move will as well. The only case that applies here is Plasma Fists as a forte, making all the mon's moves give the Ion Deluge effect.
If the forte has recoil, the move will for the same amount. Example: If a mon's forte is Wild Charge, all of its moves will get 1/4 recoil.
If the forte causes the user to switch out when it hits, the move will as well. Example: If a mon's forte is Volt Switch, it will immediately get to switch out after hitting any attack.
If the forte can be used when the user is asleep, the move can as well. Example: If a mon's forte is Snore, all of its attacks can be used while sleeping.
If the forte steals the positive boosts of the target when it hits, the move will as well. Example: If a mon's forte is Spectral Thief, all of its attacks will steal the foe's positive boosts before calculating damage.
If the forte innately thaws the target if it hits, the move will as well.
If the forte uses the target's offensive stat to calculate damage, the move will as well. Example: If a mon's forte is Foul Play, all of its attacks will use the target's Attack or Special Attack to calculate damage, depending on the category of the move.
If the forte gives the target a volatile status if it hits, the move will as well. The only things this rule applies to are partial trapping moves and the Smack Down effect; anything else is probably implemented as secondary effects, which are copied anyways. If a mon's forte is Infestation, all of its attacks will cause partial trapping. If a mon's forte is Smack Down, all of its attacks will knock down a flying target.
If the forte always crits, the move will as well. Example: If a mon's forte is Storm Throw, all of its attacks will always crit.
Lastly,
any other fortes that have some sort of "on hit" effect will be transfered to move. These are described as a function in a move's defnition known as "onHit" and is notably used for the following cases:
Bug Bite/Pluck stealing the berry
Clear Smog clearing boosts
Core Enforcer disabling the foe's ability
Fire/Water/Grass Pledge adding their special side conditions when they are combo'd with other moves (If a mon's forte is Fire Pledge and it uses Water Pledge after an ally uses Grass Pledge, it will inflict both Grass Pledge (from Water Pledge's onHit) and Fire Pledge (from Fire Pledge's onHit) on the foe's side. But this doesn't matter because this isn't a doubles format right now.)
Flame Burst dealing its residual damage to the target's neighbors
Fury Cutter doubling the power of a move (Since all moves have this property as well as Fury Cutter's base power calculation, any move will increase the Fury Cutter multiplier, doubling any moves' power, but power still caps at 160.)
Incinerate burning the berry
Pay Day helping you mine bitcoins
Relic Song transforming Meloetta
Smelling Salts/Wake-up Slap curing the status that powers them up
Also,
if this effect takes effect even when hitting a Substitute, the move will do so as well. So if the forte is Core Enforcer, it will have its ability-negating effect even on a foe behind a Substitute.
This is the most comprehensive guide I could make, but if you still have questions, please ask them!