You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using Fling in battle, the item will always be consumed, even if the move isn't actually successfully used. For example, if a Pokémon is asleep and uses Fling, then it will sleep for the turn and the item will have been consumed erroneously. Another consequence of this is that if the Pokémon is not holding an item and uses Fling, the textbox that states how the move has failed will always print even when it's not supposed to.
The problem stems from BattleScript_EffectFling in data/battle_scripts_1.s
That was likely the intention behind the placement of attackcanceler though in it's current state it doesn't account for status moves and other things that stop the move before it is even fired.
The attackcanceler cmd seems to be responsible for checking both if a move was stopped by Protect and if a move was stopped by a status condition. If Fling is stopped by a status condition, the item should not be consumed, but if it's stopped by Protect it should. Some additional check may be required here.
Edit:
For clarification, status conditions do seem to actually stop the move itself when you have an item to fling, but it does not stop item deletion. And when you DON'T have an item to fling it will always print the failure string instead of properly displaying things like sleep status if present.
When using Fling in battle, the item will always be consumed, even if the move isn't actually successfully used. For example, if a Pokémon is asleep and uses Fling, then it will sleep for the turn and the item will have been consumed erroneously. Another consequence of this is that if the Pokémon is not holding an item and uses Fling, the textbox that states how the move has failed will always print even when it's not supposed to.
The problem stems from
BattleScript_EffectFling
in data/battle_scripts_1.sattackcanceler
is used too late here and needs to be moved to the first line like so:That's pretty much it.
The text was updated successfully, but these errors were encountered: