Document trainer battle scripts (#430)
This commit is contained in:
committed by
Marcus Huderle
parent
fe06bbe3f6
commit
6068495619
+4
-4
@@ -3071,7 +3071,7 @@ static void BattleStartClearSetData(void)
|
||||
*(gBattleStruct->AI_monToSwitchIntoId + i) = PARTY_SIZE;
|
||||
}
|
||||
|
||||
gBattleStruct->field_DF = 0;
|
||||
gBattleStruct->givenExpMons = 0;
|
||||
gBattleStruct->field_92 = 0;
|
||||
|
||||
gRandomTurnNumber = Random();
|
||||
@@ -3192,7 +3192,7 @@ void SwitchInClearSetData(void)
|
||||
|
||||
gBattleResources->flags->flags[gActiveBattler] = 0;
|
||||
gCurrentMove = 0;
|
||||
gBattleStruct->field_DA = 0xFF;
|
||||
gBattleStruct->arenaTurnCounter = 0xFF;
|
||||
|
||||
ClearBattlerMoveHistory(gActiveBattler);
|
||||
ClearBattlerAbilityHistory(gActiveBattler);
|
||||
@@ -3994,7 +3994,7 @@ void BattleTurnPassed(void)
|
||||
if (gBattleResults.battleTurnCounter < 0xFF)
|
||||
{
|
||||
gBattleResults.battleTurnCounter++;
|
||||
gBattleStruct->field_DA++;
|
||||
gBattleStruct->arenaTurnCounter++;
|
||||
}
|
||||
|
||||
for (i = 0; i < gBattlersCount; i++)
|
||||
@@ -4013,7 +4013,7 @@ void BattleTurnPassed(void)
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
|
||||
BattleScriptExecute(BattleScript_82DB881);
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->field_DA == 0)
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaTurnCounter == 0)
|
||||
BattleScriptExecute(BattleScript_ArenaTurnBeginning);
|
||||
}
|
||||
|
||||
|
||||
@@ -3270,7 +3270,7 @@ static void atk23_getexp(void)
|
||||
else
|
||||
{
|
||||
gBattleScripting.atk23_state++;
|
||||
gBattleStruct->field_DF |= gBitTable[gBattlerPartyIndexes[gBattlerFainted]];
|
||||
gBattleStruct->givenExpMons |= gBitTable[gBattlerPartyIndexes[gBattlerFainted]];
|
||||
}
|
||||
break;
|
||||
case 1: // calculate experience points to redistribute
|
||||
|
||||
+10
-10
@@ -306,7 +306,7 @@ const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] =
|
||||
{{TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5}, 0x0, 0x1b},
|
||||
{{TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5}, 0x18, 0xc},
|
||||
{{TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5}, 0x18, 0x3e},
|
||||
{{TRAINER_WALLY_3, 0x292, 0x293, 0x294, 0x294}, 0x18, 0x2b},
|
||||
{{TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6}, 0x18, 0x2b},
|
||||
{{TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5}, 0x0, 0x3},
|
||||
{{TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5}, 0x0, 0xb},
|
||||
{{TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5}, 0x0, 0x2},
|
||||
@@ -1088,7 +1088,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
|
||||
{
|
||||
case TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT:
|
||||
TrainerBattleLoadArgs(sOrdinaryNoIntroBattleParams, data);
|
||||
return EventScript_2713C2;
|
||||
return EventScript_DoTainerBattle;
|
||||
case TRAINER_BATTLE_DOUBLE:
|
||||
TrainerBattleLoadArgs(sDoubleBattleParams, data);
|
||||
SetMapVarsToTrainer();
|
||||
@@ -1103,11 +1103,11 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
|
||||
{
|
||||
TrainerBattleLoadArgs(sTrainerBContinueScriptBattleParams, data);
|
||||
}
|
||||
return EventScript_271362;
|
||||
return EventScript_TryDoNormalTrainerBattle;
|
||||
case TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC:
|
||||
TrainerBattleLoadArgs(sContinueScriptBattleParams, data);
|
||||
SetMapVarsToTrainer();
|
||||
return EventScript_271362;
|
||||
return EventScript_TryDoNormalTrainerBattle;
|
||||
case TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE:
|
||||
case TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC:
|
||||
TrainerBattleLoadArgs(sContinueScriptDoubleBattleParams, data);
|
||||
@@ -1122,8 +1122,8 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
|
||||
TrainerBattleLoadArgs(sOrdinaryBattleParams, data);
|
||||
SetMapVarsToTrainer();
|
||||
gTrainerBattleOpponent_A = GetRematchTrainerId(gTrainerBattleOpponent_A);
|
||||
return EventScript_2713D1;
|
||||
case TRAINER_BATTLE_9:
|
||||
return EventScript_TryDoRematchBattle;
|
||||
case TRAINER_BATTLE_PYRAMID:
|
||||
if (gApproachingTrainerId == 0)
|
||||
{
|
||||
TrainerBattleLoadArgs(sOrdinaryBattleParams, data);
|
||||
@@ -1135,7 +1135,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
|
||||
TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data);
|
||||
gTrainerBattleOpponent_B = LocalIdToPyramidTrainerId(gSpecialVar_LastTalked);
|
||||
}
|
||||
return EventScript_271362;
|
||||
return EventScript_TryDoNormalTrainerBattle;
|
||||
case TRAINER_BATTLE_SET_TRAINER_A:
|
||||
TrainerBattleLoadArgs(sOrdinaryBattleParams, data);
|
||||
return NULL;
|
||||
@@ -1154,7 +1154,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
|
||||
TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data);
|
||||
gTrainerBattleOpponent_B = sub_81D6180(gSpecialVar_LastTalked);
|
||||
}
|
||||
return EventScript_271362;
|
||||
return EventScript_TryDoNormalTrainerBattle;
|
||||
default:
|
||||
if (gApproachingTrainerId == 0)
|
||||
{
|
||||
@@ -1165,7 +1165,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
|
||||
{
|
||||
TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data);
|
||||
}
|
||||
return EventScript_271362;
|
||||
return EventScript_TryDoNormalTrainerBattle;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1197,7 +1197,7 @@ bool32 GetTrainerFlagFromScriptPointer(const u8 *data)
|
||||
return FlagGet(FLAG_TRAINER_FLAG_START + flag);
|
||||
}
|
||||
|
||||
void sub_80B16D8(void)
|
||||
void SetUpTrainerMovement(void)
|
||||
{
|
||||
struct EventObject *eventObject = &gEventObjects[gSelectedEventObject];
|
||||
|
||||
|
||||
+2
-2
@@ -1192,7 +1192,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void)
|
||||
// fall through
|
||||
case 2:
|
||||
if ((gBattleTypeFlags & BATTLE_TYPE_ARENA)
|
||||
&& gBattleStruct->field_DA == 2
|
||||
&& gBattleStruct->arenaTurnCounter == 2
|
||||
&& gBattleMons[0].hp != 0 && gBattleMons[1].hp != 0)
|
||||
{
|
||||
s32 i;
|
||||
@@ -1238,7 +1238,7 @@ bool8 HandleFaintedMonActions(void)
|
||||
{
|
||||
gBattlerFainted = gBattlerTarget = gBattleStruct->faintedActionsBattlerId;
|
||||
if (gBattleMons[gBattleStruct->faintedActionsBattlerId].hp == 0
|
||||
&& !(gBattleStruct->field_DF & gBitTable[gBattlerPartyIndexes[gBattleStruct->faintedActionsBattlerId]])
|
||||
&& !(gBattleStruct->givenExpMons & gBitTable[gBattlerPartyIndexes[gBattleStruct->faintedActionsBattlerId]])
|
||||
&& !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBattlerId]))
|
||||
{
|
||||
BattleScriptExecute(BattleScript_GiveExp);
|
||||
|
||||
+1
-4
@@ -19,6 +19,7 @@
|
||||
#include "task.h"
|
||||
#include "window.h"
|
||||
#include "list_menu.h"
|
||||
#include "overworld.h"
|
||||
|
||||
#define EGG_MOVES_ARRAY_COUNT 10
|
||||
#define EGG_LVL_UP_MOVES_ARRAY_COUNT 50
|
||||
@@ -39,12 +40,8 @@ extern const u8 gDaycareText_PlayOther[];
|
||||
|
||||
extern u8 GetCursorSelectionMonId(void);
|
||||
extern u16 ItemIdToBattleMoveId(u16);
|
||||
extern s32 ListMenuHandleInputGetItemId(u8);
|
||||
extern void DestroyListMenuTask(u8, u16*, u16*);
|
||||
extern void sub_819746C(u8, bool8);
|
||||
extern void NewMenuHelpers_DrawStdWindowFrame(u8, bool8);
|
||||
extern void sub_81B9328(void);
|
||||
extern void CB2_ReturnToField(void);
|
||||
|
||||
// this file's functions
|
||||
static void ClearDaycareMonMail(struct DayCareMail *mail);
|
||||
|
||||
+4
-4
@@ -630,26 +630,26 @@ static void Task_DestroyTrainerApproachTask(u8 taskId)
|
||||
EnableBothScriptContexts();
|
||||
}
|
||||
|
||||
void sub_80B45D0(void)
|
||||
void TryPrepareSecondApproachingTrainer(void)
|
||||
{
|
||||
if (gNoOfApproachingTrainers == 2)
|
||||
{
|
||||
if (gApproachingTrainerId == 0)
|
||||
{
|
||||
gApproachingTrainerId++;
|
||||
gSpecialVar_Result = 1;
|
||||
gSpecialVar_Result = TRUE;
|
||||
UnfreezeEventObjects();
|
||||
FreezeEventObjectsExceptOne(gApproachingTrainers[1].eventObjectId);
|
||||
}
|
||||
else
|
||||
{
|
||||
gApproachingTrainerId = 0;
|
||||
gSpecialVar_Result = 0;
|
||||
gSpecialVar_Result = FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gSpecialVar_Result = 0;
|
||||
gSpecialVar_Result = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user