mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
battle2 more and more and more
This commit is contained in:
parent
d87d19cfe5
commit
342e616d4b
2623
asm/battle_2.s
2623
asm/battle_2.s
File diff suppressed because it is too large
Load Diff
@ -68,7 +68,7 @@ _0813DA00:
|
||||
adds r1, r4, 0
|
||||
adds r2, r5, 0
|
||||
adds r3, r6, 0
|
||||
bl evolution_cutscene
|
||||
bl EvolutionScene
|
||||
_0813DA30:
|
||||
add sp, 0x4
|
||||
pop {r4-r7}
|
||||
@ -77,8 +77,8 @@ _0813DA30:
|
||||
.pool
|
||||
thumb_func_end sub_813D9C0
|
||||
|
||||
thumb_func_start sub_813DA40
|
||||
sub_813DA40: @ 813DA40
|
||||
thumb_func_start BeginEvolutionScene
|
||||
BeginEvolutionScene: @ 813DA40
|
||||
push {r4-r6,lr}
|
||||
adds r4, r1, 0
|
||||
adds r5, r2, 0
|
||||
@ -110,10 +110,10 @@ sub_813DA40: @ 813DA40
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_813DA40
|
||||
thumb_func_end BeginEvolutionScene
|
||||
|
||||
thumb_func_start evolution_cutscene
|
||||
evolution_cutscene: @ 813DA8C
|
||||
thumb_func_start EvolutionScene
|
||||
EvolutionScene: @ 813DA8C
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
@ -393,7 +393,7 @@ evolution_cutscene: @ 813DA8C
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end evolution_cutscene
|
||||
thumb_func_end EvolutionScene
|
||||
|
||||
thumb_func_start sub_813DD7C
|
||||
sub_813DD7C: @ 813DD7C
|
||||
|
@ -13868,7 +13868,7 @@ sub_81B7810: @ 81B7810
|
||||
adds r0, r7, 0
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x1
|
||||
bl sub_813DA40
|
||||
bl BeginEvolutionScene
|
||||
adds r0, r5, 0
|
||||
bl DestroyTask
|
||||
b _081B786E
|
||||
|
@ -221,7 +221,7 @@ _0806BEE0:
|
||||
mov r0, r8
|
||||
movs r2, 0
|
||||
ldr r3, [sp, 0x10]
|
||||
bl sub_813DA40
|
||||
bl BeginEvolutionScene
|
||||
movs r0, 0
|
||||
bl _0806CD5C
|
||||
_0806BEF0:
|
||||
|
@ -45,34 +45,34 @@ gUnknown_082DA7C4:: @ 82DA7C4
|
||||
gUnknown_082DA7CD:: @ 82DA7CD
|
||||
.incbin "baserom.gba", 0x2da7cd, 0x160
|
||||
|
||||
gUnknown_082DA92D:: @ 82DA92D
|
||||
BattleScript_LocalTrainerBattleWon:: @ 82DA92D
|
||||
.incbin "baserom.gba", 0x2da92d, 0x3d
|
||||
|
||||
gUnknown_082DA96A:: @ 82DA96A
|
||||
BattleScript_PayDayMoneyAndPickUpItems:: @ 82DA96A
|
||||
.incbin "baserom.gba", 0x2da96a, 0x3
|
||||
|
||||
gUnknown_082DA96D:: @ 82DA96D
|
||||
BattleScript_LocalBattleLost:: @ 82DA96D
|
||||
.incbin "baserom.gba", 0x2da96d, 0x9e
|
||||
|
||||
gUnknown_082DAA0B:: @ 82DAA0B
|
||||
.incbin "baserom.gba", 0x2daa0b, 0x2a
|
||||
|
||||
gUnknown_082DAA35:: @ 82DAA35
|
||||
BattleScript_LinkBattleWonOrLost:: @ 82DAA35
|
||||
.incbin "baserom.gba", 0x2daa35, 0x52
|
||||
|
||||
gUnknown_082DAA87:: @ 82DAA87
|
||||
BattleScript_FrontierTrainerBattleWon:: @ 82DAA87
|
||||
.incbin "baserom.gba", 0x2daa87, 0x54
|
||||
|
||||
gUnknown_082DAADB:: @ 82DAADB
|
||||
BattleScript_SmokeBallEscape:: @ 82DAADB
|
||||
.incbin "baserom.gba", 0x2daadb, 0xe
|
||||
|
||||
gUnknown_082DAAE9:: @ 82DAAE9
|
||||
BattleScript_RanAwayUsingMonAbility:: @ 82DAAE9
|
||||
.incbin "baserom.gba", 0x2daae9, 0x7
|
||||
|
||||
gUnknown_082DAAF0:: @ 82DAAF0
|
||||
BattleScript_GotAwaySafely:: @ 82DAAF0
|
||||
.incbin "baserom.gba", 0x2daaf0, 0x7
|
||||
|
||||
gUnknown_082DAAF7:: @ 82DAAF7
|
||||
BattleScript_WildMonFled:: @ 82DAAF7
|
||||
.incbin "baserom.gba", 0x2daaf7, 0x7
|
||||
|
||||
gUnknown_082DAAFE:: @ 82DAAFE
|
||||
@ -87,7 +87,7 @@ gUnknown_082DAB0B:: @ 82DAB0B
|
||||
gUnknown_082DAB11:: @ 82DAB11
|
||||
.incbin "baserom.gba", 0x2dab11, 0x4
|
||||
|
||||
gUnknown_082DAB15:: @ 82DAB15
|
||||
BattleScript_ActionSwitch:: @ 82DAB15
|
||||
.incbin "baserom.gba", 0x2dab15, 0xa4
|
||||
|
||||
BattleScript_Pausex20:: @ 82DABB9
|
||||
@ -255,7 +255,7 @@ BattleScript_OneHitKOMsg:: @ 82DB1CE
|
||||
BattleScript_SAtkDown2:: @ 82DB1D5
|
||||
.incbin "baserom.gba", 0x2db1d5, 0x2a
|
||||
|
||||
gUnknown_082DB1FF:: @ 82DB1FF
|
||||
BattleScript_FocusPunchSetUp:: @ 82DB1FF
|
||||
.incbin "baserom.gba", 0x2db1ff, 0x14
|
||||
|
||||
BattleScript_MoveUsedIsAsleep:: @ 82DB213
|
||||
|
@ -4,7 +4,7 @@
|
||||
.section script_data, "aw", %progbits
|
||||
|
||||
.align 2
|
||||
gUnknown_082DBD08:: @ 82DBD08
|
||||
gBattlescriptsForBallThrow:: @ 82DBD08
|
||||
.4byte gUnknown_082DBD68
|
||||
.4byte gUnknown_082DBD68
|
||||
.4byte gUnknown_082DBD68
|
||||
@ -29,8 +29,8 @@ gUnknown_082DBD3C:: @ 82DBD3C
|
||||
.4byte gUnknown_082DBE91
|
||||
|
||||
.align 2
|
||||
gUnknown_082DBD54:: @ 82DBD54
|
||||
.4byte gUnknown_082DBEB3
|
||||
gBattlescriptsForRunningByItem:: @ 82DBD54
|
||||
.4byte BattleScript_RunByUsingItem
|
||||
|
||||
.align 2
|
||||
gUnknown_082DBD58:: @ 82DBD58
|
||||
@ -72,7 +72,7 @@ gUnknown_082DBE6F:: @ 82DBE6F
|
||||
gUnknown_082DBE91:: @ 82DBE91
|
||||
.incbin "baserom.gba", 0x2dbe91, 0x22
|
||||
|
||||
gUnknown_082DBEB3:: @ 82DBEB3
|
||||
BattleScript_RunByUsingItem:: @ 82DBEB3
|
||||
.incbin "baserom.gba", 0x2dbeb3, 0xA
|
||||
|
||||
gUnknown_082DBEBD:: @ 82DBEBD
|
||||
|
@ -226,10 +226,10 @@ gTrainerMoneyTable:: @ 831AEB8
|
||||
@ 831BAD4
|
||||
.include "data/text/ability_description_pointers.inc"
|
||||
|
||||
gUnknown_0831BC0C:: @ 831BC0C
|
||||
gTurnActionsFuncsTable:: @ 831BC0C
|
||||
.incbin "baserom.gba", 0x31bc0c, 0x38
|
||||
|
||||
gUnknown_0831BC44:: @ 831BC44
|
||||
gEndTurnFuncsTable:: @ 831BC44
|
||||
.incbin "baserom.gba", 0x31bc44, 0x2c
|
||||
|
||||
gStatusConditionString_PoisonJpn:: @ 831BC70
|
||||
|
@ -56,6 +56,7 @@
|
||||
#define BATTLE_TYPE_RAYQUAZA 0x40000000
|
||||
#define BATTLE_TYPE_x80000000 0x80000000
|
||||
|
||||
#define TRAINER_OPPONENT_3FE 0x3FE
|
||||
#define TRAINER_OPPONENT_C00 0xC00
|
||||
#define TRAINER_OPPONENT_800 0x800
|
||||
#define STEVEN_PARTNER_ID 0xC03
|
||||
@ -71,8 +72,11 @@
|
||||
#define BATTLE_PLAYER_TELEPORTED 0x5
|
||||
#define BATTLE_POKE_FLED 0x6
|
||||
#define BATTLE_CAUGHT 0x7
|
||||
#define BATTLE_FORFEITED 0x9
|
||||
#define BATTLE_OPPONENT_TELEPORTED 0xA
|
||||
|
||||
#define BATTLE_OUTCOME_BIT_x80 0x80
|
||||
|
||||
#define STATUS_SLEEP 0x7
|
||||
#define STATUS_POISON 0x8
|
||||
#define STATUS_BURN 0x10
|
||||
@ -171,8 +175,10 @@
|
||||
#define ACTION_GO_NEAR 7
|
||||
#define ACTION_SAFARI_ZONE_RUN 8
|
||||
#define ACTION_9 9
|
||||
#define ACTION_CANCEL_PARTNER 12
|
||||
#define ACTION_NOTHING_FAINTED 13
|
||||
#define ACTION_RUN_BATTLESCRIPT 10 // when executing an action
|
||||
#define ACTION_CANCEL_PARTNER 12 // when choosing an action
|
||||
#define ACTION_FINISHED 12 // when executing an action
|
||||
#define ACTION_NOTHING_FAINTED 13 // when choosing an action
|
||||
#define ACTION_INIT_VALUE 0xFF
|
||||
|
||||
#define ABILITYEFFECT_ON_SWITCHIN 0x0
|
||||
@ -559,22 +565,19 @@ struct BattleResults
|
||||
u8 playerSwitchesCounter; // 0x2
|
||||
u8 unk3; // 0x3
|
||||
u8 unk4; // 0x4
|
||||
u8 unk5_0:1; // 0x5
|
||||
u8 unk5_1:1; // 0x5
|
||||
u8 caughtMonBall:4; // 0x5
|
||||
u8 unk5_6:1; // 0x5
|
||||
u8 unk5_7:1; // 0x5
|
||||
u16 poke1Species; // 0x6
|
||||
u8 pokeString1[10]; // 0x8
|
||||
u8 unk12;
|
||||
u8 unk5_0:1; // 0x5 , 0x1
|
||||
u8 unk5_1:1; // 0x5 , 0x2
|
||||
u8 caughtMonBall:4; // 0x5 , 0x4/0x8/0x10/0x20
|
||||
u8 unk5_6:1; // 0x5 , 0x40
|
||||
u8 unk5_7:1; // 0x5 , 0x80
|
||||
u16 playerMon1Species; // 0x6
|
||||
u8 playerMon1Name[11]; // 0x8
|
||||
u8 battleTurnCounter; // 0x13
|
||||
u8 pokeString2[10]; // 0x14
|
||||
u8 field_1E; // 0x1E
|
||||
u8 field_1F; // 0x1F
|
||||
u8 playerMon2Name[11]; // 0x14
|
||||
u16 lastOpponentSpecies; // 0x20
|
||||
u16 lastUsedMove; // 0x22
|
||||
u16 opponentMove; // 0x24
|
||||
u16 opponentSpecies; // 0x26
|
||||
u16 lastUsedMovePlayer; // 0x22
|
||||
u16 lastUsedMoveOpponent; // 0x24
|
||||
u16 playerMon2Species; // 0x26
|
||||
u16 caughtMonSpecies; // 0x28
|
||||
u8 caughtMonNick[10]; // 0x2A
|
||||
u8 filler34[2];
|
||||
@ -605,7 +608,7 @@ struct BattleStruct
|
||||
u8 field_45;
|
||||
u8 field_46;
|
||||
u8 field_47;
|
||||
u8 field_48;
|
||||
u8 focusPunchBank;
|
||||
u8 field_49;
|
||||
u8 moneyMultiplier;
|
||||
u8 field_4B;
|
||||
@ -620,7 +623,7 @@ struct BattleStruct
|
||||
u8 field_58[4];
|
||||
u8 field_5C[4];
|
||||
u8 field_60[4][3];
|
||||
u8 field_6C;
|
||||
u8 runTries;
|
||||
u8 caughtMonNick[11];
|
||||
u8 field_78;
|
||||
u8 field_79;
|
||||
@ -630,7 +633,7 @@ struct BattleStruct
|
||||
u8 field_7D;
|
||||
u8 field_7E;
|
||||
u8 formToChangeInto;
|
||||
u8 chosenMovesIds[BATTLE_BANKS_COUNT];
|
||||
u8 chosenMovePositions[BATTLE_BANKS_COUNT];
|
||||
u8 stateIdAfterSelScript[BATTLE_BANKS_COUNT];
|
||||
u8 field_88;
|
||||
u8 field_89;
|
||||
@ -665,7 +668,9 @@ struct BattleStruct
|
||||
u8 field_B3;
|
||||
void (*savedCallback)(void);
|
||||
u16 usedHeldItems[BATTLE_BANKS_COUNT];
|
||||
u8 field_C0[8];
|
||||
u8 field_C0[4];
|
||||
u8 field_C4[2];
|
||||
u8 field_C6[2];
|
||||
u16 choicedMove[BATTLE_BANKS_COUNT];
|
||||
u16 changedItems[BATTLE_BANKS_COUNT];
|
||||
u8 intimidateBank;
|
||||
@ -818,6 +823,7 @@ extern struct BattleStruct* gBattleStruct;
|
||||
|
||||
#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0
|
||||
#define VARIOUS_SET_MAGIC_COAT_TARGET 1
|
||||
#define VARIOUS_CAN_RUN_FROM_BATTLE 2
|
||||
#define VARIOUS_GET_MOVE_TARGET 3
|
||||
#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5
|
||||
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
|
||||
@ -901,13 +907,15 @@ void sub_803FA70(u8 bank);
|
||||
void BattleMainCB2(void);
|
||||
void VBlankCB_Battle(void);
|
||||
void ResetSentPokesToOpponentValue(void);
|
||||
bool8 CanRunFromBattle(u8 bank);
|
||||
bool8 TryRunFromBattle(u8 bank);
|
||||
bool8 IsRunningFromBattleImpossible(void);
|
||||
void PressurePPLoseOnUsingPerishSong(u8 bankAtk);
|
||||
void PressurePPLoseOnUsingImprision(u8 bankAtk);
|
||||
u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreChosenMoves);
|
||||
void SwapTurnOrder(u8, u8);
|
||||
void BattleTurnPassed(void);
|
||||
void RunBattleScriptCommands_PopCallbacksStack(void);
|
||||
void RunBattleScriptCommands(void);
|
||||
|
||||
// battle_3
|
||||
#define MOVE_LIMITATION_ZEROMOVE (1 << 0)
|
||||
@ -928,7 +936,7 @@ u8 UpdateTurnCounters(void);
|
||||
u8 TurnBasedEffects(void);
|
||||
bool8 sub_8041364(void);
|
||||
bool8 sub_8041728(void);
|
||||
void b_clear_atk_up_if_hit_flag_unless_enraged(void);
|
||||
void TryClearRageStatuses(void);
|
||||
u8 AtkCanceller_UnableToUseMove(void);
|
||||
bool8 sub_80423F4(u8 bank, u8 r1, u8 r2);
|
||||
u8 CastformDataTypeChange(u8 bank);
|
||||
@ -936,7 +944,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
|
||||
void BattleScriptExecute(const u8* BS_ptr);
|
||||
void BattleScriptPushCursorAndCallback(const u8* BS_ptr);
|
||||
u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn);
|
||||
void sub_8045868(u8 bank);
|
||||
void ClearFuryCutterDestinyBondGrudge(u8 bank);
|
||||
void sub_80458B4(void);
|
||||
u8 GetMoveTarget(u16 move, u8 useMoveTarget);
|
||||
u8 IsPokeDisobedient(void);
|
||||
|
10
include/evolution_scene.h
Normal file
10
include/evolution_scene.h
Normal file
@ -0,0 +1,10 @@
|
||||
#ifndef GUARD_EVOLUTION_SCENE_H
|
||||
#define GUARD_EVOLUTION_SCENE_H
|
||||
|
||||
void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID);
|
||||
void BeginEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID);
|
||||
void TradeEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, u8 preEvoSpriteID, u8 partyID);
|
||||
|
||||
extern void (*gCB2_AfterEvolution)(void);
|
||||
|
||||
#endif // GUARD_EVOLUTION_SCENE_H
|
@ -634,6 +634,12 @@ bool16 sub_806D82C(u8 id);
|
||||
u16 MonTryLearningNewMove(struct Pokemon* mon, bool8);
|
||||
void sub_8068AA4(void); // sets stats for deoxys
|
||||
bool8 HasTwoFramesAnimation(u16 species);
|
||||
u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem);
|
||||
void RandomlyGivePartyPokerus(struct Pokemon *party);
|
||||
u8 CheckPartyPokerus(struct Pokemon *party, u8 selection);
|
||||
u8 CheckPartyHasHadPokerus(struct Pokemon *party, u8 selection);
|
||||
void UpdatePartyPokerusTime(u16 days);
|
||||
void PartySpreadPokerus(struct Pokemon *party);
|
||||
|
||||
#include "sprite.h"
|
||||
|
||||
|
@ -14,5 +14,6 @@ u8 sub_8185FB8(void);
|
||||
u8 MoveRecordedBattleToSaveData(void);
|
||||
void sub_818603C(u8);
|
||||
void sub_8185FD0(void);
|
||||
void sub_8186444(void);
|
||||
|
||||
#endif // GUARD_RECORDED_BATTLE_H
|
||||
|
@ -252,23 +252,23 @@ enum
|
||||
SE_W114,
|
||||
SE_W063B,
|
||||
BGM_STOP = 349,
|
||||
BGM_TETSUJI,
|
||||
BGM_FIELD13,
|
||||
BGM_KACHI22,
|
||||
BGM_KACHI2,
|
||||
BGM_KACHI3,
|
||||
BGM_KACHI5,
|
||||
BGM_PCC,
|
||||
BGM_NIBI,
|
||||
BGM_SUIKUN,
|
||||
BGM_DOORO1,
|
||||
BGM_DOORO_X1,
|
||||
BGM_DOORO_X3,
|
||||
BGM_MACHI_S2,
|
||||
BGM_MACHI_S4,
|
||||
BGM_GIM,
|
||||
BGM_NAMINORI,
|
||||
BGM_DAN01,
|
||||
/*0x15E*/ BGM_TETSUJI,
|
||||
/*0x15F*/ BGM_FIELD13,
|
||||
/*0x160*/ BGM_KACHI22,
|
||||
/*0x161*/ BGM_KACHI2,
|
||||
/*0x162*/ BGM_KACHI3,
|
||||
/*0x163*/ BGM_KACHI5,
|
||||
/*0x164*/ BGM_PCC,
|
||||
/*0x165*/ BGM_NIBI,
|
||||
/*0x166*/ BGM_SUIKUN,
|
||||
/*0x167*/ BGM_DOORO1,
|
||||
/*0x168*/ BGM_DOORO_X1,
|
||||
/*0x169*/ BGM_DOORO_X3,
|
||||
/*0x16A*/ BGM_MACHI_S2,
|
||||
/*0x16B*/ BGM_MACHI_S4,
|
||||
/*0x16C*/ BGM_GIM,
|
||||
/*0x16D*/ BGM_NAMINORI,
|
||||
/*0x16E*/ BGM_DAN01,
|
||||
/*0x16F*/ BGM_FANFA1,
|
||||
/*0x170*/ BGM_ME_ASA,
|
||||
/*0x171*/ BGM_ME_BACHI,
|
||||
@ -306,31 +306,31 @@ enum
|
||||
/*0x191*/ BGM_NEXTROAD,
|
||||
/*0x192*/ BGM_GRANROAD,
|
||||
/*0x193*/ BGM_CYCLING,
|
||||
BGM_FRIENDLY,
|
||||
BGM_MISHIRO,
|
||||
BGM_TOZAN,
|
||||
BGM_GIRLEYE,
|
||||
BGM_MINAMO,
|
||||
BGM_ASHROAD,
|
||||
BGM_EVENT0,
|
||||
BGM_DEEPDEEP,
|
||||
BGM_KACHI1,
|
||||
BGM_TITLE3,
|
||||
BGM_DEMO1,
|
||||
BGM_GIRL_SUP,
|
||||
BGM_HAGESHII,
|
||||
BGM_KAKKOII,
|
||||
BGM_KAZANBAI,
|
||||
BGM_AQA_0,
|
||||
BGM_TSURETEK,
|
||||
BGM_BOY_SUP,
|
||||
BGM_RAINBOW,
|
||||
BGM_AYASII,
|
||||
BGM_KACHI4,
|
||||
BGM_ROPEWAY,
|
||||
BGM_CASINO,
|
||||
BGM_HIGHTOWN,
|
||||
BGM_SAFARI,
|
||||
/*0x194*/ BGM_FRIENDLY,
|
||||
/*0x195*/ BGM_MISHIRO,
|
||||
/*0x196*/ BGM_TOZAN,
|
||||
/*0x197*/ BGM_GIRLEYE,
|
||||
/*0x198*/ BGM_MINAMO,
|
||||
/*0x199*/ BGM_ASHROAD,
|
||||
/*0x19A*/ BGM_EVENT0,
|
||||
/*0x19B*/ BGM_DEEPDEEP,
|
||||
/*0x19C*/ BGM_KACHI1,
|
||||
/*0x19D*/ BGM_TITLE3,
|
||||
/*0x19E*/ BGM_DEMO1,
|
||||
/*0x19F*/ BGM_GIRL_SUP,
|
||||
/*0x1A0*/ BGM_HAGESHII,
|
||||
/*0x1A1*/ BGM_KAKKOII,
|
||||
/*0x1A2*/ BGM_KAZANBAI,
|
||||
/*0x1A3*/ BGM_AQA_0,
|
||||
/*0x1A4*/ BGM_TSURETEK,
|
||||
/*0x1A5*/ BGM_BOY_SUP,
|
||||
/*0x1A6*/ BGM_RAINBOW,
|
||||
/*0x1A7*/ BGM_AYASII,
|
||||
/*0x1A8*/ BGM_KACHI4,
|
||||
/*0x1A9*/ BGM_ROPEWAY,
|
||||
/*0x1AA*/ BGM_CASINO,
|
||||
/*0x1AB*/ BGM_HIGHTOWN,
|
||||
/*0x1AC*/ BGM_SAFARI,
|
||||
BGM_C_ROAD,
|
||||
BGM_AJITO,
|
||||
BGM_M_BOAT,
|
||||
|
896
src/battle_2.c
896
src/battle_2.c
File diff suppressed because it is too large
Load Diff
@ -50,7 +50,7 @@ extern u8 gBattleMoveFlags;
|
||||
extern s32 gTakenDmg[BATTLE_BANKS_COUNT];
|
||||
extern u8 gTakenDmgBanks[BATTLE_BANKS_COUNT];
|
||||
extern u8 gLastUsedAbility;
|
||||
extern u8 gFightStateTracker;
|
||||
extern u8 gCurrentActionFuncId;
|
||||
extern u32 gBattleExecBuffer;
|
||||
extern u16 gRandomMove;
|
||||
extern u8 gCurrMovePos;
|
||||
@ -181,8 +181,6 @@ extern const u16 gSoundMovesTable[];
|
||||
extern void sub_803F9EC();
|
||||
extern bool8 sub_80423F4(u8 bank, u8, u8);
|
||||
extern u8 weather_get_current(void);
|
||||
extern void sub_803E08C(void);
|
||||
extern void bc_move_exec_returning(void);
|
||||
extern s8 GetFlavourRelationByPersonality(u32 personality, u8 flavor);
|
||||
|
||||
void BattleScriptPush(const u8* bsPtr)
|
||||
@ -1156,7 +1154,7 @@ bool8 sub_8041728(void)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void b_clear_atk_up_if_hit_flag_unless_enraged(void)
|
||||
void TryClearRageStatuses(void)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < gNoOfAllBanks; i++)
|
||||
@ -5441,8 +5439,8 @@ void BattleScriptExecute(const u8* BS_ptr)
|
||||
{
|
||||
gBattlescriptCurrInstr = BS_ptr;
|
||||
BATTLE_CALLBACKS_STACK->function[BATTLE_CALLBACKS_STACK->size++] = gBattleMainFunc;
|
||||
gBattleMainFunc = bc_move_exec_returning;
|
||||
gFightStateTracker = 0;
|
||||
gBattleMainFunc = RunBattleScriptCommands_PopCallbacksStack;
|
||||
gCurrentActionFuncId = 0;
|
||||
}
|
||||
|
||||
void BattleScriptPushCursorAndCallback(const u8* BS_ptr)
|
||||
@ -5450,7 +5448,7 @@ void BattleScriptPushCursorAndCallback(const u8* BS_ptr)
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BS_ptr;
|
||||
BATTLE_CALLBACKS_STACK->function[BATTLE_CALLBACKS_STACK->size++] = gBattleMainFunc;
|
||||
gBattleMainFunc = sub_803E08C;
|
||||
gBattleMainFunc = RunBattleScriptCommands;
|
||||
}
|
||||
|
||||
enum
|
||||
@ -5520,7 +5518,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn)
|
||||
|
||||
switch (caseID)
|
||||
{
|
||||
case 0:
|
||||
case ITEMEFFECT_ON_SWITCH_IN:
|
||||
switch (bankHoldEffect)
|
||||
{
|
||||
case HOLD_EFFECT_DOUBLE_PRIZE:
|
||||
@ -6185,7 +6183,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn)
|
||||
return effect;
|
||||
}
|
||||
|
||||
void sub_8045868(u8 bank)
|
||||
void ClearFuryCutterDestinyBondGrudge(u8 bank)
|
||||
{
|
||||
gDisableStructs[bank].furyCutterCounter = 0;
|
||||
gBattleMons[bank].status2 &= ~(STATUS2_DESTINY_BOND);
|
||||
|
@ -67,7 +67,7 @@ extern u8 gBankAttacker;
|
||||
extern u8 gBankTarget;
|
||||
extern const u8* gBattlescriptCurrInstr;
|
||||
extern u8 gCurrMovePos;
|
||||
extern u8 gFightStateTracker;
|
||||
extern u8 gCurrentActionFuncId;
|
||||
extern u32 gHitMarker;
|
||||
extern u8 gBattleMoveFlags;
|
||||
extern u8 gBattleCommunication[];
|
||||
@ -92,7 +92,7 @@ extern u16 gMoveToLearn;
|
||||
extern u16 gRandomMove;
|
||||
extern u8 gBankInMenu;
|
||||
extern u8 gActionForBanks[BATTLE_BANKS_COUNT];
|
||||
extern u8 gCurrentMoveTurn;
|
||||
extern u8 gCurrentTurnActionNumber;
|
||||
extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200];
|
||||
extern u16 gLockedMoves[BATTLE_BANKS_COUNT];
|
||||
extern u16 gPartnerTrainerId;
|
||||
@ -377,7 +377,7 @@ static void atk6E_set_atk_to_player0(void);
|
||||
static void atk6F_set_visible(void);
|
||||
static void atk70_record_last_used_ability(void);
|
||||
static void atk71_buffer_move_to_learn(void);
|
||||
static void atk72_jump_if_can_run_frombattle(void);
|
||||
static void atk72_jump_if_run_attempt_success(void);
|
||||
static void atk73_hp_thresholds(void);
|
||||
static void atk74_hp_thresholds2(void);
|
||||
static void atk75_item_effect_on_opponent(void);
|
||||
@ -509,8 +509,8 @@ static void atkF2_display_dex_info(void);
|
||||
static void atkF3_nickname_caught_poke(void);
|
||||
static void atkF4_subattackerhpbydmg(void);
|
||||
static void atkF5_removeattackerstatus1(void);
|
||||
static void atkF6_802BF48(void);
|
||||
static void atkF7_802BF54(void);
|
||||
static void atkF6_action_finished(void);
|
||||
static void atkF7_turn_finished(void);
|
||||
static void atkF8_trainer_slide_back(void);
|
||||
|
||||
void (* const gBattleScriptingCommandsTable[])(void) =
|
||||
@ -629,7 +629,7 @@ void (* const gBattleScriptingCommandsTable[])(void) =
|
||||
atk6F_set_visible,
|
||||
atk70_record_last_used_ability,
|
||||
atk71_buffer_move_to_learn,
|
||||
atk72_jump_if_can_run_frombattle,
|
||||
atk72_jump_if_run_attempt_success,
|
||||
atk73_hp_thresholds,
|
||||
atk74_hp_thresholds2,
|
||||
atk75_item_effect_on_opponent,
|
||||
@ -761,8 +761,8 @@ void (* const gBattleScriptingCommandsTable[])(void) =
|
||||
atkF3_nickname_caught_poke,
|
||||
atkF4_subattackerhpbydmg,
|
||||
atkF5_removeattackerstatus1,
|
||||
atkF6_802BF48,
|
||||
atkF7_802BF54,
|
||||
atkF6_action_finished,
|
||||
atkF7_turn_finished,
|
||||
atkF8_trainer_slide_back
|
||||
};
|
||||
|
||||
@ -1097,9 +1097,9 @@ static void atk00_attackcanceler(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
if (gBattleOutcome)
|
||||
if (gBattleOutcome != 0)
|
||||
{
|
||||
gFightStateTracker = 0xC;
|
||||
gCurrentActionFuncId = ACTION_FINISHED;
|
||||
return;
|
||||
}
|
||||
if (gBattleMons[gBankAttacker].hp == 0 && !(gHitMarker & HITMARKER_NO_ATTACKSTRING))
|
||||
@ -2736,7 +2736,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (BankGetTurnOrder(gEffectBank) > gCurrentMoveTurn)
|
||||
if (BankGetTurnOrder(gEffectBank) > gCurrentTurnActionNumber)
|
||||
gBattleMons[gEffectBank].status2 |= sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]];
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
@ -3208,7 +3208,7 @@ static void atk19_faint_pokemon(void)
|
||||
&& gBattleMons[gBankAttacker].hp != 0
|
||||
&& gCurrentMove != MOVE_STRUGGLE)
|
||||
{
|
||||
u8 moveIndex = *(gBattleStruct->chosenMovesIds + gBankAttacker);
|
||||
u8 moveIndex = *(gBattleStruct->chosenMovePositions + gBankAttacker);
|
||||
|
||||
gBattleMons[gBankAttacker].pp[moveIndex] = 0;
|
||||
BattleScriptPush(gBattlescriptCurrInstr);
|
||||
@ -4421,13 +4421,13 @@ static void atk3D_end(void)
|
||||
|
||||
gBattleMoveFlags = 0;
|
||||
gActiveBank = 0;
|
||||
gFightStateTracker = 0xB;
|
||||
gCurrentActionFuncId = 0xB;
|
||||
}
|
||||
|
||||
static void atk3E_end2(void)
|
||||
{
|
||||
gActiveBank = 0;
|
||||
gFightStateTracker = 0xB;
|
||||
gCurrentActionFuncId = 0xB;
|
||||
}
|
||||
|
||||
static void atk3F_end3(void) // pops the main function stack
|
||||
@ -6956,9 +6956,9 @@ static void atk71_buffer_move_to_learn(void)
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
|
||||
static void atk72_jump_if_can_run_frombattle(void)
|
||||
static void atk72_jump_if_run_attempt_success(void)
|
||||
{
|
||||
if (CanRunFromBattle(gBank1))
|
||||
if (TryRunFromBattle(gBank1))
|
||||
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
|
||||
else
|
||||
gBattlescriptCurrInstr += 5;
|
||||
@ -7045,7 +7045,7 @@ static void atk76_various(void)
|
||||
else
|
||||
gBankTarget = gActiveBank;
|
||||
break;
|
||||
case 2:
|
||||
case VARIOUS_CAN_RUN_FROM_BATTLE:
|
||||
gBattleCommunication[0] = IsRunningFromBattleImpossible();
|
||||
break;
|
||||
case VARIOUS_GET_MOVE_TARGET:
|
||||
@ -7196,7 +7196,7 @@ static void atk76_various(void)
|
||||
gBattleOutcome = BATTLE_OPPONENT_TELEPORTED;
|
||||
break;
|
||||
case VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC:
|
||||
EmitPlaySound(0, 0x19C, 1);
|
||||
EmitPlaySound(0, BGM_KACHI1, 1);
|
||||
MarkBufferBankForExecution(gActiveBank);
|
||||
break;
|
||||
}
|
||||
@ -7212,7 +7212,7 @@ static void atk77_set_protect_like(void) // protect and endure
|
||||
if (lastMove != MOVE_PROTECT && lastMove != MOVE_DETECT && lastMove != MOVE_ENDURE)
|
||||
gDisableStructs[gBankAttacker].protectUses = 0;
|
||||
|
||||
if (gCurrentMoveTurn == (gNoOfAllBanks - 1))
|
||||
if (gCurrentTurnActionNumber == (gNoOfAllBanks - 1))
|
||||
notLastTurn = FALSE;
|
||||
|
||||
if (sProtectSuccessRates[gDisableStructs[gBankAttacker].protectUses] >= Random() && notLastTurn)
|
||||
@ -9715,7 +9715,7 @@ static void atkBA_jumpifnopursuitswitchdmg(void)
|
||||
}
|
||||
|
||||
gCurrentMove = MOVE_PURSUIT;
|
||||
gCurrMovePos = gUnknown_020241E9 = *(gBattleStruct->chosenMovesIds + gBankTarget);
|
||||
gCurrMovePos = gUnknown_020241E9 = *(gBattleStruct->chosenMovePositions + gBankTarget);
|
||||
gBattlescriptCurrInstr += 5;
|
||||
gBattleScripting.animTurn = 1;
|
||||
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
|
||||
@ -10631,7 +10631,7 @@ static void atkDF_setmagiccoat(void)
|
||||
{
|
||||
gBankTarget = gBankAttacker;
|
||||
gSpecialStatuses[gBankAttacker].flag20 = 1;
|
||||
if (gCurrentMoveTurn == gNoOfAllBanks - 1) // moves last turn
|
||||
if (gCurrentTurnActionNumber == gNoOfAllBanks - 1) // moves last turn
|
||||
{
|
||||
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
|
||||
}
|
||||
@ -10645,7 +10645,7 @@ static void atkDF_setmagiccoat(void)
|
||||
static void atkE0_setstealstatchange(void) // snatch
|
||||
{
|
||||
gSpecialStatuses[gBankAttacker].flag20 = 1;
|
||||
if (gCurrentMoveTurn == gNoOfAllBanks - 1) // moves last turn
|
||||
if (gCurrentTurnActionNumber == gNoOfAllBanks - 1) // moves last turn
|
||||
{
|
||||
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
|
||||
}
|
||||
@ -11393,15 +11393,15 @@ static void atkF5_removeattackerstatus1(void)
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
|
||||
static void atkF6_802BF48(void)
|
||||
static void atkF6_action_finished(void)
|
||||
{
|
||||
gFightStateTracker = 0xC;
|
||||
gCurrentActionFuncId = ACTION_FINISHED;
|
||||
}
|
||||
|
||||
static void atkF7_802BF54(void)
|
||||
static void atkF7_turn_finished(void)
|
||||
{
|
||||
gFightStateTracker = 0xC;
|
||||
gCurrentMoveTurn = gNoOfAllBanks;
|
||||
gCurrentActionFuncId = ACTION_FINISHED;
|
||||
gCurrentTurnActionNumber = gNoOfAllBanks;
|
||||
}
|
||||
|
||||
static void atkF8_trainer_slide_back(void)
|
||||
|
@ -310,10 +310,10 @@ gActionsByTurnOrder: @ 202407A
|
||||
gBanksByTurnOrder: @ 202407E
|
||||
.space 0x4
|
||||
|
||||
gCurrentMoveTurn: @ 2024082
|
||||
gCurrentTurnActionNumber: @ 2024082
|
||||
.space 0x1
|
||||
|
||||
gFightStateTracker: @ 2024083
|
||||
gCurrentActionFuncId: @ 2024083
|
||||
.space 0x1
|
||||
|
||||
gBattleMons: @ 2024084
|
||||
|
Loading…
Reference in New Issue
Block a user