Merge pull request #258 from SethBarberee/nov_2024

Nov 2024
This commit is contained in:
Seth Barberee
2024-11-27 08:37:41 -08:00
committed by GitHub
33 changed files with 1776 additions and 2362 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1034,7 +1034,7 @@ _0807EEA0:
adds r1, r5, 0
movs r2, 0x3
adds r3, r6, 0
bl sub_807D148
bl WarpTarget
b _0807EE72
_0807EEAE:
movs r6, 0
@@ -2301,7 +2301,7 @@ _0807F8BE:
mov r1, r8
movs r2, 0
movs r3, 0
bl sub_807D148
bl WarpTarget
b _0807F8FA
.align 2, 0
_0807F8D0: .4byte gAdjacentTileOffsets

View File

@@ -48,7 +48,7 @@ gUnknown_810702C: @ 810702C
.string "pksdir0\0"
.string "pksdir0\0"
.string "pksdir0\0"
@ sub_807DF38
@ HandleExplosion
.string "pksdir0\0"
.global gUnknown_81070E8

View File

@@ -1,8 +1,8 @@
#ifndef CODE_807CD9C_H
#define CODE_807CD9C_H
void sub_807CD9C(Entity *pokemon, Entity *target, u32 direction);
void sub_807D148(Entity *pokemon, Entity *target, u32 param_3, DungeonPos *pos);
void BlowAwayTarget(Entity *pokemon, Entity *target, u32 direction);
void WarpTarget(Entity *pokemon, Entity *target, u32 param_3, DungeonPos *pos);
void sub_807D3CC(Entity *param_1);
#endif /* ifndef CODE_807CD9C_H */

View File

@@ -31,6 +31,7 @@ enum DungeonAction
ACTION_UNK21 = 0x21,
ACTION_EAT_AI = 0x23,
ACTION_THROW_ITEM_AI = 0x24,
ACTION_STEPPED_ON_TRAP = 0x25,
ACTION_STAIRS = 0x26,
ACTION_THROW_STRAIGHT_PLAYER = 0x27,
ACTION_USE_LINK_BOX = 0x2C,

View File

@@ -3,6 +3,7 @@
#include "structs/dungeon_entity.h"
void sub_8044C50(u16 action);
void ClearMonsterActionFields(ActionContainer *actionPointer);
void SetMonsterActionFields(ActionContainer *actionPointer, u16 action);
void SetActionPassTurnOrWalk(ActionContainer *actionPointer, s16 species);

View File

@@ -9,4 +9,19 @@ Tile *GetTileMut(s32 x, s32 y);
void sub_8049ED4(void);
void sub_804AC20(DungeonPos *pos);
void sub_80495E4(void);
void LoadDungeonTilesetAssets(void);
void sub_8049820(void);
void sub_8049840(void);
void sub_8049884(void);
void sub_80498A8(s32 x, s32 y);
void sub_8049B8C(void);
void sub_8049BB0(s32 x, s32 y);
void sub_804A1F0(s32 a0, s32 a1);
void sub_804A49C(s32 a0, s32 a1);
void sub_804A728(DungeonPos *pos, s32 a1, u8 a2, u8 a3);
void sub_804AA60(void);
void sub_804AAAC(void);
void sub_804AAD4(void);
#endif // GUARD_DUNGEON_MAP_ACCESS_H

View File

@@ -4,7 +4,7 @@
#include "structs/dungeon_entity.h"
u8 sub_8075BF4(Entity * pokemon, s32 sleepClassStatusTurns);
void sub_8075C58(Entity * pokemon, Entity * target, s32 turns, bool8 displayMessage);
void SleepStatusTarget(Entity * pokemon, Entity * target, s32 turns, bool8 displayMessage);
bool8 CannotSleep(Entity * pokemon, Entity * target, u8 param_3, bool8 displayMessage);
void NightmareStatusTarget(Entity * pokemon, Entity * target, s32 turns);
void NappingStatusTarget(Entity * pokemon, Entity * target, s32 turns);

View File

