Document contest appeal

This commit is contained in:
GriffinR
2020-08-13 19:10:23 -04:00
parent 3779422489
commit c42c1ab8c1
13 changed files with 1203 additions and 1017 deletions

View File

@@ -1849,8 +1849,8 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo
}
else
{
for (i = 0; i < 4; i++)
gAnimBattlerSpecies[i] = gContestResources->field_18->species;
for (i = 0; i < CONTESTANT_COUNT; i++)
gAnimBattlerSpecies[i] = gContestResources->moveAnim->species;
}
if (!isMoveAnim)
@@ -2311,7 +2311,7 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
battlerSpriteId = gBattlerSpriteIds[battlerId];
gBattle_BG1_X = -(gSprites[battlerSpriteId].pos1.x + gSprites[battlerSpriteId].pos2.x) + 0x20;
if (IsContest() && IsSpeciesNotUnown(gContestResources->field_18->species))
if (IsContest() && IsSpeciesNotUnown(gContestResources->moveAnim->species))
gBattle_BG1_X--;
gBattle_BG1_Y = -(gSprites[battlerSpriteId].pos1.y + gSprites[battlerSpriteId].pos2.y) + 0x20;
@@ -2369,7 +2369,7 @@ static void sub_80A46A0(void)
struct BattleAnimBgData animBg;
u16 *ptr;
if (IsSpeciesNotUnown(gContestResources->field_18->species))
if (IsSpeciesNotUnown(gContestResources->moveAnim->species))
{
sub_80A6B30(&animBg);
ptr = animBg.bgTilemap;

View File

@@ -849,7 +849,7 @@ void AnimTask_MetallicShine(u8 taskId)
if (IsContest())
{
species = gContestResources->field_18->species;
species = gContestResources->moveAnim->species;
}
else
{

View File

@@ -2297,7 +2297,7 @@ void AnimTask_TransformMon(u8 taskId)
LoadBgTiles(1, animBg.bgTiles, 0x800, animBg.tilesOffset);
if (IsContest())
{
if (IsSpeciesNotUnown(gContestResources->field_18->species) != IsSpeciesNotUnown(gContestResources->field_18->unk2))
if (IsSpeciesNotUnown(gContestResources->moveAnim->species) != IsSpeciesNotUnown(gContestResources->moveAnim->targetSpecies))
{
bgTilemap = (u16 *)animBg.bgTilemap;
for (i = 0; i < 8; i++)
@@ -2319,7 +2319,7 @@ void AnimTask_TransformMon(u8 taskId)
}
}
if (IsSpeciesNotUnown(gContestResources->field_18->unk2))
if (IsSpeciesNotUnown(gContestResources->moveAnim->targetSpecies))
gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].affineAnims = gUnknown_082FF6C0;
else
gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].affineAnims = gUnknown_082FF694;
@@ -3196,10 +3196,10 @@ void AnimTask_RolePlaySilhouette(u8 taskId)
GetAnimBattlerSpriteId(ANIM_ATTACKER);
if (IsContest())
{
isBackPic = 1;
personality = gContestResources->field_18->unk10;
otId = gContestResources->field_18->unkC;
species = gContestResources->field_18->unk2;
isBackPic = TRUE;
personality = gContestResources->moveAnim->targetPersonality;
otId = gContestResources->moveAnim->otId;
species = gContestResources->moveAnim->targetSpecies;
xOffset = 20;
priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
}
@@ -5031,9 +5031,9 @@ void AnimTask_SnatchOpposingMonMove(u8 taskId)
case 1:
if (IsContest())
{
personality = gContestResources->field_18->unk8;
otId = gContestResources->field_18->unkC;
species = gContestResources->field_18->species;
personality = gContestResources->moveAnim->personality;
otId = gContestResources->moveAnim->otId;
species = gContestResources->moveAnim->species;
subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker);
isBackPic = 0;
x = -32;

View File

