Fixed Fling when gLastUsedItem is 0

Also renamed VARIOUS_JUMP_IF_NO_FLING_POWER to VARIOUS_JUMP_IF_FLING_FAILS.
This commit is contained in:
LOuroboros 2021-11-15 14:02:33 -03:00
parent de74177966
commit 5c485d9769
4 changed files with 10 additions and 6 deletions

View File

@ -1925,8 +1925,8 @@
various BS_ATTACKER, VARIOUS_SHELL_SIDE_ARM_CHECK
.endm
.macro jumpifnoflingpower battler:req, ptr:req
various \battler, VARIOUS_JUMP_IF_NO_FLING_POWER
.macro jumpifflingfails battler:req, ptr:req
various \battler, VARIOUS_JUMP_IF_FLING_FAILS
.4byte \ptr
.endm

View File

@ -405,7 +405,7 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectHit @ EFFECT_BOLT_BEAK
BattleScript_EffectFling:
jumpifnoflingpower BS_ATTACKER, BattleScript_ButItFailedAtkStringPpReduce
jumpifflingfails BS_ATTACKER, BattleScript_ButItFailedAtkStringPpReduce
jumpifstatus3 BS_ATTACKER, STATUS3_EMBARGO, BattleScript_ButItFailedAtkStringPpReduce
jumpifword CMP_COMMON_BITS, gFieldStatuses, STATUS_FIELD_MAGIC_ROOM, BattleScript_ButItFailedAtkStringPpReduce
.if B_KLUTZ_FLING_INTERACTION >= GEN_5

View File

@ -208,7 +208,7 @@
#define VARIOUS_SET_OCTOLOCK 135
#define VARIOUS_CUT_1_3_HP_RAISE_STATS 136
#define VARIOUS_TRY_END_NEUTRALIZING_GAS 137
#define VARIOUS_JUMP_IF_NO_FLING_POWER 138
#define VARIOUS_JUMP_IF_FLING_FAILS 138
#define VARIOUS_JUMP_IF_HOLD_EFFECT 139
#define VARIOUS_CURE_CERTAIN_STATUSES 140
#define VARIOUS_TRY_RESET_NEGATIVE_STAT_STAGES 141

View File

@ -9285,12 +9285,16 @@ static void Cmd_various(void)
gBattlescriptCurrInstr += 7;
return;
}
case VARIOUS_JUMP_IF_NO_FLING_POWER:
case VARIOUS_JUMP_IF_FLING_FAILS:
#ifdef ITEM_EXPANSION
if (!ItemId_GetFlingPower(gBattleMons[gActiveBattler].item))
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3);
else
else if (gLastUsedItem == ITEM_NONE)
#else
if (gLastUsedItem == ITEM_NONE)
#endif
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3);
else
gBattlescriptCurrInstr += 7;
return;
case VARIOUS_CURE_CERTAIN_STATUSES: