mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-11 22:45:18 -05:00
added missing battle move effects
This commit is contained in:
parent
48954cc420
commit
a26ee9d55c
|
|
@ -1349,6 +1349,298 @@
|
|||
.4byte \func
|
||||
.endm
|
||||
|
||||
@ callnative macros
|
||||
.macro metalburstdamagecalculator failInstr:req
|
||||
callnative BS_CalcMetalBurstDmg
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifcantfling battler:req, jumpInstr:req
|
||||
callnative BS_JumpIfCantFling
|
||||
.byte \battler
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro itemstatchangeeffects battler:req
|
||||
callnative BS_RunStatChangeItems
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro allyswitchswapbattlers
|
||||
callnative BS_AllySwitchSwapBattler
|
||||
.endm
|
||||
|
||||
.macro allyswitchfailchance jumpInstr:req
|
||||
callnative BS_AllySwitchFailChance
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro dostockpilestatchangeswearoff, battler:req, statChangeInstr:req
|
||||
callnative BS_DoStockpileStatChangesWearOff
|
||||
.byte \battler
|
||||
.4byte \statChangeInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifmorethanhalfHP battler:req, jumpInstr:req
|
||||
callnative BS_JumpIfMoreThanHalfHP
|
||||
.byte \battler
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro itemrestorehp jumpInstr:req
|
||||
callnative BS_ItemRestoreHP
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro itemcurestatus jumpInstr:req
|
||||
callnative BS_ItemCureStatus
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro itemincreasestat
|
||||
callnative BS_ItemIncreaseStat
|
||||
.endm
|
||||
|
||||
.macro itemrestorepp
|
||||
callnative BS_ItemRestorePP
|
||||
.endm
|
||||
|
||||
.macro tryrevertweatherform
|
||||
callnative BS_TryRevertWeatherForm
|
||||
.endm
|
||||
|
||||
.macro setsnow
|
||||
callnative BS_SetSnow
|
||||
.endm
|
||||
|
||||
.macro applysaltcure battler:req
|
||||
callnative BS_ApplySaltCure
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro trysetoctolock battler:req, failInstr:req
|
||||
callnative BS_TrySetOctolock
|
||||
.byte \battler
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro setglaiverush
|
||||
callnative BS_SetGlaiveRush
|
||||
.endm
|
||||
|
||||
.macro tryrelicsong
|
||||
callnative BS_TryRelicSong
|
||||
.endm
|
||||
|
||||
.macro setpledge jumpInstr:req
|
||||
callnative BS_SetPledge
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro setpledgestatus battler:req sidestatus:req
|
||||
callnative BS_SetPledgeStatus
|
||||
.byte \battler
|
||||
.4byte \sidestatus
|
||||
.endm
|
||||
|
||||
.macro trycopycat failInstr:req
|
||||
callnative BS_TryCopycat
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro setzeffect
|
||||
callnative BS_SetZEffect
|
||||
.endm
|
||||
|
||||
@ Used by effects that may proc Symbiosis but do not call removeitem.
|
||||
.macro trysymbiosis
|
||||
callnative BS_TrySymbiosis
|
||||
.endm
|
||||
|
||||
@ returns B_SIDE_x to gBattleCommunication[0]
|
||||
.macro getbattlerside battler:req
|
||||
callnative BS_GetBattlerSide
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro checkparentalbondcounter counter:req, ptr:req
|
||||
callnative BS_CheckParentalBondCounter
|
||||
.byte \counter
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
.macro jumpifcantloseitem battler:req, ptr:req
|
||||
callnative BS_JumpIfCantLoseItem
|
||||
.byte \battler
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
.macro handlemegaevo battler:req, case:req
|
||||
callnative BS_HandleMegaEvolution
|
||||
.byte \battler
|
||||
.byte \case
|
||||
.endm
|
||||
|
||||
.macro handleprimalreversion battler:req, case:req
|
||||
callnative BS_HandlePrimalReversion
|
||||
.byte \battler
|
||||
.byte \case
|
||||
.endm
|
||||
|
||||
.macro handleultraburst battler:req, case:req
|
||||
callnative BS_HandleUltraBurst
|
||||
.byte \battler
|
||||
.byte \case
|
||||
.endm
|
||||
|
||||
.macro jumpifshelltrap battler:req, jumpInstr:req
|
||||
callnative BS_JumpIfShellTrap
|
||||
.byte \battler
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifemergencyexited battler:req, jumpInstr:req
|
||||
callnative BS_JumpIfEmergencyExited
|
||||
.byte \battler
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifrodaffected battler:req, jumpInstr:req
|
||||
callnative BS_JumpIfRod
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifabsorbaffected battler:req, jumpInstr:req
|
||||
callnative BS_JumpIfAbsorb
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifmotoraffected battler:req, jumpInstr:req
|
||||
callnative BS_JumpIfMotor
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifargument argument:req, jumpInstr:req
|
||||
callnative BS_JumpIfArgument
|
||||
.byte \argument
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro setremoveterrain failInstr:req
|
||||
callnative BS_SetRemoveTerrain
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifterrainaffected battler:req, terrainFlags:req, jumpInstr:req
|
||||
callnative BS_JumpIfTerrainAffected
|
||||
.byte \battler
|
||||
.4byte \terrainFlags
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro tryreflecttype failInstr:req
|
||||
callnative BS_TryReflectType
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
@ Used to active a different Max Move effects.
|
||||
.macro setmaxmoveeffect
|
||||
callnative BS_SetMaxMoveEffect
|
||||
.endm
|
||||
|
||||
.macro setsteelsurge, failInstr:req
|
||||
callnative BS_SetSteelsurge
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro damagenontypes
|
||||
callnative BS_DamageNonTypes
|
||||
.endm
|
||||
|
||||
.macro trysetstatus1, ptr:req
|
||||
callnative BS_TrySetStatus1
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
.macro trysetstatus2, ptr:req
|
||||
callnative BS_TrySetStatus2
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
.macro tryhealsixthhealth, ptr:req
|
||||
callnative BS_HealOneSixth
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
.macro tryrecycleberry, ptr:req
|
||||
callnative BS_TryRecycleBerry
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
.macro updatedynamax
|
||||
callnative BS_UpdateDynamax
|
||||
.endm
|
||||
|
||||
.macro jumpiftargetdynamaxed, ptr:req
|
||||
callnative BS_JumpIfDynamaxed
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
.macro trytrainerslidezmovemsg
|
||||
callnative BS_TryTrainerSlideZMoveMsg
|
||||
.endm
|
||||
|
||||
.macro trytrainerslidemegaevolutionmsg
|
||||
callnative BS_TryTrainerSlideMegaEvolutionMsg
|
||||
.endm
|
||||
|
||||
.macro trytrainerslidedynamaxmsg
|
||||
callnative BS_TryTrainerSlideDynamaxMsg
|
||||
.endm
|
||||
|
||||
.macro tryhealpulse failInstr:req
|
||||
callnative BS_TryHealPulse
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro trydefog clear:req, failInstr:req
|
||||
callnative BS_TryDefog
|
||||
.byte \clear
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro trytriggerstatusform
|
||||
callnative BS_TryTriggerStatusForm
|
||||
.endm
|
||||
|
||||
.macro setphotongeysercategory
|
||||
callnative BS_SetPhotonGeyserCategory
|
||||
.endm
|
||||
|
||||
.macro tryupperhand failInstr:req
|
||||
callnative BS_TryUpperHand
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro tryupdaterecoiltracker
|
||||
callnative BS_TryUpdateRecoilTracker
|
||||
.endm
|
||||
|
||||
.macro trytidyup clear:req, jumpInstr:req
|
||||
callnative BS_TryTidyUp
|
||||
.byte \clear
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro trygulpmissile
|
||||
callnative BS_TryGulpMissile
|
||||
.endm
|
||||
|
||||
.macro tryquash failInstr:req
|
||||
callnative BS_TryQuash
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
@ various command changed to more readable macros
|
||||
.macro cancelmultiturnmoves battler:req
|
||||
various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES
|
||||
|
|
@ -2009,6 +2301,7 @@
|
|||
|
||||
.macro setmoveeffect effect:req
|
||||
sethword sMOVE_EFFECT, \effect
|
||||
sethword sSAVED_MOVE_EFFECT, \effect
|
||||
.endm
|
||||
|
||||
.macro chosenstatus1animation battler:req, status:req
|
||||
|
|
@ -2043,40 +2336,124 @@
|
|||
copyarray \dst, \src, 0x4
|
||||
.endm
|
||||
|
||||
.macro jumpifbytenotequal byte1:req, byte2:req, jumpptr:req
|
||||
jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr
|
||||
.macro jumpifbytenotequal byte1:req, byte2:req, jumpInstr:req
|
||||
jumpifarraynotequal \byte1, \byte2, 0x1, \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifbyteequal byte1:req, byte2:req, jumpptr:req
|
||||
jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr
|
||||
.macro jumpifbyteequal byte1:req, byte2:req, jumpInstr:req
|
||||
jumpifarrayequal \byte1, \byte2, 0x1, \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifmove move:req, jumpptr:req
|
||||
jumpifhalfword CMP_EQUAL, gCurrentMove, \move, \jumpptr
|
||||
.macro jumpifmove move:req, jumpInstr:req
|
||||
jumpifhalfword CMP_EQUAL, gCurrentMove, \move, \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifnotmove move:req, jumpptr:req
|
||||
jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr
|
||||
.macro jumpifnotmove move:req, jumpInstr:req
|
||||
jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifstatus3 battler:req, status:req, jumpptr:req
|
||||
jumpifstatus3condition \battler, \status, 0x0, \jumpptr
|
||||
.macro jumpifnotchosenmove move:req, jumpInstr:req
|
||||
jumpifhalfword CMP_NOT_EQUAL, gChosenMove, \move, \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifnostatus3 battler:req, status:req, jumpptr:req
|
||||
jumpifstatus3condition \battler, \status, 0x1, \jumpptr
|
||||
.macro jumpifstatus3 battler:req, flags:req, jumpInstr:req
|
||||
jumpifstatus3condition \battler, \flags, FALSE, \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifmovehadnoeffect jumpptr:req
|
||||
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpptr
|
||||
.macro jumpifnostatus3 battler:req, flags:req, jumpInstr:req
|
||||
jumpifstatus3condition \battler, \flags, TRUE, \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifbattletype flags:req, jumpptr:req
|
||||
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
|
||||
.macro jumpifmovehadnoeffect jumpInstr:req
|
||||
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifnotbattletype flags:req, jumpptr:req
|
||||
jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
|
||||
.macro jumpifside battler:req, side:req, equalJumpInstr:req
|
||||
getbattlerside \battler
|
||||
jumpifbyte CMP_EQUAL, gBattleCommunication, \side, \equalJumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifbattletype flags:req, jumpInstr:req
|
||||
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, \flags, \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifnotbattletype flags:req, jumpInstr:req
|
||||
jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro dmg_1_8_targethp
|
||||
manipulatedamage DMG_1_8_TARGET_HP
|
||||
.endm
|
||||
|
||||
.macro dmgtomaxattackerhp
|
||||
manipulatedamage DMG_FULL_ATTACKER_HP
|
||||
.endm
|
||||
|
||||
.macro dmgtocurrattackerhp
|
||||
manipulatedamage DMG_CURR_ATTACKER_HP
|
||||
.endm
|
||||
|
||||
.macro dmg_1_2_attackerhp
|
||||
manipulatedamage DMG_1_2_ATTACKER_HP
|
||||
.endm
|
||||
|
||||
.macro jumpifflowerveil jumpInstr:req
|
||||
jumpifnottype BS_TARGET, TYPE_GRASS, 1f
|
||||
jumpifability BS_TARGET_SIDE, ABILITY_FLOWER_VEIL, \jumpInstr
|
||||
1:
|
||||
.endm
|
||||
|
||||
.macro jumpifflowerveilattacker jumpInstr:req
|
||||
jumpifnottype BS_ATTACKER, TYPE_GRASS, 1f
|
||||
jumpifability BS_ATTACKER_SIDE, ABILITY_FLOWER_VEIL, \jumpInstr
|
||||
1:
|
||||
.endm
|
||||
|
||||
.macro setallytonexttarget jumpInstr:req
|
||||
jumpifbyte CMP_GREATER_THAN, gBattlerTarget, 0x1, 1f
|
||||
addbyte gBattlerTarget, 0x2
|
||||
goto \jumpInstr
|
||||
1:
|
||||
subbyte gBattlerTarget, 0x2
|
||||
goto \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro setallytonextattacker jumpInstr:req
|
||||
jumpifbyte CMP_GREATER_THAN, gBattlerAttacker, 0x1, 1f
|
||||
addbyte gBattlerAttacker, 0x2
|
||||
goto \jumpInstr
|
||||
1:
|
||||
subbyte gBattlerAttacker, 0x2
|
||||
goto \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifsafeguard jumpInstr:req
|
||||
jumpifability BS_ATTACKER, ABILITY_INFILTRATOR, 1f
|
||||
jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, \jumpInstr
|
||||
1:
|
||||
.endm
|
||||
|
||||
@ Will jump to script pointer if the target weighs less than 200 kg, or 441 lbs.
|
||||
.macro jumpifunder200 battler:req, failInstr:req
|
||||
various \battler, VARIOUS_JUMP_IF_UNDER_200
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
@ Sets the sky drop status and does all other necessary operations
|
||||
.macro setskydrop
|
||||
various 0, VARIOUS_SET_SKY_DROP
|
||||
.endm
|
||||
|
||||
@ Clears the sky drop status and does all other necessary operations.
|
||||
@ If the target fainted in before this script is called, it goes to the given script.
|
||||
.macro clearskydrop failInstr:req
|
||||
various 0, VARIOUS_CLEAR_SKY_DROP
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
@ Accounts for if the target of Sky Drop was in confuse_lock when the attacker falls asleep due to Yawn.
|
||||
.macro skydropyawn
|
||||
various 0, VARIOUS_SKY_DROP_YAWN
|
||||
.endm
|
||||
|
||||
@ Tries to increase or decrease a battler's stat's stat stage by a specified amount. If impossible, jumps to \script.
|
||||
|
|
@ -2110,132 +2487,24 @@
|
|||
waitmessage B_WAIT_TIME_LONG
|
||||
.endm
|
||||
|
||||
.macro setallytonexttarget jumpInstr:req
|
||||
jumpifbyte CMP_GREATER_THAN, gBattlerTarget, 0x1, 1f
|
||||
addbyte gBattlerTarget, 0x2
|
||||
goto \jumpInstr
|
||||
1:
|
||||
subbyte gBattlerTarget, 0x2
|
||||
goto \jumpInstr
|
||||
.macro hitswitchtargetfailed
|
||||
various 0, VARIOUS_HIT_SWITCH_TARGET_FAILED
|
||||
.endm
|
||||
|
||||
.macro dmg_1_8_targethp
|
||||
manipulatedamage DMG_1_8_TARGET_HP
|
||||
.endm
|
||||
|
||||
.macro jumpifsafeguard jumpInstr:req
|
||||
jumpifability BS_ATTACKER, ABILITY_INFILTRATOR, 1f
|
||||
jumpifsideaffecting BS_TARGET, SIDE_STATUS_SAFEGUARD, \jumpInstr
|
||||
1:
|
||||
.endm
|
||||
|
||||
.macro dmgtomaxattackerhp
|
||||
manipulatedamage DMG_FULL_ATTACKER_HP
|
||||
.endm
|
||||
|
||||
@ callnative macros
|
||||
.macro itemrestorehp jumpInstr:req
|
||||
callnative BS_ItemRestoreHP
|
||||
.macro tryrevivalblessing, jumpInstr:req
|
||||
various 0, VARIOUS_TRY_REVIVAL_BLESSING
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro itemcurestatus jumpInstr:req
|
||||
callnative BS_ItemCureStatus
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro itemincreasestat
|
||||
callnative BS_ItemIncreaseStat
|
||||
.endm
|
||||
|
||||
.macro itemrestorepp
|
||||
callnative BS_ItemRestorePP
|
||||
.endm
|
||||
|
||||
@ returns B_SIDE_x to gBattleCommunication[0]
|
||||
.macro getbattlerside battler:req
|
||||
callnative BS_GetBattlerSide
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro flushtextbox
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
waitmessage 1
|
||||
.endm
|
||||
|
||||
.macro tryrevertweatherform
|
||||
callnative BS_TryRevertWeatherForm
|
||||
.endm
|
||||
|
||||
@ Used by effects that may proc Symbiosis but do not call removeitem.
|
||||
.macro trysymbiosis
|
||||
callnative BS_TrySymbiosis
|
||||
.endm
|
||||
|
||||
@ Will jump to script pointer if the specified battler has or has not fainted.
|
||||
.macro jumpiffainted battler:req, value:req, ptr:req
|
||||
getbattlerfainted \battler
|
||||
jumpifbyte CMP_EQUAL, gBattleCommunication, \value, \ptr
|
||||
.endm
|
||||
|
||||
.macro jumpifflowerveil jumpInstr:req
|
||||
jumpifnottype BS_TARGET, TYPE_GRASS, 1f
|
||||
jumpifability BS_TARGET_SIDE, ABILITY_FLOWER_VEIL, \jumpInstr
|
||||
1:
|
||||
.endm
|
||||
|
||||
.macro jumpifflowerveilattacker jumpInstr:req
|
||||
jumpifnottype BS_ATTACKER, TYPE_GRASS, 1f
|
||||
jumpifability BS_ATTACKER_SIDE, ABILITY_FLOWER_VEIL, \jumpInstr
|
||||
1:
|
||||
.endm
|
||||
|
||||
.macro itemstatchangeeffects battler:req
|
||||
callnative BS_RunStatChangeItems
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro dostockpilestatchangeswearoff, battler:req, statChangeInstr:req
|
||||
callnative BS_DoStockpileStatChangesWearOff
|
||||
.byte \battler
|
||||
.4byte \statChangeInstr
|
||||
.endm
|
||||
|
||||
.macro handleprimalreversion battler:req, case:req
|
||||
callnative BS_HandlePrimalReversion
|
||||
.byte \battler
|
||||
.byte \case
|
||||
.endm
|
||||
|
||||
.macro jumpifterrainaffected battler:req, terrainFlags:req, jumpInstr:req
|
||||
callnative BS_JumpIfTerrainAffected
|
||||
.byte \battler
|
||||
.4byte \terrainFlags
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro checkparentalbondcounter counter:req, ptr:req
|
||||
callnative BS_CheckParentalBondCounter
|
||||
.byte \counter
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
.macro damagenontypes
|
||||
callnative BS_DamageNonTypes
|
||||
.endm
|
||||
|
||||
.macro tryupdaterecoiltracker
|
||||
callnative BS_TryUpdateRecoilTracker
|
||||
.endm
|
||||
|
||||
.macro trytidyup clear:req, jumpInstr:req
|
||||
callnative BS_TryTidyUp
|
||||
.byte \clear
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro trygulpmissile
|
||||
callnative BS_TryGulpMissile
|
||||
.macro flushtextbox
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
waitmessage 1
|
||||
.endm
|
||||
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -746,6 +746,8 @@ extern struct BattleStruct *gBattleStruct;
|
|||
|
||||
#define IS_BATTLER_OF_TYPE(battlerId, type)((GetBattlerType(battlerId, 0) == type || GetBattlerType(battlerId, 1) == type || (GetBattlerType(battlerId, 2) != TYPE_MYSTERY && GetBattlerType(battlerId, 2) == type)))
|
||||
|
||||
#define IS_BATTLER_TYPELESS(battlerId)(GetBattlerType(battlerId, 0) == TYPE_MYSTERY && GetBattlerType(battlerId, 1) == TYPE_MYSTERY && GetBattlerType(battlerId, 2) == TYPE_MYSTERY)
|
||||
|
||||
#define SET_BATTLER_TYPE(battlerId, type) \
|
||||
{ \
|
||||
gBattleMons[battlerId].type1 = type; \
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ extern const u8 BattleScript_MoveUsedMustRecharge[];
|
|||
extern const u8 BattleScript_FaintAttacker[];
|
||||
extern const u8 BattleScript_FaintTarget[];
|
||||
extern const u8 BattleScript_GiveExp[];
|
||||
extern const u8 BattleScript_LocalTrainerBattleWon[];
|
||||
extern const u8 BattleScript_LocalTwoTrainersDefeated[];
|
||||
extern const u8 BattleScript_LocalBattleWonLoseTexts[];
|
||||
extern const u8 BattleScript_LocalBattleWonReward[];
|
||||
|
|
@ -27,7 +26,6 @@ extern const u8 BattleScript_LocalBattleLost[];
|
|||
extern const u8 BattleScript_LocalBattleLostPrintWhiteOut[];
|
||||
extern const u8 BattleScript_LocalBattleLostEnd[];
|
||||
extern const u8 BattleScript_CheckDomeDrew[];
|
||||
extern const u8 BattleScript_LinkBattleWonOrLost[];
|
||||
extern const u8 BattleScript_BattleTowerTrainerBattleWon[];
|
||||
extern const u8 BattleScript_SmokeBallEscape[];
|
||||
extern const u8 BattleScript_RanAwayUsingMonAbility[];
|
||||
|
|
@ -52,7 +50,6 @@ extern const u8 BattleScript_LeechSeedTurnDrain[];
|
|||
extern const u8 BattleScript_BideStoringEnergy[];
|
||||
extern const u8 BattleScript_BideAttack[];
|
||||
extern const u8 BattleScript_BideNoEnergyToAttack[];
|
||||
extern const u8 BattleScript_SuccessForceOut[];
|
||||
extern const u8 BattleScript_MistProtected[];
|
||||
extern const u8 BattleScript_RageIsBuilding[];
|
||||
extern const u8 BattleScript_MoveUsedIsDisabled[];
|
||||
|
|
@ -147,7 +144,6 @@ extern const u8 BattleScript_MoveHPDrain[];
|
|||
extern const u8 BattleScript_MonMadeMoveUseless_PPLoss[];
|
||||
extern const u8 BattleScript_MonMadeMoveUseless[];
|
||||
extern const u8 BattleScript_FlashFireBoost_PPLoss[];
|
||||
extern const u8 BattleScript_FlashFireBoost[];
|
||||
extern const u8 BattleScript_AbilityNoStatLoss[];
|
||||
extern const u8 BattleScript_BRNPrevention[];
|
||||
extern const u8 BattleScript_PRLZPrevention[];
|
||||
|
|
@ -161,7 +157,6 @@ extern const u8 BattleScript_StickyHoldActivates[];
|
|||
extern const u8 BattleScript_ColorChangeActivates[];
|
||||
extern const u8 BattleScript_RoughSkinActivates[];
|
||||
extern const u8 BattleScript_CuteCharmActivates[];
|
||||
extern const u8 BattleScript_ApplySecondaryEffect[];
|
||||
extern const u8 BattleScript_SynchronizeActivates[];
|
||||
extern const u8 BattleScript_NoItemSteal[];
|
||||
extern const u8 BattleScript_AbilityCuredStatus[];
|
||||
|
|
@ -185,12 +180,10 @@ extern const u8 BattleScript_BerryCureChosenStatusEnd2[];
|
|||
extern const u8 BattleScript_BerryCureChosenStatusRet[];
|
||||
extern const u8 BattleScript_WhiteHerbEnd2[];
|
||||
extern const u8 BattleScript_WhiteHerbRet[];
|
||||
extern const u8 BattleScript_ItemHealHP_RemoveItem[];
|
||||
extern const u8 BattleScript_BerryPPHealEnd2[];
|
||||
extern const u8 BattleScript_ItemHealHP_End2[];
|
||||
extern const u8 BattleScript_ItemHealHP_Ret[];
|
||||
extern const u8 BattleScript_SelectingNotAllowedMoveChoiceItem[];
|
||||
extern const u8 BattleScript_FocusBandActivates[];
|
||||
extern const u8 BattleScript_BerryConfuseHealEnd2[];
|
||||
extern const u8 BattleScript_BerryStatRaiseEnd2[];
|
||||
extern const u8 BattleScript_BerryFocusEnergyEnd2[];
|
||||
|
|
@ -219,7 +212,6 @@ extern const u8 BattleScript_FlushMessageBox[];
|
|||
extern const u8 BattleScript_GhostBallDodge[];
|
||||
extern const u8 BattleScript_OldMan_Pokedude_CaughtMessage[];
|
||||
extern const u8 BattleScript_SilphScopeUnveiled[];
|
||||
extern const u8 BattleScript_BattleTowerTrainerBattleWon[];
|
||||
|
||||
extern const u8 *const gBattlescriptsForBallThrow[];
|
||||
extern const u8 *const gBattlescriptsForRunningByItem[];
|
||||
|
|
@ -231,18 +223,11 @@ extern const u8 BattleScript_ItemRestoreHP_Party[];
|
|||
// effect scripts
|
||||
extern const u8 BattleScript_EffectHit[];
|
||||
extern const u8 BattleScript_EffectSleep[];
|
||||
extern const u8 BattleScript_EffectPoisonHit[];
|
||||
extern const u8 BattleScript_EffectAbsorb[];
|
||||
extern const u8 BattleScript_EffectBurnHit[];
|
||||
extern const u8 BattleScript_EffectFreezeHit[];
|
||||
extern const u8 BattleScript_EffectParalyzeHit[];
|
||||
extern const u8 BattleScript_EffectExplosion[];
|
||||
extern const u8 BattleScript_EffectDreamEater[];
|
||||
extern const u8 BattleScript_EffectMirrorMove[];
|
||||
extern const u8 BattleScript_EffectAttackUp[];
|
||||
extern const u8 BattleScript_EffectDefenseUp[];
|
||||
extern const u8 BattleScript_EffectHit[];
|
||||
extern const u8 BattleScript_EffectSpecialAttackUp[];
|
||||
extern const u8 BattleScript_EffectHit[];
|
||||
extern const u8 BattleScript_EffectHit[];
|
||||
extern const u8 BattleScript_EffectEvasionUp[];
|
||||
|
|
@ -259,27 +244,17 @@ extern const u8 BattleScript_EffectBide[];
|
|||
extern const u8 BattleScript_EffectRoar[];
|
||||
extern const u8 BattleScript_EffectMultiHit[];
|
||||
extern const u8 BattleScript_EffectConversion[];
|
||||
extern const u8 BattleScript_EffectFlinchHit[];
|
||||
extern const u8 BattleScript_EffectRestoreHp[];
|
||||
extern const u8 BattleScript_EffectToxic[];
|
||||
extern const u8 BattleScript_EffectPayDay[];
|
||||
extern const u8 BattleScript_EffectLightScreen[];
|
||||
extern const u8 BattleScript_EffectTriAttack[];
|
||||
extern const u8 BattleScript_EffectRest[];
|
||||
extern const u8 BattleScript_EffectOHKO[];
|
||||
extern const u8 BattleScript_EffectSuperFang[];
|
||||
extern const u8 BattleScript_EffectDragonRage[];
|
||||
extern const u8 BattleScript_EffectTrap[];
|
||||
extern const u8 BattleScript_EffectHit[];
|
||||
extern const u8 BattleScript_EffectDoubleHit[];
|
||||
extern const u8 BattleScript_EffectMist[];
|
||||
extern const u8 BattleScript_EffectFocusEnergy[];
|
||||
extern const u8 BattleScript_EffectConfuse[];
|
||||
extern const u8 BattleScript_EffectAttackUp[];
|
||||
extern const u8 BattleScript_EffectDefenseUp[];
|
||||
extern const u8 BattleScript_EffectSpeedUp[];
|
||||
extern const u8 BattleScript_EffectSpecialAttackUp[];
|
||||
extern const u8 BattleScript_EffectSpecialDefenseUp[];
|
||||
extern const u8 BattleScript_EffectHit[];
|
||||
extern const u8 BattleScript_EffectHit[];
|
||||
extern const u8 BattleScript_EffectTransform[];
|
||||
|
|
@ -293,18 +268,9 @@ extern const u8 BattleScript_EffectHit[];
|
|||
extern const u8 BattleScript_EffectReflect[];
|
||||
extern const u8 BattleScript_EffectPoison[];
|
||||
extern const u8 BattleScript_EffectParalyze[];
|
||||
extern const u8 BattleScript_EffectAttackDownHit[];
|
||||
extern const u8 BattleScript_EffectDefenseDownHit[];
|
||||
extern const u8 BattleScript_EffectSpeedDownHit[];
|
||||
extern const u8 BattleScript_EffectSpecialAttackDownHit[];
|
||||
extern const u8 BattleScript_EffectSpecialDefenseDownHit[];
|
||||
extern const u8 BattleScript_EffectAccuracyDownHit[];
|
||||
extern const u8 BattleScript_EffectHit[];
|
||||
extern const u8 BattleScript_EffectConfuseHit[];
|
||||
extern const u8 BattleScript_EffectTwineedle[];
|
||||
extern const u8 BattleScript_EffectHit[];
|
||||
extern const u8 BattleScript_EffectSubstitute[];
|
||||
extern const u8 BattleScript_EffectRecharge[];
|
||||
extern const u8 BattleScript_EffectRage[];
|
||||
extern const u8 BattleScript_EffectMimic[];
|
||||
extern const u8 BattleScript_EffectMetronome[];
|
||||
|
|
@ -327,7 +293,6 @@ extern const u8 BattleScript_EffectSpite[];
|
|||
extern const u8 BattleScript_EffectHit[];
|
||||
extern const u8 BattleScript_EffectHealBell[];
|
||||
extern const u8 BattleScript_EffectHit[];
|
||||
extern const u8 BattleScript_EffectThief[];
|
||||
extern const u8 BattleScript_EffectMeanLook[];
|
||||
extern const u8 BattleScript_EffectNightmare[];
|
||||
extern const u8 BattleScript_EffectMinimize[];
|
||||
|
|
@ -346,36 +311,24 @@ extern const u8 BattleScript_EffectReturn[];
|
|||
extern const u8 BattleScript_EffectPresent[];
|
||||
extern const u8 BattleScript_EffectFrustration[];
|
||||
extern const u8 BattleScript_EffectSafeguard[];
|
||||
extern const u8 BattleScript_EffectThawHit[];
|
||||
extern const u8 BattleScript_EffectMagnitude[];
|
||||
extern const u8 BattleScript_EffectBatonPass[];
|
||||
extern const u8 BattleScript_EffectHit[];
|
||||
extern const u8 BattleScript_EffectRapidSpin[];
|
||||
extern const u8 BattleScript_EffectSonicboom[];
|
||||
extern const u8 BattleScript_EffectHit[];
|
||||
extern const u8 BattleScript_EffectMorningSun[];
|
||||
extern const u8 BattleScript_EffectSynthesis[];
|
||||
extern const u8 BattleScript_EffectMoonlight[];
|
||||
extern const u8 BattleScript_EffectRainDance[];
|
||||
extern const u8 BattleScript_EffectSunnyDay[];
|
||||
extern const u8 BattleScript_EffectDefenseUpHit[];
|
||||
extern const u8 BattleScript_EffectAttackUpHit[];
|
||||
extern const u8 BattleScript_EffectAllStatsUpHit[];
|
||||
extern const u8 BattleScript_EffectHit[];
|
||||
extern const u8 BattleScript_EffectBellyDrum[];
|
||||
extern const u8 BattleScript_EffectPsychUp[];
|
||||
extern const u8 BattleScript_EffectMirrorCoat[];
|
||||
extern const u8 BattleScript_EffectTwister[];
|
||||
extern const u8 BattleScript_EffectEarthquake[];
|
||||
extern const u8 BattleScript_EffectFutureSight[];
|
||||
extern const u8 BattleScript_EffectGust[];
|
||||
extern const u8 BattleScript_EffectStomp[];
|
||||
extern const u8 BattleScript_EffectThunder[];
|
||||
extern const u8 BattleScript_EffectTeleport[];
|
||||
extern const u8 BattleScript_EffectBeatUp[];
|
||||
extern const u8 BattleScript_EffectDefenseCurl[];
|
||||
extern const u8 BattleScript_EffectSoftboiled[];
|
||||
extern const u8 BattleScript_EffectFakeOut[];
|
||||
extern const u8 BattleScript_EffectUproar[];
|
||||
extern const u8 BattleScript_EffectStockpile[];
|
||||
extern const u8 BattleScript_EffectSwallow[];
|
||||
|
|
@ -385,9 +338,7 @@ extern const u8 BattleScript_EffectTorment[];
|
|||
extern const u8 BattleScript_EffectFlatter[];
|
||||
extern const u8 BattleScript_EffectWillOWisp[];
|
||||
extern const u8 BattleScript_EffectMemento[];
|
||||
extern const u8 BattleScript_EffectFacade[];
|
||||
extern const u8 BattleScript_EffectFocusPunch[];
|
||||
extern const u8 BattleScript_EffectSmellingsalt[];
|
||||
extern const u8 BattleScript_EffectFollowMe[];
|
||||
extern const u8 BattleScript_EffectNaturePower[];
|
||||
extern const u8 BattleScript_EffectCharge[];
|
||||
|
|
@ -398,30 +349,20 @@ extern const u8 BattleScript_EffectRolePlay[];
|
|||
extern const u8 BattleScript_EffectWish[];
|
||||
extern const u8 BattleScript_EffectAssist[];
|
||||
extern const u8 BattleScript_EffectIngrain[];
|
||||
extern const u8 BattleScript_EffectSuperpower[];
|
||||
extern const u8 BattleScript_EffectMagicCoat[];
|
||||
extern const u8 BattleScript_EffectRecycle[];
|
||||
extern const u8 BattleScript_EffectRevenge[];
|
||||
extern const u8 BattleScript_EffectBrickBreak[];
|
||||
extern const u8 BattleScript_EffectYawn[];
|
||||
extern const u8 BattleScript_EffectKnockOff[];
|
||||
extern const u8 BattleScript_EffectEndeavor[];
|
||||
extern const u8 BattleScript_EffectSkillSwap[];
|
||||
extern const u8 BattleScript_EffectImprison[];
|
||||
extern const u8 BattleScript_EffectRefresh[];
|
||||
extern const u8 BattleScript_EffectGrudge[];
|
||||
extern const u8 BattleScript_EffectSnatch[];
|
||||
extern const u8 BattleScript_EffectDoubleEdge[];
|
||||
extern const u8 BattleScript_EffectTeeterDance[];
|
||||
extern const u8 BattleScript_EffectBurnHit[];
|
||||
extern const u8 BattleScript_EffectMudSport[];
|
||||
extern const u8 BattleScript_EffectPoisonFang[];
|
||||
extern const u8 BattleScript_EffectOverheat[];
|
||||
extern const u8 BattleScript_EffectTickle[];
|
||||
extern const u8 BattleScript_EffectCosmicPower[];
|
||||
extern const u8 BattleScript_EffectSkyUppercut[];
|
||||
extern const u8 BattleScript_EffectBulkUp[];
|
||||
extern const u8 BattleScript_EffectPoisonHit[];
|
||||
extern const u8 BattleScript_EffectWaterSport[];
|
||||
extern const u8 BattleScript_EffectCalmMind[];
|
||||
extern const u8 BattleScript_EffectDragonDance[];
|
||||
|
|
@ -469,7 +410,6 @@ extern const u8 BattleScript_StealthRockActivates[];
|
|||
extern const u8 BattleScript_SpikesActivates[];
|
||||
extern const u8 BattleScript_SyrupBombActivates[];
|
||||
extern const u8 BattleScript_AromaVeilProtectsRet[];
|
||||
extern const u8 BattleScript_EffectPsychicNoise[];
|
||||
extern const u8 BattleScript_StatUpMsg[];
|
||||
extern const u8 BattleScript_SymbiosisActivates[];
|
||||
extern const u8 BattleScript_OverworldStatusStarts[];
|
||||
|
|
@ -557,7 +497,6 @@ extern const u8 BattleScript_LocalTwoTrainersDefeated[];
|
|||
extern const u8 BattleScript_LocalBattleWonLoseTexts[];
|
||||
extern const u8 BattleScript_LocalBattleWonReward[];
|
||||
extern const u8 BattleScript_PayDayMoneyAndPickUpItems[];
|
||||
extern const u8 BattleScript_LocalBattleLost[];
|
||||
extern const u8 BattleScript_LocalBattleLostPrintWhiteOut[];
|
||||
extern const u8 BattleScript_LocalBattleLostEnd[];
|
||||
extern const u8 BattleScript_CheckDomeDrew[];
|
||||
|
|
@ -568,7 +507,6 @@ extern const u8 BattleScript_SmokeBallEscape[];
|
|||
extern const u8 BattleScript_RanAwayUsingMonAbility[];
|
||||
extern const u8 BattleScript_GotAwaySafely[];
|
||||
extern const u8 BattleScript_WildMonFled[];
|
||||
extern const u8 BattleScript_PrintCantRunFromTrainer[];
|
||||
extern const u8 BattleScript_PrintFailedToRunString[];
|
||||
extern const u8 BattleScript_PrintCantEscapeFromBattle[];
|
||||
extern const u8 BattleScript_PrintFullBox[];
|
||||
|
|
@ -752,7 +690,6 @@ extern const u8 BattleScript_BerryStatRaiseRet[];
|
|||
extern const u8 BattleScript_BerryFocusEnergyRet[];
|
||||
extern const u8 BattleScript_BerryFocusEnergyEnd2[];
|
||||
extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[];
|
||||
extern const u8 BattleScript_ArenaTurnBeginning[];
|
||||
extern const u8 BattleScript_PalacePrintFlavorText[];
|
||||
extern const u8 BattleScript_ArenaDoJudgment[];
|
||||
extern const u8 BattleScript_FrontierLinkBattleLost[];
|
||||
|
|
@ -1058,7 +995,6 @@ extern const u8 BattleScript_EffectSleep[];
|
|||
extern const u8 BattleScript_EffectAbsorb[];
|
||||
extern const u8 BattleScript_EffectExplosion[];
|
||||
extern const u8 BattleScript_EffectDreamEater[];
|
||||
extern const u8 BattleScript_EffectMirrorMove[];
|
||||
extern const u8 BattleScript_EffectAttackUp[];
|
||||
extern const u8 BattleScript_EffectDefenseUp[];
|
||||
extern const u8 BattleScript_EffectSpeedUp[];
|
||||
|
|
@ -1159,7 +1095,6 @@ extern const u8 BattleScript_EffectBellyDrum[];
|
|||
extern const u8 BattleScript_EffectPsychUp[];
|
||||
extern const u8 BattleScript_EffectMirrorCoat[];
|
||||
extern const u8 BattleScript_EffectFutureSight[];
|
||||
extern const u8 BattleScript_EffectGust[];
|
||||
extern const u8 BattleScript_EffectTeleport[];
|
||||
extern const u8 BattleScript_EffectBeatUp[];
|
||||
extern const u8 BattleScript_EffectDefenseCurl[];
|
||||
|
|
@ -1197,7 +1132,6 @@ extern const u8 BattleScript_EffectHitEscape[];
|
|||
extern const u8 BattleScript_EffectMudSport[];
|
||||
extern const u8 BattleScript_EffectTickle[];
|
||||
extern const u8 BattleScript_EffectCosmicPower[];
|
||||
extern const u8 BattleScript_EffectSkyUppercut[];
|
||||
extern const u8 BattleScript_EffectBulkUp[];
|
||||
extern const u8 BattleScript_EffectPlaceholder[];
|
||||
extern const u8 BattleScript_EffectWaterSport[];
|
||||
|
|
|
|||
|
|
@ -167,6 +167,7 @@ bool32 CompareStat(u32 battler, u8 statId, u8 cmpTo, u8 cmpKind);
|
|||
u32 CalcSecondaryEffectChance(u32 battler, u32 battlerAbility, const struct AdditionalEffect *additionalEffect);
|
||||
bool32 MoveHasAdditionalEffect(u32 move, u32 moveEffect);
|
||||
u8 GetBattleMoveCategory(u32 moveId);
|
||||
bool32 CanFling(u32 battler);
|
||||
u32 GetBattlerMoveTargetType(u32 battler, u32 move);
|
||||
bool32 IsBattlerTerrainAffected(u32 battler, u32 terrainFlag);
|
||||
bool32 IsBattlerGrounded(u32 battler);
|
||||
|
|
@ -239,6 +240,7 @@ s32 GetStealthHazardDamageByTypesAndHP(u8 hazardType, u8 type1, u8 type2, u32 ma
|
|||
bool32 DoBattlersShareType(u32 battler1, u32 battler2);
|
||||
bool32 MoveHasChargeTurnAdditionalEffect(u32 move);
|
||||
bool32 IsPartnerMonFromSameTrainer(u32 battler);
|
||||
u8 GetCategoryBasedOnStats(u32 battler);
|
||||
|
||||
// battle_ai_util.h
|
||||
bool32 IsHealingMove(u32 move);
|
||||
|
|
|
|||
|
|
@ -1232,7 +1232,7 @@
|
|||
#define STRINGID_SUNLIGHTACTIVATEDABILITY 633
|
||||
#define STRINGID_STATWASHEIGHTENED 634
|
||||
#define STRINGID_ELECTRICTERRAINACTIVATEDABILITY 635
|
||||
#define STRINGID_ABILITYWEAKENEDFSURROUNDINGMONSSTAT 636
|
||||
#define STRINGID_ABILITYWEAKENEDSURROUNDINGMONSSTAT 636
|
||||
#define STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN 637
|
||||
#define STRINGID_PKMNSABILITYPREVENTSABILITY 638
|
||||
#define STRINGID_PREPARESHELLTRAP 639
|
||||
|
|
@ -1392,6 +1392,7 @@
|
|||
#define B_MSG_STARTED_SANDSTORM 3
|
||||
#define B_MSG_STARTED_SUNLIGHT 4
|
||||
#define B_MSG_STARTED_HAIL 5
|
||||
#define B_MSG_STARTED_SNOW 6
|
||||
|
||||
// gRainContinuesStringIds
|
||||
#define B_MSG_RAIN_CONTINUES 0
|
||||
|
|
|
|||
|
|
@ -329,7 +329,7 @@ static const u8 sText_WildFled[] = _("{PLAY_SE SE_FLEE}{B_LINK_OPPONENT1_NAME} f
|
|||
static const u8 sText_TwoWildFled[] = _("{PLAY_SE SE_FLEE}{B_LINK_OPPONENT1_NAME} and\n{B_LINK_OPPONENT2_NAME} fled!");
|
||||
static const u8 sText_NoRunningFromTrainers[] = _("No! There's no running\nfrom a TRAINER battle!\p");
|
||||
static const u8 sText_CantEscape[] = _("Can't escape!\p");
|
||||
static const u8 sText_DontLeaveBirch[] = _("PROF. BIRCH: Don't leave me like this!\p");
|
||||
static const u8 sText_DontLeaveBirch[] = _(""); // Dummied
|
||||
static const u8 sText_ButNothingHappened[] = _("But nothing happened!");
|
||||
static const u8 sText_ButItFailed[] = _("But it failed!");
|
||||
static const u8 sText_ItHurtConfusion[] = _("It hurt itself in its\nconfusion!");
|
||||
|
|
@ -1044,7 +1044,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT - BATTLESTRINGS_TABLE_ST
|
|||
[STRINGID_SHARPSTEELDMG - BATTLESTRINGS_TABLE_START] = sText_SharpSteelDmg,
|
||||
[STRINGID_SHARPSTEELFLOATS - BATTLESTRINGS_TABLE_START] = sText_SharpSteelFloats,
|
||||
[STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN - BATTLESTRINGS_TABLE_START] = sText_AttackerGainedStrengthFromTheFallen,
|
||||
[STRINGID_ABILITYWEAKENEDFSURROUNDINGMONSSTAT - BATTLESTRINGS_TABLE_START] = sText_AbilityWeakenedSurroundingMonsStat,
|
||||
[STRINGID_ABILITYWEAKENEDSURROUNDINGMONSSTAT - BATTLESTRINGS_TABLE_START] = sText_AbilityWeakenedSurroundingMonsStat,
|
||||
[STRINGID_ELECTRICTERRAINACTIVATEDABILITY - BATTLESTRINGS_TABLE_START] = sText_ElectricTerrainActivatedAbility,
|
||||
[STRINGID_STATWASHEIGHTENED - BATTLESTRINGS_TABLE_START] = sText_StatWasHeightened,
|
||||
[STRINGID_SUNLIGHTACTIVATEDABILITY - BATTLESTRINGS_TABLE_START] = sText_SunlightActivatedAbility,
|
||||
|
|
@ -1844,11 +1844,12 @@ const u16 gNoEscapeStringIds[] =
|
|||
const u16 gMoveWeatherChangeStringIds[] =
|
||||
{
|
||||
[B_MSG_STARTED_RAIN] = STRINGID_STARTEDTORAIN,
|
||||
[B_MSG_STARTED_DOWNPOUR] = STRINGID_DOWNPOURSTARTED,
|
||||
[B_MSG_STARTED_DOWNPOUR] = STRINGID_DOWNPOURSTARTED, // Unused
|
||||
[B_MSG_WEATHER_FAILED] = STRINGID_BUTITFAILED,
|
||||
[B_MSG_STARTED_SANDSTORM] = STRINGID_SANDSTORMBREWED,
|
||||
[B_MSG_STARTED_SUNLIGHT] = STRINGID_SUNLIGHTGOTBRIGHT,
|
||||
[B_MSG_STARTED_HAIL] = STRINGID_STARTEDHAIL
|
||||
[B_MSG_STARTED_HAIL] = STRINGID_STARTEDHAIL,
|
||||
[B_MSG_STARTED_SNOW] = STRINGID_STARTEDSNOW,
|
||||
};
|
||||
|
||||
const u16 gSandStormHailSnowContinuesStringIds[] =
|
||||
|
|
@ -2206,6 +2207,24 @@ const u16 gCaughtMonStringIds[] =
|
|||
[B_MSG_BILLS_BOX_FULL] = STRINGID_PKMNBOXBILLSPCFULL
|
||||
};
|
||||
|
||||
const u16 gRoomsStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNTWISTEDDIMENSIONS, STRINGID_TRICKROOMENDS,
|
||||
STRINGID_SWAPSDEFANDSPDEFOFALLPOKEMON, STRINGID_WONDERROOMENDS,
|
||||
STRINGID_HELDITEMSLOSEEFFECTS, STRINGID_MAGICROOMENDS,
|
||||
STRINGID_EMPTYSTRING3
|
||||
};
|
||||
|
||||
const u16 gStatusConditionsStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWASPOISONED, STRINGID_PKMNBADLYPOISONED, STRINGID_PKMNWASBURNED, STRINGID_PKMNWASPARALYZED, STRINGID_PKMNFELLASLEEP, STRINGID_PKMNGOTFROSTBITE
|
||||
};
|
||||
|
||||
const u16 gStatus2StringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWASCONFUSED, STRINGID_PKMNFELLINLOVE, STRINGID_TARGETCANTESCAPENOW, STRINGID_PKMNSUBJECTEDTOTORMENT
|
||||
};
|
||||
|
||||
const u16 gDamageNonTypesStartStringIds[] =
|
||||
{
|
||||
[B_MSG_TRAPPED_WITH_VINES] = STRINGID_TEAMTRAPPEDWITHVINES,
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -8984,6 +8984,24 @@ bool32 MoveHasAdditionalEffectSelfArg(u32 move, u32 moveEffect, u32 argument)
|
|||
return (gMovesInfo[move].argument == argument) && MoveHasAdditionalEffectSelf(move, moveEffect);
|
||||
}
|
||||
|
||||
// Photon geyser & light that burns the sky
|
||||
u8 GetCategoryBasedOnStats(u32 battler)
|
||||
{
|
||||
u32 attack = gBattleMons[battler].attack;
|
||||
u32 spAttack = gBattleMons[battler].spAttack;
|
||||
|
||||
attack = attack * gStatStageRatios[gBattleMons[battler].statStages[STAT_ATK]][0];
|
||||
attack = attack / gStatStageRatios[gBattleMons[battler].statStages[STAT_ATK]][1];
|
||||
|
||||
spAttack = spAttack * gStatStageRatios[gBattleMons[battler].statStages[STAT_SPATK]][0];
|
||||
spAttack = spAttack / gStatStageRatios[gBattleMons[battler].statStages[STAT_SPATK]][1];
|
||||
|
||||
if (spAttack >= attack)
|
||||
return DAMAGE_CATEGORY_SPECIAL;
|
||||
else
|
||||
return DAMAGE_CATEGORY_PHYSICAL;
|
||||
}
|
||||
|
||||
static u32 GetFlingPowerFromItemId(u32 itemId)
|
||||
{
|
||||
if (itemId >= ITEM_TM01 && itemId <= ITEM_HM08)
|
||||
|
|
@ -8997,6 +9015,21 @@ static u32 GetFlingPowerFromItemId(u32 itemId)
|
|||
return ItemId_GetFlingPower(itemId);
|
||||
}
|
||||
|
||||
bool32 CanFling(u32 battler)
|
||||
{
|
||||
u16 item = gBattleMons[battler].item;
|
||||
|
||||
if (item == ITEM_NONE
|
||||
|| (B_KLUTZ_FLING_INTERACTION >= GEN_5 && GetBattlerAbility(battler) == ABILITY_KLUTZ)
|
||||
|| gFieldStatuses & STATUS_FIELD_MAGIC_ROOM
|
||||
|| gDisableStructs[battler].embargoTimer != 0
|
||||
|| GetFlingPowerFromItemId(item) == 0
|
||||
|| !CanBattlerGetOrLoseItem(battler, item))
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void SetRandomMultiHitCounter()
|
||||
{
|
||||
if (GetBattlerHoldEffect(gBattlerAttacker, TRUE) == HOLD_EFFECT_LOADED_DICE)
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user