@@ -4,50 +4,49 @@
#include "constants/move.h"
#include "structs/dungeon_entity.h"
bool8 sub_805B668(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 DreamEaterMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805B734(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 RecycleMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 ReflectMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805B808(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805B884(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 DragonRageMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 DragonDanceMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 SkullBashMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805B910(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805B968(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 LusterPurgeMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 StruggleMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 RockSmashMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805BA44(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805BA50(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 ThiefAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805BB64(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805BB74(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805BB98(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 SwitcherOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 StayawayOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 CleanseOrbAction(Entity *pokemon,Entity *target, Move *move, s32 param_4);
bool8 sub_805BC70(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805BC98(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 SlumberOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 TwoEdgeMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 SilenceOrbAction(Entity *pokemon,Entity *target, Move *move, s32 param_4);
bool8 ScannerOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 RadarOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 TransferOrbAction(Entity *pokemon,Entity *target, Move *move, s32 param_4);
bool8 sub_805BE90(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 SlowDownMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 LuminousOrbAction(Entity *pokemon,Entity *target, Move *move, s32 param_4);
bool8 PetrifyOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805BEB8(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805BEC8(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 PounceOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 TrawlOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 EscapeOrbAction(Entity *pokemon,Entity *target, Move *move, s32 param_4);
bool8 sub_805BF34(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 DroughtOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 TrapbustOrbAction(Entity *pokemon,Entity *target, Move *move, s32 param_4);
bool8 sub_805C080(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805C128(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805C138(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 RollcallOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 OneShotOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 IdentifyOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805C1BC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805C1E4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 VacuumCutMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 ReviverOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 ShockerOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805C208(Entity *pokemon, Entity *target, Move *move, u32 param_4);
bool8 sub_805C288(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805C2A0(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 OneRoomOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 FillInOrbAction(Entity *pokemon,Entity *target, Move *move, s32 param_4);
bool8 sub_805C3DC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805C3F8(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 sub_805C45C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 ItemizeOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 HurlOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 MobileOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 StairsOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
bool8 LongtossOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);

View File

@@ -26,6 +26,8 @@ enum TerrainType
TERRAIN_TYPE_UNK_x400 = 1 << 10,
TERRAIN_TYPE_UNK_x800 = 1 << 11,
TERRAIN_TYPE_UNK_x1000 = 1 << 12,
TERRAIN_TYPE_UNK_x2000 = 1 << 13,
TERRAIN_TYPE_UNK_x4000 = 1 << 14,
TERRAIN_TYPE_UNREACHABLE_FROM_STAIRS = 1 << 15, // 0x8000
};

View File

@@ -11,7 +11,7 @@ bool8 sub_807FD84(Entity *entity);
bool8 sub_807FE04(DungeonPos *pos, char param_2);
bool8 sub_807FE44(DungeonPos *pos, char param_2);
void GetTrapName(u8 *buffer, u8 trapIndex);
void sub_807FE9C(Entity *pokemon, DungeonPos *pos, int param_3, char param_4);
void HandleTrap(Entity *pokemon, DungeonPos *pos, int param_3, char param_4);
void HandleMudTrap(Entity *pokemon, Entity *target);
void HandleStickyTrap(Entity *pokemon, Entity *target);
void HandleGrimyTrap(Entity *pokemon, Entity *target);
@@ -26,6 +26,8 @@ void HandleSelfdestructTrap(Entity *pokemon, Entity *target);
void HandleExplosionTrap(Entity *pokemon, Entity *target);
void HandlePPZeroTrap(Entity *pokemon, Entity *target);
void HandleWonderTile(Entity *pokemon, Entity *target);
void HandleSealTrap(Entity *pokemon, Entity *target);
void HandleWhirlwindTrap(Entity *entity, Entity *target);
// code_807FCD4.s
extern void HandleSealTrap(Entity *pokemon, Entity *target);

View File

@@ -268,7 +268,6 @@ SECTIONS {
src/dungeon_ai_attack.o(.text);
src/targeting_flags.o(.text);
src/code_807CD9C.o(.text);
asm/code_807CD9C.o(.text);
src/code_807E1A0.o(.text);
src/weather.o(.text);
asm/code_807E5AC.o(.text);

View File

@@ -2,300 +2,300 @@
#include "called_move_data.h"
#include "constants/move_id.h"
extern bool8 sub_8057634(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 IronTailMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 YawnMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 NightmareMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805783C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 CharmMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 EncoreMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8057974(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 SuperFangMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 PainSplitMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 TormentMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8057BC4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8057C88(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 SwaggerMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 RockSlideMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 WhirlpoolMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8057D7C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8057D9C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 FakeTearsMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 SpiteMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 SmokescreenMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8057FCC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8057FF4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805805C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805816C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8058270(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_80582C4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_80583D8(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8058430(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8058478(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_80584C0(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8058548(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 FlatterMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 WillOWispMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 ReturnMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 FlameWheelMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 GustMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 DisableMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 ShadowBallMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 BiteMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 ThunderMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 EndeavorMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 FacadeMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8058580(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 BrickBreakMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8058638(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_80586DC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8058770(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_80587E8(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8058838(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8058858(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_80588B8(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_80588F4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8058930(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8058A18(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8058BF0(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 RockTombMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 GigaDrainMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 ReversalMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 SmellingSaltMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 MetalSoundMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 TickleMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 OutrageMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 LowKickMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 AncientPowerMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 RapidSpinMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 ScaryFaceMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8058E5C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8058FBC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_80590D4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059190(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_80591E4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 LickMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 FissureMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 ExtrasensoryMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 AbsorbMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 SkillSwapMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059424(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805946C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 HeadbuttMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 DoubleEdgeMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059528(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059540(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_80595A0(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 SmogMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 SacredFireMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_80595EC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_80598CC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059928(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059988(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 MuddyWaterMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 TwisterMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 TwineedleMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059A2C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059AA8(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059AB8(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059AF8(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059D00(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059D48(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059D98(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059DA4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059DB4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059DC4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059E0C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 SupersonicMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 TauntMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 HornDrillMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 ThundershockMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 ThunderWaveMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 BlockMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 PoisonGasMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 ToxicMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 PoisonFangMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 PoisonStingMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 TriAttackMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805A120(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805A210(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805A258(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805A2A0(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 TrickMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 TripleKickMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 MudSlapMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 ThiefMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 RolePlayMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805A3DC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805A464(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 LeerMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 PayDayMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 CurseMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805A568(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 TickleMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805A688(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 SuperpowerMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 DynamicPunchMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 KnockOffMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 SecretPowerMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805AC90(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805AD04(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805AD34(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805AD54(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805AE3C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805AE74(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805AECC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 ObserverOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 FeatherDanceMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 BeatUpMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 BlastBurnMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 CrushClawMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 BlazeKickMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 PresentMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805AFA4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805B028(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805B074(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805B0BC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 EruptionMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 GlareMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 PoisonTailMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 RoarMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805B17C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 WrapMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805B264(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805B324(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 MagnitudeMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 MistBallMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 DestinyBondMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805B388(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805B3E0(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805B454(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 FalseSwipeMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 HiddenPowerMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 AttractMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 MimicMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805B53C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 FrustrationMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 LeechSeedMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805B668(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805B910(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805B808(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_805A408(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 DreamEaterMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 LusterPurgeMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 DragonRageMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 FakeOutMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 HandleRegularDamagingMove(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 sub_8059050(Entity *pokemon, Entity *target, Move *move, s32 param_4);
extern bool8 StunSporeMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
// Todo: move this data to some better place once the file structure is better understood
// These are random
const struct CalledMove gMetronomeCalledMoves[METRONOME_AVAILABLE_CALLED_MOVES] =
{
{MOVE_IRON_TAIL, sub_8057634},
{MOVE_IRON_TAIL, IronTailMoveAction},
{MOVE_YAWN, YawnMoveAction},
{MOVE_NIGHTMARE, NightmareMoveAction},
{MOVE_CHARM, sub_805783C},
{MOVE_CHARM, CharmMoveAction},
{MOVE_ENCORE, EncoreMoveAction},
{MOVE_SUPER_FANG, sub_8057974},
{MOVE_SUPER_FANG, SuperFangMoveAction},
{MOVE_PAIN_SPLIT, PainSplitMoveAction},
{MOVE_TORMENT, TormentMoveAction},
{MOVE_SWAGGER, sub_8057BC4},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_SWAGGER, SwaggerMoveAction},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_WHIRLPOOL, WhirlpoolMoveAction},
{MOVE_FAKE_TEARS, sub_8057D7C},
{MOVE_SPITE, sub_8057D9C},
{MOVE_FAKE_TEARS, FakeTearsMoveAction},
{MOVE_SPITE, SpiteMoveAction},
{MOVE_SMOKESCREEN, SmokescreenMoveAction},
{MOVE_FLATTER, sub_8057FCC},
{MOVE_WILL_O_WISP, sub_8057FF4},
{MOVE_RETURN, sub_805805C},
{MOVE_FLAME_WHEEL, sub_805816C},
{MOVE_GUST, sub_8058270},
{MOVE_DISABLE, sub_80582C4},
{MOVE_CRUNCH, sub_80583D8},
{MOVE_BITE, sub_8058430},
{MOVE_THUNDER, sub_8058478},
{MOVE_ENDEAVOR, sub_80584C0},
{MOVE_FACADE, sub_8058548},
{MOVE_FLATTER, FlatterMoveAction},
{MOVE_WILL_O_WISP, WillOWispMoveAction},
{MOVE_RETURN, ReturnMoveAction},
{MOVE_FLAME_WHEEL, FlameWheelMoveAction},
{MOVE_GUST, GustMoveAction},
{MOVE_DISABLE, DisableMoveAction},
{MOVE_CRUNCH, ShadowBallMoveAction},
{MOVE_BITE, BiteMoveAction},
{MOVE_THUNDER, ThunderMoveAction},
{MOVE_ENDEAVOR, EndeavorMoveAction},
{MOVE_FACADE, FacadeMoveAction},
{MOVE_CONSTRICT, sub_8058580},
{MOVE_BRICK_BREAK, BrickBreakMoveAction},
{MOVE_ROCK_TOMB, sub_8058638},
{MOVE_GIGA_DRAIN, sub_80586DC},
{MOVE_REVERSAL, sub_8058770},
{MOVE_SMELLINGSALT, sub_80587E8},
{MOVE_METAL_SOUND, sub_8058838},
{MOVE_TICKLE, sub_8058858},
{MOVE_OUTRAGE, sub_80588B8},
{MOVE_LOW_KICK, sub_80588F4},
{MOVE_ANCIENTPOWER, sub_8058930},
{MOVE_RAPID_SPIN, sub_8058A18},
{MOVE_SCARY_FACE, sub_8058BF0},
{MOVE_ROCK_TOMB, RockTombMoveAction},
{MOVE_GIGA_DRAIN, GigaDrainMoveAction},
{MOVE_REVERSAL, ReversalMoveAction},
{MOVE_SMELLINGSALT, SmellingSaltMoveAction},
{MOVE_METAL_SOUND, MetalSoundMoveAction},
{MOVE_TICKLE, TickleMoveAction},
{MOVE_OUTRAGE, OutrageMoveAction},
{MOVE_LOW_KICK, LowKickMoveAction},
{MOVE_ANCIENTPOWER, AncientPowerMoveAction},
{MOVE_RAPID_SPIN, RapidSpinMoveAction},
{MOVE_SCARY_FACE, ScaryFaceMoveAction},
{MOVE_SUBMISSION, sub_8058E5C},
{MOVE_LICK, sub_8058FBC},
{MOVE_FISSURE, sub_80590D4},
{MOVE_EXTRASENSORY, sub_8059190},
{MOVE_ABSORB, sub_80591E4},
{MOVE_LICK, LickMoveAction},
{MOVE_FISSURE, FissureMoveAction},
{MOVE_EXTRASENSORY, ExtrasensoryMoveAction},
{MOVE_ABSORB, AbsorbMoveAction},
{MOVE_SKILL_SWAP, SkillSwapMoveAction},
{MOVE_HEADBUTT, sub_8059424},
{MOVE_DOUBLE_EDGE, sub_805946C},
{MOVE_HEADBUTT, HeadbuttMoveAction},
{MOVE_DOUBLE_EDGE, DoubleEdgeMoveAction},
{MOVE_SAND_ATTACK, sub_8059528},
{MOVE_SMOG, sub_8059540},
{MOVE_SACRED_FIRE, sub_80595A0},
{MOVE_SMOG, SmogMoveAction},
{MOVE_SACRED_FIRE, SacredFireMoveAction},
{MOVE_SHEER_COLD, sub_80595EC},
{MOVE_MUDDY_WATER, sub_80598CC},
{MOVE_TWISTER, sub_8059928},
{MOVE_TWINEEDLE, sub_8059988},
{MOVE_MUDDY_WATER, MuddyWaterMoveAction},
{MOVE_TWISTER, TwisterMoveAction},
{MOVE_TWINEEDLE, TwineedleMoveAction},
{MOVE_SEISMIC_TOSS, sub_8059A2C},
{MOVE_SUPERSONIC, sub_8059AA8},
{MOVE_TAUNT, sub_8059AB8},
{MOVE_HORN_DRILL, sub_8059AF8},
{MOVE_THUNDERSHOCK, sub_8059D00},
{MOVE_THUNDER_WAVE, sub_8059D48},
{MOVE_BLOCK, sub_8059D98},
{MOVE_POISON_GAS, sub_8059DA4},
{MOVE_TOXIC, sub_8059DB4},
{MOVE_POISON_FANG, sub_8059DC4},
{MOVE_POISON_STING, sub_8059E0C},
{MOVE_SUPERSONIC, SupersonicMoveAction},
{MOVE_TAUNT, TauntMoveAction},
{MOVE_HORN_DRILL, HornDrillMoveAction},
{MOVE_THUNDERSHOCK, ThundershockMoveAction},
{MOVE_THUNDER_WAVE, ThunderWaveMoveAction},
{MOVE_BLOCK, BlockMoveAction},
{MOVE_POISON_GAS, PoisonGasMoveAction},
{MOVE_TOXIC, ToxicMoveAction},
{MOVE_POISON_FANG, PoisonFangMoveAction},
{MOVE_POISON_STING, PoisonStingMoveAction},
{MOVE_TRI_ATTACK, TriAttackMoveAction},
{MOVE_TRICK, sub_805A120},
{MOVE_TRIPLE_KICK, sub_805A210},
{MOVE_MUD_SLAP, sub_805A258},
{MOVE_THIEF, sub_805A2A0},
{MOVE_TRICK, TrickMoveAction},
{MOVE_TRIPLE_KICK, TripleKickMoveAction},
{MOVE_MUD_SLAP, MudSlapMoveAction},
{MOVE_THIEF, ThiefMoveAction},
{MOVE_ROLE_PLAY, RolePlayMoveAction},
{MOVE_LEER, sub_805A3DC},
{MOVE_PAY_DAY, sub_805A464},
{MOVE_LEER, LeerMoveAction},
{MOVE_PAY_DAY, PayDayMoveAction},
{MOVE_CURSE, CurseMoveAction},
{MOVE_FRENZY_PLANT, sub_805A568},
{MOVE_SUPERPOWER, TickleMoveAction},
{MOVE_DYNAMICPUNCH, sub_805A688},
{MOVE_SUPERPOWER, SuperpowerMoveAction},
{MOVE_DYNAMICPUNCH, DynamicPunchMoveAction},
{MOVE_KNOCK_OFF, KnockOffMoveAction},
{MOVE_SECRET_POWER, SecretPowerMoveAction},
{MOVE_DIZZY_PUNCH, sub_805AC90},
{MOVE_IMPRISON, sub_805AD04},
{MOVE_FEATHERDANCE, sub_805AD34},
{MOVE_BEAT_UP, sub_805AD54},
{MOVE_BLAST_BURN, sub_805AE3C},
{MOVE_CRUSH_CLAW, sub_805AE74},
{MOVE_BLAZE_KICK, sub_805AECC},
{MOVE_IMPRISON, ObserverOrbAction},
{MOVE_FEATHERDANCE, FeatherDanceMoveAction},
{MOVE_BEAT_UP, BeatUpMoveAction},
{MOVE_BLAST_BURN, BlastBurnMoveAction},
{MOVE_CRUSH_CLAW, CrushClawMoveAction},
{MOVE_BLAZE_KICK, BlazeKickMoveAction},
{MOVE_PRESENT, PresentMoveAction},
{MOVE_ERUPTION, sub_805AFA4},
{MOVE_GLARE, sub_805B028},
{MOVE_POISON_TAIL, sub_805B074},
{MOVE_ROAR, sub_805B0BC},
{MOVE_ERUPTION, EruptionMoveAction},
{MOVE_GLARE, GlareMoveAction},
{MOVE_POISON_TAIL, PoisonTailMoveAction},
{MOVE_ROAR, RoarMoveAction},
{MOVE_FIRE_SPIN, sub_805B17C},
{MOVE_WRAP, WrapMoveAction},
{MOVE_MAGNITUDE, sub_805B264},
{MOVE_MIST_BALL, sub_805B324},
{MOVE_MAGNITUDE, MagnitudeMoveAction},
{MOVE_MIST_BALL, MistBallMoveAction},
{MOVE_DESTINY_BOND, DestinyBondMoveAction},
{MOVE_FALSE_SWIPE, sub_805B388},
{MOVE_HIDDEN_POWER, sub_805B3E0},
{MOVE_ATTRACT, sub_805B454},
{MOVE_FALSE_SWIPE, FalseSwipeMoveAction},
{MOVE_HIDDEN_POWER, HiddenPowerMoveAction},
{MOVE_ATTRACT, AttractMoveAction},
{MOVE_MIMIC, MimicMoveAction},
{MOVE_FRUSTRATION, sub_805B53C},
{MOVE_FRUSTRATION, FrustrationMoveAction},
{MOVE_LEECH_SEED, LeechSeedMoveAction},
{MOVE_DREAM_EATER, sub_805B668},
{MOVE_LUSTER_PURGE, sub_805B910},
{MOVE_DRAGON_RAGE, sub_805B808},
{MOVE_FAKE_OUT, sub_805A408},
{MOVE_DREAM_EATER, DreamEaterMoveAction},
{MOVE_LUSTER_PURGE, LusterPurgeMoveAction},
{MOVE_DRAGON_RAGE, DragonRageMoveAction},
{MOVE_FAKE_OUT, FakeOutMoveAction},
};
// These correspond to dungeon's tileset id
const struct CalledMove gNaturePowerCalledMoves[] =
{
{MOVE_SURF, HandleRegularDamagingMove},
{MOVE_STUN_SPORE, sub_8059050},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_SHADOW_BALL, sub_80583D8},
{MOVE_SHADOW_BALL, sub_80583D8},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_SHADOW_BALL, sub_80583D8},
{MOVE_STUN_SPORE, StunSporeMoveAction},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_SHADOW_BALL, ShadowBallMoveAction},
{MOVE_SHADOW_BALL, ShadowBallMoveAction},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_SHADOW_BALL, ShadowBallMoveAction},
{MOVE_SWIFT, HandleRegularDamagingMove},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_STUN_SPORE, sub_8059050},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_STUN_SPORE, StunSporeMoveAction},
{MOVE_EARTHQUAKE, HandleRegularDamagingMove},
{MOVE_SWIFT, HandleRegularDamagingMove},
{MOVE_SWIFT, HandleRegularDamagingMove},
{MOVE_STUN_SPORE, sub_8059050},
{MOVE_STUN_SPORE, StunSporeMoveAction},
{MOVE_SWIFT, HandleRegularDamagingMove},
{MOVE_SWIFT, HandleRegularDamagingMove},
{MOVE_SHADOW_BALL, sub_80583D8},
{MOVE_SHADOW_BALL, sub_80583D8},
{MOVE_SHADOW_BALL, sub_80583D8},
{MOVE_STUN_SPORE, sub_8059050},
{MOVE_SHADOW_BALL, ShadowBallMoveAction},
{MOVE_SHADOW_BALL, ShadowBallMoveAction},
{MOVE_SHADOW_BALL, ShadowBallMoveAction},
{MOVE_STUN_SPORE, StunSporeMoveAction},
{MOVE_EARTHQUAKE, HandleRegularDamagingMove},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_SWIFT, HandleRegularDamagingMove},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_STUN_SPORE, sub_8059050},
{MOVE_STUN_SPORE, sub_8059050},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_STUN_SPORE, StunSporeMoveAction},
{MOVE_STUN_SPORE, StunSporeMoveAction},
{MOVE_SWIFT, HandleRegularDamagingMove},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_RAZOR_LEAF, HandleRegularDamagingMove},
{MOVE_SHADOW_BALL, sub_80583D8},
{MOVE_SHADOW_BALL, sub_80583D8},
{MOVE_SHADOW_BALL, ShadowBallMoveAction},
{MOVE_SHADOW_BALL, ShadowBallMoveAction},
{MOVE_RAZOR_LEAF, HandleRegularDamagingMove},
{MOVE_RAZOR_LEAF, HandleRegularDamagingMove},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_SWIFT, HandleRegularDamagingMove},
{MOVE_SWIFT, HandleRegularDamagingMove},
{MOVE_SHADOW_BALL, sub_80583D8},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_STUN_SPORE, sub_8059050},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_SHADOW_BALL, ShadowBallMoveAction},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_STUN_SPORE, StunSporeMoveAction},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_EARTHQUAKE, HandleRegularDamagingMove},
{MOVE_SWIFT, HandleRegularDamagingMove},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_SURF, HandleRegularDamagingMove},
{MOVE_STUN_SPORE, sub_8059050},
{MOVE_STUN_SPORE, sub_8059050},
{MOVE_STUN_SPORE, StunSporeMoveAction},
{MOVE_STUN_SPORE, StunSporeMoveAction},
{MOVE_EARTHQUAKE, HandleRegularDamagingMove},
{MOVE_BUBBLEBEAM, sub_8058580},
{MOVE_SHADOW_BALL, sub_80583D8},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_STUN_SPORE, sub_8059050},
{MOVE_SHADOW_BALL, ShadowBallMoveAction},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_STUN_SPORE, StunSporeMoveAction},
{MOVE_SWIFT, HandleRegularDamagingMove},
{MOVE_SWIFT, HandleRegularDamagingMove},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_STUN_SPORE, sub_8059050},
{MOVE_SHADOW_BALL, sub_80583D8},
{MOVE_STUN_SPORE, sub_8059050},
{MOVE_STUN_SPORE, sub_8059050},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_STUN_SPORE, StunSporeMoveAction},
{MOVE_SHADOW_BALL, ShadowBallMoveAction},
{MOVE_STUN_SPORE, StunSporeMoveAction},
{MOVE_STUN_SPORE, StunSporeMoveAction},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_RAZOR_LEAF, HandleRegularDamagingMove},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_SWIFT, HandleRegularDamagingMove},
{MOVE_SWIFT, HandleRegularDamagingMove},
{MOVE_ROCK_SLIDE, sub_8057C88},
{MOVE_ROCK_SLIDE, RockSlideMoveAction},
{MOVE_SWIFT, HandleRegularDamagingMove},
{MOVE_SWIFT, HandleRegularDamagingMove},
{MOVE_SURF, HandleRegularDamagingMove},

View File

@@ -68,8 +68,6 @@ extern void sub_8083D44(void);
extern void sub_8040A84(void);
extern void sub_80400D4(void);
extern void sub_8041888(u8 param_1);
extern void sub_804A1F0(s32 a0, s32 a1);
extern void sub_804A49C(s32 a0, s32 a1);
extern void sub_80402AC(s32, s32);
void sub_803EC94(void);

View File

@@ -287,12 +287,10 @@ extern void sub_8040150(bool8 param_1);
extern void sub_803D4AC(void);
extern void sub_804513C(void);
extern void sub_8043CD8(void);
extern void sub_80495E4(void);
extern void sub_803E250(void);
extern void sub_8040130(void);
extern void sub_8040124(void);
extern void sub_803E830(void);
extern void sub_8049820(void);
extern void sub_803E214(void);
extern void nullsub_56(void);
extern void sub_806863C(void);
@@ -309,7 +307,6 @@ extern void sub_8086130(void);
extern void FreeDungeonPokemonSprites(void);
extern void sub_803DF60(void);
extern void sub_803E02C(void);
extern void sub_8049840(void);
extern void sub_80847D4(void);
extern void sub_8043D60(void);
extern void sub_806890C(void);
@@ -344,26 +341,21 @@ extern void sub_806AA70(void);
extern void sub_803D8F0(void);
extern void sub_806AD3C(void);
extern void sub_806C42C(void);
extern void sub_804AAD4(void);
extern void sub_8049B8C(void);
extern void sub_806B678(void);
extern void sub_806C3C0(void);
extern void sub_806B168(void);
extern void sub_806B6C4(void);
extern void sub_806A338(void);
extern void sub_804AAAC(void);
extern void sub_8051E3C(void);
extern void sub_8045CB0(void);
extern void sub_807FA18(void);
extern void sub_806A974(void);
extern void sub_806CF60(void);
extern void sub_8049884(void);
extern void sub_8068F80(void);
extern bool8 sub_8044B28(void);
extern bool8 sub_8083C24(void);
extern bool8 sub_8083C88(u8 param_1);
extern bool8 sub_8043ED0(bool8);
extern void LoadDungeonTilesetAssets(void);
extern void LoadDungeonPokemonSprites(void);
extern void ShowDungeonNameBanner(void);
extern void sub_803EAF0(u32, u32);

View File

@@ -473,7 +473,7 @@ UNUSED void nullsub_205(void) { }
void SleepSeedItemAction(Entity *pokemon, Entity *target)
{
sub_8075C58(pokemon, target, CalculateStatusTurns(target, gUnknown_80F4E74, TRUE), TRUE);
SleepStatusTarget(pokemon, target, CalculateStatusTurns(target, gUnknown_80F4E74, TRUE), TRUE);
}
void sub_80482FC(Entity *pokemon, Entity *target, u32 pp, u8 param_4)
@@ -555,7 +555,7 @@ void PechaBerryItemAction(Entity *pokemon, Entity *target)
void WarpSeedItemAction(Entity *pokemon, Entity *target)
{
sub_807D148(pokemon, target, 0, NULL);
WarpTarget(pokemon, target, 0, NULL);
}
void ChestoBerryItemAction(Entity *pokemon, Entity *target)

View File

@@ -68,8 +68,7 @@ extern void sub_8083D30(void);
extern void sub_8083D08(void);
extern void sub_806A6E8(Entity *);
extern bool8 sub_8047084(s32 itemFlag);
extern void sub_807FE9C(Entity *pokemon, DungeonPos *pos, int param_3,
char param_4);
extern void HandleTrap(Entity *pokemon, DungeonPos *pos, int param_3, char param_4);
extern void sub_8045DB4(DungeonPos *, u32);
bool8 sub_807EF48(void);
void sub_806A2BC(Entity *a0, u8 a1);
@@ -85,12 +84,10 @@ void sub_8075680(u32);
void sub_8094C88(void);
void sub_8040A84(void);
void sub_8047158(void);
void sub_804AA60(void);
void sub_806A914(u8 a0, u8 a1, u8 a2);
void sub_8044C10(u8 a0);
u16 GetLeaderActionId(void);
void sub_80978C8(s16 a0);
void sub_8044C50(u16 a0);
static void TryCreateModeArrows(Entity *leader);
bool8 sub_8094C48(void);
bool8 sub_805EC4C(Entity *a0, u8 a1);
@@ -215,7 +212,7 @@ void DungeonHandlePlayerInput(void)
}
frames = 0;
sub_8044C50(0);
sub_8044C50(ACTION_NOTHING);
sShowThreeArrows1 = FALSE;
sShowThreeArrows2 = FALSE;
@@ -247,7 +244,7 @@ void DungeonHandlePlayerInput(void)
}
if (gRealInputs.held & A_BUTTON && gRealInputs.held & B_BUTTON && FixedPointToInt(leaderInfo->belly) != 0) {
sub_8044C50(1);
sub_8044C50(ACTION_PASS_TURN);
gDungeon->unk644.unk2F = 1;
break;
}
@@ -258,14 +255,14 @@ void DungeonHandlePlayerInput(void)
if (gRealInputs.pressed & A_BUTTON) {
if (gRealInputs.held & B_BUTTON) {
if (FixedPointToInt(leaderInfo->belly) != 0) {
sub_8044C50(1);
sub_8044C50(ACTION_PASS_TURN);
gDungeon->unk644.unk2F = 1;
break;
}
}
else if (ShouldMonsterRunAwayAndShowEffect(leader, TRUE)) {
LogMessageByIdWithPopupCheckUser(leader, gUnknown_80FD4B0);
sub_8044C50(1);
sub_8044C50(ACTION_PASS_TURN);
gDungeon->unk644.unk2F = 1;
break;
}
@@ -415,7 +412,7 @@ void DungeonHandlePlayerInput(void)
s32 i;
for (i = 0; i < INVENTORY_SIZE; i++) {
if (ItemExists(&gTeamInventoryRef->teamItems[i]) && ItemSet(&gTeamInventoryRef->teamItems[i])) {
sub_8044C50(11);
sub_8044C50(ACTION_THROW_ITEM_PLAYER);
leaderInfo->action.unk4[0].actionUseIndex = i +1;
leaderInfo->action.unk4[0].lastItemThrowPosition.x = 0;
leaderInfo->action.unk4[0].lastItemThrowPosition.y = 0;
@@ -531,11 +528,11 @@ void DungeonHandlePlayerInput(void)
if (immobilizedMsg != NULL) {
LogMessageByIdWithPopupCheckUser(leader, immobilizedMsg);
}
sub_8044C50(1);
sub_8044C50(ACTION_PASS_TURN);
gDungeon->unk644.unk2F = 1;
}
else {
sub_8044C50(2);
sub_8044C50(ACTION_WALK);
if ((gRealInputs.held & B_BUTTON || bPress) && FixedPointToInt(leaderInfo->belly) != 0) {
if (GetEntInfo(leader)->cringeClassStatus.status != STATUS_CONFUSED) {
gDungeon->unk644.unk28 = 1;
@@ -565,7 +562,7 @@ void DungeonHandlePlayerInput(void)
HandleTalkFieldAction(leader);
if (sub_8044B28())
break;
sub_8044C50(0);
sub_8044C50(ACTION_NOTHING);
}
else if ((r6.a0_8) == 0) {
gDungeon->unk644.unk29 = 0;
@@ -1632,7 +1629,7 @@ void sub_805EE30(void)
break;
}
if (!r7) {
sub_807FE9C(leader, &leader->pos, 0, 1);
HandleTrap(leader, &leader->pos, 0, 1);
}
}
break;

View File

@@ -177,7 +177,7 @@ void HandleGiveItemAction(Entity *param_1)
}
sub_806A6E8(entity);
if (sub_80706A4(entity,&entity->pos) != 0) {
sub_807D148(param_1,entity,0,0);
WarpTarget(param_1,entity,0,0);
}
if (!info2->isTeamLeader) {
info2->flags = info2->flags | MOVEMENT_FLAG_UNK_14;
@@ -218,7 +218,7 @@ void HandleTakeItemAction(Entity *param_1)
LogMessageByIdWithPopupCheckUser(param_1,*gUnknown_80F8D7C);
sub_806A6E8(entity);
if (sub_80706A4(entity,&entity->pos) != 0) {
sub_807D148(param_1,entity,0,0);
WarpTarget(param_1,entity,0,0);
}
if (!info->isTeamLeader) {
info->flags |= MOVEMENT_FLAG_UNK_14;
@@ -262,7 +262,7 @@ void sub_8066BD4(Entity *param_1)
PlaySoundEffect(0x14d);
LogMessageByIdWithPopupCheckUser(param_1,*gUnknown_80F8DB4);
if (sub_80706A4(entity,&entity->pos) != 0) {
sub_807D148(param_1,entity,0,0);
WarpTarget(param_1,entity,0,0);
}
if (!info->isTeamLeader) {
info->flags = info->flags | MOVEMENT_FLAG_UNK_14;

View File

@@ -45,7 +45,7 @@ extern bool8 sub_80461C8(DungeonPos *, u32);
extern void sub_805229C(void);
extern void sub_807E8F0(Entity *);
extern void sub_80444F4(Entity *pokemon);
extern void sub_807D148(Entity *pokemon, Entity *r1, u32 r2, DungeonPos *r3);
extern void WarpTarget(Entity *pokemon, Entity *r1, u32 r2, DungeonPos *r3);
extern void sub_80420B8(Entity *pokemon);
extern void sub_8041C4C(Entity *pokemon, u32 r1);
extern void sub_805E804(void);
@@ -300,7 +300,7 @@ void sub_8074094(Entity *entity)
UseAttack(NULL);
if (!EntityExists(entity) || sub_8044B28())
return;
sub_807D148(entity, entity, 0, NULL);
WarpTarget(entity, entity, 0, NULL);
if (entityInfo->isTeamLeader) {
gDungeon->unk1 = 0;
gDungeon->unk5C0 = -1;
@@ -1031,7 +1031,7 @@ bool8 UseAttack(Entity *a0)
sub_806A5B8(mon);
if (sub_80706A4(mon, &mon->pos)) {
sub_807D148(mon, mon, 0, NULL);
WarpTarget(mon, mon, 0, NULL);
}
}
}

View File

@@ -105,7 +105,7 @@ void sub_8075708(Entity *entity)
}
_ret:
if (!bVar2) {
sub_807FE9C(entity, &entity->pos, 0, 1);
HandleTrap(entity, &entity->pos, 0, 1);
}
break;
case ENTITY_ITEM:

View File

@@ -1,6 +1,7 @@
#include "global.h"
#include "code_803E46C.h"
#include "code_8045A00.h"
#include "dungeon_map_access.h"
#include "dungeon_message.h"
#include "code_805D8C8.h"
#include "code_806CD90.h"
@@ -1187,7 +1188,7 @@ void EndSleepClassStatus(Entity * pokemon, Entity * target, bool8 param_3, bool8
case STATUS_YAWNING:
if (param_3) {
entityInfo->sleepClassStatus.status = STATUS_NONE;
sub_8075C58(pokemon,target,CalculateStatusTurns(target, gUnknown_80F4F2C, TRUE) + 1, TRUE);
SleepStatusTarget(pokemon,target,CalculateStatusTurns(target, gUnknown_80F4F2C, TRUE) + 1, TRUE);
return;
}
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA734);

File diff suppressed because it is too large Load Diff

View File

@@ -67,7 +67,7 @@ void sub_807E1A0(Entity *pokemon,Entity *target,u8 moveType,s16 param_4,s32 para
}
}
void sub_807E254(Entity *pokemon,Entity *target)
void HandleSwitcherOrb(Entity *pokemon,Entity *target)
{
DungeonPos pokemonPos;
DungeonPos targetPos;

View File

@@ -297,8 +297,8 @@ bool8 sub_8072CF4(Entity *entity)
case ACTION_REGULAR_ATTACK:
sub_8067904(entity, MOVE_REGULAR_ATTACK);
break;
case 0x25:
sub_807FE9C(entity,&entity->pos,0,0);
case ACTION_STEPPED_ON_TRAP:
HandleTrap(entity,&entity->pos,0,0);
break;
case ACTION_PICK_UP_AI:
HandlePickUpAIAction(entity);
@@ -360,7 +360,7 @@ bool8 sub_8072CF4(Entity *entity)
sub_8041888(0);
if (((EntityExists(entity)) && (!info->aiAllySkip)) && (!bVar14)) {
if (sub_80706A4(entity,&entity->pos) != '\0') {
sub_807D148(entity,entity,0,0);
WarpTarget(entity,entity,0,0);
}
sub_8074094(entity);
sub_8071DA4(entity);

View File

@@ -375,7 +375,6 @@ extern s32 GetCameraXPos(void);
extern s32 GetCameraYPos(void);
extern void sub_803F878(u32, s32);
extern void BgColorCallNullsub4(void);
extern void DeoxysScreenFlash(void);
extern void sub_8085EB0(void);
extern void sub_8049884(void);
extern void sub_8049B8C(void);
@@ -400,6 +399,9 @@ extern void sub_80460F8(DungeonPos *, Item *, u8);
extern u8 sub_8044B28(void);
extern bool8 sub_8085B80(struct_8085B80 *);
void sub_808BBA8(Entity * );
void DeoxysScreenFlash(void);
void sub_8086A54(Entity *);
void ZapdosScreenFlash(s32 numFlashes);
void ZapdosDropInEffect(Entity *);
void SetupDeoxysFightHP(Entity *r0);

View File

@@ -39,8 +39,6 @@ EWRAM_DATA_2 const Tile *gCurTilesetOobTile = {0};
extern u8 sub_8043CE4(u32);
extern void sub_80402AC(s32, s32);
extern int sprintf(char *, const char *, ...);
void sub_8049BB0(s32, s32);
void sub_80498A8(s32, s32);
const Tile *GetTile(s32 x, s32 y)
{

File diff suppressed because it is too large Load Diff

View File

@@ -193,8 +193,7 @@ extern void sub_806A6E8(Entity *);
extern void EndAbilityImmuneStatus(Entity *, Entity *);
extern u8 sub_806F4A4(Entity *, u32);
extern void sub_807DF38(Entity *pokemon, Entity *target, DungeonPos *pos, u32,
u8 moveType, s16);
extern void HandleExplosion(Entity *pokemon, Entity *target, DungeonPos *pos, u32, u8 moveType, s16);
extern void nullsub_92(Entity *);
extern u32 sub_8055864(Entity *pokemon, Entity *target, Move *param_3, s32 param_4, s32 param_5);
extern u8 sub_807EAA0(u32, u32);
@@ -273,7 +272,7 @@ u8 ToItemID(u32 itemID)
return itemID;
}
bool8 sub_8057634(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 IronTailMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
bool8 flag;
@@ -307,9 +306,10 @@ bool8 YawnMoveAction(Entity * pokemon, Entity *target, Move *move, s32 param_4)
return TRUE;
}
bool8 sub_80576F8(Entity * pokemon, Entity *target, Move *move, s32 param_4)
// NOTE: Is there a better name for this?
bool8 BasicSleepMoveAction(Entity * pokemon, Entity *target, Move *move, s32 param_4)
{
sub_8075C58(pokemon, target, CalculateStatusTurns(target, gUnknown_80F4E74, TRUE), TRUE);
SleepStatusTarget(pokemon, target, CalculateStatusTurns(target, gUnknown_80F4E74, TRUE), TRUE);
return TRUE;
}
@@ -319,7 +319,7 @@ bool8 NightmareMoveAction(Entity * pokemon, Entity *target, Move *move, s32 para
return TRUE;
}
bool8 sub_8057748(Entity * pokemon,Entity * target, Move *move, s32 param_4)
bool8 MorningSunMoveAction(Entity * pokemon,Entity * target, Move *move, s32 param_4)
{
HealTargetHP(pokemon, target, gUnknown_80F502A[GetApparentWeather(pokemon)], 0, TRUE);
return TRUE;
@@ -354,13 +354,13 @@ bool8 DigMoveAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
return flag;
}
bool32 sub_8057824(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool32 SweetScentMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
LowerAccuracyStageTarget(pokemon,target,gUnknown_8106A50,TRUE);
return TRUE;
}
bool32 sub_805783C(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool32 CharmMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
ChangeAttackMultiplierTarget(pokemon,target,gUnknown_8106A4C,FloatToF248(0.5),TRUE);
return TRUE;
@@ -392,7 +392,7 @@ bool32 sub_80578EC(Entity *pokemon, Entity *target, Move *move, s32 param_4)
return TRUE;
}
bool32 sub_80578FC(Entity *pokemon, Entity *target, Move * move, u32 param_4)
bool32 BubbleMoveAction(Entity *pokemon, Entity *target, Move * move, u32 param_4)
{
bool32 flag;
@@ -419,7 +419,7 @@ bool32 RageMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
return TRUE;
}
bool32 sub_8057974(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool32 SuperFangMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
s32 newHP;
bool8 local_24;
@@ -518,13 +518,13 @@ bool8 TormentMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4
return isTormented;
}
bool8 sub_8057BB4(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 StringShotMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
LowerMovementSpeedTarget(pokemon, target, 1, TRUE);
return TRUE;
}
bool8 sub_8057BC4(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 SwaggerMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
ConfuseStatusTarget(pokemon, target, TRUE);
RaiseAttackStageTarget(pokemon, target, gUnknown_8106A4C, 2);
@@ -550,13 +550,13 @@ bool8 SnoreMoveAction(Entity *pokemon, Entity *target, Move * move, u32 param_4)
return flag;
}
bool8 sub_8057C68(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 ScreechMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
ChangeDefenseMultiplierTarget(pokemon, target, gUnknown_8106A4C, FloatToF248(0.25), 1);
return TRUE;
}
bool8 sub_8057C88(Entity *pokemon, Entity *target, Move * move, u32 param_4)
bool8 RockSlideMoveAction(Entity *pokemon, Entity *target, Move * move, u32 param_4)
{
bool8 flag;
@@ -570,7 +570,7 @@ bool8 sub_8057C88(Entity *pokemon, Entity *target, Move * move, u32 param_4)
return flag;
}
bool32 sub_8057CD0(Entity * pokemon, Entity * target, Move * move, u32 param_4)
bool32 WeatherBallMoveAction(Entity * pokemon, Entity * target, Move * move, u32 param_4)
{
u32 weather;
s32 flag;
@@ -605,13 +605,13 @@ bool8 WhirlpoolMoveAction(Entity * pokemon, Entity * target, Move * move, u32 pa
return flag;
}
bool8 sub_8057D7C(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 FakeTearsMoveAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
LowerDefenseStageTarget(pokemon, target, gUnknown_8106A50, 2, 1, TRUE);
return TRUE;
}
bool8 sub_8057D9C(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 SpiteMoveAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
s32 i;
EntityInfo *targetInfo = GetEntInfo(target);
@@ -648,14 +648,14 @@ bool8 SmokescreenMoveAction(Entity *pokemon, Entity *target, Move *move, s32 par
return TRUE;
}
bool8 sub_8057E50(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 MirrorMoveMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
SendThawedMessage(pokemon, target);
MirrorMoveStatusTarget(pokemon, target);
return TRUE;
}
bool8 sub_8057E6C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 OverheatMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
EntityInfo *entityInfo;
bool8 flag;
@@ -672,7 +672,7 @@ bool8 sub_8057E6C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_8057ED0(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 AuroraBeamMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -687,7 +687,7 @@ bool8 sub_8057ED0(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_8057F24(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 MementoMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
EntityInfo *entityInfo;
@@ -699,7 +699,7 @@ bool8 sub_8057F24(Entity *pokemon, Entity *target, Move *move, s32 param_4)
return TRUE;
}
bool8 sub_8057F7C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 OctazookaMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -714,14 +714,14 @@ bool8 sub_8057F7C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_8057FCC(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 FlatterMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
ConfuseStatusTarget(pokemon, target, TRUE);
RaiseAttackStageTarget(pokemon, target, gUnknown_8106A50, 1);
return TRUE;
}
bool8 sub_8057FF4(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 WillOWispMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
u8 flashFireStatus;
@@ -744,7 +744,7 @@ bool8 sub_8057FF4(Entity *pokemon, Entity *target, Move *move, s32 param_4)
return TRUE;
}
bool8 sub_805805C(Entity * pokemon,Entity * target,Move * move,s32 param_4)
bool8 ReturnMoveAction(Entity * pokemon,Entity * target,Move * move,s32 param_4)
{
s16 *psVar3;
s32 index;
@@ -799,7 +799,7 @@ bool8 CounterMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4
return TRUE;
}
bool8 sub_805816C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 FlameWheelMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -815,7 +815,8 @@ bool8 sub_805816C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_80581D0(Entity *pokemon, Entity *target, Move *move, u32 param_4)
// NOTE: Do we have a better name for this??
bool8 BasicFireMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -831,7 +832,7 @@ bool8 sub_80581D0(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_8058234(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 ExposeMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
u16 uVar1;
uVar1 = (move->id == MOVE_FORESIGHT) ? 0x7A : 0x51;
@@ -839,13 +840,13 @@ bool8 sub_8058234(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return TRUE;
}
bool8 sub_805825C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 DoubleTeamMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
RaiseAccuracyStageTarget(pokemon, target, gUnknown_8106A50);
return TRUE;
}
bool8 sub_8058270(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 GustMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
u32 r3;
@@ -859,19 +860,21 @@ bool8 sub_8058270(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_80582AC(Entity *pokemon, Entity *target, Move *move, u32 param_4)
// NOTE: Is there a better name for this?
bool8 BasicRaiseDefenseMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
RaiseDefenseStageTarget(pokemon, target, gUnknown_8106A4C, 1);
return TRUE;
}
bool8 sub_80582C4(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 DisableMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
ParalyzeStatusTarget(pokemon, target, TRUE);
return TRUE;
}
bool8 sub_80582D4(Entity *pokemon, Entity *target, Move *move, u32 param_4)
// NOTE: Is there a better name for this?
bool8 BasicRaiseAttackMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
RaiseAttackStageTarget(pokemon, target, gUnknown_8106A4C, 1);
return TRUE;
@@ -898,7 +901,7 @@ bool8 BideMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return TRUE;
}
bool8 sub_805836C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 Bide2MoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
s32 iVar2;
bool8 local_18;
@@ -914,7 +917,7 @@ bool8 sub_805836C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return local_18;
}
bool8 sub_80583D8(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 ShadowBallMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -929,7 +932,7 @@ bool8 sub_80583D8(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_8058430(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 BiteMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -944,7 +947,7 @@ bool8 sub_8058430(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_8058478(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 ThunderMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -959,7 +962,7 @@ bool8 sub_8058478(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_80584C0(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 EndeavorMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
s32 diffHP;
bool8 local_24;
@@ -980,7 +983,7 @@ bool8 sub_80584C0(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return local_24;
}
bool8 sub_8058548(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 FacadeMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
u32 r5;
@@ -1022,7 +1025,7 @@ bool8 BrickBreakMoveAction(Entity *pokemon, Entity *target, Move *move, u32 para
return flag;
}
bool8 sub_8058638(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 RockTombMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -1052,7 +1055,7 @@ bool8 FocusPunchMoveAction(Entity * pokemon, Entity * target, Move * move, u32 p
return flag;
}
bool8 sub_80586DC(Entity * pokemon, Entity * target, Move * move, u32 param_4)
bool8 GigaDrainMoveAction(Entity * pokemon, Entity * target, Move * move, u32 param_4)
{
bool8 hasLiquidOoze;
s32 uVar3;
@@ -1081,9 +1084,7 @@ bool8 sub_80586DC(Entity * pokemon, Entity * target, Move * move, u32 param_4)
return flag;
}
// NOTE: almost the same as sub_8058D44 and sub_805AFA4 in status_actions.c
bool8 sub_8058770(Entity * pokemon, Entity * target, Move * move, u32 param_4)
bool8 ReversalMoveAction(Entity * pokemon, Entity * target, Move * move, u32 param_4)
{
s32 index;
bool8 flag;
@@ -1106,7 +1107,7 @@ bool8 sub_8058770(Entity * pokemon, Entity * target, Move * move, u32 param_4)
return flag;
}
bool8 sub_80587E8(Entity * pokemon, Entity * target, Move * move, u32 param_4)
bool8 SmellingSaltMoveAction(Entity * pokemon, Entity * target, Move * move, u32 param_4)
{
bool8 flag;
@@ -1120,13 +1121,13 @@ bool8 sub_80587E8(Entity * pokemon, Entity * target, Move * move, u32 param_4)
return flag;
}
bool8 sub_8058838(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 MetalSoundMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
LowerDefenseStageTarget(pokemon, target, gUnknown_8106A50, 3, 1, TRUE);
return TRUE;
}
bool8 sub_8058858(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 TickleMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
s32 index = gUnknown_8106A4C;
LowerAttackStageTarget(pokemon, target, index, 1, 1, TRUE);
@@ -1140,13 +1141,13 @@ bool8 sub_805889C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return TRUE;
}
bool8 sub_80588A8(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 HazeMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
sub_8079E34(pokemon, target, TRUE);
return TRUE;
}
bool8 sub_80588B8(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 OutrageMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag = FALSE;
if(HandleDamagingMove(pokemon, target, move, 0x80 << 1, param_4) != 0)
@@ -1160,7 +1161,7 @@ bool8 sub_80588B8(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_80588F4(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 LowKickMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
EntityInfo *entityInfo = GetEntInfo(target);
@@ -1170,7 +1171,7 @@ bool8 sub_80588F4(Entity *pokemon, Entity *target, Move *move, u32 param_4)
}
bool8 sub_8058930(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 AncientPowerMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag = FALSE;
EntityInfo *entityInfo;
@@ -1195,19 +1196,19 @@ bool8 sub_8058930(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_80589D4(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 SynthesisMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
HealTargetHP(pokemon, target, gUnknown_80F500A[GetApparentWeather(pokemon)], 0, TRUE);
return TRUE;
}
bool8 sub_8058A08(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 AgilityMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
RaiseMovementSpeedTarget(pokemon, target, 0, TRUE);
return TRUE;
}
bool8 sub_8058A18(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 RapidSpinMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag = FALSE;
if(HandleDamagingMove(pokemon, target, move, 0x80 << 1, param_4) != 0)
@@ -1221,13 +1222,13 @@ bool8 sub_8058A18(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_8058A54(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 SureShotMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
SureShotStatusTarget(pokemon, target, CalculateStatusTurns(target, gUnknown_80F4EB8, FALSE));
return TRUE;
}
bool8 sub_8058A7C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 CosmicPowerMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
RaiseDefenseStageTarget(pokemon, target, gUnknown_8106A4C, 1);
RaiseDefenseStageTarget(pokemon, target, gUnknown_8106A50, 1);
@@ -1254,7 +1255,8 @@ bool8 SkyAttackMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param
return flag;
}
bool8 sub_8058B3C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
// NOTE: Is there a better name for this?
bool8 BasicIceMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -1269,7 +1271,7 @@ bool8 sub_8058B3C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_8058B84(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 MeteorMashMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
EntityInfo *entityInfo;
@@ -1293,7 +1295,7 @@ bool8 EndureMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return TRUE;
}
bool8 sub_8058BF0(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 ScaryFaceMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
LowerMovementSpeedTarget(pokemon, target, 1, TRUE);
return TRUE;
@@ -1314,7 +1316,7 @@ bool8 sub_8058C00(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_8058C48(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 PsywaveMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
s32 rand;
bool8 flag;
@@ -1346,7 +1348,7 @@ bool8 sub_8058C98(Entity *pokemon, Entity *target, Move *move, u32 param_4, u32
return flag;
}
bool8 sub_8058CEC(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 PsychoBoostMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag = FALSE;
if(HandleDamagingMove(pokemon, target, move, 0x80 << 1, param_4) != 0)
@@ -1360,15 +1362,13 @@ bool8 sub_8058CEC(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_8058D38(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 UproarMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
SleeplessStatusTarget(pokemon, target);
return TRUE;
}
// NOTE: same as sub_8058770
bool8 sub_8058D44(Entity * pokemon, Entity * target, Move * move, u32 param_4)
bool8 WaterSpoutMoveAction(Entity * pokemon, Entity * target, Move * move, u32 param_4)
{
s32 index;
bool8 flag;
@@ -1423,7 +1423,7 @@ bool8 sub_8058E5C(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 flag;
flag = FALSE;
if ((HandleDamagingMove(pokemon, target, move, 0x80 << 1, param_4) != 0) && (EntityExists(pokemon))) {
if ((HandleDamagingMove(pokemon, target, move, 0x100, param_4) != 0) && (EntityExists(pokemon))) {
iVar2 = GetEntInfo(pokemon)->maxHPStat;
if (iVar2 < 0) {
iVar2 = iVar2 + 7;
@@ -1446,7 +1446,7 @@ bool8 sub_8058EE0(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return TRUE;
}
bool32 sub_8058F04(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool32 EarthquakeMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
bool32 flag;
EntityInfo *entityInfo;
@@ -1484,7 +1484,7 @@ bool8 NaturePowerMoveAction(Entity *pokemon, Entity *target, Move *move, s32 par
return flag;
}
bool8 sub_8058FBC(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 LickMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -1499,13 +1499,13 @@ bool8 sub_8058FBC(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_8059004(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 SelfDestructMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
sub_807DF38(pokemon, target, &target->pos, 1, GetMoveType(move), sub_8057600(move, param_4));
HandleExplosion(pokemon, target, &target->pos, 1, GetMoveType(move), sub_8057600(move, param_4));
return TRUE;
}
bool8 sub_8059050(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 StunSporeMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
ParalyzeStatusTarget(pokemon, target, TRUE);
return TRUE;
@@ -1517,7 +1517,7 @@ bool8 ChargeMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return TRUE;
}
bool8 sub_8059080(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 ThunderboltMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -1538,7 +1538,7 @@ bool8 MistMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return TRUE;
}
bool8 sub_80590D4(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 FissureMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
u8 moveType;
bool8 uVar5;
@@ -1562,7 +1562,7 @@ bool8 sub_80590D4(Entity *pokemon, Entity *target, Move *move, s32 param_4)
return flag;
}
bool8 sub_8059190(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 ExtrasensoryMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -1583,7 +1583,7 @@ bool8 SafeguardMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param
return TRUE;
}
bool8 sub_80591E4(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 AbsorbMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
bool8 hasLiquidOoze;
s32 iVar3;
@@ -1685,7 +1685,7 @@ bool32 SketchMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4
return ret;
}
bool8 sub_8059424(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 HeadbuttMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -1700,7 +1700,7 @@ bool8 sub_8059424(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_805946C(Entity * pokemon,Entity * target,Move * move,u32 param_4)
bool8 DoubleEdgeMoveAction(Entity * pokemon,Entity * target,Move * move,u32 param_4)
{
s32 HP;
bool8 flag;
@@ -1740,7 +1740,7 @@ bool8 sub_8059528(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return TRUE;
}
bool8 sub_8059540(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 SmogMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -1755,13 +1755,13 @@ bool8 sub_8059540(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_8059588(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 GrowthMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
RaiseAttackStageTarget(pokemon, target, gUnknown_8106A50, 1);
return TRUE;
}
bool8 sub_80595A0(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 SacredFireMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -1816,7 +1816,7 @@ bool8 SolarBeamMoveAction(Entity * pokemon,Entity * target,Move * move,u32 param
return weather;
}
bool8 sub_8059714(Entity * pokemon,Entity * target,Move * move,u32 param_4)
bool8 SonicboomMoveAction(Entity * pokemon,Entity * target,Move * move,u32 param_4)
{
u8 local_20;
@@ -1842,9 +1842,9 @@ bool8 FlyMoveAction(Entity * pokemon, Entity * target, Move * move, u32 param_4)
return flag;
}
bool8 sub_80597F0(Entity * pokemon,Entity * target,Move * move,u32 param_4)
bool8 ExplosionMoveAction(Entity * pokemon,Entity * target,Move * move,u32 param_4)
{
sub_807DF38(pokemon,target,&target->pos,2,GetMoveType(move),sub_8057600(move,param_4));
HandleExplosion(pokemon,target,&target->pos,2,GetMoveType(move),sub_8057600(move,param_4));
return TRUE;
}
@@ -1867,7 +1867,7 @@ bool8 DiveMoveAction(Entity * pokemon, Entity * target, Move * move, u32 param_4
return flag;
}
bool8 sub_80598CC(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 MuddyWaterMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -1888,7 +1888,7 @@ bool8 StockpileMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param
return TRUE;
}
bool8 sub_8059928(Entity * pokemon,Entity * target,Move * move,u32 param_4)
bool8 TwisterMoveAction(Entity * pokemon,Entity * target,Move * move,u32 param_4)
{
bool8 flag;
s32 iVar2;
@@ -1908,7 +1908,7 @@ bool8 sub_8059928(Entity * pokemon,Entity * target,Move * move,u32 param_4)
return flag;
}
bool8 sub_8059988(Entity * pokemon,Entity * target,Move * move,u32 param_4)
bool8 TwineedleMoveAction(Entity * pokemon,Entity * target,Move * move,u32 param_4)
{
bool8 flag;
@@ -1935,7 +1935,7 @@ bool8 sub_80599EC(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return TRUE;
}
bool8 sub_8059A18(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 MinimizeMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
RaiseAccuracyStageTarget(pokemon, target, gUnknown_8106A50);
return TRUE;
@@ -1953,25 +1953,25 @@ bool8 sub_8059A2C(Entity * pokemon,Entity * target,Move * move,u32 param_4)
return local_20;
}
bool8 sub_8059AA8(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 SupersonicMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
ConfuseStatusTarget(pokemon, target, TRUE);
return TRUE;
}
bool8 sub_8059AB8(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 TauntMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
TauntStatusTarget(pokemon, target);
return TRUE;
}
bool8 sub_8059AC4(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 MoonlightMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
HealTargetHP(pokemon, target, gUnknown_80F501A[GetApparentWeather(pokemon)], 0, TRUE);
return TRUE;
}
bool8 sub_8059AF8(Entity * pokemon,Entity * target,Move * move,u32 param_4)
bool8 HornDrillMoveAction(Entity * pokemon,Entity * target,Move * move,u32 param_4)
{
u8 local_20;
@@ -1987,7 +1987,7 @@ bool8 sub_8059AF8(Entity * pokemon,Entity * target,Move * move,u32 param_4)
}
}
bool8 sub_8059B94(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 SwordsDanceMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
RaiseAttackStageTarget(pokemon, target, gUnknown_8106A4C, 2);
return TRUE;
@@ -2065,13 +2065,13 @@ bool8 sub_8059CD8(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return TRUE;
}
bool8 sub_8059CF0(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 WarpMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
sub_807D148(pokemon, target, 0, NULL);
WarpTarget(pokemon, target, 0, NULL);
return TRUE;
}
bool8 sub_8059D00(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 ThundershockMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -2086,13 +2086,13 @@ bool8 sub_8059D00(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_8059D48(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 ThunderWaveMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
ParalyzeStatusTarget(pokemon, target, TRUE);
return TRUE;
}
bool8 sub_8059D58(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 ZapCannonMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -2107,25 +2107,25 @@ bool8 sub_8059D58(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_8059D98(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 BlockMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
ImmobilizedStatusTarget(pokemon, target);
return TRUE;
}
bool8 sub_8059DA4(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 PoisonGasMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
PoisonedStatusTarget(pokemon, target, TRUE);
return TRUE;
}
bool8 sub_8059DB4(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 ToxicMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
BadlyPoisonedStatusTarget(pokemon, target, TRUE);
return TRUE;
}
bool8 sub_8059DC4(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 PoisonFangMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -2140,7 +2140,7 @@ bool8 sub_8059DC4(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_8059E0C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 PoisonStingMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -2155,7 +2155,7 @@ bool8 sub_8059E0C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_8059E54(Entity * pokemon,Entity * target,Move * move,u32 param_4,u8 param_5)
bool8 JumpKickMoveAction(Entity * pokemon,Entity * target,Move * move,u32 param_4,u8 param_5)
{
u8 moveType;
u32 movePower;
@@ -2184,7 +2184,7 @@ bool8 sub_8059E54(Entity * pokemon,Entity * target,Move * move,u32 param_4,u8 pa
return flag;
}
bool8 sub_8059F38(Entity * pokemon,Entity * target,Move * move,u32 param_4)
bool8 BounceMoveAction(Entity * pokemon,Entity * target,Move * move,u32 param_4)
{
bool8 flag;
@@ -2205,7 +2205,7 @@ bool8 sub_8059F38(Entity * pokemon,Entity * target,Move * move,u32 param_4)
return flag;
}
bool8 sub_8059FC8(Entity * pokemon,Entity * target,Move * move,u32 param_4,u8 param_5)
bool8 HiJumpKickMoveAction(Entity * pokemon,Entity * target,Move * move,u32 param_4,u8 param_5)
{
u8 moveType;
u32 movePower;
@@ -2262,7 +2262,7 @@ bool8 TriAttackMoveAction(Entity * pokemon, Entity * target, Move *move, u32 par
return flag;
}
bool8 sub_805A120(Entity * pokemon,Entity * target, Move *move, u32 param_4)
bool8 TrickMoveAction(Entity * pokemon,Entity * target, Move *move, u32 param_4)
{
EntityInfo *r9;
EntityInfo *r8;
@@ -2318,7 +2318,7 @@ bool8 sub_805A120(Entity * pokemon,Entity * target, Move *move, u32 param_4)
}
}
bool8 sub_805A210(Entity * pokemon, Entity * target, Move *move, u32 param_4)
bool8 TripleKickMoveAction(Entity * pokemon, Entity * target, Move *move, u32 param_4)
{
bool8 flag;
@@ -2341,7 +2341,7 @@ bool8 MudWaterSportMoveAction(Entity * pokemon, Entity * target, Move *move, u32
}
bool8 sub_805A258(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 MudSlapMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -2356,18 +2356,18 @@ bool8 sub_805A258(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_805A2A0(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 ThiefMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
return sub_805BA50(pokemon, target, move, param_4);
return ThiefAction(pokemon, target, move, param_4);
}
bool8 sub_805A2B0(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 AmnesiaMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
RaiseDefenseStageTarget(pokemon, target, gUnknown_8106A50, 2);
return TRUE;
}
bool8 sub_805A2C8(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 GrowlMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
LowerAttackStageTarget(pokemon, target, gUnknown_8106A4C, 1, 1, TRUE);
return TRUE;
@@ -2423,7 +2423,7 @@ bool8 SunnyDayMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_
return TRUE;
}
bool8 sub_805A3DC(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 LeerMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
LowerDefenseStageTarget(pokemon, target, gUnknown_8106A4C, 1, 1, TRUE);
return TRUE;
@@ -2435,7 +2435,7 @@ bool8 WishMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return TRUE;
}
bool8 sub_805A408(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 FakeOutMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -2456,7 +2456,7 @@ bool8 sub_805A450(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return FALSE;
}
bool8 sub_805A464(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 PayDayMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool32 flag;
Item item;
@@ -2469,7 +2469,7 @@ bool8 sub_805A464(Entity *pokemon, Entity *target, Move *move, u32 param_4)
if (!EntityExists(target)) {
pos.x = 0;
pos.y = 0;
sub_8045C28(&item,0x69,2);
sub_8045C28(&item,ITEM_POKE,2);
sub_805A7D4(pokemon,target,&item,&pos);
}
}
@@ -2477,19 +2477,19 @@ bool8 sub_805A464(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_805A4C0(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 AssistMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC74C);
return FALSE;
}
bool8 sub_805A4D4(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 RestMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
NappingStatusTarget(pokemon, target, CalculateStatusTurns(target, gUnknown_80F4E94, FALSE));
return TRUE;
}
bool8 sub_805A4FC(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 IngrainMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
IngrainedStatusTarget(pokemon, target);
return TRUE;
@@ -2524,7 +2524,7 @@ bool8 sub_805A568(Entity * pokemon, Entity * target, Move *move, u32 param_4)
return flag;
}
bool8 TickleMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 SuperpowerMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
u32 stat;
bool32 flag;
@@ -2541,7 +2541,7 @@ bool8 TickleMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_805A5E8(Entity *pokemon, Entity *target, Move *move, u32 stat, u32 param_5)
bool8 SteelWingMoveAction(Entity *pokemon, Entity *target, Move *move, u32 stat, u32 param_5)
{
EntityInfo *entityInfo;
bool32 flag;
@@ -2573,7 +2573,7 @@ bool8 SpitUpMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return TRUE;
}
bool8 sub_805A688(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 DynamicPunchMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -2626,7 +2626,7 @@ bool8 KnockOffMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_
sub_805A7D4(pokemon,target,&heldItem,&pos);
if (sub_80706A4(target, &target->pos) != 0)
{
sub_807D148(pokemon, target, 0, NULL);
WarpTarget(pokemon, target, 0, NULL);
}
return TRUE;
}
@@ -2652,7 +2652,7 @@ static void sub_805A7D4(Entity * pokemon, Entity * target, Item *item,
sub_804652C(pokemon,&stackEntity,item,1,0);
}
bool8 sub_805A85C(Entity * pokemon, Entity * target, Move *move, u32 param_4)
bool8 SplashMoveAction(Entity * pokemon, Entity * target, Move *move, u32 param_4)
{
int x;
int y;
@@ -2744,7 +2744,7 @@ _0805AA5E:
sub_804535C(target, NULL);
pos = r9;
if (sub_80706A4(target, pos)) {
sub_807D148(pokemon,target,0,0);
WarpTarget(pokemon,target,0,0);
}
if (GetEntInfo(target)->isTeamLeader) {
sub_804AC20(r9);
@@ -2801,7 +2801,7 @@ bool8 SecretPowerMoveAction(Entity * pokemon, Entity * target, Move *move, u32 p
PoisonedStatusTarget(pokemon,target,FALSE);
break;
case 1:
sub_8075C58(pokemon,target,CalculateStatusTurns(target,gUnknown_80F4E74,TRUE),FALSE);
SleepStatusTarget(pokemon,target,CalculateStatusTurns(target,gUnknown_80F4E74,TRUE),FALSE);
break;
case 2:
LowerMovementSpeedTarget(pokemon,target,1,FALSE);
@@ -2853,19 +2853,19 @@ bool8 BulkUpMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return TRUE;
}
bool8 sub_805AD04(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 ObserverOrbAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
PausedStatusTarget(pokemon, target, 1, CalculateStatusTurns(target, &gUnknown_80F4EE0, TRUE), TRUE);
return TRUE;
}
bool8 sub_805AD34(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 FeatherDanceMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
LowerAttackStageTarget(pokemon, target, gUnknown_8106A4C, 2, 1, TRUE);
return TRUE;
}
bool32 sub_805AD54(Entity * pokemon, Entity * target, Move *move, u32 param_4)
bool32 BeatUpMoveAction(Entity * pokemon, Entity * target, Move *move, u32 param_4)
{
s32 numPossibleTargets;
s32 i;
@@ -2890,7 +2890,7 @@ bool32 sub_805AD54(Entity * pokemon, Entity * target, Move *move, u32 param_4)
{
EntityInfo *targetInfo = GetEntInfo(targetEntity);
if (targetInfo->monsterBehavior != BEHAVIOR_RESCUE_TARGET && !IsClientOrTeamBase(targetInfo->joinedAt.id)) {
sub_807D148(pokemon,targetEntity,2,&target->pos);
WarpTarget(pokemon,targetEntity,2,&target->pos);
flag = TRUE;
SetExpMultplier(info);
}
@@ -2903,7 +2903,7 @@ bool32 sub_805AD54(Entity * pokemon, Entity * target, Move *move, u32 param_4)
return flag;
}
bool8 sub_805AE3C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
bool8 BlastBurnMoveAction(Entity *pokemon, Entity *target, Move *move, u32 param_4)
{
bool8 flag;
@@ -2912,7 +2912,7 @@ bool8 sub_805AE3C(Entity *pokemon, Entity *target, Move *move, u32 param_4)
return flag;
}
bool8 sub_805AE74(Entity * pokemon, Entity * target, Move *move, u32 param_4)
bool8 CrushClawMoveAction(Entity * pokemon, Entity * target, Move *move, u32 param_4)
{
bool8 flag;
@@ -2926,7 +2926,7 @@ bool8 sub_805AE74(Entity * pokemon, Entity * target, Move *move, u32 param_4)
return flag;
}
bool8 sub_805AECC(Entity * pokemon, Entity * target, Move *move, u32 param_4)
bool8 BlazeKickMoveAction(Entity * pokemon, Entity * target, Move *move, u32 param_4)
{
bool8 flag;

View File

@@ -192,7 +192,7 @@ u8 sub_8075BF4(Entity * pokemon, s32 sleepClassStatusTurns)
return uVar4;
}
void sub_8075C58(Entity * pokemon, Entity * target, s32 turns, u8 displayMessage)
void SleepStatusTarget(Entity * pokemon, Entity * target, s32 turns, u8 displayMessage)
{
u8 sleep;
u8 cVar2;

View File

@@ -36,7 +36,7 @@
#include "called_move_data.h"
extern void sub_807F43C(Entity *, Entity *);
extern void sub_807DC68(Entity *, Entity *);
extern void HandleOneRoomOrb(Entity *, Entity *);
extern u32 sub_803D73C(u32);
extern void sub_8045C28(Item *, u8 , u8);
extern void sub_80464C8(Entity *, DungeonPos *, Item *);
@@ -50,14 +50,14 @@ extern void sub_8042A54(DungeonPos *);
extern void sub_8049BB0(s32, s32);
extern s16 sub_8057600(Move*, u32);
extern u32 sub_8055864(Entity *pokemon, Entity *target, Move *param_3, s32 param_4, s32 param_5);
extern void sub_807DB74(Entity *);
extern void HandleDroughtOrbAction(Entity *);
extern void HandleLuminousOrbAction(Entity *pokemon);
extern void sub_807D510(Entity *, Entity *);
extern void sub_807DA14(Entity *, Entity *, s32);
extern void HandleTrawlOrbAction(Entity *, Entity *);
extern void HandlePounceOrbAction(Entity *, Entity *, s32);
extern s16 sub_803D970(u32);
extern bool8 sub_806AA0C(s32, u32);
extern void sub_806BB6C(Entity *, s32);
extern void sub_807E254(Entity *, Entity *, u32);
extern void HandleSwitcherOrb(Entity *, Entity *, u32);
extern u32 HandleDamagingMove(Entity *, Entity *, Move *, u32, u32);
extern void sub_806A6E8(Entity *);
extern u8 sub_8069D18(DungeonPos *);
@@ -75,7 +75,7 @@ extern void WrapTarget(Entity *, Entity *);
// TODO having matching issues when this isn't s32.. (move_effects_target.h)
extern void SqueezedStatusTarget(Entity *, Entity *, s32, bool32);
extern void sub_8075C58(Entity *, Entity *, s32, s32);
extern void SleepStatusTarget(Entity *, Entity *, s32, s32);
extern void DealDamageToEntity(Entity *, s32, u32, u32);
extern bool8 MoveRequiresCharging(Entity* pokemon,u16 moveID);
@@ -143,7 +143,7 @@ extern u8 *gUnknown_80FEFF4[];
extern u32 gUnknown_80F51C4[];
bool8 sub_805AFA4(Entity * pokemon, Entity * target, Move *move, u32 param_4)
bool8 EruptionMoveAction(Entity * pokemon, Entity * target, Move *move, u32 param_4)
{
EntityInfo *entityInfo;
s32 maxHp;
@@ -170,7 +170,7 @@ bool8 sub_805AFA4(Entity * pokemon, Entity * target, Move *move, u32 param_4)
return flag;
}
bool8 sub_805B028(Entity * pokemon,Entity * target,Move *move)
bool8 GlareMoveAction(Entity * pokemon,Entity * target,Move *move)
{
ParalyzeStatusTarget(pokemon,target, TRUE);
return TRUE;
@@ -189,7 +189,7 @@ bool8 TransformMoveAction(Entity * pokemon, Entity * target, Move *move, s32 par
}
}
bool8 sub_805B074(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 PoisonTailMoveAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
bool8 flag;
@@ -203,9 +203,9 @@ bool8 sub_805B074(Entity * pokemon, Entity * target, Move *move, s32 param_4)
return flag;
}
bool8 sub_805B0BC(Entity * pokemon, Entity * target)
bool8 RoarMoveAction(Entity * pokemon, Entity * target)
{
sub_807CD9C(pokemon, target, GetEntInfo(pokemon)->action.direction);
BlowAwayTarget(pokemon, target, GetEntInfo(pokemon)->action.direction);
return TRUE;
}
@@ -233,7 +233,7 @@ bool8 HandleColorChange(Entity * pokemon, Entity * target)
}
}
bool8 sub_805B164(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 TailGlowMoveAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
RaiseAttackStageTarget(pokemon,target,gUnknown_8106A50, 2);
return TRUE;
@@ -300,7 +300,7 @@ bool8 SpikesMoveAction(Entity * pokemon, Entity * target, Move *move, s32 param_
return trapLaid;
}
bool8 sub_805B264(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 MagnitudeMoveAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
s32 r3;
bool8 r6;
@@ -333,7 +333,7 @@ bool8 ProtectMoveAction(Entity * pokemon,Entity * target,Move *move, s32 param_4
return TRUE;
}
bool8 sub_805B2FC(Entity * pokemon,Entity * target,Move *move, s32 param_4)
bool8 DefenseCurlMoveAction(Entity * pokemon,Entity * target,Move *move, s32 param_4)
{
RaiseDefenseStageTarget(pokemon,target,gUnknown_8106A4C,1);
return TRUE;
@@ -345,7 +345,7 @@ bool8 sub_805B314(Entity * pokemon,Entity * target,Move *move, s32 param_4)
return TRUE;
}
bool8 sub_805B324(Entity * pokemon,Entity * target,Move *move, s32 param_4)
bool8 MistBallMoveAction(Entity * pokemon,Entity * target,Move *move, s32 param_4)
{
bool8 flag;
@@ -365,7 +365,7 @@ bool8 DestinyBondMoveAction(Entity * pokemon,Entity * target,Move *move, s32 par
return TRUE;
}
bool8 sub_805B388(Entity * pokemon,Entity * target,Move *move, s32 param_4)
bool8 FalseSwipeMoveAction(Entity * pokemon,Entity * target,Move *move, s32 param_4)
{
return (HandleDamagingMove(pokemon,target,move,0x100,param_4)) ? TRUE : FALSE;
}
@@ -376,7 +376,7 @@ bool8 MirrorCoatMoveAction(Entity * pokemon,Entity * target,Move *move, s32 para
return TRUE;
}
bool8 sub_805B3B4(Entity * pokemon,Entity * target,Move *move, s32 param_4)
bool8 CalmMindMoveAction(Entity * pokemon,Entity * target,Move *move, s32 param_4)
{
u32 stat = gUnknown_8106A50;
RaiseAttackStageTarget(pokemon,target,stat,1);
@@ -384,13 +384,13 @@ bool8 sub_805B3B4(Entity * pokemon,Entity * target,Move *move, s32 param_4)
return TRUE;
}
bool8 sub_805B3E0(Entity * pokemon,Entity * target,Move *move, s32 param_4)
bool8 HiddenPowerMoveAction(Entity * pokemon,Entity * target,Move *move, s32 param_4)
{
HandleDamagingMove(pokemon,target,move,0x100,param_4);
return TRUE;
}
bool8 sub_805B3FC(Entity * pokemon,Entity * target,Move *move, s32 param_4, s32 param_5)
bool8 MetalClawMoveAction(Entity * pokemon,Entity * target,Move *move, s32 param_4, s32 param_5)
{
EntityInfo *entityInfo;
bool8 flag;
@@ -407,7 +407,7 @@ bool8 sub_805B3FC(Entity * pokemon,Entity * target,Move *move, s32 param_4, s32
return flag;
}
bool8 sub_805B454(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 AttractMoveAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
InfatuateStatusTarget(pokemon, target, TRUE);
return TRUE;
@@ -450,7 +450,7 @@ bool8 MimicMoveAction(Entity * pokemon, Entity * target, Move *move, s32 param_4
return mimicSuccess;
}
bool8 sub_805B53C(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 FrustrationMoveAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
s16 *r1;
s32 index;
@@ -486,7 +486,7 @@ bool8 LeechSeedMoveAction(Entity * pokemon, Entity * target, Move *move, s32 par
return TRUE;
}
bool8 sub_805B618(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 MetronomeMoveAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
bool8 flag;
Move natureMove;
@@ -499,7 +499,7 @@ bool8 sub_805B618(Entity * pokemon, Entity * target, Move *move, s32 param_4)
return flag;
}
bool8 sub_805B668(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 DreamEaterMoveAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
bool8 hasLiquidOoze;
s32 iVar3;
@@ -580,7 +580,7 @@ bool8 ReflectMoveAction(Entity * pokemon, Entity * target, Move *move, s32 param
return TRUE;
}
bool8 sub_805B808(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 DragonRageMoveAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
u8 local_20;
@@ -590,7 +590,7 @@ bool8 sub_805B808(Entity * pokemon, Entity * target, Move *move, s32 param_4)
return local_20;
}
bool8 sub_805B884( Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 DragonDanceMoveAction( Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
RaiseAttackStageTarget(pokemon, target, gUnknown_8106A4C, 1);
RaiseMovementSpeedTarget(pokemon, target, 0, TRUE);
@@ -612,7 +612,7 @@ bool8 SkullBashMoveAction(Entity * pokemon, Entity * target, Move * move, s32 pa
return flag;
}
bool8 sub_805B910(Entity * pokemon, Entity * target, Move * move, s32 param_4)
bool8 LusterPurgeMoveAction(Entity * pokemon, Entity * target, Move * move, s32 param_4)
{
bool8 flag;
@@ -627,7 +627,7 @@ bool8 sub_805B910(Entity * pokemon, Entity * target, Move * move, s32 param_4)
return flag;
}
bool8 sub_805B968(Entity * pokemon, Entity * target, Move * move, s32 param_4)
bool8 StruggleMoveAction(Entity * pokemon, Entity * target, Move * move, s32 param_4)
{
s32 entityHP;
s32 newHP;
@@ -678,12 +678,12 @@ bool8 sub_805BA44(Entity * pokemon, Entity * target, Move *move, s32 param_4)
return TRUE;
}
bool8 sub_805BA50(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 ThiefAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
EntityInfo *iVar2;
EntityInfo *iVar3;
EntityInfo *iVar5;
EntityInfo *iVar6;
EntityInfo *pokemonInfo1;
EntityInfo *pokemonInfo2;
EntityInfo *targetInfo1;
EntityInfo *targetInfo2;
bool8 flag;
Item *pokeItem;
Item *targetItem;
@@ -692,10 +692,10 @@ bool8 sub_805BA50(Entity * pokemon, Entity * target, Move *move, s32 param_4)
if (HandleDamagingMove(pokemon,target,move,0x100,param_4) != 0) {
flag = TRUE;
if (sub_805727C(pokemon,target, 0) != 0) {
iVar2 = GetEntInfo(pokemon);
iVar3 = GetEntInfo(pokemon);
iVar5 = GetEntInfo(target);
iVar6 = GetEntInfo(target);
pokemonInfo1 = GetEntInfo(pokemon);
pokemonInfo2 = GetEntInfo(pokemon);
targetInfo1 = GetEntInfo(target);
targetInfo2 = GetEntInfo(target);
SubstitutePlaceholderStringTags(gFormatBuffer_Monsters[0], pokemon, 0);
SubstitutePlaceholderStringTags(gFormatBuffer_Monsters[1], target, 0);
if (HasAbility(target, ABILITY_STICKY_HOLD)) {
@@ -706,8 +706,8 @@ bool8 sub_805BA50(Entity * pokemon, Entity * target, Move *move, s32 param_4)
return TRUE;
}
else {
pokeItem = &iVar2->heldItem;
targetItem = &iVar5->heldItem;
pokeItem = &pokemonInfo1->heldItem;
targetItem = &targetInfo1->heldItem;
if ((pokeItem->flags & ITEM_FLAG_EXISTS) != 0) {
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC654); // $m0 has an item already!
return TRUE;
@@ -717,11 +717,11 @@ bool8 sub_805BA50(Entity * pokemon, Entity * target, Move *move, s32 param_4)
return TRUE;
}
else {
iVar3->heldItem = iVar6->heldItem;
pokemonInfo2->heldItem = targetInfo2->heldItem;
ZeroOutItem(targetItem);
sub_806A6E8(pokemon);
sub_806A6E8(target);
SetExpMultplier(iVar3);
SetExpMultplier(pokemonInfo2);
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC614); // Got $m1's item!
}
}
@@ -736,16 +736,16 @@ bool8 ReboundOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_
return TRUE;
}
bool8 sub_805BB74(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 SwitcherOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
SetExpMultplier(GetEntInfo(pokemon));
sub_807E254(pokemon, target, 1);
HandleSwitcherOrb(pokemon, target, 1);
return TRUE;
}
bool8 sub_805BB98(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 StayawayOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
sub_807D148(pokemon, target, 1, NULL);
WarpTarget(pokemon, target, 1, NULL);
return TRUE;
}
@@ -787,13 +787,13 @@ bool8 CleanseOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_
return isItemCleaned;
}
bool8 sub_805BC70(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 SlumberOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
sub_8075C58(pokemon,target,CalculateStatusTurns(target, gUnknown_80F4E74, TRUE), TRUE);
SleepStatusTarget(pokemon,target,CalculateStatusTurns(target, gUnknown_80F4E74, TRUE), TRUE);
return TRUE;
}
bool8 sub_805BC98(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 TwoEdgeMoveAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
EntityInfo *entityInfo;
bool8 flag;
@@ -888,7 +888,7 @@ bool8 TransferOrbAction(Entity *pokemon, Entity * target, Move *move, s32 param_
return didTransfer;
}
bool8 sub_805BE90(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 SlowDownMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
LowerMovementSpeedTarget(pokemon, target, 1, TRUE);
return TRUE;
@@ -906,15 +906,15 @@ bool8 PetrifyOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_
return TRUE;
}
bool8 sub_805BEB8(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 PounceOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
sub_807DA14(pokemon, target, 8);
HandlePounceOrbAction(pokemon, target, 8);
return TRUE;
}
bool8 sub_805BEC8(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 TrawlOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
sub_807D510(pokemon, target);
HandleTrawlOrbAction(pokemon, target);
return TRUE;
}
@@ -932,9 +932,9 @@ bool8 EscapeOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_4
return FALSE;
}
bool8 sub_805BF34(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 DroughtOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
sub_807DB74(pokemon);
HandleDroughtOrbAction(pokemon);
return TRUE;
}
@@ -994,7 +994,7 @@ bool8 TrapbustOrbAction(Entity * pokemon,Entity * target, Move *move, s32 param_
return foundTrap;
}
bool8 sub_805C080(Entity * pokemon, Entity *target, Move *move, s32 param_4)
bool8 RollcallOrbAction(Entity * pokemon, Entity *target, Move *move, s32 param_4)
{
Entity **possibleTargets;
s32 numPossibleTargets;
@@ -1015,7 +1015,7 @@ bool8 sub_805C080(Entity * pokemon, Entity *target, Move *move, s32 param_4)
targetEntity = possibleTargets[index];
if (((EntityExists(targetEntity)) && (pokemon != targetEntity)) &&
(GetTreatmentBetweenMonsters(pokemon,targetEntity,TRUE,FALSE) == TREATMENT_TREAT_AS_ALLY)) {
sub_807D148(pokemon,targetEntity,2,&pokemon->pos);
WarpTarget(pokemon,targetEntity,2,&pokemon->pos);
foundTarget = TRUE;
}
}
@@ -1031,7 +1031,7 @@ bool8 InvisifyOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param
return TRUE;
}
bool8 sub_805C138(Entity * pokemon, Entity * target, Move *move, s32 param_4)
bool8 OneShotOrbAction(Entity * pokemon, Entity * target, Move *move, s32 param_4)
{
u8 local_20;
@@ -1047,7 +1047,7 @@ bool8 IdentifyOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4
return TRUE;
}
bool8 sub_805C1BC(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 VacuumCutMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
bool8 flag;
@@ -1055,7 +1055,7 @@ bool8 sub_805C1BC(Entity *pokemon, Entity *target, Move *move, s32 param_4)
return flag;
}
bool8 sub_805C1E4(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 ReviverOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FD454);
return FALSE;
@@ -1086,9 +1086,9 @@ bool8 sub_805C288(Entity *pokemon, Entity *target, Move *move, s32 param_4)
return TRUE;
}
bool8 sub_805C2A0(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 OneRoomOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
sub_807DC68(pokemon, target);
HandleOneRoomOrb(pokemon, target);
return TRUE;
}
@@ -1150,7 +1150,7 @@ bool8 TrapperOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
return TRUE;
}
bool8 sub_805C3F8(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 ItemizeOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
Item stack;
DungeonPos posStruct = target->pos;
@@ -1170,7 +1170,7 @@ bool8 sub_805C3F8(Entity *pokemon, Entity *target, Move *move, s32 param_4)
}
}
bool8 sub_805C45C(Entity *pokemon, Entity *target, Move *move, s32 param_4)
bool8 HurlOrbAction(Entity *pokemon, Entity *target, Move *move, s32 param_4)
{
sub_807F43C(pokemon, target);
return TRUE;

View File

@@ -84,7 +84,6 @@ const u8 gDungeonWaterType[76] = {
DUNGEON_WATER_TYPE_NONE,
};
extern void sub_80498A8(s32, s32);
extern void sub_80402AC(s32, s32);
extern void sub_8049BB0(s32, s32);
void sub_8042A14(DungeonPos *);

View File

@@ -75,8 +75,8 @@ void sub_804225C(Entity *, DungeonPos *, u8);
void sub_8071DA4(Entity *);
void sub_806A1E8(Entity *pokemon);
u8 sub_803D6FC(void);
extern void sub_807DF38(Entity *pokemon, Entity *target, DungeonPos *pos, u32,
u8 moveType, s16);
Entity *sub_8045684(u8, DungeonPos *, u8);
extern void HandleExplosion(Entity *pokemon, Entity *target, DungeonPos *pos, u32, u8 moveType, s16);
void sub_807FC3C(DungeonPos *pos, u32 trapID, u32 param_3)
{
@@ -213,7 +213,7 @@ void GetTrapName(u8 *buffer, u8 trapIndex)
strcpy(buffer, gTrapNames[trapIndex]);
}
void sub_807FE9C(Entity *pokemon, DungeonPos *pos, int param_3, char param_4)
void HandleTrap(Entity *pokemon, DungeonPos *pos, int param_3, char param_4)
{
Tile *tile;
bool8 flag1;
@@ -435,7 +435,7 @@ void HandleSpinTrap(Entity *pokemon, Entity *target)
void HandleWarpTrap(Entity *pokemon, Entity *target)
{
if(target != NULL)
sub_807D148(pokemon, target, 0, NULL);
WarpTarget(pokemon, target, 0, NULL);
}
void HandleSlumberTrap(Entity *pokemon, Entity *target)
@@ -445,7 +445,7 @@ void HandleSlumberTrap(Entity *pokemon, Entity *target)
if(target != NULL)
{
turns = CalculateStatusTurns(target, gUnknown_80F4E74, TRUE);
sub_8075C58(pokemon, target, turns, TRUE);
SleepStatusTarget(pokemon, target, turns, TRUE);
}
}
@@ -463,12 +463,12 @@ void HandlePoisonTrap(Entity *pokemon, Entity *target)
void HandleSelfdestructTrap(Entity *pokemon, Entity *target)
{
sub_807DF38(pokemon, target, &target->pos, 1, TYPE_NONE, 0x212);
HandleExplosion(pokemon, target, &target->pos, 1, TYPE_NONE, 0x212);
}
void HandleExplosionTrap(Entity *pokemon, Entity *target)
{
sub_807DF38(pokemon, target, &target->pos, 2, TYPE_NONE, 0x212);
HandleExplosion(pokemon, target, &target->pos, 2, TYPE_NONE, 0x212);
}
void HandleGrimyTrap(Entity *pokemon, Entity *target)
@@ -700,6 +700,6 @@ void HandleWhirlwindTrap(Entity *pokemon, Entity *target)
{
if(target)
{
sub_807CD9C(pokemon, target, DungeonRandInt(NUM_DIRECTIONS));
BlowAwayTarget(pokemon, target, DungeonRandInt(NUM_DIRECTIONS));
}
}

View File

@@ -255,7 +255,7 @@ gUnknown_203B43C: /* 203B43C (sub_8065FB4) */
.include "src/dungeon_ai_items.o"
gUnknown_203B444: /* 203B444 (sub_807DF38) */
gUnknown_203B444: /* 203B444 (HandleExplosion) */
.space 0xC
gLeaderPointer: /* 203B450 (xxx_dungeon_8042F6C - ReadMonster) */