@@ -141,10 +141,10 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType)
default:
if (IsContest())
{
if (gContestResources->field_18->unk4_0)
species = gContestResources->field_18->unk2;
if (gContestResources->moveAnim->hasTargetAnim)
species = gContestResources->moveAnim->targetSpecies;
else
species = gContestResources->field_18->species;
species = gContestResources->moveAnim->species;
}
else
{
@@ -189,10 +189,10 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species)
{
if (IsContest())
{
if (gContestResources->field_18->unk4_0)
personality = gContestResources->field_18->unk10;
if (gContestResources->moveAnim->hasTargetAnim)
personality = gContestResources->moveAnim->targetPersonality;
else
personality = gContestResources->field_18->unk8;
personality = gContestResources->moveAnim->personality;
}
else
{
@@ -306,10 +306,10 @@ u8 GetBattlerSpriteCoord2(u8 battlerId, u8 coordType)
{
if (IsContest())
{
if (gContestResources->field_18->unk4_0)
species = gContestResources->field_18->unk2;
if (gContestResources->moveAnim->hasTargetAnim)
species = gContestResources->moveAnim->targetSpecies;
else
species = gContestResources->field_18->species;
species = gContestResources->moveAnim->species;
}
else
{
@@ -1851,7 +1851,7 @@ static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId)
{
if (IsContest())
{
species = gContestResources->field_18->species;
species = gContestResources->moveAnim->species;
return gMonBackPicCoords[species].y_offset;
}
else
@@ -2103,15 +2103,15 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr)
if (IsContest())
{
if (gContestResources->field_18->unk4_0)
if (gContestResources->moveAnim->hasTargetAnim)
{
species = gContestResources->field_18->unk2;
personality = gContestResources->field_18->unk10;
species = gContestResources->moveAnim->targetSpecies;
personality = gContestResources->moveAnim->targetPersonality;
}
else
{
species = gContestResources->field_18->species;
personality = gContestResources->field_18->unk8;
species = gContestResources->moveAnim->species;
personality = gContestResources->moveAnim->personality;
}
if (species == SPECIES_UNOWN)
{

View File

@@ -134,7 +134,7 @@ void SoundTask_PlayCryHighPitch(u8 taskId)
if (IsContest())
{
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
species = gContestResources->field_18->species;
species = gContestResources->moveAnim->species;
else
DestroyAnimVisualTask(taskId); // UB: function should return upon destroying task.
}
@@ -180,7 +180,7 @@ void SoundTask_PlayDoubleCry(u8 taskId)
if (IsContest())
{
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
species = gContestResources->field_18->species;
species = gContestResources->moveAnim->species;
else
DestroyAnimVisualTask(taskId); // UB: function should return upon destroying task.
}
@@ -284,7 +284,7 @@ void SoundTask_PlayCryWithEcho(u8 taskId)
pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER);
if (IsContest())
species = gContestResources->field_18->species;
species = gContestResources->moveAnim->species;
else
species = gAnimBattlerSpecies[gBattleAnimAttacker];

View File

@@ -318,7 +318,7 @@ void AnimTask_DrawFallingWhiteLinesOnAttacker(u8 taskId)
if (IsContest())
{
species = gContestResources->field_18->species;
species = gContestResources->moveAnim->species;
}
else
{
@@ -440,7 +440,7 @@ static void sub_8116F04(u8 taskId)
if (IsContest())
{
sAnimStatsChangeData->species = gContestResources->field_18->species;
sAnimStatsChangeData->species = gContestResources->moveAnim->species;
}
else
{
@@ -810,7 +810,7 @@ void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5,
if (IsContest())
{
species = gContestResources->field_18->species;
species = gContestResources->moveAnim->species;
}
else
{

View File

@@ -874,14 +874,14 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 notTransform
if (IsContest())
{
position = 0;
targetSpecies = gContestResources->field_18->unk2;
personalityValue = gContestResources->field_18->unk8;
otId = gContestResources->field_18->unkC;
targetSpecies = gContestResources->moveAnim->targetSpecies;
personalityValue = gContestResources->moveAnim->personality;
otId = gContestResources->moveAnim->otId;
HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[targetSpecies],
gMonSpritesGfxPtr->sprites[0],
targetSpecies,
gContestResources->field_18->unk10);
gContestResources->moveAnim->targetPersonality);
}
else
{

File diff suppressed because it is too large Load Diff

View File

@@ -1200,7 +1200,7 @@ static void ContestAICmd_get_used_combo_starter(void)
u16 result = FALSE;
u8 contestant = GetContestantIdByTurn(gAIScriptPtr[1]);
if (sub_80DE1E8(contestant))
if (IsContestantAllowedToCombo(contestant))
result = gContestMoves[eContestantStatus[contestant].prevMove].comboStarterId ? TRUE : FALSE;
eContestAI.scriptResult = result;

View File

@@ -423,7 +423,7 @@ static void ContestEffect_MakeFollowingMonsNervous(void)
}
for (i = 0; i < CONTESTANT_COUNT; i++)
{
if (eContestantStatus[i].hasJudgesAttention && sub_80DE1E8(i))
if (eContestantStatus[i].hasJudgesAttention && IsContestantAllowedToCombo(i))
oddsMod[i] = gComboStarterLookupTable[gContestMoves[eContestantStatus[i].prevMove].comboStarterId] * 10;
else
oddsMod[i] = 0;

View File

@@ -122,8 +122,8 @@ static void CB2_ShowContestResults(void);
static void VBlankCB_ShowContestResults(void);
static void Task_SlideContestResultsBg(u8);
static void Task_WaitForLinkPartnersBeforeResults(u8);
static void sub_80F5F14(u8);
static void sub_80F5F30(u8);
static void Task_CommunicateMonIdxsForResults(u8);
static void Task_WaitForLinkPartnerMonIdxs(u8);
static void Task_AnnouncePreliminaryResults(u8);
static void Task_FlashStarsAndHearts(u8);
static void Task_ShowPreliminaryResults(u8);
@@ -657,17 +657,17 @@ static void Task_WaitForLinkPartnersBeforeResults(u8 taskId)
{
if (gReceivedRemoteLinkPlayers)
{
CreateTask(sub_80F5F14, 0);
CreateTask(Task_CommunicateMonIdxsForResults, 0);
gTasks[taskId].func = TaskDummy;
}
}
static void sub_80F5F14(u8 taskId)
static void Task_CommunicateMonIdxsForResults(u8 taskId)
{
SetTaskFuncWithFollowupFunc(taskId, Task_LinkContest_CommunicateMonIdxs, sub_80F5F30);
SetTaskFuncWithFollowupFunc(taskId, Task_LinkContest_CommunicateMonIdxs, Task_WaitForLinkPartnerMonIdxs);
}
static void sub_80F5F30(u8 taskId)
static void Task_WaitForLinkPartnerMonIdxs(u8 taskId)
{
if (IsLinkTaskFinished())
{