Merge branch 'master' into tag-none
This commit is contained in:
+5
-5
@@ -48,7 +48,7 @@
|
||||
* - Asking which move a mon should use, which they will ask at most 5 times
|
||||
* - Asking what held item to give to a mon, which they will ask at most 3 times (once for each mon)
|
||||
* - Asking what they should say when they win a battle, which will always be their final question before departing
|
||||
*
|
||||
*
|
||||
* ## After departing
|
||||
* After telling them what they should say when they win a battle they will leave the lobby for a final time
|
||||
* They will then be replaced by a new random Apprentice (they can repeat)
|
||||
@@ -274,7 +274,7 @@ static void SetRandomQuestionData(void)
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(questionOrder); i++)
|
||||
questionOrder[i] = sQuestionPossibilities[i];
|
||||
|
||||
|
||||
// Shuffle the questions an arbitrary 50 times
|
||||
for (i = 0; i < 50; i++)
|
||||
{
|
||||
@@ -788,7 +788,7 @@ static void GetNumApprenticePartyMonsAssigned(void)
|
||||
static void IsFinalQuestion(void)
|
||||
{
|
||||
s32 questionNum = CURRENT_QUESTION_NUM;
|
||||
|
||||
|
||||
if (questionNum < 0)
|
||||
{
|
||||
// Not finished asking initial questions
|
||||
@@ -941,7 +941,7 @@ static void ApprenticeGetQuestion(void)
|
||||
gSpecialVar_Result = APPRENTICE_QUESTION_WHICH_FIRST;
|
||||
break;
|
||||
default:
|
||||
//case QUESTION_ID_WIN_SPEECH:
|
||||
//case QUESTION_ID_WIN_SPEECH:
|
||||
gSpecialVar_Result = APPRENTICE_QUESTION_WIN_SPEECH;
|
||||
break;
|
||||
}
|
||||
@@ -1107,7 +1107,7 @@ static void TrySetApprenticeHeldItem(void)
|
||||
|
||||
if (PLAYER_APPRENTICE.questionsAnswered < NUM_WHICH_MON_QUESTIONS)
|
||||
return;
|
||||
|
||||
|
||||
count = 0;
|
||||
for (j = 0; j < APPRENTICE_MAX_QUESTIONS; j++)
|
||||
{
|
||||
|
||||
@@ -866,7 +866,7 @@ static bool8 ShouldUseItem(void)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= (1 << AI_HEAL_SLEEP);
|
||||
shouldUse = TRUE;
|
||||
}
|
||||
if (itemEffects[3] & ITEM3_POISON && (gBattleMons[gActiveBattler].status1 & STATUS1_POISON
|
||||
if (itemEffects[3] & ITEM3_POISON && (gBattleMons[gActiveBattler].status1 & STATUS1_POISON
|
||||
|| gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_POISON))
|
||||
{
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= (1 << AI_HEAL_POISON);
|
||||
|
||||
@@ -3464,7 +3464,7 @@ static void AnimOrbitScatter_Step(struct Sprite *sprite)
|
||||
{
|
||||
sprite->x2 += sprite->data[0];
|
||||
sprite->y2 += sprite->data[1];
|
||||
if (sprite->x + sprite->x2 + 16 > ((u32)DISPLAY_WIDTH + 32)
|
||||
if (sprite->x + sprite->x2 + 16 > ((u32)DISPLAY_WIDTH + 32)
|
||||
|| sprite->y + sprite->y2 > DISPLAY_HEIGHT || sprite->y + sprite->y2 < -16)
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
|
||||
@@ -1305,7 +1305,7 @@ void AnimTask_ShockWaveLightning(u8 taskId)
|
||||
static bool8 CreateShockWaveLightningSprite(struct Task *task, u8 taskId)
|
||||
{
|
||||
u8 spriteId = CreateSprite(&gLightningSpriteTemplate, task->data[13], task->data[14], task->data[12]);
|
||||
|
||||
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
gSprites[spriteId].callback = AnimShockWaveLightning;
|
||||
|
||||
@@ -658,7 +658,7 @@ void AnimFireRing(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
static void AnimFireRing_Step1(struct Sprite *sprite)
|
||||
{
|
||||
{
|
||||
UpdateFireRingCircleOffset(sprite);
|
||||
|
||||
if (++sprite->data[0] == 0x12)
|
||||
@@ -718,7 +718,7 @@ static void UpdateFireRingCircleOffset(struct Sprite *sprite)
|
||||
// arg 1: initial y pixel offset
|
||||
// arg 2: duration
|
||||
// arg 3: x delta
|
||||
// arg 4: y delta
|
||||
// arg 4: y delta
|
||||
// AnimFireCross(struct Sprite *sprite)
|
||||
static void AnimFireCross(struct Sprite *sprite)
|
||||
{
|
||||
@@ -1091,7 +1091,7 @@ static void AnimWillOWispOrb(struct Sprite *sprite)
|
||||
case 2:
|
||||
sprite->x2 = Sin(sprite->data[2], sprite->data[4]);
|
||||
sprite->data[2] = (sprite->data[2] + 4) & 0xFF;
|
||||
|
||||
|
||||
if (++sprite->data[3] == 31)
|
||||
{
|
||||
sprite->x += sprite->x2;
|
||||
|
||||
@@ -661,7 +661,7 @@ static void AnimFallingFeather_Step(struct Sprite *sprite)
|
||||
{
|
||||
switch (data->unk2 / 64)
|
||||
{
|
||||
case 0:
|
||||
case 0:
|
||||
if ((u8)data->unk0_1 == 1) //casts to u8 here are necessary for matching
|
||||
{
|
||||
data->unk0_0d = 1;
|
||||
|
||||
@@ -186,7 +186,7 @@ static void AnimBoneHitProjectile(struct Sprite *sprite)
|
||||
InitSpritePosToAnimTarget(sprite, TRUE);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||
|
||||
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
|
||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
|
||||
|
||||
@@ -425,7 +425,7 @@ static void AnimCirclingSparkle(struct Sprite *sprite)
|
||||
#define tPalSelectorHi data[9]
|
||||
#define tPalSelectorLo data[10]
|
||||
|
||||
// Blends mon/screen to designated color or back alternately tNumBlends times
|
||||
// Blends mon/screen to designated color or back alternately tNumBlends times
|
||||
// Many uses of this task only set a tNumBlends of 2, which has the effect of blending to a color and back once
|
||||
void AnimTask_BlendColorCycle(u8 taskId)
|
||||
{
|
||||
@@ -763,7 +763,7 @@ void UnusedAnimTask_8115F94(u8 taskId)
|
||||
paletteIndex = IndexOfSpritePaletteTag(gSprites[gHealthboxSpriteIds[attackerBattler]].template->paletteTag);
|
||||
selectedPalettes |= (1 << paletteIndex) << 16;
|
||||
}
|
||||
|
||||
|
||||
if (gTasks[taskId].data[3] & 0x100)
|
||||
selectedPalettes |= (1 << attackerBattler) << 16;
|
||||
|
||||
@@ -956,7 +956,7 @@ static void AnimHitSplatHandleInvert(struct Sprite *sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER && !IsContest())
|
||||
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
|
||||
|
||||
|
||||
AnimHitSplatBasic(sprite);
|
||||
}
|
||||
|
||||
|
||||
@@ -493,7 +493,7 @@ static void AnimDefensiveWall_Step1(struct Sprite *sprite)
|
||||
|
||||
if (IsBattlerSpriteVisible(battler))
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = TRUE;
|
||||
|
||||
|
||||
battler = BATTLE_PARTNER(battler);
|
||||
if (IsBattlerSpriteVisible(battler))
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = TRUE;
|
||||
@@ -957,7 +957,7 @@ void AnimTask_ExtrasensoryDistortion(u8 taskId)
|
||||
u8 yOffset;
|
||||
struct ScanlineEffectParams scanlineParams;
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
|
||||
yOffset = GetBattlerYCoordWithElevation(gBattleAnimTarget);
|
||||
task->data[14] = yOffset - 32;
|
||||
|
||||
@@ -1056,7 +1056,7 @@ void AnimTask_TransparentCloneGrowAndShrink(u8 taskId)
|
||||
s16 spriteId;
|
||||
s16 matrixNum;
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
|
||||
matrixNum = AllocOamMatrix();
|
||||
if (matrixNum == 0xFF)
|
||||
{
|
||||
|
||||
@@ -13,7 +13,7 @@ static void SpriteCB_DestroySprite(struct Sprite *sprite);
|
||||
|
||||
// The below data for smokescreen starts and ends with some data that belongs to battle_gfx_sfx_util.c
|
||||
|
||||
const u8 gBattlePalaceNatureToMoveTarget[NUM_NATURES] =
|
||||
const u8 gBattlePalaceNatureToMoveTarget[NUM_NATURES] =
|
||||
{
|
||||
[NATURE_HARDY] = PALACE_TARGET_STRONGER,
|
||||
[NATURE_LONELY] = PALACE_TARGET_STRONGER,
|
||||
@@ -21,7 +21,7 @@ const u8 gBattlePalaceNatureToMoveTarget[NUM_NATURES] =
|
||||
[NATURE_ADAMANT] = PALACE_TARGET_STRONGER,
|
||||
[NATURE_NAUGHTY] = PALACE_TARGET_WEAKER,
|
||||
[NATURE_BOLD] = PALACE_TARGET_WEAKER,
|
||||
[NATURE_DOCILE] = PALACE_TARGET_RANDOM,
|
||||
[NATURE_DOCILE] = PALACE_TARGET_RANDOM,
|
||||
[NATURE_RELAXED] = PALACE_TARGET_STRONGER,
|
||||
[NATURE_IMPISH] = PALACE_TARGET_STRONGER,
|
||||
[NATURE_LAX] = PALACE_TARGET_STRONGER,
|
||||
@@ -29,7 +29,7 @@ const u8 gBattlePalaceNatureToMoveTarget[NUM_NATURES] =
|
||||
[NATURE_HASTY] = PALACE_TARGET_WEAKER,
|
||||
[NATURE_SERIOUS] = PALACE_TARGET_WEAKER,
|
||||
[NATURE_JOLLY] = PALACE_TARGET_STRONGER,
|
||||
[NATURE_NAIVE] = PALACE_TARGET_RANDOM,
|
||||
[NATURE_NAIVE] = PALACE_TARGET_RANDOM,
|
||||
[NATURE_MODEST] = PALACE_TARGET_WEAKER,
|
||||
[NATURE_MILD] = PALACE_TARGET_STRONGER,
|
||||
[NATURE_QUIET] = PALACE_TARGET_WEAKER,
|
||||
@@ -54,7 +54,7 @@ static const struct CompressedSpritePalette sSmokescreenImpactSpritePalette =
|
||||
|
||||
static const struct OamData sOamData_SmokescreenImpact =
|
||||
{
|
||||
.y = 0,
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.mosaic = 0,
|
||||
@@ -71,33 +71,33 @@ static const struct OamData sOamData_SmokescreenImpact =
|
||||
|
||||
static const union AnimCmd sAnim_SmokescreenImpact_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4),
|
||||
ANIMCMD_FRAME(4, 4),
|
||||
ANIMCMD_FRAME(8, 4),
|
||||
ANIMCMD_FRAME(0, 4),
|
||||
ANIMCMD_FRAME(4, 4),
|
||||
ANIMCMD_FRAME(8, 4),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd sAnim_SmokescreenImpact_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(4, 4, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(8, 4, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(4, 4, .hFlip = TRUE),
|
||||
ANIMCMD_FRAME(8, 4, .hFlip = TRUE),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd sAnim_SmokescreenImpact_2[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(4, 4, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(8, 4, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(0, 4, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(4, 4, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(8, 4, .vFlip = TRUE),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd sAnim_SmokescreenImpact_3[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 4, .hFlip = TRUE, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(4, 4, .hFlip = TRUE, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(8, 4, .hFlip = TRUE, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(0, 4, .hFlip = TRUE, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(4, 4, .hFlip = TRUE, .vFlip = TRUE),
|
||||
ANIMCMD_FRAME(8, 4, .hFlip = TRUE, .vFlip = TRUE),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
@@ -111,12 +111,12 @@ static const union AnimCmd *const sAnims_SmokescreenImpact[] =
|
||||
|
||||
static const struct SpriteTemplate sSmokescreenImpactSpriteTemplate =
|
||||
{
|
||||
.tileTag = 55019,
|
||||
.paletteTag = 55019,
|
||||
.oam = &sOamData_SmokescreenImpact,
|
||||
.anims = sAnims_SmokescreenImpact,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.tileTag = 55019,
|
||||
.paletteTag = 55019,
|
||||
.oam = &sOamData_SmokescreenImpact,
|
||||
.anims = sAnims_SmokescreenImpact,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_DestroySprite
|
||||
};
|
||||
|
||||
@@ -127,7 +127,7 @@ const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow =
|
||||
|
||||
static const struct OamData sOamData_EnemyShadow =
|
||||
{
|
||||
.y = 0,
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.mosaic = 0,
|
||||
@@ -144,12 +144,12 @@ static const struct OamData sOamData_EnemyShadow =
|
||||
|
||||
const struct SpriteTemplate gSpriteTemplate_EnemyShadow =
|
||||
{
|
||||
.tileTag = 55129,
|
||||
.paletteTag = 55039,
|
||||
.oam = &sOamData_EnemyShadow,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.tileTag = 55129,
|
||||
.paletteTag = 55039,
|
||||
.oam = &sOamData_EnemyShadow,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_SetInvisible
|
||||
};
|
||||
|
||||
|
||||
@@ -349,7 +349,7 @@ void SoundTask_PlaySE2WithPanning(u8 taskId)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
|
||||
// Adjusts panning and assigns it to gAnimCustomPanning. Doesnt play sound.
|
||||
// Adjusts panning and assigns it to gAnimCustomPanning. Doesnt play sound.
|
||||
// Used by Confuse Ray and Will-O-Wisp (see uses of gAnimCustomPanning)
|
||||
void SoundTask_AdjustPanningVar(u8 taskId)
|
||||
{
|
||||
@@ -381,7 +381,7 @@ static void SoundTask_AdjustPanningVar_Step(u8 taskId)
|
||||
u16 oldPan;
|
||||
gTasks[taskId].data[10] = 0;
|
||||
oldPan = gTasks[taskId].data[11];
|
||||
gTasks[taskId].data[11] = panIncrement + oldPan;
|
||||
gTasks[taskId].data[11] = panIncrement + oldPan;
|
||||
gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11], oldPan);
|
||||
}
|
||||
|
||||
|
||||
@@ -210,35 +210,35 @@ static const struct SpriteTemplate sFlickeringShrinkOrbSpriteTemplate =
|
||||
static const struct Subsprite sFrozenIceCubeSubsprites[] =
|
||||
{
|
||||
{
|
||||
.x = -16,
|
||||
.y = -16,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileOffset = 0,
|
||||
.x = -16,
|
||||
.y = -16,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileOffset = 0,
|
||||
.priority = 2
|
||||
},
|
||||
{
|
||||
.x = -16,
|
||||
.y = 48,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileOffset = 64,
|
||||
.x = -16,
|
||||
.y = 48,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileOffset = 64,
|
||||
.priority = 2
|
||||
},
|
||||
{
|
||||
.x = 48,
|
||||
.y = -16,
|
||||
.shape = SPRITE_SHAPE(32x64),
|
||||
.x = 48,
|
||||
.y = -16,
|
||||
.shape = SPRITE_SHAPE(32x64),
|
||||
.size = SPRITE_SIZE(32x64),
|
||||
.tileOffset = 96,
|
||||
.tileOffset = 96,
|
||||
.priority = 2
|
||||
},
|
||||
{
|
||||
.x = 48,
|
||||
.y = 48,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 128,
|
||||
.x = 48,
|
||||
.y = 48,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 128,
|
||||
.priority = 2
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1139,8 +1139,8 @@ static void SpriteCB_Ball_Wobble_Step(struct Sprite *sprite)
|
||||
|
||||
switch (STATE(sprite->sState))
|
||||
{
|
||||
case BALL_ROLL_1:
|
||||
// Rolling effect: every frame in the rotation, the sprite shifts 176/256 of a pixel.
|
||||
case BALL_ROLL_1:
|
||||
// Rolling effect: every frame in the rotation, the sprite shifts 176/256 of a pixel.
|
||||
if (gBattleSpritesDataPtr->animationData->ballSubpx > 255)
|
||||
{
|
||||
sprite->x2 += sprite->sDirection;
|
||||
@@ -2268,7 +2268,7 @@ static void Task_ShinyStars(u8 taskId)
|
||||
}
|
||||
|
||||
// Wait until the ball particles have despawned
|
||||
if (gBattleSpritesDataPtr->animationData->numBallParticles)
|
||||
if (gBattleSpritesDataPtr->animationData->numBallParticles)
|
||||
return;
|
||||
|
||||
timer = gTasks[taskId].tStarTimer++;
|
||||
@@ -2440,7 +2440,7 @@ static void SpriteCB_PokeBlock_Arc(struct Sprite *sprite)
|
||||
}
|
||||
|
||||
// Destroy after end of player animation
|
||||
static void SpriteCB_ThrowPokeBlock_Free(struct Sprite *sprite)
|
||||
static void SpriteCB_ThrowPokeBlock_Free(struct Sprite *sprite)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].animEnded)
|
||||
{
|
||||
|
||||
@@ -1549,7 +1549,7 @@ static void CreateWaterPulseRingBubbles(struct Sprite *sprite, int xDiff, int yD
|
||||
s16 randomSomethingY;
|
||||
s16 randomSomethingX;
|
||||
u8 spriteId;
|
||||
|
||||
|
||||
something = sprite->data[0] / 2;
|
||||
combinedX = sprite->x + sprite->x2;
|
||||
combinedY = sprite->y + sprite->y2;
|
||||
|
||||
@@ -249,7 +249,7 @@ static void Intro_WaitForShinyAnimAndHealthbox(void)
|
||||
{
|
||||
if (twoMons == TRUE)
|
||||
{
|
||||
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim
|
||||
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim
|
||||
&& gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim)
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE;
|
||||
@@ -266,7 +266,7 @@ static void Intro_WaitForShinyAnimAndHealthbox(void)
|
||||
{
|
||||
if (GetBattlerPosition(gActiveBattler) == 3)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim)
|
||||
{
|
||||
FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS);
|
||||
@@ -291,16 +291,16 @@ static void Intro_TryShinyAnimShowHealthbox(void)
|
||||
bool32 bgmRestored = FALSE;
|
||||
bool32 battlerAnimsDone = FALSE;
|
||||
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim)
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS)
|
||||
&& !(gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
&& IsDoubleBattle()
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS)
|
||||
&& !(gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
&& IsDoubleBattle()
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].finishedShinyMonAnim)
|
||||
TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
|
||||
@@ -379,12 +379,12 @@ static void Intro_TryShinyAnimShowHealthbox(void)
|
||||
|
||||
static void TryShinyAnimAfterMonAnim(void)
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim)
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
&& gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim)
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE;
|
||||
@@ -467,7 +467,7 @@ static void SwitchIn_HandleSoundAndEnd(void)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive && !IsCryPlayingOrClearCrySongs())
|
||||
{
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy
|
||||
|| gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy_2)
|
||||
{
|
||||
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100);
|
||||
@@ -478,7 +478,7 @@ static void SwitchIn_HandleSoundAndEnd(void)
|
||||
|
||||
static void SwitchIn_ShowHealthbox(void)
|
||||
{
|
||||
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim
|
||||
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim
|
||||
&& gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE;
|
||||
@@ -496,7 +496,7 @@ static void SwitchIn_ShowHealthbox(void)
|
||||
|
||||
static void SwitchIn_TryShinyAnim(void)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
|
||||
|
||||
@@ -985,17 +985,17 @@ static void Intro_TryShinyAnimShowHealthbox(void)
|
||||
bool32 battlerAnimsDone = FALSE;
|
||||
|
||||
// Start shiny animation if applicable for 1st pokemon
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
|
||||
// Start shiny animation if applicable for 2nd pokemon
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
|
||||
TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
|
||||
// Show healthbox after ball anim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted)
|
||||
@@ -1072,7 +1072,7 @@ static void SwitchIn_CleanShinyAnimShowSubstitute(void)
|
||||
&& gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
||||
{
|
||||
CopyBattleSpriteInvisibility(gActiveBattler);
|
||||
|
||||
|
||||
// Reset shiny anim (even if it didn't occur)
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE;
|
||||
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE;
|
||||
|
||||
@@ -262,11 +262,11 @@ static void Intro_TryShinyAnimShowHealthbox(void)
|
||||
bool32 bgmRestored = FALSE;
|
||||
bool32 battlerAnimsDone = FALSE;
|
||||
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
|
||||
TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
|
||||
|
||||
@@ -285,11 +285,11 @@ static void CompleteOnChosenItem(void)
|
||||
|
||||
static void Intro_TryShinyAnimShowHealthbox(void)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
|
||||
TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
|
||||
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].triedShinyMonAnim
|
||||
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
|
||||
TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
|
||||
|
||||
|
||||
+1
-1
@@ -5800,7 +5800,7 @@ static void InitRandomTourneyTreeResults(void)
|
||||
gSaveBlock2Ptr->frontier.lvlMode = FRONTIER_LVL_50;
|
||||
zero1 = 0;
|
||||
zero2 = 0;
|
||||
|
||||
|
||||
gSaveBlock2Ptr->frontier.domeLvlMode = zero1 + 1;
|
||||
gSaveBlock2Ptr->frontier.domeBattleMode = zero2 + 1;
|
||||
|
||||
|
||||
@@ -43,12 +43,12 @@ static u8 GetMoveBattleStyle(u16 move);
|
||||
|
||||
// Number of moves needed on the team to be considered using a certain battle style
|
||||
static const u8 sRequiredMoveCounts[FACTORY_NUM_STYLES - 1] = {
|
||||
[FACTORY_STYLE_PREPARATION - 1] = 3,
|
||||
[FACTORY_STYLE_SLOW_STEADY - 1] = 3,
|
||||
[FACTORY_STYLE_ENDURANCE - 1] = 3,
|
||||
[FACTORY_STYLE_HIGH_RISK - 1] = 2,
|
||||
[FACTORY_STYLE_WEAKENING - 1] = 2,
|
||||
[FACTORY_STYLE_UNPREDICTABLE - 1] = 2,
|
||||
[FACTORY_STYLE_PREPARATION - 1] = 3,
|
||||
[FACTORY_STYLE_SLOW_STEADY - 1] = 3,
|
||||
[FACTORY_STYLE_ENDURANCE - 1] = 3,
|
||||
[FACTORY_STYLE_HIGH_RISK - 1] = 2,
|
||||
[FACTORY_STYLE_WEAKENING - 1] = 2,
|
||||
[FACTORY_STYLE_UNPREDICTABLE - 1] = 2,
|
||||
[FACTORY_STYLE_WEATHER - 1] = 2
|
||||
};
|
||||
|
||||
|
||||
@@ -1404,7 +1404,7 @@ static void Select_HandleMonSelectionChange(void)
|
||||
if (sFactorySelectScreen->mons[cursorPos].selectedId) // Deselect a mon.
|
||||
{
|
||||
paletteNum = IndexOfSpritePaletteTag(PALTAG_BALL_GRAY);
|
||||
if (sFactorySelectScreen->selectingMonsState == FRONTIER_PARTY_SIZE
|
||||
if (sFactorySelectScreen->selectingMonsState == FRONTIER_PARTY_SIZE
|
||||
&& sFactorySelectScreen->mons[cursorPos].selectedId == 1)
|
||||
{
|
||||
for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
|
||||
@@ -3057,7 +3057,7 @@ static void Swap_Task_ScreenInfoTransitionOut(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (gTasks[taskId].tSlideFinishedPkmn == TRUE
|
||||
if (gTasks[taskId].tSlideFinishedPkmn == TRUE
|
||||
&& gTasks[taskId].tSlideFinishedCancel == TRUE)
|
||||
{
|
||||
gTasks[taskId].tState = gTasks[taskId].tFollowUpTaskState;
|
||||
@@ -3123,7 +3123,7 @@ static void Swap_Task_ScreenInfoTransitionIn(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (gTasks[taskId].tSlideFinishedPkmn == TRUE
|
||||
if (gTasks[taskId].tSlideFinishedPkmn == TRUE
|
||||
&& gTasks[taskId].tSlideFinishedCancel == TRUE)
|
||||
{
|
||||
gPlttBufferFaded[226] = sPokeballGray_Pal[37];
|
||||
@@ -3205,7 +3205,7 @@ static void Swap_Task_SwitchPartyScreen(u8 taskId)
|
||||
gTasks[taskId].tState++;
|
||||
break;
|
||||
case 3:
|
||||
if (!FuncIsActiveTask(Swap_Task_SlideCycleBalls)
|
||||
if (!FuncIsActiveTask(Swap_Task_SlideCycleBalls)
|
||||
&& gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].tFadeOutFinished == TRUE)
|
||||
{
|
||||
Swap_EraseSpeciesWindow();
|
||||
@@ -3679,7 +3679,7 @@ static void Swap_HideActionButtonHighlights(void)
|
||||
{
|
||||
// Hide button highlight on "Pkmn for Swap"
|
||||
gSprites[sFactorySwapScreen->pkmnForSwapButtonSpriteIds[1][i]].invisible = TRUE;
|
||||
|
||||
|
||||
// Hide button highlight on Cancel
|
||||
if (i < ARRAY_COUNT(sFactorySwapScreen->cancelButtonSpriteIds[0]))
|
||||
gSprites[sFactorySwapScreen->cancelButtonSpriteIds[1][i]].invisible = TRUE;
|
||||
|
||||
@@ -139,7 +139,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void)
|
||||
// Each nature has a different percent chance to select a move from one of 3 move groups
|
||||
// If percent is less than 1st check, use move from "Attack" group
|
||||
// If percent is less than 2nd check, use move from "Defense" group
|
||||
// Otherwise use move from "Support" group
|
||||
// Otherwise use move from "Support" group
|
||||
for (; i < maxGroupNum; i++)
|
||||
{
|
||||
if (gBattlePalaceNatureToMoveGroupLikelihood[GetNatureFromPersonality(gBattleMons[gActiveBattler].personality)][i] > percent)
|
||||
@@ -196,7 +196,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void)
|
||||
if ((validMoveFlags & 0xF0) > 0x1FF)
|
||||
numValidMoveGroups++;
|
||||
|
||||
|
||||
|
||||
// If more than 1 possible move group, or no possible move groups
|
||||
// then choose move randomly
|
||||
if (numValidMoveGroups > 1 || numValidMoveGroups == 0)
|
||||
|
||||
+151
-151
@@ -103,11 +103,11 @@ enum
|
||||
HEALTHBOX_GFX_63, //hp bar red [7 pixels]
|
||||
HEALTHBOX_GFX_64, //hp bar red [8 pixels]
|
||||
HEALTHBOX_GFX_65, //hp bar frame end
|
||||
HEALTHBOX_GFX_66, //status ball [full]
|
||||
HEALTHBOX_GFX_67, //status ball [empty]
|
||||
HEALTHBOX_GFX_68, //status ball [fainted]
|
||||
HEALTHBOX_GFX_69, //status ball [statused]
|
||||
HEALTHBOX_GFX_70, //status ball [unused extra]
|
||||
HEALTHBOX_GFX_STATUS_BALL, // Full
|
||||
HEALTHBOX_GFX_STATUS_BALL_EMPTY,
|
||||
HEALTHBOX_GFX_STATUS_BALL_FAINTED,
|
||||
HEALTHBOX_GFX_STATUS_BALL_STATUSED,
|
||||
HEALTHBOX_GFX_STATUS_BALL_CAUGHT,
|
||||
HEALTHBOX_GFX_STATUS_PSN_BATTLER1, //status2 "PSN"
|
||||
HEALTHBOX_GFX_72,
|
||||
HEALTHBOX_GFX_73,
|
||||
@@ -330,43 +330,43 @@ static const struct SpriteTemplate sHealthbarSpriteTemplates[MAX_BATTLERS_COUNT]
|
||||
static const struct Subsprite sUnknown_0832C220[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileOffset = 0,
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileOffset = 0,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 48,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 32,
|
||||
.x = 48,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 32,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 48,
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 48,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 16,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 52,
|
||||
.x = 16,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 52,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 48,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 56,
|
||||
.x = 48,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 56,
|
||||
.priority = 1
|
||||
}
|
||||
};
|
||||
@@ -374,43 +374,43 @@ static const struct Subsprite sUnknown_0832C220[] =
|
||||
static const struct Subsprite sUnknown_0832C234[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileOffset = 64,
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileOffset = 64,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 48,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 96,
|
||||
.x = 48,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 96,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 112,
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 112,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 16,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 116,
|
||||
.x = 16,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 116,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 48,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 120,
|
||||
.x = 48,
|
||||
.y = 32,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 120,
|
||||
.priority = 1
|
||||
}
|
||||
};
|
||||
@@ -418,19 +418,19 @@ static const struct Subsprite sUnknown_0832C234[] =
|
||||
static const struct Subsprite sUnknown_0832C248[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileOffset = 0,
|
||||
.tileOffset = 0,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 48,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 32,
|
||||
.x = 48,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 32,
|
||||
.priority = 1
|
||||
}
|
||||
};
|
||||
@@ -438,19 +438,19 @@ static const struct Subsprite sUnknown_0832C248[] =
|
||||
static const struct Subsprite sUnknown_0832C250[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileOffset = 0,
|
||||
.tileOffset = 0,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 48,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 32,
|
||||
.x = 48,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileOffset = 32,
|
||||
.priority = 1
|
||||
}
|
||||
};
|
||||
@@ -458,19 +458,19 @@ static const struct Subsprite sUnknown_0832C250[] =
|
||||
static const struct Subsprite sUnknown_0832C258[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 16,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.x = 16,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.priority = 1
|
||||
}
|
||||
};
|
||||
@@ -478,27 +478,27 @@ static const struct Subsprite sUnknown_0832C258[] =
|
||||
static const struct Subsprite sUnknown_0832C260[] =
|
||||
{
|
||||
{
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.x = DISPLAY_WIDTH,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 16,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.x = 16,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = DISPLAY_WIDTH - 16,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(8x8),
|
||||
.size = SPRITE_SIZE(8x8),
|
||||
.tileOffset = 8,
|
||||
.x = DISPLAY_WIDTH - 16,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(8x8),
|
||||
.size = SPRITE_SIZE(8x8),
|
||||
.tileOffset = 8,
|
||||
.priority = 1
|
||||
}
|
||||
};
|
||||
@@ -521,35 +521,35 @@ static const struct SubspriteTable sUnknown_0832C28C[] =
|
||||
static const struct Subsprite sStatusSummaryBar_Subsprites_0[] =
|
||||
{
|
||||
{
|
||||
.x = 160,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.x = 160,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 192,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.x = 192,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 224,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.x = 224,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 0,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 12,
|
||||
.x = 0,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 12,
|
||||
.priority = 1
|
||||
}
|
||||
};
|
||||
@@ -557,51 +557,51 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_0[] =
|
||||
static const struct Subsprite sUnknown_0832C2AC[] =
|
||||
{
|
||||
{
|
||||
.x = 160,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.x = 160,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 192,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.x = 192,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 224,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.x = 224,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 0,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.x = 0,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 32,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.x = 32,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.priority = 1
|
||||
},
|
||||
{
|
||||
.x = 64,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 12,
|
||||
.x = 64,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 12,
|
||||
.priority = 1
|
||||
}
|
||||
};
|
||||
@@ -636,7 +636,7 @@ static const struct SpritePalette sStatusSummaryBallsSpritePal =
|
||||
|
||||
static const struct SpriteSheet sStatusSummaryBallsSpriteSheet =
|
||||
{
|
||||
gBattleInterface_BallDisplayGfx, 0x80, TAG_STATUS_SUMMARY_BALLS_TILE
|
||||
&gHealthboxElementsGfxTable[HEALTHBOX_GFX_STATUS_BALL], 0x80, TAG_STATUS_SUMMARY_BALLS_TILE
|
||||
};
|
||||
|
||||
// unused oam data
|
||||
@@ -1101,7 +1101,7 @@ static void UpdateLvlInHealthbox(u8 healthboxSpriteId, u8 lvl)
|
||||
u8 text[16];
|
||||
u32 xPos;
|
||||
u8 *objVram;
|
||||
|
||||
|
||||
text[0] = CHAR_EXTRA_SYMBOL;
|
||||
text[1] = CHAR_LV_2;
|
||||
|
||||
@@ -1962,7 +1962,7 @@ static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus)
|
||||
healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId;
|
||||
|
||||
if (noStatus)
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_70), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32);
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_STATUS_BALL_CAUGHT), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32);
|
||||
else
|
||||
CpuFill32(0, (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32);
|
||||
}
|
||||
|
||||
+3
-3
@@ -4374,10 +4374,10 @@ static void HandleTurnActionSelectionState(void)
|
||||
}
|
||||
break;
|
||||
case STATE_WAIT_ACTION_CONFIRMED_STANDBY:
|
||||
if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler])
|
||||
if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler])
|
||||
| (0xF << 28)
|
||||
| (gBitTable[gActiveBattler] << 4)
|
||||
| (gBitTable[gActiveBattler] << 8)
|
||||
| (gBitTable[gActiveBattler] << 4)
|
||||
| (gBitTable[gActiveBattler] << 8)
|
||||
| (gBitTable[gActiveBattler] << 12))))
|
||||
{
|
||||
if (AllAtActionConfirmed())
|
||||
|
||||
@@ -1390,9 +1390,9 @@ static const u8 sText_PkmnEagerForMore[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is
|
||||
|
||||
const u16 gBattlePalaceFlavorTextTable[] =
|
||||
{
|
||||
[B_MSG_GLINT_IN_EYE] = STRINGID_GLINTAPPEARSINEYE,
|
||||
[B_MSG_GLINT_IN_EYE] = STRINGID_GLINTAPPEARSINEYE,
|
||||
[B_MSG_GETTING_IN_POS] = STRINGID_PKMNGETTINGINTOPOSITION,
|
||||
[B_MSG_GROWL_DEEPLY] = STRINGID_PKMNBEGANGROWLINGDEEPLY,
|
||||
[B_MSG_GROWL_DEEPLY] = STRINGID_PKMNBEGANGROWLINGDEEPLY,
|
||||
[B_MSG_EAGER_FOR_MORE] = STRINGID_PKMNEAGERFORMORE,
|
||||
};
|
||||
|
||||
|
||||
+15
-15
@@ -40,26 +40,26 @@ static void (* const sBattlePalaceFunctions[])(void) =
|
||||
[BATTLE_PALACE_FUNC_GIVE_PRIZE] = GivePalacePrize,
|
||||
};
|
||||
|
||||
static const u16 sBattlePalaceEarlyPrizes[] =
|
||||
static const u16 sBattlePalaceEarlyPrizes[] =
|
||||
{
|
||||
ITEM_HP_UP,
|
||||
ITEM_PROTEIN,
|
||||
ITEM_IRON,
|
||||
ITEM_CALCIUM,
|
||||
ITEM_CARBOS,
|
||||
ITEM_HP_UP,
|
||||
ITEM_PROTEIN,
|
||||
ITEM_IRON,
|
||||
ITEM_CALCIUM,
|
||||
ITEM_CARBOS,
|
||||
ITEM_ZINC
|
||||
};
|
||||
|
||||
static const u16 sBattlePalaceLatePrizes[] =
|
||||
static const u16 sBattlePalaceLatePrizes[] =
|
||||
{
|
||||
ITEM_BRIGHT_POWDER,
|
||||
ITEM_WHITE_HERB,
|
||||
ITEM_QUICK_CLAW,
|
||||
ITEM_LEFTOVERS,
|
||||
ITEM_MENTAL_HERB,
|
||||
ITEM_KINGS_ROCK,
|
||||
ITEM_FOCUS_BAND,
|
||||
ITEM_SCOPE_LENS,
|
||||
ITEM_BRIGHT_POWDER,
|
||||
ITEM_WHITE_HERB,
|
||||
ITEM_QUICK_CLAW,
|
||||
ITEM_LEFTOVERS,
|
||||
ITEM_MENTAL_HERB,
|
||||
ITEM_KINGS_ROCK,
|
||||
ITEM_FOCUS_BAND,
|
||||
ITEM_SCOPE_LENS,
|
||||
ITEM_CHOICE_BAND
|
||||
};
|
||||
|
||||
|
||||
@@ -452,8 +452,8 @@ static void VBlankCB_PyramidBag(void)
|
||||
|
||||
static void CB2_LoadPyramidBagMenu(void)
|
||||
{
|
||||
while (MenuHelpers_CallLinkSomething() != TRUE
|
||||
&& LoadPyramidBagMenu() != TRUE
|
||||
while (MenuHelpers_CallLinkSomething() != TRUE
|
||||
&& LoadPyramidBagMenu() != TRUE
|
||||
&& MenuHelpers_LinkSomething() != TRUE);
|
||||
}
|
||||
|
||||
@@ -696,9 +696,9 @@ static void PrintItemDescription(s32 listMenuId)
|
||||
static void AddScrollArrows(void)
|
||||
{
|
||||
if (gPyramidBagMenu->scrollIndicatorsTaskId == TASK_NONE)
|
||||
gPyramidBagMenu->scrollIndicatorsTaskId = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 172, 12, 148,
|
||||
gPyramidBagMenu->listMenuCount - gPyramidBagMenu->listMenuMaxShown,
|
||||
TAG_SCROLL_ARROW, TAG_SCROLL_ARROW,
|
||||
gPyramidBagMenu->scrollIndicatorsTaskId = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 172, 12, 148,
|
||||
gPyramidBagMenu->listMenuCount - gPyramidBagMenu->listMenuMaxShown,
|
||||
TAG_SCROLL_ARROW, TAG_SCROLL_ARROW,
|
||||
&gPyramidBagMenuState.scrollPosition);
|
||||
}
|
||||
|
||||
@@ -866,7 +866,7 @@ static void Task_ClosePyramidBag(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
DestroyListMenuTask(tListTaskId, &gPyramidBagMenuState.scrollPosition, &gPyramidBagMenuState.cursorPosition);
|
||||
|
||||
|
||||
// If ready for a new screen (e.g. party menu for giving an item) go to that screen
|
||||
// Otherwise exit the bag and use callback set up when the bag was first opened
|
||||
if (gPyramidBagMenu->newScreenCallback != NULL)
|
||||
@@ -937,7 +937,7 @@ static void OpenContextMenu(u8 taskId)
|
||||
{
|
||||
default:
|
||||
// case PYRAMIDBAG_LOC_FIELD:
|
||||
// case PYRAMIDBAG_LOC_PARTY:
|
||||
// case PYRAMIDBAG_LOC_PARTY:
|
||||
gPyramidBagMenu->menuActionIds = sMenuActionIds_Field;
|
||||
gPyramidBagMenu->menuActionsCount = ARRAY_COUNT(sMenuActionIds_Field);
|
||||
break;
|
||||
|
||||
@@ -833,9 +833,9 @@ static const u8 sTerrainToType[] =
|
||||
// - ITEM_ULTRA_BALL skips Master Ball and ITEM_NONE
|
||||
static const u8 sBallCatchBonuses[] =
|
||||
{
|
||||
[ITEM_ULTRA_BALL - ITEM_ULTRA_BALL] = 20,
|
||||
[ITEM_GREAT_BALL - ITEM_ULTRA_BALL] = 15,
|
||||
[ITEM_POKE_BALL - ITEM_ULTRA_BALL] = 10,
|
||||
[ITEM_ULTRA_BALL - ITEM_ULTRA_BALL] = 20,
|
||||
[ITEM_GREAT_BALL - ITEM_ULTRA_BALL] = 15,
|
||||
[ITEM_POKE_BALL - ITEM_ULTRA_BALL] = 10,
|
||||
[ITEM_SAFARI_BALL - ITEM_ULTRA_BALL] = 15
|
||||
};
|
||||
|
||||
@@ -3519,7 +3519,7 @@ static void Cmd_unknown_24(void)
|
||||
|
||||
if (HP_count == 0)
|
||||
gBattleOutcome |= B_OUTCOME_LOST;
|
||||
|
||||
|
||||
HP_count = 0;
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
@@ -3544,7 +3544,7 @@ static void Cmd_unknown_24(void)
|
||||
if ((gHitMarker & HITMARKER_FAINTED2(i)) && (!gSpecialStatuses[i].flag40))
|
||||
foundPlayer++;
|
||||
}
|
||||
|
||||
|
||||
foundOpponent = 0;
|
||||
|
||||
for (i = 1; i < gBattlersCount; i += 2)
|
||||
@@ -4610,9 +4610,9 @@ static void Cmd_switchindataupdate(void)
|
||||
|
||||
SwitchInClearSetData();
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_PALACE
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_PALACE
|
||||
&& gBattleMons[gActiveBattler].maxHP / 2 >= gBattleMons[gActiveBattler].hp
|
||||
&& gBattleMons[gActiveBattler].hp != 0
|
||||
&& gBattleMons[gActiveBattler].hp != 0
|
||||
&& !(gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP))
|
||||
{
|
||||
gBattleStruct->palaceFlags |= gBitTable[gActiveBattler];
|
||||
|
||||
+14
-14
@@ -126,32 +126,32 @@ static const u8 sBattleTransitionTable_Trainer[][2] =
|
||||
// Battle Frontier (excluding Pyramid and Dome, which have their own tables below)
|
||||
static const u8 sBattleTransitionTable_BattleFrontier[] =
|
||||
{
|
||||
B_TRANSITION_FRONTIER_LOGO_WIGGLE,
|
||||
B_TRANSITION_FRONTIER_LOGO_WAVE,
|
||||
B_TRANSITION_FRONTIER_SQUARES,
|
||||
B_TRANSITION_FRONTIER_LOGO_WIGGLE,
|
||||
B_TRANSITION_FRONTIER_LOGO_WAVE,
|
||||
B_TRANSITION_FRONTIER_SQUARES,
|
||||
B_TRANSITION_FRONTIER_SQUARES_SCROLL,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_MEET,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_CROSS,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_ASYMMETRIC_SPIRAL,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_MEET,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_CROSS,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_ASYMMETRIC_SPIRAL,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_SYMMETRIC_SPIRAL,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_MEET_IN_SEQ,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_CROSS_IN_SEQ,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_ASYMMETRIC_SPIRAL_IN_SEQ,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_MEET_IN_SEQ,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_CROSS_IN_SEQ,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_ASYMMETRIC_SPIRAL_IN_SEQ,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_SYMMETRIC_SPIRAL_IN_SEQ
|
||||
};
|
||||
|
||||
static const u8 sBattleTransitionTable_BattlePyramid[] =
|
||||
{
|
||||
B_TRANSITION_FRONTIER_SQUARES,
|
||||
B_TRANSITION_FRONTIER_SQUARES_SCROLL,
|
||||
B_TRANSITION_FRONTIER_SQUARES,
|
||||
B_TRANSITION_FRONTIER_SQUARES_SCROLL,
|
||||
B_TRANSITION_FRONTIER_SQUARES_SPIRAL
|
||||
};
|
||||
|
||||
static const u8 sBattleTransitionTable_BattleDome[] =
|
||||
{
|
||||
B_TRANSITION_FRONTIER_LOGO_WIGGLE,
|
||||
B_TRANSITION_FRONTIER_SQUARES,
|
||||
B_TRANSITION_FRONTIER_SQUARES_SCROLL,
|
||||
B_TRANSITION_FRONTIER_LOGO_WIGGLE,
|
||||
B_TRANSITION_FRONTIER_SQUARES,
|
||||
B_TRANSITION_FRONTIER_SQUARES_SCROLL,
|
||||
B_TRANSITION_FRONTIER_SQUARES_SPIRAL
|
||||
};
|
||||
|
||||
|
||||
+3
-3
@@ -1339,7 +1339,7 @@ void PutNewBattleTowerRecord(struct EmeraldBattleTowerRecord *newRecordEm)
|
||||
if (gSaveBlock2Ptr->frontier.towerRecords[i].name[j] != newRecord->name[j])
|
||||
break;
|
||||
if (newRecord->name[j] == EOS)
|
||||
#endif
|
||||
#endif
|
||||
{
|
||||
k = PLAYER_NAME_LENGTH;
|
||||
break;
|
||||
@@ -2655,7 +2655,7 @@ static void TowerTryCloseLink(void)
|
||||
static void SetMultiPartnerGfx(void)
|
||||
{
|
||||
// 0xF below means use VAR_OBJ_GFX_ID_E
|
||||
SetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[17], 0xF);
|
||||
SetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[17], 0xF);
|
||||
}
|
||||
|
||||
static void SetTowerInterviewData(void)
|
||||
@@ -2968,7 +2968,7 @@ static void FillPartnerParty(u16 trainerId)
|
||||
sStevenMons[i].species,
|
||||
sStevenMons[i].level,
|
||||
sStevenMons[i].fixedIV,
|
||||
TRUE,
|
||||
TRUE,
|
||||
#ifdef BUGFIX
|
||||
j,
|
||||
#else
|
||||
|
||||
+290
-290
@@ -86,219 +86,219 @@ static const u16 sVariableDmgMoves[] =
|
||||
|
||||
static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] =
|
||||
{
|
||||
[EFFECT_HIT] = 1,
|
||||
[EFFECT_SLEEP] = 1,
|
||||
[EFFECT_POISON_HIT] = 1,
|
||||
[EFFECT_ABSORB] = 4,
|
||||
[EFFECT_BURN_HIT] = 1,
|
||||
[EFFECT_FREEZE_HIT] = 1,
|
||||
[EFFECT_PARALYZE_HIT] = 1,
|
||||
[EFFECT_EXPLOSION] = 0,
|
||||
[EFFECT_DREAM_EATER] = 5,
|
||||
[EFFECT_MIRROR_MOVE] = 1,
|
||||
[EFFECT_ATTACK_UP] = 1,
|
||||
[EFFECT_DEFENSE_UP] = 1,
|
||||
[EFFECT_SPEED_UP] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_UP] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_UP] = 1,
|
||||
[EFFECT_HIT] = 1,
|
||||
[EFFECT_SLEEP] = 1,
|
||||
[EFFECT_POISON_HIT] = 1,
|
||||
[EFFECT_ABSORB] = 4,
|
||||
[EFFECT_BURN_HIT] = 1,
|
||||
[EFFECT_FREEZE_HIT] = 1,
|
||||
[EFFECT_PARALYZE_HIT] = 1,
|
||||
[EFFECT_EXPLOSION] = 0,
|
||||
[EFFECT_DREAM_EATER] = 5,
|
||||
[EFFECT_MIRROR_MOVE] = 1,
|
||||
[EFFECT_ATTACK_UP] = 1,
|
||||
[EFFECT_DEFENSE_UP] = 1,
|
||||
[EFFECT_SPEED_UP] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_UP] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_UP] = 1,
|
||||
[EFFECT_ACCURACY_UP] = 1,
|
||||
[EFFECT_EVASION_UP] = 1,
|
||||
[EFFECT_ALWAYS_HIT] = 2,
|
||||
[EFFECT_ATTACK_DOWN] = 1,
|
||||
[EFFECT_DEFENSE_DOWN] = 1,
|
||||
[EFFECT_SPEED_DOWN] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_DOWN] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_DOWN] = 1,
|
||||
[EFFECT_ACCURACY_DOWN] = 1,
|
||||
[EFFECT_EVASION_DOWN] = 1,
|
||||
[EFFECT_HAZE] = 5,
|
||||
[EFFECT_BIDE] = 5,
|
||||
[EFFECT_RAMPAGE] = 4,
|
||||
[EFFECT_ROAR] = 5,
|
||||
[EFFECT_MULTI_HIT] = 1,
|
||||
[EFFECT_CONVERSION] = 3,
|
||||
[EFFECT_EVASION_UP] = 1,
|
||||
[EFFECT_ALWAYS_HIT] = 2,
|
||||
[EFFECT_ATTACK_DOWN] = 1,
|
||||
[EFFECT_DEFENSE_DOWN] = 1,
|
||||
[EFFECT_SPEED_DOWN] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_DOWN] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_DOWN] = 1,
|
||||
[EFFECT_ACCURACY_DOWN] = 1,
|
||||
[EFFECT_EVASION_DOWN] = 1,
|
||||
[EFFECT_HAZE] = 5,
|
||||
[EFFECT_BIDE] = 5,
|
||||
[EFFECT_RAMPAGE] = 4,
|
||||
[EFFECT_ROAR] = 5,
|
||||
[EFFECT_MULTI_HIT] = 1,
|
||||
[EFFECT_CONVERSION] = 3,
|
||||
[EFFECT_FLINCH_HIT] = 1,
|
||||
[EFFECT_RESTORE_HP] = 3,
|
||||
[EFFECT_TOXIC] = 5,
|
||||
[EFFECT_PAY_DAY] = 1,
|
||||
[EFFECT_LIGHT_SCREEN] = 7,
|
||||
[EFFECT_TRI_ATTACK] = 1,
|
||||
[EFFECT_REST] = 7,
|
||||
[EFFECT_OHKO] = 7,
|
||||
[EFFECT_RAZOR_WIND] = 1,
|
||||
[EFFECT_SUPER_FANG] = 5,
|
||||
[EFFECT_DRAGON_RAGE] = 2,
|
||||
[EFFECT_TRAP] = 4,
|
||||
[EFFECT_HIGH_CRITICAL] = 1,
|
||||
[EFFECT_DOUBLE_HIT] = 1,
|
||||
[EFFECT_RECOIL_IF_MISS] = 1,
|
||||
[EFFECT_MIST] = 5,
|
||||
[EFFECT_RESTORE_HP] = 3,
|
||||
[EFFECT_TOXIC] = 5,
|
||||
[EFFECT_PAY_DAY] = 1,
|
||||
[EFFECT_LIGHT_SCREEN] = 7,
|
||||
[EFFECT_TRI_ATTACK] = 1,
|
||||
[EFFECT_REST] = 7,
|
||||
[EFFECT_OHKO] = 7,
|
||||
[EFFECT_RAZOR_WIND] = 1,
|
||||
[EFFECT_SUPER_FANG] = 5,
|
||||
[EFFECT_DRAGON_RAGE] = 2,
|
||||
[EFFECT_TRAP] = 4,
|
||||
[EFFECT_HIGH_CRITICAL] = 1,
|
||||
[EFFECT_DOUBLE_HIT] = 1,
|
||||
[EFFECT_RECOIL_IF_MISS] = 1,
|
||||
[EFFECT_MIST] = 5,
|
||||
[EFFECT_FOCUS_ENERGY] = 1,
|
||||
[EFFECT_RECOIL] = 2,
|
||||
[EFFECT_CONFUSE] = 4,
|
||||
[EFFECT_ATTACK_UP_2] = 1,
|
||||
[EFFECT_DEFENSE_UP_2] = 1,
|
||||
[EFFECT_SPEED_UP_2] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_UP_2] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_UP_2] = 1,
|
||||
[EFFECT_ACCURACY_UP_2] = 1,
|
||||
[EFFECT_EVASION_UP_2] = 1,
|
||||
[EFFECT_TRANSFORM] = 0,
|
||||
[EFFECT_ATTACK_DOWN_2] = 1,
|
||||
[EFFECT_DEFENSE_DOWN_2] = 1,
|
||||
[EFFECT_SPEED_DOWN_2] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_DOWN_2] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_DOWN_2] = 1,
|
||||
[EFFECT_RECOIL] = 2,
|
||||
[EFFECT_CONFUSE] = 4,
|
||||
[EFFECT_ATTACK_UP_2] = 1,
|
||||
[EFFECT_DEFENSE_UP_2] = 1,
|
||||
[EFFECT_SPEED_UP_2] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_UP_2] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_UP_2] = 1,
|
||||
[EFFECT_ACCURACY_UP_2] = 1,
|
||||
[EFFECT_EVASION_UP_2] = 1,
|
||||
[EFFECT_TRANSFORM] = 0,
|
||||
[EFFECT_ATTACK_DOWN_2] = 1,
|
||||
[EFFECT_DEFENSE_DOWN_2] = 1,
|
||||
[EFFECT_SPEED_DOWN_2] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_DOWN_2] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_DOWN_2] = 1,
|
||||
[EFFECT_ACCURACY_DOWN_2] = 1,
|
||||
[EFFECT_EVASION_DOWN_2] = 1,
|
||||
[EFFECT_REFLECT] = 7,
|
||||
[EFFECT_POISON] = 4,
|
||||
[EFFECT_PARALYZE] = 4,
|
||||
[EFFECT_ATTACK_DOWN_HIT] = 1,
|
||||
[EFFECT_DEFENSE_DOWN_HIT] = 1,
|
||||
[EFFECT_SPEED_DOWN_HIT] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_DOWN_HIT] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_DOWN_HIT] = 1,
|
||||
[EFFECT_ACCURACY_DOWN_HIT] = 1,
|
||||
[EFFECT_EVASION_DOWN_HIT] = 1,
|
||||
[EFFECT_SKY_ATTACK] = 4,
|
||||
[EFFECT_CONFUSE_HIT] = 1,
|
||||
[EFFECT_TWINEEDLE] = 1,
|
||||
[EFFECT_VITAL_THROW] = 1,
|
||||
[EFFECT_EVASION_DOWN_2] = 1,
|
||||
[EFFECT_REFLECT] = 7,
|
||||
[EFFECT_POISON] = 4,
|
||||
[EFFECT_PARALYZE] = 4,
|
||||
[EFFECT_ATTACK_DOWN_HIT] = 1,
|
||||
[EFFECT_DEFENSE_DOWN_HIT] = 1,
|
||||
[EFFECT_SPEED_DOWN_HIT] = 1,
|
||||
[EFFECT_SPECIAL_ATTACK_DOWN_HIT] = 1,
|
||||
[EFFECT_SPECIAL_DEFENSE_DOWN_HIT] = 1,
|
||||
[EFFECT_ACCURACY_DOWN_HIT] = 1,
|
||||
[EFFECT_EVASION_DOWN_HIT] = 1,
|
||||
[EFFECT_SKY_ATTACK] = 4,
|
||||
[EFFECT_CONFUSE_HIT] = 1,
|
||||
[EFFECT_TWINEEDLE] = 1,
|
||||
[EFFECT_VITAL_THROW] = 1,
|
||||
[EFFECT_SUBSTITUTE] = 4,
|
||||
[EFFECT_RECHARGE] = 5,
|
||||
[EFFECT_RAGE] = 2,
|
||||
[EFFECT_MIMIC] = 4,
|
||||
[EFFECT_METRONOME] = 1,
|
||||
[EFFECT_LEECH_SEED] = 4,
|
||||
[EFFECT_SPLASH] = 1,
|
||||
[EFFECT_DISABLE] = 7,
|
||||
[EFFECT_LEVEL_DAMAGE] = 2,
|
||||
[EFFECT_PSYWAVE] = 1,
|
||||
[EFFECT_COUNTER] = 5,
|
||||
[EFFECT_ENCORE] = 7,
|
||||
[EFFECT_PAIN_SPLIT] = 3,
|
||||
[EFFECT_SNORE] = 3,
|
||||
[EFFECT_CONVERSION_2] = 4,
|
||||
[EFFECT_LOCK_ON] = 3,
|
||||
[EFFECT_RECHARGE] = 5,
|
||||
[EFFECT_RAGE] = 2,
|
||||
[EFFECT_MIMIC] = 4,
|
||||
[EFFECT_METRONOME] = 1,
|
||||
[EFFECT_LEECH_SEED] = 4,
|
||||
[EFFECT_SPLASH] = 1,
|
||||
[EFFECT_DISABLE] = 7,
|
||||
[EFFECT_LEVEL_DAMAGE] = 2,
|
||||
[EFFECT_PSYWAVE] = 1,
|
||||
[EFFECT_COUNTER] = 5,
|
||||
[EFFECT_ENCORE] = 7,
|
||||
[EFFECT_PAIN_SPLIT] = 3,
|
||||
[EFFECT_SNORE] = 3,
|
||||
[EFFECT_CONVERSION_2] = 4,
|
||||
[EFFECT_LOCK_ON] = 3,
|
||||
[EFFECT_SKETCH] = 3,
|
||||
[EFFECT_UNUSED_60] = 3,
|
||||
[EFFECT_SLEEP_TALK] = 3,
|
||||
[EFFECT_DESTINY_BOND] = 3,
|
||||
[EFFECT_FLAIL] = 2,
|
||||
[EFFECT_SPITE] = 4,
|
||||
[EFFECT_FALSE_SWIPE] = 1,
|
||||
[EFFECT_HEAL_BELL] = 5,
|
||||
[EFFECT_QUICK_ATTACK] = 1,
|
||||
[EFFECT_TRIPLE_KICK] = 1,
|
||||
[EFFECT_THIEF] = 4,
|
||||
[EFFECT_MEAN_LOOK] = 5,
|
||||
[EFFECT_NIGHTMARE] = 3,
|
||||
[EFFECT_MINIMIZE] = 1,
|
||||
[EFFECT_CURSE] = 2,
|
||||
[EFFECT_UNUSED_6E] = 1,
|
||||
[EFFECT_UNUSED_60] = 3,
|
||||
[EFFECT_SLEEP_TALK] = 3,
|
||||
[EFFECT_DESTINY_BOND] = 3,
|
||||
[EFFECT_FLAIL] = 2,
|
||||
[EFFECT_SPITE] = 4,
|
||||
[EFFECT_FALSE_SWIPE] = 1,
|
||||
[EFFECT_HEAL_BELL] = 5,
|
||||
[EFFECT_QUICK_ATTACK] = 1,
|
||||
[EFFECT_TRIPLE_KICK] = 1,
|
||||
[EFFECT_THIEF] = 4,
|
||||
[EFFECT_MEAN_LOOK] = 5,
|
||||
[EFFECT_NIGHTMARE] = 3,
|
||||
[EFFECT_MINIMIZE] = 1,
|
||||
[EFFECT_CURSE] = 2,
|
||||
[EFFECT_UNUSED_6E] = 1,
|
||||
[EFFECT_PROTECT] = 5,
|
||||
[EFFECT_SPIKES] = 4,
|
||||
[EFFECT_FORESIGHT] = 3,
|
||||
[EFFECT_PERISH_SONG] = 6,
|
||||
[EFFECT_SANDSTORM] = 4,
|
||||
[EFFECT_ENDURE] = 3,
|
||||
[EFFECT_ROLLOUT] = 3,
|
||||
[EFFECT_SWAGGER] = 3,
|
||||
[EFFECT_FURY_CUTTER] = 2,
|
||||
[EFFECT_ATTRACT] = 4,
|
||||
[EFFECT_RETURN] = 1,
|
||||
[EFFECT_PRESENT] = 1,
|
||||
[EFFECT_FRUSTRATION] = 1,
|
||||
[EFFECT_SAFEGUARD] = 5,
|
||||
[EFFECT_THAW_HIT] = 1,
|
||||
[EFFECT_MAGNITUDE] = 1,
|
||||
[EFFECT_SPIKES] = 4,
|
||||
[EFFECT_FORESIGHT] = 3,
|
||||
[EFFECT_PERISH_SONG] = 6,
|
||||
[EFFECT_SANDSTORM] = 4,
|
||||
[EFFECT_ENDURE] = 3,
|
||||
[EFFECT_ROLLOUT] = 3,
|
||||
[EFFECT_SWAGGER] = 3,
|
||||
[EFFECT_FURY_CUTTER] = 2,
|
||||
[EFFECT_ATTRACT] = 4,
|
||||
[EFFECT_RETURN] = 1,
|
||||
[EFFECT_PRESENT] = 1,
|
||||
[EFFECT_FRUSTRATION] = 1,
|
||||
[EFFECT_SAFEGUARD] = 5,
|
||||
[EFFECT_THAW_HIT] = 1,
|
||||
[EFFECT_MAGNITUDE] = 1,
|
||||
[EFFECT_BATON_PASS] = 7,
|
||||
[EFFECT_PURSUIT] = 2,
|
||||
[EFFECT_RAPID_SPIN] = 2,
|
||||
[EFFECT_SONICBOOM] = 1,
|
||||
[EFFECT_UNUSED_83] = 1,
|
||||
[EFFECT_MORNING_SUN] = 4,
|
||||
[EFFECT_SYNTHESIS] = 4,
|
||||
[EFFECT_MOONLIGHT] = 4,
|
||||
[EFFECT_HIDDEN_POWER] = 1,
|
||||
[EFFECT_RAIN_DANCE] = 4,
|
||||
[EFFECT_SUNNY_DAY] = 4,
|
||||
[EFFECT_DEFENSE_UP_HIT] = 1,
|
||||
[EFFECT_ATTACK_UP_HIT] = 1,
|
||||
[EFFECT_ALL_STATS_UP_HIT] = 1,
|
||||
[EFFECT_UNUSED_8D] = 1,
|
||||
[EFFECT_BELLY_DRUM] = 7,
|
||||
[EFFECT_PURSUIT] = 2,
|
||||
[EFFECT_RAPID_SPIN] = 2,
|
||||
[EFFECT_SONICBOOM] = 1,
|
||||
[EFFECT_UNUSED_83] = 1,
|
||||
[EFFECT_MORNING_SUN] = 4,
|
||||
[EFFECT_SYNTHESIS] = 4,
|
||||
[EFFECT_MOONLIGHT] = 4,
|
||||
[EFFECT_HIDDEN_POWER] = 1,
|
||||
[EFFECT_RAIN_DANCE] = 4,
|
||||
[EFFECT_SUNNY_DAY] = 4,
|
||||
[EFFECT_DEFENSE_UP_HIT] = 1,
|
||||
[EFFECT_ATTACK_UP_HIT] = 1,
|
||||
[EFFECT_ALL_STATS_UP_HIT] = 1,
|
||||
[EFFECT_UNUSED_8D] = 1,
|
||||
[EFFECT_BELLY_DRUM] = 7,
|
||||
[EFFECT_PSYCH_UP] = 7,
|
||||
[EFFECT_MIRROR_COAT] = 6,
|
||||
[EFFECT_SKULL_BASH] = 3,
|
||||
[EFFECT_TWISTER] = 1,
|
||||
[EFFECT_MIRROR_COAT] = 6,
|
||||
[EFFECT_SKULL_BASH] = 3,
|
||||
[EFFECT_TWISTER] = 1,
|
||||
[EFFECT_EARTHQUAKE] = 1,
|
||||
[EFFECT_FUTURE_SIGHT] = 1,
|
||||
[EFFECT_GUST] = 1,
|
||||
[EFFECT_FLINCH_MINIMIZE_HIT] = 1,
|
||||
[EFFECT_SOLARBEAM] = 1,
|
||||
[EFFECT_THUNDER] = 1,
|
||||
[EFFECT_TELEPORT] = 1,
|
||||
[EFFECT_BEAT_UP] = 2,
|
||||
[EFFECT_SEMI_INVULNERABLE] = 3,
|
||||
[EFFECT_DEFENSE_CURL] = 1,
|
||||
[EFFECT_SOFTBOILED] = 1,
|
||||
[EFFECT_FAKE_OUT] = 4,
|
||||
[EFFECT_FUTURE_SIGHT] = 1,
|
||||
[EFFECT_GUST] = 1,
|
||||
[EFFECT_FLINCH_MINIMIZE_HIT] = 1,
|
||||
[EFFECT_SOLARBEAM] = 1,
|
||||
[EFFECT_THUNDER] = 1,
|
||||
[EFFECT_TELEPORT] = 1,
|
||||
[EFFECT_BEAT_UP] = 2,
|
||||
[EFFECT_SEMI_INVULNERABLE] = 3,
|
||||
[EFFECT_DEFENSE_CURL] = 1,
|
||||
[EFFECT_SOFTBOILED] = 1,
|
||||
[EFFECT_FAKE_OUT] = 4,
|
||||
[EFFECT_UPROAR] = 4,
|
||||
[EFFECT_STOCKPILE] = 3,
|
||||
[EFFECT_SPIT_UP] = 3,
|
||||
[EFFECT_SWALLOW] = 3,
|
||||
[EFFECT_UNUSED_A3] = 1,
|
||||
[EFFECT_HAIL] = 4,
|
||||
[EFFECT_TORMENT] = 7,
|
||||
[EFFECT_FLATTER] = 7,
|
||||
[EFFECT_WILL_O_WISP] = 5,
|
||||
[EFFECT_MEMENTO] = 7,
|
||||
[EFFECT_FACADE] = 1,
|
||||
[EFFECT_FOCUS_PUNCH] = 7,
|
||||
[EFFECT_SMELLINGSALT] = 1,
|
||||
[EFFECT_FOLLOW_ME] = 5,
|
||||
[EFFECT_NATURE_POWER] = 0,
|
||||
[EFFECT_CHARGE] = 4,
|
||||
[EFFECT_STOCKPILE] = 3,
|
||||
[EFFECT_SPIT_UP] = 3,
|
||||
[EFFECT_SWALLOW] = 3,
|
||||
[EFFECT_UNUSED_A3] = 1,
|
||||
[EFFECT_HAIL] = 4,
|
||||
[EFFECT_TORMENT] = 7,
|
||||
[EFFECT_FLATTER] = 7,
|
||||
[EFFECT_WILL_O_WISP] = 5,
|
||||
[EFFECT_MEMENTO] = 7,
|
||||
[EFFECT_FACADE] = 1,
|
||||
[EFFECT_FOCUS_PUNCH] = 7,
|
||||
[EFFECT_SMELLINGSALT] = 1,
|
||||
[EFFECT_FOLLOW_ME] = 5,
|
||||
[EFFECT_NATURE_POWER] = 0,
|
||||
[EFFECT_CHARGE] = 4,
|
||||
[EFFECT_TAUNT] = 4,
|
||||
[EFFECT_HELPING_HAND] = 4,
|
||||
[EFFECT_TRICK] = 4,
|
||||
[EFFECT_ROLE_PLAY] = 4,
|
||||
[EFFECT_WISH] = 2,
|
||||
[EFFECT_ASSIST] = 2,
|
||||
[EFFECT_INGRAIN] = 6,
|
||||
[EFFECT_SUPERPOWER] = 3,
|
||||
[EFFECT_MAGIC_COAT] = 6,
|
||||
[EFFECT_RECYCLE] = 4,
|
||||
[EFFECT_REVENGE] = 4,
|
||||
[EFFECT_BRICK_BREAK] = 2,
|
||||
[EFFECT_YAWN] = 5,
|
||||
[EFFECT_KNOCK_OFF] = 2,
|
||||
[EFFECT_ENDEAVOR] = 1,
|
||||
[EFFECT_ERUPTION] = 1,
|
||||
[EFFECT_HELPING_HAND] = 4,
|
||||
[EFFECT_TRICK] = 4,
|
||||
[EFFECT_ROLE_PLAY] = 4,
|
||||
[EFFECT_WISH] = 2,
|
||||
[EFFECT_ASSIST] = 2,
|
||||
[EFFECT_INGRAIN] = 6,
|
||||
[EFFECT_SUPERPOWER] = 3,
|
||||
[EFFECT_MAGIC_COAT] = 6,
|
||||
[EFFECT_RECYCLE] = 4,
|
||||
[EFFECT_REVENGE] = 4,
|
||||
[EFFECT_BRICK_BREAK] = 2,
|
||||
[EFFECT_YAWN] = 5,
|
||||
[EFFECT_KNOCK_OFF] = 2,
|
||||
[EFFECT_ENDEAVOR] = 1,
|
||||
[EFFECT_ERUPTION] = 1,
|
||||
[EFFECT_SKILL_SWAP] = 6,
|
||||
[EFFECT_IMPRISON] = 6,
|
||||
[EFFECT_REFRESH] = 6,
|
||||
[EFFECT_GRUDGE] = 1,
|
||||
[EFFECT_SNATCH] = 1,
|
||||
[EFFECT_LOW_KICK] = 1,
|
||||
[EFFECT_SECRET_POWER] = 1,
|
||||
[EFFECT_DOUBLE_EDGE] = 2,
|
||||
[EFFECT_TEETER_DANCE] = 6,
|
||||
[EFFECT_BLAZE_KICK] = 1,
|
||||
[EFFECT_MUD_SPORT] = 4,
|
||||
[EFFECT_POISON_FANG] = 1,
|
||||
[EFFECT_WEATHER_BALL] = 1,
|
||||
[EFFECT_OVERHEAT] = 3,
|
||||
[EFFECT_TICKLE] = 1,
|
||||
[EFFECT_COSMIC_POWER] = 1,
|
||||
[EFFECT_IMPRISON] = 6,
|
||||
[EFFECT_REFRESH] = 6,
|
||||
[EFFECT_GRUDGE] = 1,
|
||||
[EFFECT_SNATCH] = 1,
|
||||
[EFFECT_LOW_KICK] = 1,
|
||||
[EFFECT_SECRET_POWER] = 1,
|
||||
[EFFECT_DOUBLE_EDGE] = 2,
|
||||
[EFFECT_TEETER_DANCE] = 6,
|
||||
[EFFECT_BLAZE_KICK] = 1,
|
||||
[EFFECT_MUD_SPORT] = 4,
|
||||
[EFFECT_POISON_FANG] = 1,
|
||||
[EFFECT_WEATHER_BALL] = 1,
|
||||
[EFFECT_OVERHEAT] = 3,
|
||||
[EFFECT_TICKLE] = 1,
|
||||
[EFFECT_COSMIC_POWER] = 1,
|
||||
[EFFECT_SKY_UPPERCUT] = 1,
|
||||
[EFFECT_BULK_UP] = 1,
|
||||
[EFFECT_POISON_TAIL] = 1,
|
||||
[EFFECT_WATER_SPORT] = 4,
|
||||
[EFFECT_CALM_MIND] = 1,
|
||||
[EFFECT_DRAGON_DANCE] = 1,
|
||||
[EFFECT_BULK_UP] = 1,
|
||||
[EFFECT_POISON_TAIL] = 1,
|
||||
[EFFECT_WATER_SPORT] = 4,
|
||||
[EFFECT_CALM_MIND] = 1,
|
||||
[EFFECT_DRAGON_DANCE] = 1,
|
||||
[EFFECT_CAMOUFLAGE] = 3
|
||||
};
|
||||
|
||||
@@ -312,93 +312,93 @@ static const u16 sPoints_SetUp[] =
|
||||
{
|
||||
4, // Future Sight
|
||||
4, // Doom Desire
|
||||
6,
|
||||
6,
|
||||
6, // Wish
|
||||
7, // Grudge
|
||||
6,
|
||||
6,
|
||||
2 // Ingrain
|
||||
};
|
||||
static const u16 sPoints_RainMoves[] =
|
||||
{
|
||||
MOVE_BUBBLE, 3,
|
||||
MOVE_WHIRLPOOL, 3,
|
||||
MOVE_OCTAZOOKA, 3,
|
||||
MOVE_CLAMP, 3,
|
||||
MOVE_WITHDRAW, 3,
|
||||
MOVE_CRABHAMMER, 3,
|
||||
MOVE_WATER_SPOUT, 3,
|
||||
MOVE_BUBBLE, 3,
|
||||
MOVE_WHIRLPOOL, 3,
|
||||
MOVE_OCTAZOOKA, 3,
|
||||
MOVE_CLAMP, 3,
|
||||
MOVE_WITHDRAW, 3,
|
||||
MOVE_CRABHAMMER, 3,
|
||||
MOVE_WATER_SPOUT, 3,
|
||||
MOVE_DIVE, 3,
|
||||
MOVE_WATERFALL, 3,
|
||||
MOVE_MUDDY_WATER, 3,
|
||||
MOVE_SURF, 3,
|
||||
MOVE_HYDRO_CANNON, 3,
|
||||
MOVE_HYDRO_PUMP, 3,
|
||||
MOVE_BUBBLE_BEAM, 3,
|
||||
MOVE_WATERFALL, 3,
|
||||
MOVE_MUDDY_WATER, 3,
|
||||
MOVE_SURF, 3,
|
||||
MOVE_HYDRO_CANNON, 3,
|
||||
MOVE_HYDRO_PUMP, 3,
|
||||
MOVE_BUBBLE_BEAM, 3,
|
||||
MOVE_WATER_SPORT, 0, // Unnecessary, unlisted moves are already given 0 points
|
||||
MOVE_WATER_GUN, 3,
|
||||
MOVE_WATER_PULSE, 3,
|
||||
MOVE_WEATHER_BALL, 3,
|
||||
MOVE_THUNDER, 3,
|
||||
MOVE_SOLAR_BEAM, -4,
|
||||
MOVE_OVERHEAT, -4,
|
||||
MOVE_FLAME_WHEEL, -4,
|
||||
MOVE_FLAMETHROWER, -4,
|
||||
MOVE_WATER_PULSE, 3,
|
||||
MOVE_WEATHER_BALL, 3,
|
||||
MOVE_THUNDER, 3,
|
||||
MOVE_SOLAR_BEAM, -4,
|
||||
MOVE_OVERHEAT, -4,
|
||||
MOVE_FLAME_WHEEL, -4,
|
||||
MOVE_FLAMETHROWER, -4,
|
||||
MOVE_SACRED_FIRE, -4,
|
||||
MOVE_FIRE_BLAST, -4,
|
||||
MOVE_HEAT_WAVE, -4,
|
||||
MOVE_EMBER, -4,
|
||||
MOVE_BLAST_BURN, -4,
|
||||
MOVE_BLAZE_KICK, -4,
|
||||
MOVE_ERUPTION, -4,
|
||||
MOVE_FIRE_SPIN, -4,
|
||||
MOVE_FIRE_BLAST, -4,
|
||||
MOVE_HEAT_WAVE, -4,
|
||||
MOVE_EMBER, -4,
|
||||
MOVE_BLAST_BURN, -4,
|
||||
MOVE_BLAZE_KICK, -4,
|
||||
MOVE_ERUPTION, -4,
|
||||
MOVE_FIRE_SPIN, -4,
|
||||
MOVE_FIRE_PUNCH, -4,
|
||||
MOVE_SOLAR_BEAM, -4, // Repeated
|
||||
TABLE_END, 0
|
||||
};
|
||||
static const u16 sPoints_SunMoves[] =
|
||||
{
|
||||
MOVE_OVERHEAT, 3,
|
||||
MOVE_FLAME_WHEEL, 3,
|
||||
MOVE_FLAMETHROWER, 3,
|
||||
MOVE_SACRED_FIRE, 3,
|
||||
MOVE_FIRE_BLAST, 3,
|
||||
MOVE_HEAT_WAVE, 3,
|
||||
MOVE_EMBER, 3,
|
||||
MOVE_OVERHEAT, 3,
|
||||
MOVE_FLAME_WHEEL, 3,
|
||||
MOVE_FLAMETHROWER, 3,
|
||||
MOVE_SACRED_FIRE, 3,
|
||||
MOVE_FIRE_BLAST, 3,
|
||||
MOVE_HEAT_WAVE, 3,
|
||||
MOVE_EMBER, 3,
|
||||
MOVE_BLAST_BURN, 3,
|
||||
MOVE_BLAZE_KICK, 3,
|
||||
MOVE_ERUPTION, 3,
|
||||
MOVE_FIRE_SPIN, 3,
|
||||
MOVE_FIRE_PUNCH, 3,
|
||||
MOVE_SOLAR_BEAM, 5,
|
||||
MOVE_SYNTHESIS, 3,
|
||||
MOVE_MORNING_SUN, 3,
|
||||
MOVE_BLAZE_KICK, 3,
|
||||
MOVE_ERUPTION, 3,
|
||||
MOVE_FIRE_SPIN, 3,
|
||||
MOVE_FIRE_PUNCH, 3,
|
||||
MOVE_SOLAR_BEAM, 5,
|
||||
MOVE_SYNTHESIS, 3,
|
||||
MOVE_MORNING_SUN, 3,
|
||||
MOVE_MOONLIGHT, 3,
|
||||
MOVE_WEATHER_BALL, 3,
|
||||
MOVE_WEATHER_BALL, 3,
|
||||
TABLE_END, 0
|
||||
};
|
||||
static const u16 sPoints_SandstormMoves[] =
|
||||
{
|
||||
MOVE_WEATHER_BALL, 3,
|
||||
MOVE_SOLAR_BEAM, -3,
|
||||
MOVE_WEATHER_BALL, 3,
|
||||
MOVE_SOLAR_BEAM, -3,
|
||||
TABLE_END, 0
|
||||
};
|
||||
static const u16 sPoints_HailMoves[] =
|
||||
{
|
||||
MOVE_WEATHER_BALL, 3,
|
||||
MOVE_SOLAR_BEAM, -3,
|
||||
MOVE_WEATHER_BALL, 3,
|
||||
MOVE_SOLAR_BEAM, -3,
|
||||
TABLE_END, 0
|
||||
};
|
||||
static const u16 sPoints_ElectricMoves[] =
|
||||
{
|
||||
MOVE_THUNDERBOLT, 3,
|
||||
MOVE_THUNDER_PUNCH, 3,
|
||||
MOVE_SPARK, 3,
|
||||
MOVE_THUNDER_SHOCK, 3,
|
||||
MOVE_ZAP_CANNON, 3,
|
||||
MOVE_SHOCK_WAVE, 3,
|
||||
MOVE_THUNDERBOLT, 3,
|
||||
MOVE_THUNDER_PUNCH, 3,
|
||||
MOVE_SPARK, 3,
|
||||
MOVE_THUNDER_SHOCK, 3,
|
||||
MOVE_ZAP_CANNON, 3,
|
||||
MOVE_SHOCK_WAVE, 3,
|
||||
MOVE_THUNDER_WAVE, 0, // Unnecessary, unlisted moves are already given 0 points
|
||||
MOVE_THUNDER, 3,
|
||||
MOVE_VOLT_TACKLE, 3,
|
||||
MOVE_VOLT_TACKLE, 3,
|
||||
TABLE_END, 0
|
||||
};
|
||||
static const u16 sPoints_StatusDmg[] =
|
||||
@@ -407,7 +407,7 @@ static const u16 sPoints_StatusDmg[] =
|
||||
3, // Leech Seed
|
||||
3, // Poison
|
||||
3, // Toxic
|
||||
3, // Burn
|
||||
3, // Burn
|
||||
3, // Nightmare
|
||||
3 // Wrap (Trapping move)
|
||||
};
|
||||
@@ -434,62 +434,62 @@ static const u16 sPoints_Flinched[] = { 4 };
|
||||
|
||||
static const u16 sPoints_StatIncrease1[NUM_BATTLE_STATS - 1] =
|
||||
{
|
||||
[STAT_ATK - 1] = 2,
|
||||
[STAT_DEF - 1] = 2,
|
||||
[STAT_SPEED - 1] = 2,
|
||||
[STAT_SPATK - 1] = 2,
|
||||
[STAT_SPDEF - 1] = 2,
|
||||
[STAT_ACC - 1] = 2,
|
||||
[STAT_ATK - 1] = 2,
|
||||
[STAT_DEF - 1] = 2,
|
||||
[STAT_SPEED - 1] = 2,
|
||||
[STAT_SPATK - 1] = 2,
|
||||
[STAT_SPDEF - 1] = 2,
|
||||
[STAT_ACC - 1] = 2,
|
||||
[STAT_EVASION - 1] = 2
|
||||
};
|
||||
static const u16 sPoints_StatIncrease2[NUM_BATTLE_STATS - 1] =
|
||||
{
|
||||
[STAT_ATK - 1] = 4,
|
||||
[STAT_DEF - 1] = 4,
|
||||
[STAT_SPEED - 1] = 4,
|
||||
[STAT_SPATK - 1] = 4,
|
||||
[STAT_SPDEF - 1] = 4,
|
||||
[STAT_ACC - 1] = 4,
|
||||
[STAT_ATK - 1] = 4,
|
||||
[STAT_DEF - 1] = 4,
|
||||
[STAT_SPEED - 1] = 4,
|
||||
[STAT_SPATK - 1] = 4,
|
||||
[STAT_SPDEF - 1] = 4,
|
||||
[STAT_ACC - 1] = 4,
|
||||
[STAT_EVASION - 1] = 4
|
||||
};
|
||||
static const u16 sPoints_StatDecreaseSelf[NUM_BATTLE_STATS - 1] =
|
||||
{
|
||||
[STAT_ATK - 1] = -1,
|
||||
[STAT_DEF - 1] = -1,
|
||||
[STAT_SPEED - 1] = -1,
|
||||
[STAT_SPATK - 1] = -1,
|
||||
[STAT_SPDEF - 1] = -1,
|
||||
[STAT_ACC - 1] = -1,
|
||||
[STAT_ATK - 1] = -1,
|
||||
[STAT_DEF - 1] = -1,
|
||||
[STAT_SPEED - 1] = -1,
|
||||
[STAT_SPATK - 1] = -1,
|
||||
[STAT_SPDEF - 1] = -1,
|
||||
[STAT_ACC - 1] = -1,
|
||||
[STAT_EVASION - 1] = -1
|
||||
};
|
||||
static const u16 sPoints_StatDecrease1[NUM_BATTLE_STATS - 1] =
|
||||
{
|
||||
[STAT_ATK - 1] = 2,
|
||||
[STAT_DEF - 1] = 2,
|
||||
[STAT_SPEED - 1] = 2,
|
||||
[STAT_SPATK - 1] = 2,
|
||||
[STAT_SPDEF - 1] = 2,
|
||||
[STAT_ACC - 1] = 2,
|
||||
[STAT_ATK - 1] = 2,
|
||||
[STAT_DEF - 1] = 2,
|
||||
[STAT_SPEED - 1] = 2,
|
||||
[STAT_SPATK - 1] = 2,
|
||||
[STAT_SPDEF - 1] = 2,
|
||||
[STAT_ACC - 1] = 2,
|
||||
[STAT_EVASION - 1] = 2
|
||||
};
|
||||
static const u16 sPoints_StatDecrease2[NUM_BATTLE_STATS - 1] =
|
||||
{
|
||||
[STAT_ATK - 1] = 4,
|
||||
[STAT_DEF - 1] = 4,
|
||||
[STAT_SPEED - 1] = 4,
|
||||
[STAT_SPATK - 1] = 4,
|
||||
[STAT_SPDEF - 1] = 4,
|
||||
[STAT_ACC - 1] = 4,
|
||||
[STAT_ATK - 1] = 4,
|
||||
[STAT_DEF - 1] = 4,
|
||||
[STAT_SPEED - 1] = 4,
|
||||
[STAT_SPATK - 1] = 4,
|
||||
[STAT_SPDEF - 1] = 4,
|
||||
[STAT_ACC - 1] = 4,
|
||||
[STAT_EVASION - 1] = 4
|
||||
};
|
||||
static const u16 sPoints_StatIncreaseNotSelf[NUM_BATTLE_STATS - 1] =
|
||||
{
|
||||
[STAT_ATK - 1] = -2,
|
||||
[STAT_DEF - 1] = -2,
|
||||
[STAT_SPEED - 1] = -2,
|
||||
[STAT_ATK - 1] = -2,
|
||||
[STAT_DEF - 1] = -2,
|
||||
[STAT_SPEED - 1] = -2,
|
||||
[STAT_SPATK - 1] = -2,
|
||||
[STAT_SPDEF - 1] = -2,
|
||||
[STAT_ACC - 1] = -2,
|
||||
[STAT_SPDEF - 1] = -2,
|
||||
[STAT_ACC - 1] = -2,
|
||||
[STAT_EVASION - 1] = -2
|
||||
};
|
||||
|
||||
|
||||
+6
-6
@@ -3458,7 +3458,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
break;
|
||||
// copy/paste again, smh
|
||||
case HOLD_EFFECT_ATTACK_UP:
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam
|
||||
&& !moveTurn && gBattleMons[battlerId].statStages[STAT_ATK] < MAX_STAT_STAGE)
|
||||
{
|
||||
PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_ATK);
|
||||
@@ -3473,7 +3473,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_DEFENSE_UP:
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
&& gBattleMons[battlerId].statStages[STAT_DEF] < MAX_STAT_STAGE)
|
||||
{
|
||||
PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_DEF);
|
||||
@@ -3487,7 +3487,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_SPEED_UP:
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
&& gBattleMons[battlerId].statStages[STAT_SPEED] < MAX_STAT_STAGE)
|
||||
{
|
||||
PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPEED);
|
||||
@@ -3501,7 +3501,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_SP_ATTACK_UP:
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
&& gBattleMons[battlerId].statStages[STAT_SPATK] < MAX_STAT_STAGE)
|
||||
{
|
||||
PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPATK);
|
||||
@@ -3515,7 +3515,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_SP_DEFENSE_UP:
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
&& gBattleMons[battlerId].statStages[STAT_SPDEF] < MAX_STAT_STAGE)
|
||||
{
|
||||
PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPDEF);
|
||||
@@ -3529,7 +3529,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CRITICAL_UP:
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
&& !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY))
|
||||
{
|
||||
gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY;
|
||||
|
||||
+31
-31
@@ -402,17 +402,17 @@ static const struct WindowTemplate sYesNoWindowTemplate_ContinuePlaying =
|
||||
|
||||
static const s8 sPlayerArrowQuadrant[BLENDER_MAX_PLAYERS][2] =
|
||||
{
|
||||
{-1, -1},
|
||||
{ 1, -1},
|
||||
{-1, 1},
|
||||
{-1, -1},
|
||||
{ 1, -1},
|
||||
{-1, 1},
|
||||
{ 1, 1}
|
||||
};
|
||||
|
||||
static const u8 sPlayerArrowPos[BLENDER_MAX_PLAYERS][2] =
|
||||
{
|
||||
{ 72, 32},
|
||||
{168, 32},
|
||||
{ 72, 128},
|
||||
{ 72, 32},
|
||||
{168, 32},
|
||||
{ 72, 128},
|
||||
{168, 128}
|
||||
};
|
||||
|
||||
@@ -427,16 +427,16 @@ static const u8 sPlayerIdMap[BLENDER_MAX_PLAYERS - 1][BLENDER_MAX_PLAYERS] =
|
||||
// Blender arrow positions:
|
||||
//
|
||||
// 0x0000 (limit 0x10000)
|
||||
// . .
|
||||
// . .
|
||||
// . .
|
||||
// 0x4000 . . 0xC000
|
||||
// . .
|
||||
// . .
|
||||
// . .
|
||||
// . .
|
||||
// 0x8000
|
||||
//
|
||||
//
|
||||
static const u16 sArrowStartPos[] = {
|
||||
0,
|
||||
0,
|
||||
MAX_ARROW_POS / 4 * 3, // 0xC000
|
||||
MAX_ARROW_POS / 4, // 0x4000
|
||||
MAX_ARROW_POS / 4 * 2 // 0x8000
|
||||
@@ -446,8 +446,8 @@ static const u8 sArrowHitRangeStart[BLENDER_MAX_PLAYERS] = {32, 224, 96, 160};
|
||||
|
||||
static const TaskFunc sLocalOpponentTasks[] =
|
||||
{
|
||||
Task_HandleOpponent1,
|
||||
Task_HandleOpponent2,
|
||||
Task_HandleOpponent1,
|
||||
Task_HandleOpponent2,
|
||||
Task_HandleOpponent3
|
||||
};
|
||||
|
||||
@@ -873,7 +873,7 @@ static const u8 sOpponentBerrySets[NUM_NPC_BERRIES * 2][3] =
|
||||
{ITEM_TO_BERRY(ITEM_CHESTO_BERRY) - 1, ITEM_TO_BERRY(ITEM_CHERI_BERRY) - 1, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY) - 1}, // player chose Pecha Berry
|
||||
{ITEM_TO_BERRY(ITEM_PECHA_BERRY) - 1, ITEM_TO_BERRY(ITEM_CHESTO_BERRY) - 1, ITEM_TO_BERRY(ITEM_CHERI_BERRY) - 1}, // player chose Rawst Berry
|
||||
{ITEM_TO_BERRY(ITEM_RAWST_BERRY) - 1, ITEM_TO_BERRY(ITEM_PECHA_BERRY) - 1, ITEM_TO_BERRY(ITEM_CHESTO_BERRY) - 1}, // player chose Aspear Berry
|
||||
|
||||
|
||||
// These sets are used if the player chose a different berry (set is selected by player's berry % 5)
|
||||
{ITEM_TO_BERRY(ITEM_CHERI_BERRY) - 1, ITEM_TO_BERRY(ITEM_PECHA_BERRY) - 1, ITEM_TO_BERRY(ITEM_RAWST_BERRY) - 1}, // player chose Leppa, Figy, ...
|
||||
{ITEM_TO_BERRY(ITEM_CHESTO_BERRY) - 1, ITEM_TO_BERRY(ITEM_RAWST_BERRY) - 1, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY) - 1}, // player chose Oran, Wiki, ...
|
||||
@@ -885,14 +885,14 @@ static const u8 sOpponentBerrySets[NUM_NPC_BERRIES * 2][3] =
|
||||
// Berry master's berries follow the same rules as above, but instead of explicitly listing
|
||||
// the alternate sets if the player chooses one of these berries, it implicitly uses these berries - 5, i.e. Tamato - Nomel
|
||||
static const u8 sBerryMasterBerries[] = {
|
||||
ITEM_TO_BERRY(ITEM_SPELON_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_PAMTRE_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_WATMEL_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_DURIN_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_SPELON_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_PAMTRE_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_WATMEL_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_DURIN_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_BELUE_BERRY) - 1
|
||||
};
|
||||
|
||||
// "0 players" is link
|
||||
// "0 players" is link
|
||||
static const u8 sNumPlayersToSpeedDivisor[] = {1, 1, 2, 3, 4};
|
||||
|
||||
// Black pokeblocks will use one of these random combinations of flavors
|
||||
@@ -1191,11 +1191,11 @@ static void SetBerrySpriteData(struct Sprite* sprite, s16 x, s16 y, s16 bounceSp
|
||||
static void CreateBerrySprite(u16 a0, u8 playerId)
|
||||
{
|
||||
u8 spriteId = CreateSpinningBerrySprite(a0 + FIRST_BERRY_INDEX - 10, 0, 80, playerId & 1);
|
||||
SetBerrySpriteData(&gSprites[spriteId],
|
||||
sBerrySpriteData[playerId][0],
|
||||
sBerrySpriteData[playerId][1],
|
||||
sBerrySpriteData[playerId][2],
|
||||
sBerrySpriteData[playerId][3],
|
||||
SetBerrySpriteData(&gSprites[spriteId],
|
||||
sBerrySpriteData[playerId][0],
|
||||
sBerrySpriteData[playerId][1],
|
||||
sBerrySpriteData[playerId][2],
|
||||
sBerrySpriteData[playerId][3],
|
||||
sBerrySpriteData[playerId][4]);
|
||||
}
|
||||
|
||||
@@ -2135,12 +2135,12 @@ static void UpdateOpponentScores(void)
|
||||
// BUG: Should be [i][BLENDER_COMM_SCORE] below, not [BLENDER_COMM_SCORE][i]
|
||||
// As a result the music tempo updates if any player misses, but only if 1 specific player hits
|
||||
#ifdef BUGFIX
|
||||
if (gRecvCmds[i][BLENDER_COMM_SCORE] == LINKCMD_BLENDER_SCORE_MISS
|
||||
|| gRecvCmds[i][BLENDER_COMM_SCORE] == LINKCMD_BLENDER_SCORE_BEST
|
||||
if (gRecvCmds[i][BLENDER_COMM_SCORE] == LINKCMD_BLENDER_SCORE_MISS
|
||||
|| gRecvCmds[i][BLENDER_COMM_SCORE] == LINKCMD_BLENDER_SCORE_BEST
|
||||
|| gRecvCmds[i][BLENDER_COMM_SCORE] == LINKCMD_BLENDER_SCORE_GOOD)
|
||||
#else
|
||||
if (gRecvCmds[i][BLENDER_COMM_SCORE] == LINKCMD_BLENDER_SCORE_MISS
|
||||
|| gRecvCmds[BLENDER_COMM_SCORE][i] == LINKCMD_BLENDER_SCORE_BEST
|
||||
if (gRecvCmds[i][BLENDER_COMM_SCORE] == LINKCMD_BLENDER_SCORE_MISS
|
||||
|| gRecvCmds[BLENDER_COMM_SCORE][i] == LINKCMD_BLENDER_SCORE_BEST
|
||||
|| gRecvCmds[BLENDER_COMM_SCORE][i] == LINKCMD_BLENDER_SCORE_GOOD)
|
||||
#endif
|
||||
{
|
||||
@@ -2204,7 +2204,7 @@ static void HandlePlayerInput(void)
|
||||
sBerryBlender->speed--;
|
||||
sBerryBlender->slowdownTimer = 0;
|
||||
}
|
||||
|
||||
|
||||
if (gEnableContestDebugging && JOY_NEW(L_BUTTON))
|
||||
sBerryBlender->perfectOpponents ^= 1;
|
||||
}
|
||||
@@ -3030,10 +3030,10 @@ static void ProcessLinkPlayerCmds(void)
|
||||
sBerryBlender->playerContinueResponses[0] = LINKCMD_SEND_LINK_TYPE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// If player is link leader, check for responses to the "Continue playing" prompt (even if it's not up yet)
|
||||
if (GetMultiplayerId() == 0
|
||||
&& sBerryBlender->playerContinueResponses[0] != LINKCMD_BLENDER_STOP
|
||||
if (GetMultiplayerId() == 0
|
||||
&& sBerryBlender->playerContinueResponses[0] != LINKCMD_BLENDER_STOP
|
||||
&& sBerryBlender->playerContinueResponses[0] != LINKCMD_SEND_LINK_TYPE)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
+152
-152
@@ -171,7 +171,7 @@ enum {
|
||||
#define INPUT_FLAG_MASK ((1 << INPUT_FLAGS_PER_PLAYER) - 1)
|
||||
|
||||
// Values for the inputState field
|
||||
enum {
|
||||
enum {
|
||||
INPUT_STATE_NONE,
|
||||
INPUT_STATE_HIT, // Hit the crusher
|
||||
INPUT_STATE_HIT_SYNC, // Hit the crusher at same time as another player
|
||||
@@ -241,7 +241,7 @@ struct BerryCrushGame_Results
|
||||
};
|
||||
|
||||
// playerIdsRanked above has 3 additional elements after the players.
|
||||
// Only 1 of these 2*3 is ever used, and it stores the id for which
|
||||
// Only 1 of these 2*3 is ever used, and it stores the id for which
|
||||
// random results page to show. Its define below is for readability.
|
||||
#define randomPageId playerIdsRanked[0][7]
|
||||
|
||||
@@ -369,33 +369,33 @@ static u32 Cmd_Quit(struct BerryCrushGame *, u8 *);
|
||||
|
||||
static EWRAM_DATA struct BerryCrushGame *sGame = NULL;
|
||||
|
||||
static const u8 sBitTable[] = {
|
||||
1 << 0,
|
||||
1 << 1,
|
||||
1 << 2,
|
||||
1 << 3,
|
||||
1 << 4,
|
||||
1 << 5,
|
||||
1 << 6,
|
||||
1 << 7
|
||||
static const u8 sBitTable[] = {
|
||||
1 << 0,
|
||||
1 << 1,
|
||||
1 << 2,
|
||||
1 << 3,
|
||||
1 << 4,
|
||||
1 << 5,
|
||||
1 << 6,
|
||||
1 << 7
|
||||
};
|
||||
// Additional A presses are counted depending on the number of players
|
||||
// The bonus of 5 is unobtainable
|
||||
static const u8 sSyncPressBonus[MAX_RFU_PLAYERS] = { 0, 1, 2, 3, 5 };
|
||||
ALIGNED(4)
|
||||
static const s8 sIntroOutroVibrationData[][7] =
|
||||
static const s8 sIntroOutroVibrationData[][7] =
|
||||
{
|
||||
{ 4, 1, 0, -1, 0, 0, 0},
|
||||
{ 4, 2, 0, -1, 0, 0, 0},
|
||||
{ 4, 2, 0, -2, 0, 0, 0},
|
||||
{ 6, 3, 1, -1, -3, -1, 0},
|
||||
{ 4, 1, 0, -1, 0, 0, 0},
|
||||
{ 4, 2, 0, -1, 0, 0, 0},
|
||||
{ 4, 2, 0, -2, 0, 0, 0},
|
||||
{ 6, 3, 1, -1, -3, -1, 0},
|
||||
{ 6, 4, 1, -2, -4, -2, 0},
|
||||
};
|
||||
|
||||
ALIGNED(4)
|
||||
static const u8 sVibrationData[MAX_RFU_PLAYERS][4] =
|
||||
static const u8 sVibrationData[MAX_RFU_PLAYERS][4] =
|
||||
{
|
||||
{3, 2, 1, 0},
|
||||
{3, 2, 1, 0},
|
||||
{3, 3, 1, 0},
|
||||
{3, 3, 2, 0},
|
||||
{3, 4, 2, 0},
|
||||
@@ -433,7 +433,7 @@ static const struct BgTemplate sBgTemplates[4] =
|
||||
.screenSize = 2,
|
||||
.paletteMode = 0,
|
||||
.priority = 1,
|
||||
.baseTile = 0,
|
||||
.baseTile = 0,
|
||||
},
|
||||
{
|
||||
.bg = 2,
|
||||
@@ -442,7 +442,7 @@ static const struct BgTemplate sBgTemplates[4] =
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 2,
|
||||
.baseTile = 0,
|
||||
.baseTile = 0,
|
||||
},
|
||||
{
|
||||
.bg = 3,
|
||||
@@ -451,7 +451,7 @@ static const struct BgTemplate sBgTemplates[4] =
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 3,
|
||||
.baseTile = 0,
|
||||
.baseTile = 0,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -468,11 +468,11 @@ static const u8 sTextColorTable[][3] =
|
||||
|
||||
static const struct WindowTemplate sWindowTemplate_Rankings =
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 3,
|
||||
.tilemapTop = 4,
|
||||
.width = 24,
|
||||
.height = 13,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 3,
|
||||
.tilemapTop = 4,
|
||||
.width = 24,
|
||||
.height = 13,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 1
|
||||
};
|
||||
@@ -480,48 +480,48 @@ static const struct WindowTemplate sWindowTemplate_Rankings =
|
||||
static const struct WindowTemplate sWindowTemplates_PlayerNames[MAX_RFU_PLAYERS + 1] =
|
||||
{
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 0,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 0,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.baseBlock = 1005
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 3,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 3,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.baseBlock = 987
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 6,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 6,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.baseBlock = 969
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 21,
|
||||
.tilemapTop = 3,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 21,
|
||||
.tilemapTop = 3,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.baseBlock = 951
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 21,
|
||||
.tilemapTop = 6,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 21,
|
||||
.tilemapTop = 6,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 8,
|
||||
.baseBlock = 933
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE,
|
||||
@@ -530,30 +530,30 @@ static const struct WindowTemplate sWindowTemplates_PlayerNames[MAX_RFU_PLAYERS
|
||||
static const struct WindowTemplate sWindowTemplates_Results[] =
|
||||
{
|
||||
[STATE_RESULTS_PRESSES - RESULTS_STATE_START] = {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 2,
|
||||
.width = 20,
|
||||
.height = 16,
|
||||
.paletteNum = 15,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 2,
|
||||
.width = 20,
|
||||
.height = 16,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 1
|
||||
},
|
||||
[STATE_RESULTS_RANDOM - RESULTS_STATE_START] = {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 2,
|
||||
.width = 20,
|
||||
.height = 16,
|
||||
.paletteNum = 15,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 2,
|
||||
.width = 20,
|
||||
.height = 16,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 1
|
||||
},
|
||||
[STATE_RESULTS_CRUSHING - RESULTS_STATE_START] = {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 4,
|
||||
.tilemapTop = 2,
|
||||
.width = 22,
|
||||
.height = 16,
|
||||
.paletteNum = 15,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 4,
|
||||
.tilemapTop = 2,
|
||||
.width = 22,
|
||||
.height = 16,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 1
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE,
|
||||
@@ -567,7 +567,7 @@ static const u8 sResultsWindowHeights[][MAX_RFU_PLAYERS - 1] =
|
||||
{12, 14, 15, 16}, // "Crushing" page
|
||||
};
|
||||
|
||||
static const u32 sPressingSpeedConversionTable[] =
|
||||
static const u32 sPressingSpeedConversionTable[] =
|
||||
{
|
||||
50000000, // 50
|
||||
25000000, // 25
|
||||
@@ -590,9 +590,9 @@ static const u8 sCrusherTop_Tilemap[] = INCBIN_U8("graphics/berry_crush/crushe
|
||||
static const u8 sContainerCap_Tilemap[] = INCBIN_U8("graphics/berry_crush/container_cap.bin.lz");
|
||||
static const u8 sBg_Tilemap[] = INCBIN_U8("graphics/berry_crush/bg.bin.lz");
|
||||
|
||||
// Takes the number of players - 2 and a player id and returns the
|
||||
// Takes the number of players - 2 and a player id and returns the
|
||||
// index into sPlayerCoords where that player should be seated
|
||||
static const u8 sPlayerIdToPosId[MAX_RFU_PLAYERS - 1][MAX_RFU_PLAYERS] =
|
||||
static const u8 sPlayerIdToPosId[MAX_RFU_PLAYERS - 1][MAX_RFU_PLAYERS] =
|
||||
{
|
||||
{1, 3},
|
||||
{0, 1, 3},
|
||||
@@ -672,18 +672,18 @@ static const s8 sSparkleCoords[][2] =
|
||||
{ 40, -16},
|
||||
};
|
||||
|
||||
static const u16 sPlayerBerrySpriteTags[MAX_RFU_PLAYERS] =
|
||||
static const u16 sPlayerBerrySpriteTags[MAX_RFU_PLAYERS] =
|
||||
{
|
||||
TAG_PLAYER1_BERRY,
|
||||
TAG_PLAYER2_BERRY,
|
||||
TAG_PLAYER3_BERRY,
|
||||
TAG_PLAYER4_BERRY,
|
||||
TAG_PLAYER1_BERRY,
|
||||
TAG_PLAYER2_BERRY,
|
||||
TAG_PLAYER3_BERRY,
|
||||
TAG_PLAYER4_BERRY,
|
||||
TAG_PLAYER5_BERRY
|
||||
};
|
||||
|
||||
// sTimerDigits_Gfx is part of this array but is (apparently) uncompressed
|
||||
// It gets cast to raw uncompressed data when used in sDigitObjTemplates
|
||||
static const struct CompressedSpriteSheet sSpriteSheets[] =
|
||||
static const struct CompressedSpriteSheet sSpriteSheets[] =
|
||||
{
|
||||
{ .data = sCrusherBase_Gfx, .size = 0x800, .tag = TAG_CRUSHER_BASE },
|
||||
{ .data = sImpact_Gfx, .size = 0xE00, .tag = GFXTAG_IMPACT },
|
||||
@@ -727,23 +727,23 @@ static const union AnimCmd sAnim_Impact_Big[] =
|
||||
static const union AnimCmd sAnim_Sparkle_Small[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 2),
|
||||
ANIMCMD_FRAME(4, 2),
|
||||
ANIMCMD_FRAME(4, 2),
|
||||
ANIMCMD_FRAME(8, 2),
|
||||
ANIMCMD_FRAME(12, 2),
|
||||
ANIMCMD_FRAME(16, 2),
|
||||
ANIMCMD_FRAME(20, 2),
|
||||
ANIMCMD_FRAME(16, 2),
|
||||
ANIMCMD_FRAME(20, 2),
|
||||
ANIMCMD_JUMP(0)
|
||||
};
|
||||
|
||||
static const union AnimCmd sAnim_Sparkle_Big[] =
|
||||
{
|
||||
ANIMCMD_FRAME(24, 4),
|
||||
ANIMCMD_FRAME(28, 4),
|
||||
ANIMCMD_FRAME(32, 4),
|
||||
ANIMCMD_FRAME(24, 4),
|
||||
ANIMCMD_FRAME(28, 4),
|
||||
ANIMCMD_FRAME(32, 4),
|
||||
ANIMCMD_FRAME(36, 4),
|
||||
ANIMCMD_FRAME(40, 4),
|
||||
ANIMCMD_FRAME(44, 4),
|
||||
ANIMCMD_FRAME(48, 4),
|
||||
ANIMCMD_FRAME(40, 4),
|
||||
ANIMCMD_FRAME(44, 4),
|
||||
ANIMCMD_FRAME(48, 4),
|
||||
ANIMCMD_FRAME(52, 4),
|
||||
ANIMCMD_JUMP(0)
|
||||
};
|
||||
@@ -756,7 +756,7 @@ static const union AnimCmd sAnim_Timer[] =
|
||||
|
||||
static const union AnimCmd sAnim_PlayerBerry[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 0),
|
||||
ANIMCMD_FRAME(0, 0),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
@@ -810,68 +810,68 @@ static const union AffineAnimCmd *const sAffineAnims_PlayerBerry[] =
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_CrusherBase =
|
||||
{
|
||||
.tileTag = TAG_CRUSHER_BASE,
|
||||
.paletteTag = TAG_CRUSHER_BASE,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_64x64,
|
||||
.anims = sAnims_CrusherBase,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.tileTag = TAG_CRUSHER_BASE,
|
||||
.paletteTag = TAG_CRUSHER_BASE,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_64x64,
|
||||
.anims = sAnims_CrusherBase,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_Impact =
|
||||
{
|
||||
.tileTag = GFXTAG_IMPACT,
|
||||
.paletteTag = PALTAG_EFFECT,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_Impact,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.paletteTag = PALTAG_EFFECT,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_32x32,
|
||||
.anims = sAnims_Impact,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_Impact
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_Sparkle =
|
||||
{
|
||||
.tileTag = GFXTAG_SPARKLE,
|
||||
.paletteTag = PALTAG_EFFECT,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x16,
|
||||
.anims = sAnims_Sparkle,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.tileTag = GFXTAG_SPARKLE,
|
||||
.paletteTag = PALTAG_EFFECT,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x16,
|
||||
.anims = sAnims_Sparkle,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_Timer =
|
||||
{
|
||||
.tileTag = TAG_TIMER_DIGITS,
|
||||
.paletteTag = TAG_TIMER_DIGITS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_8x16,
|
||||
.anims = sAnims_Timer,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.tileTag = TAG_TIMER_DIGITS,
|
||||
.paletteTag = TAG_TIMER_DIGITS,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_8x16,
|
||||
.anims = sAnims_Timer,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate sSpriteTemplate_PlayerBerry =
|
||||
{
|
||||
.tileTag = TAG_PLAYER1_BERRY,
|
||||
.paletteTag = TAG_PLAYER1_BERRY,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
|
||||
.anims = sAnims_PlayerBerry,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_PlayerBerry,
|
||||
.tileTag = TAG_PLAYER1_BERRY,
|
||||
.paletteTag = TAG_PLAYER1_BERRY,
|
||||
.oam = &gOamData_AffineDouble_ObjNormal_32x32,
|
||||
.anims = sAnims_PlayerBerry,
|
||||
.images = NULL,
|
||||
.affineAnims = sAffineAnims_PlayerBerry,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
static const struct DigitObjUtilTemplate sDigitObjTemplates[] =
|
||||
static const struct DigitObjUtilTemplate sDigitObjTemplates[] =
|
||||
{
|
||||
{ // Minutes
|
||||
.strConvMode = 1,
|
||||
.shape = 2,
|
||||
.size = 0,
|
||||
.priority = 0,
|
||||
.oamCount = 2,
|
||||
.xDelta = 8,
|
||||
.oamCount = 2,
|
||||
.xDelta = 8,
|
||||
.x = 156,
|
||||
.y = 0,
|
||||
.spriteSheet = (void*) &sSpriteSheets[3],
|
||||
@@ -882,8 +882,8 @@ static const struct DigitObjUtilTemplate sDigitObjTemplates[] =
|
||||
.shape = 2,
|
||||
.size = 0,
|
||||
.priority = 0,
|
||||
.oamCount = 2,
|
||||
.xDelta = 8,
|
||||
.oamCount = 2,
|
||||
.xDelta = 8,
|
||||
.x = 180,
|
||||
.y = 0,
|
||||
.spriteSheet = (void*) &sSpriteSheets[3],
|
||||
@@ -894,8 +894,8 @@ static const struct DigitObjUtilTemplate sDigitObjTemplates[] =
|
||||
.shape = 2,
|
||||
.size = 0,
|
||||
.priority = 0,
|
||||
.oamCount = 2,
|
||||
.xDelta = 8,
|
||||
.oamCount = 2,
|
||||
.xDelta = 8,
|
||||
.x = 204,
|
||||
.y = 0,
|
||||
.spriteSheet = (void*) &sSpriteSheets[3],
|
||||
@@ -944,7 +944,7 @@ static u32 (*const sBerryCrushCommands[])(struct BerryCrushGame * game, u8 * dat
|
||||
[CMD_QUIT] = Cmd_Quit,
|
||||
};
|
||||
|
||||
// Per group size, the number of A presses required to increase the number of sparkles.
|
||||
// Per group size, the number of A presses required to increase the number of sparkles.
|
||||
static const u8 sSparkleThresholds[MAX_RFU_PLAYERS - 1][4] =
|
||||
{
|
||||
{2, 4, 6, 7}, // 2 players
|
||||
@@ -1472,7 +1472,7 @@ static void UpdateInputEffects(struct BerryCrushGame *game, struct BerryCrushGam
|
||||
|
||||
numPlayersPressed = 0;
|
||||
linkState = (struct BerryCrushGame_LinkState *)game->recvCmd;
|
||||
|
||||
|
||||
// Read inputs and update impact effects
|
||||
for (i = 0; i < game->playerCount; i++)
|
||||
{
|
||||
@@ -1698,13 +1698,13 @@ static void PrintCrushingResults(struct BerryCrushGame *game)
|
||||
StringExpandPlaceholders(gStringVar4, gText_StrVar1);
|
||||
x -= GetStringWidth(2, gStringVar4, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
|
||||
|
||||
// Print pressing speed text
|
||||
y += 14;
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, 0, y, sTextColorTable[COLORID_GRAY], 0, gText_PressingSpeed);
|
||||
x = 176 - (u8)GetStringWidth(2, gText_TimesPerSec, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gText_TimesPerSec);
|
||||
|
||||
|
||||
// Print pressing speed value
|
||||
for (i = 0; i < 8; i++)
|
||||
if (((u8)game->pressingSpeed >> (7 - i)) & 1)
|
||||
@@ -1802,7 +1802,7 @@ static void Task_ShowRankings(u8 taskId)
|
||||
u8 i = 0, j, xPos, yPos;
|
||||
u32 score = 0;
|
||||
s16 *data = gTasks[taskId].data;
|
||||
|
||||
|
||||
switch (tState)
|
||||
{
|
||||
case 0:
|
||||
@@ -1818,7 +1818,7 @@ static void Task_ShowRankings(u8 taskId)
|
||||
AddTextPrinterParameterized3(tWindowId, 1, xPos, 1, sTextColorTable[COLORID_BLUE], 0, gText_BerryCrush2);
|
||||
xPos = 96 - GetStringWidth(1, gText_PressingSpeedRankings, -1) / 2u;
|
||||
AddTextPrinterParameterized3(tWindowId, 1, xPos, 17, sTextColorTable[COLORID_BLUE], 0, gText_PressingSpeedRankings);
|
||||
|
||||
|
||||
// Print pressing speed record for each group size, ranked
|
||||
yPos = 41;
|
||||
for (i = 0; i < MAX_RFU_PLAYERS - 1; i++)
|
||||
@@ -1977,7 +1977,7 @@ static void CreateGameSprites(struct BerryCrushGame *game)
|
||||
for (i = 0; i < ARRAY_COUNT(sSpriteSheets) - 1; i++)
|
||||
LoadCompressedSpriteSheet(&sSpriteSheets[i]);
|
||||
LoadSpritePalettes(sSpritePals);
|
||||
|
||||
|
||||
// Create sprite for crusher base
|
||||
spriteId = CreateSprite(&sSpriteTemplate_CrusherBase, 120, 88, 5);
|
||||
game->gfx.coreSprite = &gSprites[spriteId];
|
||||
@@ -2372,7 +2372,7 @@ static u32 Cmd_WaitForOthersToPickBerries(struct BerryCrushGame *game, u8 *args)
|
||||
case 2:
|
||||
if (!IsLinkTaskFinished())
|
||||
return 0;
|
||||
|
||||
|
||||
// Send player's chosen berry to partners
|
||||
memset(game->sendCmd, 0, sizeof(game->sendCmd));
|
||||
game->sendCmd[0] = game->players[game->localId].berryId;
|
||||
@@ -2563,13 +2563,13 @@ static void HandlePartnerInput(struct BerryCrushGame *game)
|
||||
for (i = 0; i < game->playerCount; i++)
|
||||
{
|
||||
linkState = (struct BerryCrushGame_LinkState *)gRecvCmds[i];
|
||||
|
||||
|
||||
// Skip player if we have not received a packet from them
|
||||
if ((linkState->rfuCmd & 0xFF00) != RFUCMD_SEND_PACKET)
|
||||
continue;
|
||||
if (linkState->sendFlag != SEND_GAME_STATE)
|
||||
continue;
|
||||
|
||||
|
||||
if (linkState->pushedAButton)
|
||||
{
|
||||
game->localState.playerPressedAFlags |= sBitTable[i];
|
||||
@@ -2577,10 +2577,10 @@ static void HandlePartnerInput(struct BerryCrushGame *game)
|
||||
game->players[i].numAPresses++;
|
||||
numPlayersPressed++;
|
||||
timeDiff = game->timer - game->players[i].inputTime;
|
||||
|
||||
|
||||
// If the interval between inputs is regular, the input is considered "neat"
|
||||
// This counts toward the player's neatness score
|
||||
if (timeDiff >= game->players[i].timeSincePrevInput - 1
|
||||
if (timeDiff >= game->players[i].timeSincePrevInput - 1
|
||||
&& timeDiff <= game->players[i].timeSincePrevInput + 1)
|
||||
{
|
||||
// On neat input streak
|
||||
@@ -2595,7 +2595,7 @@ static void HandlePartnerInput(struct BerryCrushGame *game)
|
||||
game->players[i].neatInputStreak = 0;
|
||||
game->players[i].timeSincePrevInput = timeDiff;
|
||||
}
|
||||
|
||||
|
||||
game->players[i].inputTime = game->timer;
|
||||
game->players[i].inputFlags++;
|
||||
if (game->players[i].inputFlags > F_INPUT_HIT_B)
|
||||
@@ -2637,7 +2637,7 @@ static void HandlePartnerInput(struct BerryCrushGame *game)
|
||||
|
||||
// Target number of A presses has been reached, game is complete
|
||||
game->newDepth = 32;
|
||||
game->localState.endGame = TRUE;
|
||||
game->localState.endGame = TRUE;
|
||||
}
|
||||
|
||||
// Updates the crusher, input flags, and timer to send to group members
|
||||
@@ -2648,7 +2648,7 @@ static void UpdateLeaderGameState(struct BerryCrushGame *game)
|
||||
u16 flags = 0;
|
||||
u16 temp = 0;
|
||||
u8 i = 0;
|
||||
|
||||
|
||||
for (i = 0; i < game->playerCount; i++)
|
||||
{
|
||||
if (game->players[i].inputState != INPUT_STATE_NONE)
|
||||
@@ -2727,7 +2727,7 @@ static void HandlePlayerInput(struct BerryCrushGame *game)
|
||||
if (game->localId != 0 && !game->localState.pushedAButton)
|
||||
return;
|
||||
game->localState.sendFlag = SEND_GAME_STATE;
|
||||
|
||||
|
||||
// Every 30 frames, check whether the sparkles produced should be big,
|
||||
// depending on how many A presses there were in that time
|
||||
if (game->timer % 30 == 0)
|
||||
@@ -2744,7 +2744,7 @@ static void HandlePlayerInput(struct BerryCrushGame *game)
|
||||
game->bigSparkleCounter = 0;
|
||||
game->numBigSparkleChecks++;
|
||||
}
|
||||
|
||||
|
||||
// Every 15 frames, update the amount of sparkles that should be produced,
|
||||
// depending on how many A presses there were in that time (including the bonus)
|
||||
if (game->timer % 15 == 0)
|
||||
@@ -2787,7 +2787,7 @@ static void HandlePlayerInput(struct BerryCrushGame *game)
|
||||
game->cmdTimer = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
if (game->timer >= MAX_TIME)
|
||||
game->localState.endGame = TRUE;
|
||||
@@ -3056,14 +3056,14 @@ static u32 Cmd_TabulateResults(struct BerryCrushGame *game, u8 *args)
|
||||
game->results.playerIdsRanked[RESULTS_PAGE_RANDOM][i] = i;
|
||||
game->results.stats[RESULTS_PAGE_PRESSES][i] = game->players[i].numAPresses;
|
||||
game->results.totalAPresses += game->results.stats[RESULTS_PAGE_PRESSES][i];
|
||||
|
||||
|
||||
// Calculate value for random second results page
|
||||
switch (game->results.randomPageId)
|
||||
{
|
||||
case RESULTS_PAGE_NEATNESS:
|
||||
if (game->players[i].numAPresses != 0)
|
||||
{
|
||||
// Calculate percentage of inputs that were in largest "neat" streak
|
||||
// Calculate percentage of inputs that were in largest "neat" streak
|
||||
// "Neat" inputs are those done at a regular interval
|
||||
temp1 = game->players[i].maxNeatInputStreak;
|
||||
temp1 = Q_24_8(temp1);
|
||||
@@ -3129,7 +3129,7 @@ static u32 Cmd_TabulateResults(struct BerryCrushGame *game, u8 *args)
|
||||
// Calculate player rankings for "Number of Presses" by sorting arrays
|
||||
if (game->results.stats[RESULTS_PAGE_PRESSES][j - 1] < game->results.stats[RESULTS_PAGE_PRESSES][j])
|
||||
{
|
||||
SWAP(game->results.stats[RESULTS_PAGE_PRESSES][j],
|
||||
SWAP(game->results.stats[RESULTS_PAGE_PRESSES][j],
|
||||
game->results.stats[RESULTS_PAGE_PRESSES][j - 1],
|
||||
tempStat);
|
||||
SWAP(game->results.playerIdsRanked[RESULTS_PAGE_PRESSES][j],
|
||||
@@ -3139,7 +3139,7 @@ static u32 Cmd_TabulateResults(struct BerryCrushGame *game, u8 *args)
|
||||
// Calculate player rankings for random second results page by sorting arrays
|
||||
if (game->results.stats[RESULTS_PAGE_RANDOM][j - 1] < game->results.stats[RESULTS_PAGE_RANDOM][j])
|
||||
{
|
||||
SWAP(game->results.stats[RESULTS_PAGE_RANDOM][j],
|
||||
SWAP(game->results.stats[RESULTS_PAGE_RANDOM][j],
|
||||
game->results.stats[RESULTS_PAGE_RANDOM][j - 1],
|
||||
tempStat);
|
||||
SWAP(game->results.playerIdsRanked[RESULTS_PAGE_RANDOM][j],
|
||||
@@ -3319,7 +3319,7 @@ static u32 Cmd_CommunicatePlayAgainResponses(struct BerryCrushGame *game, u8 *ar
|
||||
case 1:
|
||||
if (!IsLinkTaskFinished())
|
||||
return 0;
|
||||
|
||||
|
||||
// Send player's Yes/No response to partners
|
||||
game->sendCmd[0] = game->playAgainState;
|
||||
game->recvCmd[0] = 0;
|
||||
|
||||
+47
-47
@@ -51,20 +51,20 @@ static const u8 sText_TransmissionFailureTryAgain[] = _("Transmission failure.\n
|
||||
|
||||
static const struct BgTemplate sBerryFixBgTemplates[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.charBaseIndex = 0,
|
||||
.mapBaseIndex = 30,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.bg = 0,
|
||||
.charBaseIndex = 0,
|
||||
.mapBaseIndex = 30,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 0,
|
||||
.baseTile = 0
|
||||
},
|
||||
},
|
||||
{
|
||||
.bg = 1,
|
||||
.charBaseIndex = 1,
|
||||
.mapBaseIndex = 31,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.bg = 1,
|
||||
.charBaseIndex = 1,
|
||||
.mapBaseIndex = 31,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 1,
|
||||
.baseTile = 0
|
||||
}
|
||||
@@ -72,39 +72,39 @@ static const struct BgTemplate sBerryFixBgTemplates[] = {
|
||||
|
||||
static const struct WindowTemplate sBerryFixWindowTemplates[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 4,
|
||||
.width = 26,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 4,
|
||||
.width = 26,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 1
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 11,
|
||||
.width = 28,
|
||||
.height = 8,
|
||||
.paletteNum = 15,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 11,
|
||||
.width = 28,
|
||||
.height = 8,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 53
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 8,
|
||||
.width = 30,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0,
|
||||
.tilemapTop = 8,
|
||||
.width = 30,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 277
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 8,
|
||||
.tilemapTop = 0,
|
||||
.width = 14,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 8,
|
||||
.tilemapTop = 0,
|
||||
.width = 14,
|
||||
.height = 2,
|
||||
.paletteNum = 15,
|
||||
.baseBlock = 337
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE
|
||||
@@ -148,27 +148,27 @@ static const struct {
|
||||
gBerryFixGameboy_Gfx,
|
||||
gBerryFixGameboy_Tilemap,
|
||||
gBerryFixGameboy_Pal
|
||||
},
|
||||
},
|
||||
[SCENE_TURN_OFF_POWER] = {
|
||||
gBerryFixGameboyLogo_Gfx,
|
||||
gBerryFixGameboyLogo_Tilemap,
|
||||
gBerryFixGameboyLogo_Pal
|
||||
},
|
||||
},
|
||||
[SCENE_TRANSMITTING] = {
|
||||
gBerryFixGbaTransfer_Gfx,
|
||||
gBerryFixGbaTransfer_Tilemap,
|
||||
gBerryFixGbaTransfer_Pal
|
||||
},
|
||||
},
|
||||
[SCENE_FOLLOW_INSTRUCT] = {
|
||||
gBerryFixGbaTransferHighlight_Gfx,
|
||||
gBerryFixGbaTransferHighlight_Tilemap,
|
||||
gBerryFixGbaTransferHighlight_Pal
|
||||
},
|
||||
},
|
||||
[SCENE_TRANSMIT_FAILED] = {
|
||||
gBerryFixGbaTransferError_Gfx,
|
||||
gBerryFixGbaTransferError_Tilemap,
|
||||
gBerryFixGbaTransferError_Pal
|
||||
},
|
||||
},
|
||||
[SCENE_BEGIN] = {
|
||||
gBerryFixWindow_Gfx,
|
||||
gBerryFixWindow_Tilemap,
|
||||
@@ -242,22 +242,22 @@ static void BerryFix_Main(void)
|
||||
}
|
||||
else if (++sBerryFix->timer > 180)
|
||||
{
|
||||
MultiBootStartMaster(&sBerryFix->mb,
|
||||
gMultiBootProgram_BerryGlitchFix_Start + ROM_HEADER_SIZE,
|
||||
(u32)(gMultiBootProgram_BerryGlitchFix_End - (gMultiBootProgram_BerryGlitchFix_Start + ROM_HEADER_SIZE)),
|
||||
4,
|
||||
MultiBootStartMaster(&sBerryFix->mb,
|
||||
gMultiBootProgram_BerryGlitchFix_Start + ROM_HEADER_SIZE,
|
||||
(u32)(gMultiBootProgram_BerryGlitchFix_End - (gMultiBootProgram_BerryGlitchFix_Start + ROM_HEADER_SIZE)),
|
||||
4,
|
||||
1);
|
||||
sBerryFix->state = MAINSTATE_TRANSMIT;
|
||||
}
|
||||
break;
|
||||
case MAINSTATE_TRANSMIT:
|
||||
if (TryScene(SCENE_TRANSMITTING))
|
||||
if (TryScene(SCENE_TRANSMITTING))
|
||||
{
|
||||
MultiBootMain(&sBerryFix->mb);
|
||||
|
||||
if (MultiBootCheckComplete(&sBerryFix->mb))
|
||||
if (MultiBootCheckComplete(&sBerryFix->mb))
|
||||
sBerryFix->state = MAINSTATE_EXIT;
|
||||
else if (!(sBerryFix->mb.client_bit & 2))
|
||||
else if (!(sBerryFix->mb.client_bit & 2))
|
||||
sBerryFix->state = MAINSTATE_FAILED;
|
||||
}
|
||||
break;
|
||||
|
||||
+42
-42
@@ -62,66 +62,66 @@ static const u32 sUnknown[] = {0xFF, 0x00};
|
||||
static const struct WindowTemplate sBerryPowderWindowTemplates[] =
|
||||
{
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 1,
|
||||
.width = 28,
|
||||
.height = 2,
|
||||
.paletteNum = 13,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 1,
|
||||
.width = 28,
|
||||
.height = 2,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 19
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 5,
|
||||
.width = 28,
|
||||
.height = 14,
|
||||
.paletteNum = 13,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 5,
|
||||
.width = 28,
|
||||
.height = 14,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 75
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 5,
|
||||
.width = 28,
|
||||
.height = 7,
|
||||
.paletteNum = 13,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 5,
|
||||
.width = 28,
|
||||
.height = 7,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 75
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 8,
|
||||
.width = 19,
|
||||
.height = 3,
|
||||
.paletteNum = 13,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 8,
|
||||
.width = 19,
|
||||
.height = 3,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 19
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 22,
|
||||
.tilemapTop = 7,
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 13,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 22,
|
||||
.tilemapTop = 7,
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 76
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 4,
|
||||
.tilemapTop = 6,
|
||||
.width = 22,
|
||||
.height = 5,
|
||||
.paletteNum = 13,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 4,
|
||||
.tilemapTop = 6,
|
||||
.width = 22,
|
||||
.height = 5,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 19
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 8,
|
||||
.width = 19,
|
||||
.height = 3,
|
||||
.paletteNum = 13,
|
||||
.bg = 0,
|
||||
.tilemapLeft = 5,
|
||||
.tilemapTop = 8,
|
||||
.width = 19,
|
||||
.height = 3,
|
||||
.paletteNum = 13,
|
||||
.baseBlock = 19
|
||||
},
|
||||
};
|
||||
|
||||
+1
-1
@@ -962,7 +962,7 @@ bool8 IsBikingDisallowedByPlayer(void)
|
||||
|
||||
bool8 IsPlayerNotUsingAcroBikeOnBumpySlope(void)
|
||||
{
|
||||
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE)
|
||||
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE)
|
||||
&& MetatileBehavior_IsBumpySlope(gObjectEvents[gPlayerAvatar.objectEventId].currentMetatileBehavior))
|
||||
return FALSE;
|
||||
else
|
||||
|
||||
+2
-2
@@ -896,7 +896,7 @@ static void CreateCableCarSprites(void)
|
||||
gSprites[spriteId].oam.priority = 2;
|
||||
gSprites[spriteId].x2 = -gSprites[spriteId].centerToCornerVecX;
|
||||
gSprites[spriteId].y2 = -gSprites[spriteId].centerToCornerVecY;
|
||||
|
||||
|
||||
// Randomly choose which direction the NPC is going
|
||||
if (!GOING_DOWN)
|
||||
{
|
||||
@@ -1024,7 +1024,7 @@ static void DrawNextGroundSegmentGoingDown(void)
|
||||
sCableCar->groundSegmentXStart = (sCableCar->groundSegmentXStart + 2) % 32;
|
||||
sCableCar->groundTileIdx += 2;
|
||||
sGroundSegmentY_Down = sCableCar->groundSegmentYStart;
|
||||
|
||||
|
||||
// Draw next segment
|
||||
for (i = 0; i < ARRAY_COUNT(sCableCar->groundTileBuffer); i++)
|
||||
{
|
||||
|
||||
+6
-6
@@ -352,14 +352,14 @@ static void Task_LinkupExchangeDataWithLeader(u8 taskId)
|
||||
gSpecialVar_Result = ExchangeDataAndGetLinkupStatus(minPlayers, maxPlayers);
|
||||
if (gSpecialVar_Result == LINKUP_ONGOING)
|
||||
return;
|
||||
if (gSpecialVar_Result == LINKUP_DIFF_SELECTIONS
|
||||
if (gSpecialVar_Result == LINKUP_DIFF_SELECTIONS
|
||||
|| gSpecialVar_Result == LINKUP_WRONG_NUM_PLAYERS)
|
||||
{
|
||||
SetCloseLinkCallback();
|
||||
HideFieldMessageBox();
|
||||
gTasks[taskId].func = Task_StopLinkup;
|
||||
}
|
||||
else if (gSpecialVar_Result == LINKUP_PLAYER_NOT_READY
|
||||
else if (gSpecialVar_Result == LINKUP_PLAYER_NOT_READY
|
||||
|| gSpecialVar_Result == LINKUP_PARTNER_NOT_READY)
|
||||
{
|
||||
CloseLink();
|
||||
@@ -407,7 +407,7 @@ static void Task_LinkupCheckStatusAfterConfirm(u8 taskId)
|
||||
HideFieldMessageBox();
|
||||
gTasks[taskId].func = Task_StopLinkup;
|
||||
}
|
||||
else if (gSpecialVar_Result == LINKUP_PLAYER_NOT_READY
|
||||
else if (gSpecialVar_Result == LINKUP_PLAYER_NOT_READY
|
||||
|| gSpecialVar_Result == LINKUP_PARTNER_NOT_READY)
|
||||
{
|
||||
CloseLink();
|
||||
@@ -1023,9 +1023,9 @@ void CB2_ReturnFromCableClubBattle(void)
|
||||
|
||||
void CleanupLinkRoomState(void)
|
||||
{
|
||||
if (gSpecialVar_0x8004 == USING_SINGLE_BATTLE
|
||||
|| gSpecialVar_0x8004 == USING_DOUBLE_BATTLE
|
||||
|| gSpecialVar_0x8004 == USING_MULTI_BATTLE
|
||||
if (gSpecialVar_0x8004 == USING_SINGLE_BATTLE
|
||||
|| gSpecialVar_0x8004 == USING_DOUBLE_BATTLE
|
||||
|| gSpecialVar_0x8004 == USING_MULTI_BATTLE
|
||||
|| gSpecialVar_0x8004 == USING_BATTLE_TOWER)
|
||||
{
|
||||
LoadPlayerParty();
|
||||
|
||||
+11
-11
@@ -1103,10 +1103,10 @@ static void InitContestResources(void)
|
||||
eContestAI = (struct ContestAIInfo){};
|
||||
*gContestResources->excitement = (struct ContestExcitement){};
|
||||
memset(eContestGfxState, 0, CONTESTANT_COUNT * sizeof(struct ContestGraphicsState));
|
||||
|
||||
|
||||
if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK))
|
||||
SortContestants(FALSE);
|
||||
|
||||
|
||||
for (i = 0; i < CONTESTANT_COUNT; i++)
|
||||
{
|
||||
eContestantStatus[i].nextTurnOrder = 0xFF;
|
||||
@@ -3342,9 +3342,9 @@ static bool8 DrawStatusSymbol(u8 contestant)
|
||||
u16 symbolOffset = 0;
|
||||
u8 contestantOffset = gContestantTurnOrder[contestant] * 5 + 2;
|
||||
|
||||
if (eContestantStatus[contestant].resistant
|
||||
|| eContestantStatus[contestant].immune
|
||||
|| eContestantStatus[contestant].jamSafetyCount != 0
|
||||
if (eContestantStatus[contestant].resistant
|
||||
|| eContestantStatus[contestant].immune
|
||||
|| eContestantStatus[contestant].jamSafetyCount != 0
|
||||
|| eContestantStatus[contestant].jamReduction != 0)
|
||||
symbolOffset = GetStatusSymbolTileOffset(STAT_SYMBOL_CIRCLE);
|
||||
else if (eContestantStatus[contestant].nervous)
|
||||
@@ -4336,7 +4336,7 @@ void SortContestants(bool8 useRanking)
|
||||
s32 j;
|
||||
for (j = i; j > v3; j--)
|
||||
gContestantTurnOrder[j] = gContestantTurnOrder[j - 1];
|
||||
|
||||
|
||||
// Insert into the new spot.
|
||||
gContestantTurnOrder[v3] = i;
|
||||
break;
|
||||
@@ -4351,7 +4351,7 @@ void SortContestants(bool8 useRanking)
|
||||
}
|
||||
|
||||
// Invert gContestantTurnOrder; above, it was a list of contestant IDs. Now it's a list of turn orderings.
|
||||
//
|
||||
//
|
||||
// For example, if contestant 3 had the first turn, then `gContestantTurnOrder[1] = 3`. The turn is the index,
|
||||
// the contestant is the data. After inverting the list, `gContestantTurnOrder[3] = 1`. The contestant is the index,
|
||||
// and the turn is the data.
|
||||
@@ -4386,7 +4386,7 @@ void SortContestants(bool8 useRanking)
|
||||
}
|
||||
|
||||
// Randomize the order of contestants with tied rankings using Selection Sort.
|
||||
//
|
||||
//
|
||||
// Look through the array for tied ranks, and use randomOrdering to break the tie.
|
||||
// This ensures that contestants with the same rank will be randomly ordered. This
|
||||
// uses an in-place slection sort, which involves a lot of extra swapping.
|
||||
@@ -4762,13 +4762,13 @@ static void Task_ApplauseOverflowAnimation(u8 taskId)
|
||||
if (++gTasks[taskId].data[0] == 1)
|
||||
{
|
||||
gTasks[taskId].data[0] = 0;
|
||||
|
||||
|
||||
// Alternate between normal colors and white.
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
gTasks[taskId].data[4]++;
|
||||
else
|
||||
gTasks[taskId].data[4]--;
|
||||
|
||||
|
||||
BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, gTasks[taskId].data[4], RGB_WHITE);
|
||||
|
||||
// At the maximum or minimum blending, switch directions.
|
||||
@@ -5956,7 +5956,7 @@ static void ContestDebugPrintBitStrings(void)
|
||||
|
||||
if (!gEnableContestDebugging)
|
||||
return;
|
||||
|
||||
|
||||
if (eContestDebugMode != CONTEST_DEBUG_MODE_PRINT_WINNER_FLAGS && eContestDebugMode != CONTEST_DEBUG_MODE_PRINT_LOSER_FLAGS)
|
||||
return;
|
||||
|
||||
|
||||
+2
-2
@@ -1732,7 +1732,7 @@ static void ContestAICmd_if_user_doesnt_have_exciting_move(void)
|
||||
|
||||
// BUG: This is checking if the user has a specific move, but when it's used in the AI script
|
||||
// they're checking for an effect. Checking for a specific effect would make more sense,
|
||||
// but given that effects are normally read as a single byte and this reads 2 bytes, it
|
||||
// but given that effects are normally read as a single byte and this reads 2 bytes, it
|
||||
// seems reading a move was intended and the AI script is using it incorrectly.
|
||||
// The fix below aligns the function with how it's used by the script, rather than the apparent
|
||||
// intention of its usage
|
||||
@@ -1750,7 +1750,7 @@ static void ContestAICmd_check_user_has_move(void)
|
||||
#else
|
||||
u16 move = gContestMons[eContestAI.contestantId].moves[i];
|
||||
#endif
|
||||
|
||||
|
||||
if (move == targetMove)
|
||||
{
|
||||
hasMove = TRUE;
|
||||
|
||||
@@ -68,9 +68,9 @@ bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove)
|
||||
|
||||
if (lastMoveComboStarterId == 0)
|
||||
return FALSE;
|
||||
else if (lastMoveComboStarterId == nextMoveComboMoves[0]
|
||||
|| lastMoveComboStarterId == nextMoveComboMoves[1]
|
||||
|| lastMoveComboStarterId == nextMoveComboMoves[2]
|
||||
else if (lastMoveComboStarterId == nextMoveComboMoves[0]
|
||||
|| lastMoveComboStarterId == nextMoveComboMoves[1]
|
||||
|| lastMoveComboStarterId == nextMoveComboMoves[2]
|
||||
|| lastMoveComboStarterId == nextMoveComboMoves[3])
|
||||
return gComboStarterLookupTable[lastMoveComboStarterId];
|
||||
else
|
||||
|
||||
+2
-2
@@ -61,7 +61,7 @@ void Task_LinkContest_Init(u8 taskId)
|
||||
|
||||
for (i = 0; i < CONTESTANT_COUNT; i++)
|
||||
gBlockRecvBuffer[i][0] = 0xFF;
|
||||
|
||||
|
||||
gTasks[taskId].tState = 0;
|
||||
gTasks[taskId].func = Task_LinkContest_StartInitFlags;
|
||||
}
|
||||
@@ -99,7 +99,7 @@ bool32 LinkContest_TryLinkStandby(s16 *state)
|
||||
// Skip standby for RS cabled links
|
||||
if (gLinkContestFlags & LINK_CONTEST_FLAG_HAS_RS_PLAYER)
|
||||
return TRUE;
|
||||
|
||||
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
|
||||
@@ -88,7 +88,7 @@ static void Task_LinkContest_SetUpContestEm(u8 taskId)
|
||||
|
||||
for (i = 0; i < gNumLinkContestPlayers; i++)
|
||||
categories[i] = gTasks[taskId].data[i + 1];
|
||||
|
||||
|
||||
// Ensure all players are doing the same category
|
||||
for (i = 0; i < gNumLinkContestPlayers && categories[0] == categories[i]; i++)
|
||||
;
|
||||
@@ -100,7 +100,7 @@ static void Task_LinkContest_SetUpContestEm(u8 taskId)
|
||||
|
||||
for (i = 0; i < gNumLinkContestPlayers; i++)
|
||||
leaderIds[i] = gTasks[taskId].data[i + 5];
|
||||
|
||||
|
||||
// If < 4 players and player is leader, set AI contestants based on rank and game clear
|
||||
if (gNumLinkContestPlayers != CONTESTANT_COUNT && GetMultiplayerId() == 0)
|
||||
{
|
||||
@@ -113,7 +113,7 @@ static void Task_LinkContest_SetUpContestEm(u8 taskId)
|
||||
|
||||
if (rank)
|
||||
rank--;
|
||||
|
||||
|
||||
gameCleared = TRUE;
|
||||
for (i = 0; i < gNumLinkContestPlayers; i++)
|
||||
{
|
||||
@@ -202,7 +202,7 @@ static void Task_LinkContest_CommunicateRngEm(u8 taskId)
|
||||
// Only the leader sends the RNG seed
|
||||
if (!IsLinkTaskFinished())
|
||||
return;
|
||||
|
||||
|
||||
if (LinkContest_SendBlock(&gRngValue, sizeof(gRngValue)) == 1)
|
||||
gTasks[taskId].data[0]++;
|
||||
}
|
||||
@@ -321,7 +321,7 @@ static void Task_LinkContest_CommunicateAIMonsEm(u8 taskId)
|
||||
{
|
||||
if (!IsLinkTaskFinished())
|
||||
return;
|
||||
|
||||
|
||||
if (LinkContest_SendBlock(&gContestMons[gNumLinkContestPlayers], (CONTESTANT_COUNT - gNumLinkContestPlayers) * sizeof(struct ContestPokemon)) == 1)
|
||||
gTasks[taskId].data[0]++;
|
||||
}
|
||||
|
||||
+4
-4
@@ -1194,16 +1194,16 @@ static s32 DrawResultsTextWindow(const u8 *text, u8 spriteId)
|
||||
|
||||
for (i = 1; i < (int)ARRAY_COUNT(spriteTilePtrs); i++)
|
||||
spriteTilePtrs[i] = (void*)(gSprites[sprite->data[i - 1]].oam.tileNum * 32 + OBJ_VRAM0);
|
||||
|
||||
|
||||
for (i = 0; i < (int)ARRAY_COUNT(spriteTilePtrs); i++)
|
||||
CpuFill32(0, spriteTilePtrs[i], 0x400);
|
||||
|
||||
|
||||
dst = spriteTilePtrs[0];
|
||||
CpuCopy32(src, dst, 0x20);
|
||||
CpuCopy32(src + 128, dst + 0x100, 0x20);
|
||||
CpuCopy32(src + 128, dst + 0x200, 0x20);
|
||||
CpuCopy32(src + 64, dst + 0x300, 0x20);
|
||||
|
||||
|
||||
for (i = 0; i < strWidth; i++)
|
||||
{
|
||||
dst = &spriteTilePtrs[(i + 1) / 8][((i + 1) % 8) * 32];
|
||||
@@ -1236,7 +1236,7 @@ static void CreateResultsTextWindowSprites(void)
|
||||
LoadSpriteSheet(&sSpriteSheets_ResultsTextWindow[i]);
|
||||
|
||||
LoadSpritePalette(&sSpritePalette_ResultsTextWindow);
|
||||
|
||||
|
||||
// Create sprites for the two window types, each made up of 4 sprites
|
||||
for (i = 0; i < (int)ARRAY_COUNT(sSpriteSheets_ResultsTextWindow); i++)
|
||||
{
|
||||
|
||||
+7
-7
@@ -759,7 +759,7 @@ static void Task_UpdatePage(u8 taskId)
|
||||
for (i = 0; i < ENTRIES_PER_PAGE; i++)
|
||||
PrintCreditsText(
|
||||
sCreditsEntryPointerTable[gTasks[taskId].tCurrentPage][i]->text,
|
||||
5 + i * 16,
|
||||
5 + i * 16,
|
||||
sCreditsEntryPointerTable[gTasks[taskId].tCurrentPage][i]->isTitle);
|
||||
CopyWindowToVram(0, 2);
|
||||
|
||||
@@ -911,9 +911,9 @@ static void Task_ShowMons(u8 taskId)
|
||||
case 2:
|
||||
if (sCreditsData->imgCounter == NUM_MON_SLIDES || gTasks[gTasks[taskId].tMainTaskId].func != Task_CreditsMain)
|
||||
break;
|
||||
spriteId = CreateCreditsMonSprite(sCreditsData->monToShow[sCreditsData->currShownMon],
|
||||
sMonSpritePos[sCreditsData->nextImgPos][0],
|
||||
sMonSpritePos[sCreditsData->nextImgPos][1],
|
||||
spriteId = CreateCreditsMonSprite(sCreditsData->monToShow[sCreditsData->currShownMon],
|
||||
sMonSpritePos[sCreditsData->nextImgPos][0],
|
||||
sMonSpritePos[sCreditsData->nextImgPos][1],
|
||||
sCreditsData->nextImgPos);
|
||||
if (sCreditsData->currShownMon < sCreditsData->numMonToShow - 1)
|
||||
{
|
||||
@@ -1532,7 +1532,7 @@ static u8 CreateCreditsMonSprite(u16 nationalDexNum, s16 x, s16 y, u16 position)
|
||||
|
||||
static void SpriteCB_CreditsMonBg(struct Sprite *sprite)
|
||||
{
|
||||
if (gSprites[sprite->sMonSpriteId].data[0] == 10
|
||||
if (gSprites[sprite->sMonSpriteId].data[0] == 10
|
||||
|| gIntroCredits_MovingSceneryState != INTROCRED_SCENERY_NORMAL)
|
||||
{
|
||||
DestroySprite(sprite);
|
||||
@@ -1554,7 +1554,7 @@ static void DeterminePokemonToShow(void)
|
||||
u16 page;
|
||||
u16 dexNum;
|
||||
u16 j;
|
||||
|
||||
|
||||
// Go through the Pokedex, and anything that has gotten caught we put into our massive array.
|
||||
// This basically packs all of the caught pokemon into the front of the array
|
||||
for (dexNum = 1, j = 0; dexNum < NATIONAL_DEX_COUNT; dexNum++)
|
||||
@@ -1584,7 +1584,7 @@ static void DeterminePokemonToShow(void)
|
||||
// Select a random mon, insert into array
|
||||
page = Random() % sCreditsData->numCaughtMon;
|
||||
sCreditsData->monToShow[j] = sCreditsData->caughtMonIds[page];
|
||||
|
||||
|
||||
// Remove the select mon from the array, and condense array entries
|
||||
j++;
|
||||
sCreditsData->caughtMonIds[page] = 0;
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@ GPIOPortReadEnable: @ 80000C8
|
||||
.4byte gMoveNames
|
||||
.4byte gDecorations
|
||||
|
||||
.4byte 0x00001270 @ offsetof(struct SaveBlock1, flags)
|
||||
.4byte 0x00001270 @ offsetof(struct SaveBlock1, flags)
|
||||
.4byte 0x0000139c @ offsetof(struct SaveBlock1, vars)
|
||||
.4byte 0x00000018 @ offsetof(struct SaveBlock2, pokedex)
|
||||
.4byte 0x00000988 @ offsetof(struct SaveBlock1, seen1)
|
||||
|
||||
@@ -934,18 +934,18 @@ static const bool8 sValidApprenticeMoves[MOVES_COUNT] =
|
||||
// WHICH_MOVE has max 5 occurrences, defined as NUM_WHICH_MOVE_QUESTIONS
|
||||
// WHICH_FIRST has max 1 occurrence, lead mon should only be chosen once
|
||||
// WHICH_SPEECH has max 1 occurrence, as the apprentice leaves after its asked
|
||||
static const u8 sQuestionPossibilities[MAX_APPRENTICE_QUESTIONS] =
|
||||
static const u8 sQuestionPossibilities[MAX_APPRENTICE_QUESTIONS] =
|
||||
{
|
||||
QUESTION_ID_WHAT_ITEM,
|
||||
QUESTION_ID_WHAT_ITEM,
|
||||
QUESTION_ID_WHAT_ITEM,
|
||||
QUESTION_ID_WHAT_ITEM,
|
||||
QUESTION_ID_WHAT_ITEM,
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_FIRST,
|
||||
QUESTION_ID_WIN_SPEECH
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_MOVE,
|
||||
QUESTION_ID_WHICH_FIRST,
|
||||
QUESTION_ID_WIN_SPEECH
|
||||
};
|
||||
|
||||
static void (* const sApprenticeFunctions[])(void) =
|
||||
|
||||
@@ -1,51 +1,51 @@
|
||||
static const u16 sFrontierExchangeCorner_Decor1[] =
|
||||
{
|
||||
DECOR_KISS_POSTER,
|
||||
DECOR_KISS_CUSHION,
|
||||
DECOR_SMOOCHUM_DOLL,
|
||||
DECOR_TOGEPI_DOLL,
|
||||
DECOR_MEOWTH_DOLL,
|
||||
DECOR_CLEFAIRY_DOLL,
|
||||
DECOR_DITTO_DOLL,
|
||||
DECOR_CYNDAQUIL_DOLL,
|
||||
DECOR_CHIKORITA_DOLL,
|
||||
DECOR_TOTODILE_DOLL,
|
||||
0xFFFF
|
||||
{
|
||||
DECOR_KISS_POSTER,
|
||||
DECOR_KISS_CUSHION,
|
||||
DECOR_SMOOCHUM_DOLL,
|
||||
DECOR_TOGEPI_DOLL,
|
||||
DECOR_MEOWTH_DOLL,
|
||||
DECOR_CLEFAIRY_DOLL,
|
||||
DECOR_DITTO_DOLL,
|
||||
DECOR_CYNDAQUIL_DOLL,
|
||||
DECOR_CHIKORITA_DOLL,
|
||||
DECOR_TOTODILE_DOLL,
|
||||
0xFFFF
|
||||
};
|
||||
|
||||
static const u16 sFrontierExchangeCorner_Decor2[] =
|
||||
{
|
||||
DECOR_LAPRAS_DOLL,
|
||||
DECOR_SNORLAX_DOLL,
|
||||
DECOR_VENUSAUR_DOLL,
|
||||
DECOR_CHARIZARD_DOLL,
|
||||
DECOR_BLASTOISE_DOLL,
|
||||
0xFFFF
|
||||
{
|
||||
DECOR_LAPRAS_DOLL,
|
||||
DECOR_SNORLAX_DOLL,
|
||||
DECOR_VENUSAUR_DOLL,
|
||||
DECOR_CHARIZARD_DOLL,
|
||||
DECOR_BLASTOISE_DOLL,
|
||||
0xFFFF
|
||||
};
|
||||
|
||||
static const u16 sFrontierExchangeCorner_Vitamins[] =
|
||||
{
|
||||
ITEM_PROTEIN,
|
||||
ITEM_CALCIUM,
|
||||
ITEM_IRON,
|
||||
ITEM_ZINC,
|
||||
ITEM_CARBOS,
|
||||
ITEM_HP_UP,
|
||||
0xFFFF
|
||||
{
|
||||
ITEM_PROTEIN,
|
||||
ITEM_CALCIUM,
|
||||
ITEM_IRON,
|
||||
ITEM_ZINC,
|
||||
ITEM_CARBOS,
|
||||
ITEM_HP_UP,
|
||||
0xFFFF
|
||||
};
|
||||
|
||||
static const u16 sFrontierExchangeCorner_HoldItems[] =
|
||||
{
|
||||
ITEM_LEFTOVERS,
|
||||
ITEM_WHITE_HERB,
|
||||
ITEM_QUICK_CLAW,
|
||||
ITEM_MENTAL_HERB,
|
||||
ITEM_BRIGHT_POWDER,
|
||||
ITEM_CHOICE_BAND,
|
||||
ITEM_KINGS_ROCK,
|
||||
ITEM_FOCUS_BAND,
|
||||
ITEM_SCOPE_LENS,
|
||||
0xFFFF
|
||||
{
|
||||
ITEM_LEFTOVERS,
|
||||
ITEM_WHITE_HERB,
|
||||
ITEM_QUICK_CLAW,
|
||||
ITEM_MENTAL_HERB,
|
||||
ITEM_BRIGHT_POWDER,
|
||||
ITEM_CHOICE_BAND,
|
||||
ITEM_KINGS_ROCK,
|
||||
ITEM_FOCUS_BAND,
|
||||
ITEM_SCOPE_LENS,
|
||||
0xFFFF
|
||||
};
|
||||
|
||||
static const u8 *const sFrontierExchangeCorner_Decor1Descriptions[] =
|
||||
@@ -63,7 +63,7 @@ static const u8 *const sFrontierExchangeCorner_Decor1Descriptions[] =
|
||||
gText_Exit,
|
||||
};
|
||||
|
||||
static const u8 *const sFrontierExchangeCorner_Decor2Descriptions[] =
|
||||
static const u8 *const sFrontierExchangeCorner_Decor2Descriptions[] =
|
||||
{
|
||||
BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc,
|
||||
BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc,
|
||||
@@ -73,7 +73,7 @@ static const u8 *const sFrontierExchangeCorner_Decor2Descriptions[] =
|
||||
gText_Exit
|
||||
};
|
||||
|
||||
static const u8 *const sFrontierExchangeCorner_VitaminsDescriptions[] =
|
||||
static const u8 *const sFrontierExchangeCorner_VitaminsDescriptions[] =
|
||||
{
|
||||
BattleFrontier_ExchangeServiceCorner_Text_ProteinDesc,
|
||||
BattleFrontier_ExchangeServiceCorner_Text_CalciumDesc,
|
||||
@@ -84,7 +84,7 @@ static const u8 *const sFrontierExchangeCorner_VitaminsDescriptions[] =
|
||||
gText_Exit
|
||||
};
|
||||
|
||||
static const u8 *const sFrontierExchangeCorner_HoldItemsDescriptions[] =
|
||||
static const u8 *const sFrontierExchangeCorner_HoldItemsDescriptions[] =
|
||||
{
|
||||
BattleFrontier_ExchangeServiceCorner_Text_LeftoversDesc,
|
||||
BattleFrontier_ExchangeServiceCorner_Text_WhiteHerbDesc,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
// Slateport Battle Tent.
|
||||
const u16 gSlateportBattleTentTrainerMons_Jolie[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Jolie[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_CACNEA_1,
|
||||
SLATEPORT_TENT_MON_LOMBRE_1,
|
||||
@@ -15,7 +15,7 @@ const u16 gSlateportBattleTentTrainerMons_Jolie[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Malachi[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Malachi[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_CACNEA_1,
|
||||
SLATEPORT_TENT_MON_GRAVELER,
|
||||
@@ -31,7 +31,7 @@ const u16 gSlateportBattleTentTrainerMons_Malachi[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Kelsie[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Kelsie[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_WAILMER_1,
|
||||
SLATEPORT_TENT_MON_WAILMER_2,
|
||||
@@ -47,7 +47,7 @@ const u16 gSlateportBattleTentTrainerMons_Kelsie[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Davon[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Davon[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_WAILMER_1,
|
||||
SLATEPORT_TENT_MON_WAILMER_2,
|
||||
@@ -64,7 +64,7 @@ const u16 gSlateportBattleTentTrainerMons_Davon[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Glenda[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Glenda[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_1,
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_2,
|
||||
@@ -82,7 +82,7 @@ const u16 gSlateportBattleTentTrainerMons_Glenda[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Helena[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Helena[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_MIGHTYENA_1,
|
||||
SLATEPORT_TENT_MON_MIGHTYENA_2,
|
||||
@@ -98,7 +98,7 @@ const u16 gSlateportBattleTentTrainerMons_Helena[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Rodolfo[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Rodolfo[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_1,
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_2,
|
||||
@@ -116,7 +116,7 @@ const u16 gSlateportBattleTentTrainerMons_Rodolfo[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Davion[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Davion[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_BALTOY,
|
||||
SLATEPORT_TENT_MON_VOLTORB,
|
||||
@@ -135,7 +135,7 @@ const u16 gSlateportBattleTentTrainerMons_Davion[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Kendall[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Kendall[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_WAILMER_1,
|
||||
SLATEPORT_TENT_MON_WINGULL_1,
|
||||
@@ -154,7 +154,7 @@ const u16 gSlateportBattleTentTrainerMons_Kendall[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Colten[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Colten[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_1,
|
||||
SLATEPORT_TENT_MON_BEAUTIFLY,
|
||||
@@ -171,7 +171,7 @@ const u16 gSlateportBattleTentTrainerMons_Colten[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Irvin[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Irvin[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_1,
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_2,
|
||||
@@ -189,7 +189,7 @@ const u16 gSlateportBattleTentTrainerMons_Irvin[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Shaun[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Shaun[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_BALTOY,
|
||||
SLATEPORT_TENT_MON_MIGHTYENA_1,
|
||||
@@ -207,7 +207,7 @@ const u16 gSlateportBattleTentTrainerMons_Shaun[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Kyler[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Kyler[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ELECTRIKE_1,
|
||||
SLATEPORT_TENT_MON_VOLTORB,
|
||||
@@ -224,7 +224,7 @@ const u16 gSlateportBattleTentTrainerMons_Kyler[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Maggie[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Maggie[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_LOMBRE_1,
|
||||
SLATEPORT_TENT_MON_NUZLEAF,
|
||||
@@ -240,7 +240,7 @@ const u16 gSlateportBattleTentTrainerMons_Maggie[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Stephon[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Stephon[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_PELIPPER_1,
|
||||
SLATEPORT_TENT_MON_LOMBRE_1,
|
||||
@@ -256,7 +256,7 @@ const u16 gSlateportBattleTentTrainerMons_Stephon[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Rebecca[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Rebecca[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_PELIPPER_1,
|
||||
SLATEPORT_TENT_MON_NUZLEAF,
|
||||
@@ -272,7 +272,7 @@ const u16 gSlateportBattleTentTrainerMons_Rebecca[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Reggie[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Reggie[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_MARILL_1,
|
||||
SLATEPORT_TENT_MON_WINGULL_1,
|
||||
@@ -289,7 +289,7 @@ const u16 gSlateportBattleTentTrainerMons_Reggie[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Janae[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Janae[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_1,
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_2,
|
||||
@@ -306,7 +306,7 @@ const u16 gSlateportBattleTentTrainerMons_Janae[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Caiden[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Caiden[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_LOMBRE_1,
|
||||
SLATEPORT_TENT_MON_NINJASK_1,
|
||||
@@ -324,7 +324,7 @@ const u16 gSlateportBattleTentTrainerMons_Caiden[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Kirsten[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Kirsten[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_LOMBRE_1,
|
||||
SLATEPORT_TENT_MON_GRAVELER,
|
||||
@@ -342,7 +342,7 @@ const u16 gSlateportBattleTentTrainerMons_Kirsten[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Kurtis[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Kurtis[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_1,
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_2,
|
||||
@@ -358,7 +358,7 @@ const u16 gSlateportBattleTentTrainerMons_Kurtis[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Stefan[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Stefan[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_WAILMER_1,
|
||||
SLATEPORT_TENT_MON_WAILMER_2,
|
||||
@@ -374,7 +374,7 @@ const u16 gSlateportBattleTentTrainerMons_Stefan[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Avery[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Avery[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_BEAUTIFLY,
|
||||
SLATEPORT_TENT_MON_DUSTOX,
|
||||
@@ -390,7 +390,7 @@ const u16 gSlateportBattleTentTrainerMons_Avery[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Dwane[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Dwane[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_NINJASK_1,
|
||||
SLATEPORT_TENT_MON_NINJASK_2,
|
||||
@@ -406,7 +406,7 @@ const u16 gSlateportBattleTentTrainerMons_Dwane[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Mckenna[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Mckenna[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_CACNEA_2,
|
||||
SLATEPORT_TENT_MON_SWELLOW,
|
||||
@@ -422,7 +422,7 @@ const u16 gSlateportBattleTentTrainerMons_Mckenna[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Camryn[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Camryn[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_WAILMER_2,
|
||||
SLATEPORT_TENT_MON_MARILL_1,
|
||||
@@ -439,7 +439,7 @@ const u16 gSlateportBattleTentTrainerMons_Camryn[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Natasha[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Natasha[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ZIGZAGOON_2,
|
||||
SLATEPORT_TENT_MON_DUSTOX,
|
||||
@@ -455,7 +455,7 @@ const u16 gSlateportBattleTentTrainerMons_Natasha[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Austyn[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Austyn[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_ARON_2,
|
||||
SLATEPORT_TENT_MON_LOUDRED,
|
||||
@@ -472,7 +472,7 @@ const u16 gSlateportBattleTentTrainerMons_Austyn[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Donovan[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Donovan[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_LOMBRE_1,
|
||||
SLATEPORT_TENT_MON_GRAVELER,
|
||||
@@ -491,7 +491,7 @@ const u16 gSlateportBattleTentTrainerMons_Donovan[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gSlateportBattleTentTrainerMons_Tamia[] =
|
||||
const u16 gSlateportBattleTentTrainerMons_Tamia[] =
|
||||
{
|
||||
SLATEPORT_TENT_MON_BEAUTIFLY,
|
||||
SLATEPORT_TENT_MON_MARILL_1,
|
||||
@@ -507,7 +507,7 @@ const u16 gSlateportBattleTentTrainerMons_Tamia[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const struct BattleFrontierTrainer gSlateportBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] =
|
||||
const struct BattleFrontierTrainer gSlateportBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] =
|
||||
{
|
||||
[SLATEPORT_TENT_TRAINER_JOLIE] = {
|
||||
.facilityClass = FACILITY_CLASS_AROMA_LADY,
|
||||
@@ -751,7 +751,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[NUM_BATTLE_TENT_
|
||||
}
|
||||
};
|
||||
|
||||
const struct FacilityMon gSlateportBattleTentMons[NUM_SLATEPORT_TENT_MONS] =
|
||||
const struct FacilityMon gSlateportBattleTentMons[NUM_SLATEPORT_TENT_MONS] =
|
||||
{
|
||||
[SLATEPORT_TENT_MON_ZIGZAGOON_1] = {
|
||||
.species = SPECIES_ZIGZAGOON,
|
||||
@@ -1246,7 +1246,7 @@ const struct FacilityMon gSlateportBattleTentMons[NUM_SLATEPORT_TENT_MONS] =
|
||||
};
|
||||
|
||||
// Verdanturf Battle Tent.
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Brenna[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Brenna[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_SHROOMISH,
|
||||
VERDANTURF_TENT_MON_SWALOT,
|
||||
@@ -1256,7 +1256,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Brenna[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Dilan[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Dilan[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_GRAVELER,
|
||||
VERDANTURF_TENT_MON_TRAPINCH,
|
||||
@@ -1266,7 +1266,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Dilan[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Eliana[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Eliana[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_MAGIKARP,
|
||||
VERDANTURF_TENT_MON_BARBOACH,
|
||||
@@ -1276,7 +1276,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Eliana[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Markus[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Markus[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_MAGIKARP,
|
||||
VERDANTURF_TENT_MON_BARBOACH,
|
||||
@@ -1286,7 +1286,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Markus[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Caitlyn[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Caitlyn[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_POOCHYENA,
|
||||
VERDANTURF_TENT_MON_KECLEON,
|
||||
@@ -1297,7 +1297,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Caitlyn[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Desiree[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Desiree[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_WINGULL,
|
||||
VERDANTURF_TENT_MON_KECLEON,
|
||||
@@ -1307,7 +1307,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Desiree[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Ronald[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Ronald[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_ZIGZAGOON,
|
||||
VERDANTURF_TENT_MON_LINOONE,
|
||||
@@ -1317,7 +1317,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Ronald[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Ashten[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Ashten[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_ARON_1,
|
||||
VERDANTURF_TENT_MON_KECLEON,
|
||||
@@ -1327,7 +1327,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Ashten[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Gerard[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Gerard[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_MARILL,
|
||||
VERDANTURF_TENT_MON_BARBOACH,
|
||||
@@ -1337,7 +1337,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Gerard[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Bradly[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Bradly[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_NUZLEAF,
|
||||
VERDANTURF_TENT_MON_TAILLOW,
|
||||
@@ -1347,7 +1347,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Bradly[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Dennis[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Dennis[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_NINJASK,
|
||||
VERDANTURF_TENT_MON_TRAPINCH,
|
||||
@@ -1357,7 +1357,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Dennis[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Prestin[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Prestin[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_KADABRA,
|
||||
VERDANTURF_TENT_MON_MIGHTYENA,
|
||||
@@ -1369,7 +1369,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Prestin[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Ernesto[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Ernesto[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_MAGNEMITE,
|
||||
VERDANTURF_TENT_MON_VOLTORB,
|
||||
@@ -1379,7 +1379,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Ernesto[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Nala[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Nala[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_ZIGZAGOON,
|
||||
VERDANTURF_TENT_MON_SHROOMISH,
|
||||
@@ -1391,7 +1391,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Nala[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Darnell[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Darnell[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_POOCHYENA,
|
||||
VERDANTURF_TENT_MON_SOLROCK,
|
||||
@@ -1402,7 +1402,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Darnell[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Ashlyn[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Ashlyn[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_SOLROCK,
|
||||
VERDANTURF_TENT_MON_MARILL,
|
||||
@@ -1414,7 +1414,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Ashlyn[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Addison[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Addison[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_POOCHYENA,
|
||||
VERDANTURF_TENT_MON_ZIGZAGOON,
|
||||
@@ -1424,7 +1424,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Addison[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Justine[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Justine[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_POOCHYENA,
|
||||
VERDANTURF_TENT_MON_ZIGZAGOON,
|
||||
@@ -1434,7 +1434,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Justine[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Tyson[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Tyson[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_MACHOP,
|
||||
VERDANTURF_TENT_MON_MAKUHITA,
|
||||
@@ -1446,7 +1446,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Tyson[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Laila[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Laila[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_MACHOP,
|
||||
VERDANTURF_TENT_MON_MAKUHITA,
|
||||
@@ -1457,7 +1457,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Laila[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Waren[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Waren[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_POOCHYENA,
|
||||
VERDANTURF_TENT_MON_ARON_1,
|
||||
@@ -1467,7 +1467,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Waren[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Tobias[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Tobias[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_MAGIKARP,
|
||||
VERDANTURF_TENT_MON_BARBOACH,
|
||||
@@ -1477,7 +1477,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Tobias[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Josiah[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Josiah[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_WINGULL,
|
||||
VERDANTURF_TENT_MON_SWABLU,
|
||||
@@ -1487,7 +1487,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Josiah[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Dion[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Dion[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_NINJASK,
|
||||
VERDANTURF_TENT_MON_DUSTOX,
|
||||
@@ -1498,7 +1498,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Dion[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Kenzie[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Kenzie[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_LOTAD,
|
||||
VERDANTURF_TENT_MON_NUMEL_1,
|
||||
@@ -1509,7 +1509,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Kenzie[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Lillian[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Lillian[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_GOLDEEN_2,
|
||||
VERDANTURF_TENT_MON_PELIPPER,
|
||||
@@ -1519,7 +1519,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Lillian[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Lesley[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Lesley[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_NUZLEAF,
|
||||
VERDANTURF_TENT_MON_POOCHYENA,
|
||||
@@ -1529,7 +1529,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Lesley[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Marquis[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Marquis[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_GOLDEEN_2,
|
||||
VERDANTURF_TENT_MON_PELIPPER,
|
||||
@@ -1540,7 +1540,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Marquis[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Freddy[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Freddy[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_LOTAD,
|
||||
VERDANTURF_TENT_MON_SEVIPER,
|
||||
@@ -1550,7 +1550,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Freddy[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Cecilia[] =
|
||||
const u16 gVerdanturfBattleTentTrainerMons_Cecilia[] =
|
||||
{
|
||||
VERDANTURF_TENT_MON_SWELLOW,
|
||||
VERDANTURF_TENT_MON_NUZLEAF,
|
||||
@@ -1560,7 +1560,7 @@ const u16 gVerdanturfBattleTentTrainerMons_Cecilia[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] =
|
||||
const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] =
|
||||
{
|
||||
[VERDANTURF_TENT_TRAINER_BRENNA] = {
|
||||
.facilityClass = FACILITY_CLASS_AROMA_LADY,
|
||||
@@ -1804,7 +1804,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[NUM_BATTLE_TENT
|
||||
}
|
||||
};
|
||||
|
||||
const struct FacilityMon gVerdanturfBattleTentMons[NUM_VERDANTURF_TENT_MONS] =
|
||||
const struct FacilityMon gVerdanturfBattleTentMons[NUM_VERDANTURF_TENT_MONS] =
|
||||
{
|
||||
[VERDANTURF_TENT_MON_POOCHYENA] = {
|
||||
.species = SPECIES_POOCHYENA,
|
||||
@@ -2124,7 +2124,7 @@ const struct FacilityMon gVerdanturfBattleTentMons[NUM_VERDANTURF_TENT_MONS] =
|
||||
};
|
||||
|
||||
// Fallarbor Battle Tent.
|
||||
const u16 gFallarborBattleTentTrainerMons_Amber[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Amber[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_SWALOT,
|
||||
FALLARBOR_TENT_MON_SHROOMISH,
|
||||
@@ -2135,7 +2135,7 @@ const u16 gFallarborBattleTentTrainerMons_Amber[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Javier[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Javier[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_SOLROCK,
|
||||
FALLARBOR_TENT_MON_TRAPINCH,
|
||||
@@ -2146,7 +2146,7 @@ const u16 gFallarborBattleTentTrainerMons_Javier[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Natalie[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Natalie[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_MAGIKARP,
|
||||
FALLARBOR_TENT_MON_PELIPPER,
|
||||
@@ -2156,7 +2156,7 @@ const u16 gFallarborBattleTentTrainerMons_Natalie[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Treve[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Treve[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_WINGULL,
|
||||
FALLARBOR_TENT_MON_PELIPPER,
|
||||
@@ -2166,7 +2166,7 @@ const u16 gFallarborBattleTentTrainerMons_Treve[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Arianna[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Arianna[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_ELECTRIKE,
|
||||
FALLARBOR_TENT_MON_LINOONE_2,
|
||||
@@ -2176,7 +2176,7 @@ const u16 gFallarborBattleTentTrainerMons_Arianna[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Jadyn[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Jadyn[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_NUMEL,
|
||||
FALLARBOR_TENT_MON_LOUDRED,
|
||||
@@ -2187,7 +2187,7 @@ const u16 gFallarborBattleTentTrainerMons_Jadyn[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Gerardo[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Gerardo[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_SOLROCK,
|
||||
FALLARBOR_TENT_MON_ELECTRIKE,
|
||||
@@ -2197,7 +2197,7 @@ const u16 gFallarborBattleTentTrainerMons_Gerardo[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Jonn[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Jonn[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_ARON_1,
|
||||
FALLARBOR_TENT_MON_ARON_2,
|
||||
@@ -2207,7 +2207,7 @@ const u16 gFallarborBattleTentTrainerMons_Jonn[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Esteban[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Esteban[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_MAGIKARP,
|
||||
FALLARBOR_TENT_MON_WINGULL,
|
||||
@@ -2217,7 +2217,7 @@ const u16 gFallarborBattleTentTrainerMons_Esteban[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Jameson[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Jameson[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_LINOONE_1,
|
||||
FALLARBOR_TENT_MON_PLUSLE,
|
||||
@@ -2227,7 +2227,7 @@ const u16 gFallarborBattleTentTrainerMons_Jameson[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Alanzo[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Alanzo[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_NINCADA,
|
||||
FALLARBOR_TENT_MON_BEAUTIFLY,
|
||||
@@ -2239,7 +2239,7 @@ const u16 gFallarborBattleTentTrainerMons_Alanzo[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Howard[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Howard[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_ELECTRIKE,
|
||||
FALLARBOR_TENT_MON_LINOONE_2,
|
||||
@@ -2249,7 +2249,7 @@ const u16 gFallarborBattleTentTrainerMons_Howard[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Conrad[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Conrad[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_ELECTRIKE,
|
||||
FALLARBOR_TENT_MON_MAGNEMITE,
|
||||
@@ -2259,7 +2259,7 @@ const u16 gFallarborBattleTentTrainerMons_Conrad[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Makenna[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Makenna[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_KECLEON,
|
||||
FALLARBOR_TENT_MON_WHISMUR,
|
||||
@@ -2269,7 +2269,7 @@ const u16 gFallarborBattleTentTrainerMons_Makenna[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Brayan[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Brayan[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_NUMEL,
|
||||
FALLARBOR_TENT_MON_KECLEON,
|
||||
@@ -2281,7 +2281,7 @@ const u16 gFallarborBattleTentTrainerMons_Brayan[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Mariana[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Mariana[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_NUMEL,
|
||||
FALLARBOR_TENT_MON_KECLEON,
|
||||
@@ -2293,7 +2293,7 @@ const u16 gFallarborBattleTentTrainerMons_Mariana[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Sheldon[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Sheldon[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_PLUSLE,
|
||||
FALLARBOR_TENT_MON_POOCHYENA,
|
||||
@@ -2303,7 +2303,7 @@ const u16 gFallarborBattleTentTrainerMons_Sheldon[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Gianna[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Gianna[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_LINOONE_1,
|
||||
FALLARBOR_TENT_MON_PLUSLE,
|
||||
@@ -2313,7 +2313,7 @@ const u16 gFallarborBattleTentTrainerMons_Gianna[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Yahir[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Yahir[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_KECLEON,
|
||||
FALLARBOR_TENT_MON_MACHOKE,
|
||||
@@ -2324,7 +2324,7 @@ const u16 gFallarborBattleTentTrainerMons_Yahir[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Britney[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Britney[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_KECLEON,
|
||||
FALLARBOR_TENT_MON_MAKUHITA,
|
||||
@@ -2335,7 +2335,7 @@ const u16 gFallarborBattleTentTrainerMons_Britney[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Hecter[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Hecter[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_NUMEL,
|
||||
FALLARBOR_TENT_MON_LINOONE_1,
|
||||
@@ -2346,7 +2346,7 @@ const u16 gFallarborBattleTentTrainerMons_Hecter[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Tannor[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Tannor[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_MAGIKARP,
|
||||
FALLARBOR_TENT_MON_BARBOACH,
|
||||
@@ -2356,7 +2356,7 @@ const u16 gFallarborBattleTentTrainerMons_Tannor[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Benji[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Benji[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_SWABLU,
|
||||
FALLARBOR_TENT_MON_SKARMORY,
|
||||
@@ -2366,7 +2366,7 @@ const u16 gFallarborBattleTentTrainerMons_Benji[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Rory[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Rory[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_NINCADA,
|
||||
FALLARBOR_TENT_MON_DUSTOX,
|
||||
@@ -2377,7 +2377,7 @@ const u16 gFallarborBattleTentTrainerMons_Rory[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Eleanor[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Eleanor[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_LINOONE_2,
|
||||
FALLARBOR_TENT_MON_WINGULL,
|
||||
@@ -2389,7 +2389,7 @@ const u16 gFallarborBattleTentTrainerMons_Eleanor[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Evelyn[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Evelyn[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_PELIPPER,
|
||||
FALLARBOR_TENT_MON_WAILMER,
|
||||
@@ -2399,7 +2399,7 @@ const u16 gFallarborBattleTentTrainerMons_Evelyn[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Arielle[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Arielle[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_LINOONE_1,
|
||||
FALLARBOR_TENT_MON_POOCHYENA,
|
||||
@@ -2409,7 +2409,7 @@ const u16 gFallarborBattleTentTrainerMons_Arielle[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Connar[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Connar[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_MAKUHITA,
|
||||
FALLARBOR_TENT_MON_MACHOKE,
|
||||
@@ -2420,7 +2420,7 @@ const u16 gFallarborBattleTentTrainerMons_Connar[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Maurice[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Maurice[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_KECLEON,
|
||||
FALLARBOR_TENT_MON_MAGIKARP,
|
||||
@@ -2430,7 +2430,7 @@ const u16 gFallarborBattleTentTrainerMons_Maurice[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const u16 gFallarborBattleTentTrainerMons_Kianna[] =
|
||||
const u16 gFallarborBattleTentTrainerMons_Kianna[] =
|
||||
{
|
||||
FALLARBOR_TENT_MON_LOUDRED,
|
||||
FALLARBOR_TENT_MON_MIGHTYENA,
|
||||
@@ -2441,7 +2441,7 @@ const u16 gFallarborBattleTentTrainerMons_Kianna[] =
|
||||
-1
|
||||
};
|
||||
|
||||
const struct BattleFrontierTrainer gFallarborBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] =
|
||||
const struct BattleFrontierTrainer gFallarborBattleTentTrainers[NUM_BATTLE_TENT_TRAINERS] =
|
||||
{
|
||||
[FALLARBOR_TENT_TRAINER_AMBER] = {
|
||||
.facilityClass = FACILITY_CLASS_AROMA_LADY,
|
||||
@@ -2685,7 +2685,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[NUM_BATTLE_TENT_
|
||||
}
|
||||
};
|
||||
|
||||
const struct FacilityMon gFallarborBattleTentMons[NUM_FALLARBOR_TENT_MONS] =
|
||||
const struct FacilityMon gFallarborBattleTentMons[NUM_FALLARBOR_TENT_MONS] =
|
||||
{
|
||||
[FALLARBOR_TENT_MON_NUMEL] = {
|
||||
.species = SPECIES_NUMEL,
|
||||
|
||||
@@ -194,22 +194,22 @@ static const struct TrHillFloor sDataTagJPDefault_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x35, 0x35, 0x3b, 0x26, 0x26, 0x1b, 0x1c, 0x1d, 0x25, 0x39, 0x3a, 0x3b, 0x3b, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x2b, 0x3b, 0x34, 0x34, 0x2b, 0x2b, 0x34, 0x33, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x34, 0x34, 0x3b, 0x33, 0x3f, 0x3f, 0x3f, 0x3b, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x2b, 0x35, 0x35, 0x35, 0x35, 0x35, 0x3b, 0x33, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f, 0x08,
|
||||
0x31, 0x2b, 0x34, 0x34, 0x34, 0x2b, 0x34, 0x34, 0x3b, 0x2c, 0x3f, 0x3f, 0x3f, 0x3b, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x3b, 0x35, 0x3b, 0x2b, 0x3b, 0x35, 0x3b, 0x35, 0x3b, 0x3f, 0x3f, 0x3f, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x3b, 0x2b, 0x3b, 0x2b, 0x3b, 0x2b, 0x3b, 0x2b, 0x3b, 0x3f, 0x3f, 0x3f, 0x3b, 0x08,
|
||||
0x31, 0x34, 0x3b, 0x2b, 0x3b, 0x34, 0x3b, 0x2b, 0x35, 0x2b, 0x3b, 0x3b, 0x3f, 0x3b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x3b, 0x34, 0x3b, 0x3b, 0x3b, 0x34, 0x34, 0x34, 0x3f, 0x3b, 0x3b, 0x3b, 0x3f, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x31, 0x35, 0x35, 0x3b, 0x26, 0x26, 0x1b, 0x1c, 0x1d, 0x25, 0x39, 0x3a, 0x3b, 0x3b, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x2b, 0x3b, 0x34, 0x34, 0x2b, 0x2b, 0x34, 0x33, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x34, 0x34, 0x3b, 0x33, 0x3f, 0x3f, 0x3f, 0x3b, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x2b, 0x35, 0x35, 0x35, 0x35, 0x35, 0x3b, 0x33, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f, 0x08,
|
||||
0x31, 0x2b, 0x34, 0x34, 0x34, 0x2b, 0x34, 0x34, 0x3b, 0x2c, 0x3f, 0x3f, 0x3f, 0x3b, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x3b, 0x35, 0x3b, 0x2b, 0x3b, 0x35, 0x3b, 0x35, 0x3b, 0x3f, 0x3f, 0x3f, 0x3b, 0x08,
|
||||
0x31, 0x2b, 0x3b, 0x2b, 0x3b, 0x2b, 0x3b, 0x2b, 0x3b, 0x2b, 0x3b, 0x3f, 0x3f, 0x3f, 0x3b, 0x08,
|
||||
0x31, 0x34, 0x3b, 0x2b, 0x3b, 0x34, 0x3b, 0x2b, 0x35, 0x2b, 0x3b, 0x3b, 0x3f, 0x3b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x3b, 0x34, 0x3b, 0x3b, 0x3b, 0x34, 0x34, 0x34, 0x3f, 0x3b, 0x3b, 0x3b, 0x3f, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = { 0x0381, 0x6fc1, 0x6341, 0x6041, 0x7f41, 0x4401, 0x5541, 0x5541, 0x11c1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff },
|
||||
.coords = { COORDS_XY(8,2), COORDS_XY(8,7) },
|
||||
@@ -396,22 +396,22 @@ static const struct TrHillFloor sDataTagJPDefault_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3b, 0x35, 0x3b, 0x39, 0x26, 0x1b, 0x1c, 0x1d, 0x25, 0x39, 0x3a, 0x3b, 0x35, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3e, 0x3e, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x3f, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3b, 0x3e, 0x3e, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2c, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3f, 0x2b, 0x3b, 0x3b, 0x2c, 0x2c, 0x3b, 0x2c, 0x2c, 0x3e, 0x3e, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x35, 0x35, 0x35, 0x35, 0x3b, 0x35, 0x35, 0x35, 0x35, 0x35, 0x2b, 0x3b, 0x08,
|
||||
0x3f, 0x3b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x3b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x3f, 0x3f, 0x3b, 0x35, 0x35, 0x3b, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x08,
|
||||
0x31, 0x3f, 0x3f, 0x3f, 0x3b, 0x2b, 0x2b, 0x35, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x08,
|
||||
0x31, 0x3f, 0x3f, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x08,
|
||||
0x31, 0x3b, 0x3b, 0x3b, 0x3f, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x31, 0x3b, 0x35, 0x3b, 0x39, 0x26, 0x1b, 0x1c, 0x1d, 0x25, 0x39, 0x3a, 0x3b, 0x35, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3e, 0x3e, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x3f, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3b, 0x3e, 0x3e, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2c, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3f, 0x2b, 0x3b, 0x3b, 0x2c, 0x2c, 0x3b, 0x2c, 0x2c, 0x3e, 0x3e, 0x3b, 0x2b, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x2b, 0x35, 0x35, 0x35, 0x35, 0x3b, 0x35, 0x35, 0x35, 0x35, 0x35, 0x2b, 0x3b, 0x08,
|
||||
0x3f, 0x3b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x3b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x3b, 0x08,
|
||||
0x31, 0x3b, 0x3f, 0x3f, 0x3b, 0x35, 0x35, 0x3b, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x08,
|
||||
0x31, 0x3f, 0x3f, 0x3f, 0x3b, 0x2b, 0x2b, 0x35, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x08,
|
||||
0x31, 0x3f, 0x3f, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x08,
|
||||
0x31, 0x3b, 0x3b, 0x3b, 0x3f, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = { 0x0381, 0x27c5, 0x27c5, 0x27c5, 0x27c5, 0x27c5, 0x26c5, 0x2005, 0x3efd, 0x1, 0x6ff, 0x7ff, 0x7ff, 0xffff, 0xffff, 0xffff },
|
||||
.coords = { COORDS_XY(7,6), COORDS_XY(7,10) },
|
||||
@@ -727,21 +727,21 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x35, 0x35, 0x26, 0x26, 0x1B, 0x1C, 0x1D, 0x25, 0x26, 0x3A, 0x3B, 0x35, 0x3B, 0x08,
|
||||
0x31, 0x3B, 0x2C, 0x2C, 0x2C, 0x2B, 0x24, 0x24, 0x24, 0x24, 0x2C, 0x3B, 0x3B, 0x2C, 0x3B, 0x08,
|
||||
0x2D, 0x3B, 0x3B, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x3B, 0x3B, 0x35, 0x3B, 0x35, 0x35, 0x3B, 0x08,
|
||||
0x33, 0x3B, 0x32, 0x21, 0x30, 0x2B, 0x3B, 0x32, 0x21, 0x30, 0x2B, 0x3B, 0x2C, 0x2B, 0x3B, 0x08,
|
||||
0x33, 0x35, 0x3B, 0x3B, 0x3B, 0x2C, 0x35, 0x3B, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x2B, 0x3B, 0x08,
|
||||
0x34, 0x2C, 0x3B, 0x32, 0x21, 0x30, 0x2B, 0x32, 0x30, 0x3B, 0x2B, 0x32, 0x30, 0x2C, 0x3B, 0x08,
|
||||
0x31, 0x35, 0x3B, 0x3B, 0x35, 0x3B, 0x2C, 0x3B, 0x3B, 0x35, 0x2C, 0x3B, 0x3B, 0x35, 0x35, 0x08,
|
||||
0x31, 0x2C, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x35, 0x3B, 0x2B, 0x32, 0x21, 0x30, 0x2C, 0x2C, 0x08,
|
||||
0x31, 0x35, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x2B, 0x3B, 0x2C, 0x3B, 0x35, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x31, 0x2C, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x2B, 0x3B, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x3B, 0x08,
|
||||
0x31, 0x35, 0x35, 0x35, 0x2B, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x35, 0x2B, 0x3B, 0x35, 0x35, 0x08,
|
||||
0x31, 0x2B, 0x2C, 0x2C, 0x2C, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x2C, 0x2C, 0x3B, 0x2C, 0x2C, 0x08,
|
||||
0x31, 0x2B, 0x3B, 0x3B, 0x35, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x35, 0x3B, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x31, 0x2C, 0x32, 0x30, 0x2B, 0x3B, 0x3B, 0x2C, 0x32, 0x30, 0x2C, 0x32, 0x30, 0x3B, 0x35, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x2C, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x2C, 0x08,
|
||||
0x31, 0x3B, 0x35, 0x35, 0x26, 0x26, 0x1B, 0x1C, 0x1D, 0x25, 0x26, 0x3A, 0x3B, 0x35, 0x3B, 0x08,
|
||||
0x31, 0x3B, 0x2C, 0x2C, 0x2C, 0x2B, 0x24, 0x24, 0x24, 0x24, 0x2C, 0x3B, 0x3B, 0x2C, 0x3B, 0x08,
|
||||
0x2D, 0x3B, 0x3B, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x3B, 0x3B, 0x35, 0x3B, 0x35, 0x35, 0x3B, 0x08,
|
||||
0x33, 0x3B, 0x32, 0x21, 0x30, 0x2B, 0x3B, 0x32, 0x21, 0x30, 0x2B, 0x3B, 0x2C, 0x2B, 0x3B, 0x08,
|
||||
0x33, 0x35, 0x3B, 0x3B, 0x3B, 0x2C, 0x35, 0x3B, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x2B, 0x3B, 0x08,
|
||||
0x34, 0x2C, 0x3B, 0x32, 0x21, 0x30, 0x2B, 0x32, 0x30, 0x3B, 0x2B, 0x32, 0x30, 0x2C, 0x3B, 0x08,
|
||||
0x31, 0x35, 0x3B, 0x3B, 0x35, 0x3B, 0x2C, 0x3B, 0x3B, 0x35, 0x2C, 0x3B, 0x3B, 0x35, 0x35, 0x08,
|
||||
0x31, 0x2C, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x35, 0x3B, 0x2B, 0x32, 0x21, 0x30, 0x2C, 0x2C, 0x08,
|
||||
0x31, 0x35, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x2B, 0x3B, 0x2C, 0x3B, 0x35, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x31, 0x2C, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x2B, 0x3B, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x3B, 0x08,
|
||||
0x31, 0x35, 0x35, 0x35, 0x2B, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x35, 0x2B, 0x3B, 0x35, 0x35, 0x08,
|
||||
0x31, 0x2B, 0x2C, 0x2C, 0x2C, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x2C, 0x2C, 0x3B, 0x2C, 0x2C, 0x08,
|
||||
0x31, 0x2B, 0x3B, 0x3B, 0x35, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x35, 0x3B, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x31, 0x2C, 0x32, 0x30, 0x2B, 0x3B, 0x3B, 0x2C, 0x32, 0x30, 0x2C, 0x32, 0x30, 0x3B, 0x35, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x2C, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x2C, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x3FE5, 0x0401, 0xBDED, 0x8425, 0xDFBD, 0x0221, 0x7E7F, 0x0941, 0x7F7D, 0x0911, 0x7FF7, 0x4101, 0x79F9, 0x0803, 0xFFFF},
|
||||
@@ -1049,21 +1049,21 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0xD1, 0xD5, 0xD5, 0xD5, 0xD9, 0xD9, 0x1B, 0x1C, 0x1D, 0xC5, 0xC6, 0xCE, 0xD5, 0xDB, 0xD5, 0x08,
|
||||
0xD1, 0xCB, 0xC4, 0xC4, 0xDB, 0xDB, 0xC4, 0xC4, 0xC4, 0xCC, 0xCC, 0xCC, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xDB, 0x17, 0x17, 0x17, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xD5, 0x17, 0x17, 0x17, 0xD5, 0xD5, 0xD5, 0xD5, 0xDF, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0x17, 0x17, 0x1F, 0xCB, 0xCB, 0xC4, 0xC4, 0xDB, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xC4, 0xCB, 0xCB, 0xDF, 0xD5, 0xD5, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xDB, 0xC4, 0xC4, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xD5, 0xD5, 0xDF, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xC4, 0xC4, 0xDB, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xDF, 0xD5, 0xD5, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xC4, 0xC4, 0xDB, 0xC4, 0xC4, 0xC4, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0xDB, 0xD5, 0xD5, 0xD5, 0xCB, 0x08,
|
||||
0xD1, 0xC4, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xC4, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xC4, 0xC4, 0xC4, 0xC4, 0x08,
|
||||
0xD1, 0xD5, 0xD5, 0xD5, 0xD9, 0xD9, 0x1B, 0x1C, 0x1D, 0xC5, 0xC6, 0xCE, 0xD5, 0xDB, 0xD5, 0x08,
|
||||
0xD1, 0xCB, 0xC4, 0xC4, 0xDB, 0xDB, 0xC4, 0xC4, 0xC4, 0xCC, 0xCC, 0xCC, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xDB, 0x17, 0x17, 0x17, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xD5, 0x17, 0x17, 0x17, 0xD5, 0xD5, 0xD5, 0xD5, 0xDF, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0x17, 0x17, 0x1F, 0xCB, 0xCB, 0xC4, 0xC4, 0xDB, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xC4, 0xCB, 0xCB, 0xDF, 0xD5, 0xD5, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xDB, 0xC4, 0xC4, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xD5, 0xD5, 0xDF, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xC4, 0xC4, 0xDB, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xDF, 0xD5, 0xD5, 0xCB, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xC4, 0xC4, 0xDB, 0xC4, 0xC4, 0xC4, 0xDB, 0xCB, 0x08,
|
||||
0xD1, 0xCB, 0xDB, 0xCB, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0xDB, 0xD5, 0xD5, 0xD5, 0xCB, 0x08,
|
||||
0xD1, 0xC4, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xC4, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xC4, 0xC4, 0xC4, 0xC4, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x73FB, 0x400B, 0x400B, 0x51EB, 0x538B, 0x51BB, 0x518B, 0x51EB, 0x518B, 0x51BB, 0x5003, 0x501F, 0x101F, 0x101F, 0xFFFF},
|
||||
@@ -1370,21 +1370,21 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x35, 0x35, 0x35, 0x26, 0x26, 0x13, 0x14, 0x15, 0x38, 0x26, 0x2E, 0x35, 0x35, 0x3B, 0x08,
|
||||
0x69, 0x63, 0x64, 0x64, 0x64, 0x64, 0x71, 0x71, 0x71, 0x72, 0x64, 0x64, 0x64, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x43, 0x41, 0x40, 0x41, 0x42, 0x41, 0x41, 0x4A, 0x42, 0x41, 0x41, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x41, 0x43, 0x4B, 0x43, 0x43, 0x41, 0x42, 0x42, 0x40, 0x41, 0x40, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x41, 0x40, 0x42, 0x42, 0x41, 0x41, 0x42, 0x4A, 0x42, 0x41, 0x42, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x41, 0x42, 0x41, 0x43, 0x4B, 0x41, 0x41, 0x41, 0x40, 0x43, 0x41, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x41, 0x40, 0x43, 0x41, 0x42, 0x42, 0x41, 0x4A, 0x42, 0x41, 0x42, 0x63, 0x73, 0x08,
|
||||
0x69, 0x64, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x64, 0x73, 0x08,
|
||||
0x69, 0x43, 0x43, 0x41, 0x42, 0x42, 0x41, 0x43, 0x41, 0x41, 0x40, 0x42, 0x41, 0x42, 0x73, 0x08,
|
||||
0x31, 0x35, 0x35, 0x35, 0x26, 0x26, 0x13, 0x14, 0x15, 0x38, 0x26, 0x2E, 0x35, 0x35, 0x3B, 0x08,
|
||||
0x69, 0x63, 0x64, 0x64, 0x64, 0x64, 0x71, 0x71, 0x71, 0x72, 0x64, 0x64, 0x64, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x43, 0x41, 0x40, 0x41, 0x42, 0x41, 0x41, 0x4A, 0x42, 0x41, 0x41, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x41, 0x43, 0x4B, 0x43, 0x43, 0x41, 0x42, 0x42, 0x40, 0x41, 0x40, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x41, 0x40, 0x42, 0x42, 0x41, 0x41, 0x42, 0x4A, 0x42, 0x41, 0x42, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x41, 0x42, 0x41, 0x43, 0x4B, 0x41, 0x41, 0x41, 0x40, 0x43, 0x41, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x08,
|
||||
0x69, 0x63, 0x41, 0x40, 0x43, 0x41, 0x42, 0x42, 0x41, 0x4A, 0x42, 0x41, 0x42, 0x63, 0x73, 0x08,
|
||||
0x69, 0x64, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x64, 0x73, 0x08,
|
||||
0x69, 0x43, 0x43, 0x41, 0x42, 0x42, 0x41, 0x43, 0x41, 0x41, 0x40, 0x42, 0x41, 0x42, 0x73, 0x08,
|
||||
0x69, 0x42, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x42, 0x73, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x7C3D, 0x4005, 0x4005, 0x4005, 0x4045, 0x4005, 0x4805, 0x4005, 0x4045, 0x4005, 0x4205, 0x4005, 0x4045, 0x1, 0x1},
|
||||
@@ -1684,21 +1684,21 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x26, 0x1B, 0x1C, 0x1D, 0x25, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x1F, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x24, 0x24, 0x24, 0x2B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x35, 0x35, 0x3B, 0x35, 0x35, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x2C, 0x2C, 0x3B, 0x2C, 0x2C, 0x08,
|
||||
0x33, 0x17, 0x1F, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x34, 0x17, 0x2C, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2C, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x2C, 0x3B, 0x3B, 0x3B, 0x3B, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x1F, 0x17, 0x17, 0x17, 0x17, 0x1F, 0x17, 0x3B, 0x3B, 0x3B, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x35, 0x1F, 0x17, 0x17, 0x1F, 0x17, 0x08,
|
||||
0x34, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x2C, 0x3B, 0x3B, 0x2B, 0x17, 0x08,
|
||||
0x17, 0x17, 0x17, 0x1F, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x17, 0x17, 0x2C, 0x17, 0x08,
|
||||
0x1F, 0x17, 0x17, 0x2C, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x3B, 0x1F, 0x3B, 0x17, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x3B, 0x2B, 0x3B, 0x17, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x35, 0x35, 0x35, 0x2B, 0x17, 0x3B, 0x2C, 0x3B, 0x17, 0x08,
|
||||
0x34, 0x17, 0x17, 0x17, 0x17, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x26, 0x1B, 0x1C, 0x1D, 0x25, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x1F, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x24, 0x24, 0x24, 0x2B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x35, 0x35, 0x3B, 0x35, 0x35, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x2C, 0x2C, 0x3B, 0x2C, 0x2C, 0x08,
|
||||
0x33, 0x17, 0x1F, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x34, 0x17, 0x2C, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2C, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x2C, 0x3B, 0x3B, 0x3B, 0x3B, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x1F, 0x17, 0x17, 0x17, 0x17, 0x1F, 0x17, 0x3B, 0x3B, 0x3B, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x35, 0x1F, 0x17, 0x17, 0x1F, 0x17, 0x08,
|
||||
0x34, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x2C, 0x3B, 0x3B, 0x2B, 0x17, 0x08,
|
||||
0x17, 0x17, 0x17, 0x1F, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x17, 0x17, 0x2C, 0x17, 0x08,
|
||||
0x1F, 0x17, 0x17, 0x2C, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x3B, 0x1F, 0x3B, 0x17, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x3B, 0x2B, 0x3B, 0x17, 0x08,
|
||||
0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x35, 0x35, 0x35, 0x2B, 0x17, 0x3B, 0x2C, 0x3B, 0x17, 0x08,
|
||||
0x34, 0x17, 0x17, 0x17, 0x17, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x7C1, 0x8441, 0x8477, 0x8441, 0xA441, 0x0401, 0x1, 0x8401, 0x8465, 0x0445, 0x1441, 0x8449, 0x8449, 0x87C1, 0xFFFF},
|
||||
@@ -2005,21 +2005,21 @@ static const struct TrHillFloor sDataTagVariety_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0x41, 0x41, 0x42, 0x43, 0x43, 0x43, 0x43, 0x43, 0x40, 0x41, 0x41, 0x08,
|
||||
0x40, 0xFB, 0x43, 0x41, 0x41, 0x41, 0x42, 0x40, 0x43, 0x41, 0x42, 0x42, 0x42, 0xFB, 0x41, 0x08,
|
||||
0x40, 0x41, 0xFB, 0x41, 0x41, 0x41, 0x42, 0x40, 0x43, 0x41, 0x43, 0x43, 0xFB, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0xFB, 0x43, 0x41, 0x42, 0x40, 0x43, 0x43, 0x43, 0xFB, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0x42, 0x42, 0x42, 0x40, 0x43, 0x43, 0x43, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x42, 0x41, 0xFE, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x42, 0x41, 0x43, 0x43, 0x43, 0x41, 0x40, 0x42, 0x42, 0x42, 0x42, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x40, 0x41, 0xFB, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0xFB, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x40, 0xFB, 0x43, 0x43, 0x41, 0x41, 0x41, 0x42, 0x42, 0x42, 0x42, 0xFB, 0x40, 0x41, 0x08,
|
||||
0x40, 0xFB, 0x43, 0x43, 0x41, 0x41, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0xFB, 0x41, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0x41, 0x41, 0x42, 0x43, 0x43, 0x43, 0x43, 0x43, 0x40, 0x41, 0x41, 0x08,
|
||||
0x40, 0xFB, 0x43, 0x41, 0x41, 0x41, 0x42, 0x40, 0x43, 0x41, 0x42, 0x42, 0x42, 0xFB, 0x41, 0x08,
|
||||
0x40, 0x41, 0xFB, 0x41, 0x41, 0x41, 0x42, 0x40, 0x43, 0x41, 0x43, 0x43, 0xFB, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0xFB, 0x43, 0x41, 0x42, 0x40, 0x43, 0x43, 0x43, 0xFB, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0x42, 0x42, 0x42, 0x40, 0x43, 0x43, 0x43, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x42, 0x41, 0xFE, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x42, 0x41, 0x43, 0x43, 0x43, 0x41, 0x40, 0x42, 0x42, 0x42, 0x42, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x40, 0x41, 0xFB, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0xFB, 0x41, 0x40, 0x41, 0x08,
|
||||
0x40, 0x40, 0xFB, 0x43, 0x43, 0x41, 0x41, 0x41, 0x42, 0x42, 0x42, 0x42, 0xFB, 0x40, 0x41, 0x08,
|
||||
0x40, 0xFB, 0x43, 0x43, 0x41, 0x41, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0xFB, 0x41, 0x08,
|
||||
0x40, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1},
|
||||
@@ -2345,21 +2345,21 @@ static const struct TrHillFloor sDataTagVariety_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x91, 0x9B, 0x9C, 0x96, 0x40, 0x40, 0x96, 0x9B, 0x96, 0x40, 0x40, 0x96, 0x9B, 0x9C, 0x9B, 0x08,
|
||||
0x9C, 0x9B, 0x96, 0x40, 0xDB, 0xDB, 0x40, 0x96, 0x40, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x08,
|
||||
0x91, 0x96, 0x40, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x42, 0x96, 0x9C, 0x08,
|
||||
0x91, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x9B, 0x08,
|
||||
0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x08,
|
||||
0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x08,
|
||||
0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x08,
|
||||
0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x08,
|
||||
0x91, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x08,
|
||||
0x91, 0x9B, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9C, 0x08,
|
||||
0x9C, 0x9B, 0x9B, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0x96, 0x9B, 0x9B, 0x9B, 0x96, 0x41, 0xDB, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9C, 0x96, 0x08,
|
||||
0xD6, 0x96, 0x9C, 0x9B, 0x9B, 0x96, 0x41, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9B, 0x96, 0xD6, 0x08,
|
||||
0x9C, 0xD6, 0x96, 0x9B, 0x9C, 0x9B, 0x96, 0x40, 0x96, 0x9B, 0x9C, 0x9B, 0x96, 0xD6, 0x9C, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x91, 0x9B, 0x9C, 0x96, 0x40, 0x40, 0x96, 0x9B, 0x96, 0x40, 0x40, 0x96, 0x9B, 0x9C, 0x9B, 0x08,
|
||||
0x9C, 0x9B, 0x96, 0x40, 0xDB, 0xDB, 0x40, 0x96, 0x40, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x08,
|
||||
0x91, 0x96, 0x40, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x42, 0x96, 0x9C, 0x08,
|
||||
0x91, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x9B, 0x08,
|
||||
0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x08,
|
||||
0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x08,
|
||||
0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x08,
|
||||
0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x08,
|
||||
0x91, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x08,
|
||||
0x91, 0x9B, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9C, 0x08,
|
||||
0x9C, 0x9B, 0x9B, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0x96, 0x9B, 0x9B, 0x9B, 0x96, 0x41, 0xDB, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9C, 0x96, 0x08,
|
||||
0xD6, 0x96, 0x9C, 0x9B, 0x9B, 0x96, 0x41, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9B, 0x96, 0xD6, 0x08,
|
||||
0x9C, 0xD6, 0x96, 0x9B, 0x9C, 0x9B, 0x96, 0x40, 0x96, 0x9B, 0x9C, 0x9B, 0x96, 0xD6, 0x9C, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xFFFF},
|
||||
@@ -2666,21 +2666,21 @@ static const struct TrHillFloor sDataTagVariety_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x1B, 0x1C, 0x1D, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x91, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x84, 0x84, 0x84, 0x9A, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x1B, 0x1C, 0x1D, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x91, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x84, 0x84, 0x84, 0x9A, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x08,
|
||||
0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x08,
|
||||
0x17, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0x17, 0xBB, 0xBB, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x0381, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1},
|
||||
@@ -2978,21 +2978,21 @@ static const struct TrHillFloor sDataTagVariety_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x69, 0x40, 0x6D, 0x41, 0x73, 0x41, 0x5E, 0x41, 0x71, 0x42, 0x45, 0x45, 0x45, 0x45, 0x45, 0x08,
|
||||
0x43, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x41, 0x73, 0x45, 0x45, 0x45, 0x45, 0x45, 0x08,
|
||||
0x65, 0x40, 0x73, 0x42, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x42, 0x45, 0x45, 0x45, 0x45, 0x45, 0x08,
|
||||
0x6C, 0x73, 0x41, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x42, 0x73, 0x41, 0x08,
|
||||
0x69, 0x40, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x43, 0x73, 0x43, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x08,
|
||||
0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x08,
|
||||
0x65, 0x42, 0x73, 0x42, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x42, 0x73, 0x41, 0x6D, 0x42, 0x73, 0x08,
|
||||
0x6C, 0x73, 0x41, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x08,
|
||||
0x69, 0x40, 0x6D, 0x41, 0x73, 0x41, 0x6D, 0x42, 0x73, 0x43, 0x6D, 0x41, 0x73, 0x43, 0x6D, 0x08,
|
||||
0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x08,
|
||||
0x65, 0x42, 0x73, 0x42, 0x6D, 0x43, 0x73, 0x42, 0x6D, 0x42, 0x73, 0x41, 0x6D, 0x40, 0x73, 0x08,
|
||||
0x6C, 0x73, 0x40, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x08,
|
||||
0x69, 0x40, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x43, 0x73, 0x40, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x08,
|
||||
0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x69, 0x40, 0x6D, 0x41, 0x73, 0x41, 0x5E, 0x41, 0x71, 0x42, 0x45, 0x45, 0x45, 0x45, 0x45, 0x08,
|
||||
0x43, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x41, 0x73, 0x45, 0x45, 0x45, 0x45, 0x45, 0x08,
|
||||
0x65, 0x40, 0x73, 0x42, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x42, 0x45, 0x45, 0x45, 0x45, 0x45, 0x08,
|
||||
0x6C, 0x73, 0x41, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x42, 0x73, 0x41, 0x08,
|
||||
0x69, 0x40, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x43, 0x73, 0x43, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x08,
|
||||
0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x08,
|
||||
0x65, 0x42, 0x73, 0x42, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x42, 0x73, 0x41, 0x6D, 0x42, 0x73, 0x08,
|
||||
0x6C, 0x73, 0x41, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x08,
|
||||
0x69, 0x40, 0x6D, 0x41, 0x73, 0x41, 0x6D, 0x42, 0x73, 0x43, 0x6D, 0x41, 0x73, 0x43, 0x6D, 0x08,
|
||||
0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x08,
|
||||
0x65, 0x42, 0x73, 0x42, 0x6D, 0x43, 0x73, 0x42, 0x6D, 0x42, 0x73, 0x41, 0x6D, 0x40, 0x73, 0x08,
|
||||
0x6C, 0x73, 0x40, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x08,
|
||||
0x69, 0x40, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x43, 0x73, 0x40, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x08,
|
||||
0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x1, 0x2201, 0x1, 0x8881, 0x1, 0x2223, 0x1, 0x8889, 0x1, 0x2223, 0x1, 0x8889, 0x1, 0x2223, 0xFFFF},
|
||||
@@ -3304,21 +3304,21 @@ static const struct TrHillFloor sDataTagUnique_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0xF1, 0xF5, 0xFB, 0xF5, 0xE6, 0xE6, 0x1B, 0x14, 0x15, 0xF8, 0xF9, 0xFA, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xF9, 0xE6, 0xEE, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0x9B, 0x9B, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0x9B, 0xDB, 0xDB, 0x9B, 0xEC, 0xFB, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xF5, 0x95, 0x95, 0xF5, 0xF5, 0xF5, 0xEB, 0xEC, 0xEB, 0xFB, 0xEB, 0x08,
|
||||
0xED, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0x08,
|
||||
0xF4, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xF5, 0xFB, 0x08,
|
||||
0xF1, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0x08,
|
||||
0xF1, 0xF5, 0xF5, 0xEB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0xFB, 0x08,
|
||||
0xF1, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0xEB, 0xFB, 0x08,
|
||||
0xF1, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xFB, 0xEB, 0xFB, 0x08,
|
||||
0xF1, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0xEC, 0xFB, 0x08,
|
||||
0xF1, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xF5, 0xFB, 0xF5, 0xE6, 0xE6, 0x1B, 0x14, 0x15, 0xF8, 0xF9, 0xFA, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xF9, 0xE6, 0xEE, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0x9B, 0x9B, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0x9B, 0xDB, 0xDB, 0x9B, 0xEC, 0xFB, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xF5, 0x95, 0x95, 0xF5, 0xF5, 0xF5, 0xEB, 0xEC, 0xEB, 0xFB, 0xEB, 0x08,
|
||||
0xED, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0x08,
|
||||
0xF4, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xF5, 0xFB, 0x08,
|
||||
0xF1, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0x08,
|
||||
0xF1, 0xF5, 0xF5, 0xEB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0xFB, 0x08,
|
||||
0xF1, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0xEB, 0xFB, 0x08,
|
||||
0xF1, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xFB, 0xEB, 0xFB, 0x08,
|
||||
0xF1, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0xEC, 0xFB, 0x08,
|
||||
0xF1, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x5E01, 0x50FF, 0x5083, 0x503B, 0x5FEB, 0xC02B, 0x5FEB, 0x5009, 0x57FD, 0x1005, 0x7FF5, 0x15, 0x7FF5, 0x1, 0xFFFF},
|
||||
@@ -3625,21 +3625,21 @@ static const struct TrHillFloor sDataTagUnique_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x26, 0x1B, 0x1C, 0x1D, 0x25, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x2D, 0x3B, 0x3B, 0x3B, 0x35, 0x2C, 0x23, 0x24, 0x23, 0x2C, 0x35, 0x3B, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x94, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x8C, 0x87, 0x8C, 0x87, 0x95, 0x87, 0x9B, 0x08,
|
||||
0x91, 0x8F, 0x9B, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x95, 0x08,
|
||||
0x8D, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x95, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x8C, 0x08,
|
||||
0x94, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x9B, 0x9B, 0x9B, 0x87, 0x9B, 0x08,
|
||||
0x91, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x95, 0x9B, 0x95, 0x8F, 0x9B, 0x08,
|
||||
0x91, 0x97, 0x95, 0x97, 0x8C, 0x97, 0x95, 0x97, 0x95, 0x97, 0x8C, 0x9B, 0x8C, 0x97, 0x95, 0x08,
|
||||
0x91, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x9B, 0x87, 0x95, 0x87, 0x8C, 0x08,
|
||||
0x8D, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x08,
|
||||
0x94, 0x97, 0x95, 0x97, 0x8C, 0x97, 0x9B, 0x97, 0x95, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x9B, 0x08,
|
||||
0x91, 0x87, 0x8C, 0x87, 0x95, 0x87, 0x95, 0x87, 0x8B, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x9B, 0x08,
|
||||
0x91, 0x8F, 0x95, 0x8F, 0x8B, 0x8F, 0x8C, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x08,
|
||||
0x91, 0x97, 0x8C, 0x97, 0x8C, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x8B, 0x97, 0x9B, 0x08,
|
||||
0x91, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x8C, 0x9B, 0x9B, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x26, 0x1B, 0x1C, 0x1D, 0x25, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x2D, 0x3B, 0x3B, 0x3B, 0x35, 0x2C, 0x23, 0x24, 0x23, 0x2C, 0x35, 0x3B, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x94, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x8C, 0x87, 0x8C, 0x87, 0x95, 0x87, 0x9B, 0x08,
|
||||
0x91, 0x8F, 0x9B, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x95, 0x08,
|
||||
0x8D, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x95, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x8C, 0x08,
|
||||
0x94, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x9B, 0x9B, 0x9B, 0x87, 0x9B, 0x08,
|
||||
0x91, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x95, 0x9B, 0x95, 0x8F, 0x9B, 0x08,
|
||||
0x91, 0x97, 0x95, 0x97, 0x8C, 0x97, 0x95, 0x97, 0x95, 0x97, 0x8C, 0x9B, 0x8C, 0x97, 0x95, 0x08,
|
||||
0x91, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x9B, 0x87, 0x95, 0x87, 0x8C, 0x08,
|
||||
0x8D, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x08,
|
||||
0x94, 0x97, 0x95, 0x97, 0x8C, 0x97, 0x9B, 0x97, 0x95, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x9B, 0x08,
|
||||
0x91, 0x87, 0x8C, 0x87, 0x95, 0x87, 0x95, 0x87, 0x8B, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x9B, 0x08,
|
||||
0x91, 0x8F, 0x95, 0x8F, 0x8B, 0x8F, 0x8C, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x08,
|
||||
0x91, 0x97, 0x8C, 0x97, 0x8C, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x8B, 0x97, 0x9B, 0x08,
|
||||
0x91, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x8C, 0x9B, 0x9B, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x7C1, 0x8AA1, 0x0209, 0x5557, 0xA281, 0x81, 0x5D6D, 0x2283, 0x89, 0xDD55, 0x20A1, 0xA81, 0x7D5D, 0x9, 0xFFFF},
|
||||
@@ -3946,21 +3946,21 @@ static const struct TrHillFloor sDataTagUnique_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7C, 0x46, 0x08,
|
||||
0x69, 0x46, 0x7A, 0x73, 0x73, 0x73, 0x79, 0x73, 0x73, 0x73, 0x7D, 0x73, 0x73, 0x73, 0x46, 0x08,
|
||||
0x69, 0x46, 0x73, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0x69, 0x46, 0x73, 0x73, 0x7B, 0x73, 0x7C, 0x73, 0x7B, 0x73, 0x7A, 0x73, 0x73, 0x73, 0x46, 0x08,
|
||||
0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7A, 0x46, 0x08,
|
||||
0x69, 0x46, 0x73, 0x73, 0x73, 0x73, 0x73, 0x7D, 0x7C, 0x73, 0x7C, 0x73, 0x7B, 0x73, 0x46, 0x08,
|
||||
0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7C, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x08,
|
||||
0xF1, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0xF1, 0x46, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x7A, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x7C, 0x08,
|
||||
0xF1, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0xFB, 0x08,
|
||||
0x7C, 0xFB, 0x7B, 0xFB, 0x7A, 0xFB, 0x79, 0xFB, 0xB3, 0xFB, 0x7D, 0xFB, 0x7E, 0xFB, 0x7D, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7C, 0x46, 0x08,
|
||||
0x69, 0x46, 0x7A, 0x73, 0x73, 0x73, 0x79, 0x73, 0x73, 0x73, 0x7D, 0x73, 0x73, 0x73, 0x46, 0x08,
|
||||
0x69, 0x46, 0x73, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0x69, 0x46, 0x73, 0x73, 0x7B, 0x73, 0x7C, 0x73, 0x7B, 0x73, 0x7A, 0x73, 0x73, 0x73, 0x46, 0x08,
|
||||
0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7A, 0x46, 0x08,
|
||||
0x69, 0x46, 0x73, 0x73, 0x73, 0x73, 0x73, 0x7D, 0x7C, 0x73, 0x7C, 0x73, 0x7B, 0x73, 0x46, 0x08,
|
||||
0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7C, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x08,
|
||||
0xF1, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0xF1, 0x46, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x7A, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x7C, 0x08,
|
||||
0xF1, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0xFB, 0x08,
|
||||
0x7C, 0xFB, 0x7B, 0xFB, 0x7A, 0xFB, 0x79, 0xFB, 0xB3, 0xFB, 0x7D, 0xFB, 0x7E, 0xFB, 0x7D, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x7FFB, 0x4003, 0x5FFF, 0x4003, 0x7FFB, 0x4003, 0x7EFF, 0x4443, 0x4443, 0x4443, 0x7EFF, 0x4001, 0x7FFD, 0x1, 0xFFFF},
|
||||
@@ -4257,21 +4257,21 @@ static const struct TrHillFloor sDataTagUnique_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0xF1, 0xFB, 0xFB, 0xFB, 0xF9, 0xF9, 0x1B, 0x1C, 0x1D, 0xE5, 0xE6, 0xEE, 0xF5, 0xFB, 0xFB, 0x08,
|
||||
0xED, 0xF5, 0xF5, 0xF5, 0xFB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEB, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0x08,
|
||||
0xF4, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0x08,
|
||||
0xF1, 0xEB, 0xEC, 0xEC, 0xEC, 0xEB, 0xEC, 0xEC, 0xFB, 0xEC, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xF5, 0xFB, 0xF5, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xF5, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xF5, 0xF5, 0xF5, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0x08,
|
||||
0xF1, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0x08,
|
||||
0xF1, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xFB, 0xFB, 0xEC, 0xFB, 0xFB, 0xFB, 0xEC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xFB, 0xFB, 0xFB, 0xF9, 0xF9, 0x1B, 0x1C, 0x1D, 0xE5, 0xE6, 0xEE, 0xF5, 0xFB, 0xFB, 0x08,
|
||||
0xED, 0xF5, 0xF5, 0xF5, 0xFB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEB, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0x08,
|
||||
0xF4, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0x08,
|
||||
0xF1, 0xEB, 0xEC, 0xEC, 0xEC, 0xEB, 0xEC, 0xEC, 0xFB, 0xEC, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xF5, 0xFB, 0xF5, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xF5, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xF5, 0xF5, 0xF5, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0x08,
|
||||
0xF1, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0x08,
|
||||
0xF1, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0xF1, 0xFB, 0xFB, 0xEC, 0xFB, 0xFB, 0xFB, 0xEC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x3F9, 0xF041, 0x41, 0x7F5F, 0x4401, 0x4541, 0x5579, 0x5541, 0x555F, 0x5541, 0x5541, 0x557D, 0x1101, 0x1101, 0xFFFF},
|
||||
@@ -4590,21 +4590,21 @@ static const struct TrHillFloor sDataTagExpert_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x1B, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x2C, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x31, 0x3B, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3B, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3B, 0x3B, 0x08,
|
||||
0x69, 0x73, 0x08, 0x4D, 0x4D, 0x4D, 0x4D, 0xD1, 0x4D, 0x4D, 0x4D, 0x4D, 0x08, 0x69, 0x73, 0x08,
|
||||
0x40, 0x3B, 0x08, 0x55, 0x55, 0x55, 0x55, 0xD1, 0x55, 0x55, 0x55, 0x55, 0x08, 0x31, 0x41, 0x08,
|
||||
0x69, 0x41, 0x08, 0xC5, 0xD9, 0xD9, 0xD9, 0x9A, 0xD9, 0xD9, 0xD9, 0xC6, 0x08, 0x41, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x08, 0xD4, 0xDB, 0x9B, 0x73, 0x73, 0x73, 0x9B, 0xDB, 0xCC, 0x08, 0x31, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x08, 0xCD, 0x9B, 0x73, 0x73, 0x44, 0x73, 0x73, 0x9B, 0xD5, 0x08, 0x31, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x08, 0xD4, 0xDB, 0x9B, 0x73, 0x73, 0x73, 0x9B, 0xDB, 0xCC, 0x08, 0x31, 0x73, 0x08,
|
||||
0x69, 0x41, 0x08, 0xD1, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xDB, 0xDB, 0xDB, 0x08, 0x41, 0x73, 0x08,
|
||||
0x40, 0x3B, 0x08, 0x08, 0xC7, 0xC7, 0xDB, 0xDB, 0xDB, 0xC7, 0xC7, 0x08, 0x08, 0x31, 0x41, 0x08,
|
||||
0x69, 0x3B, 0x4D, 0x4D, 0x67, 0x67, 0xDB, 0xDB, 0xDB, 0x67, 0x67, 0x4D, 0x4D, 0x31, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x55, 0x55, 0xD7, 0xD7, 0xD1, 0xDB, 0xDB, 0xD7, 0xD7, 0x55, 0x55, 0x31, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x39, 0x39, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x39, 0x39, 0x39, 0x39, 0x3A, 0x73, 0x08,
|
||||
0x69, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x1B, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x2C, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x31, 0x3B, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3B, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3B, 0x3B, 0x08,
|
||||
0x69, 0x73, 0x08, 0x4D, 0x4D, 0x4D, 0x4D, 0xD1, 0x4D, 0x4D, 0x4D, 0x4D, 0x08, 0x69, 0x73, 0x08,
|
||||
0x40, 0x3B, 0x08, 0x55, 0x55, 0x55, 0x55, 0xD1, 0x55, 0x55, 0x55, 0x55, 0x08, 0x31, 0x41, 0x08,
|
||||
0x69, 0x41, 0x08, 0xC5, 0xD9, 0xD9, 0xD9, 0x9A, 0xD9, 0xD9, 0xD9, 0xC6, 0x08, 0x41, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x08, 0xD4, 0xDB, 0x9B, 0x73, 0x73, 0x73, 0x9B, 0xDB, 0xCC, 0x08, 0x31, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x08, 0xCD, 0x9B, 0x73, 0x73, 0x44, 0x73, 0x73, 0x9B, 0xD5, 0x08, 0x31, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x08, 0xD4, 0xDB, 0x9B, 0x73, 0x73, 0x73, 0x9B, 0xDB, 0xCC, 0x08, 0x31, 0x73, 0x08,
|
||||
0x69, 0x41, 0x08, 0xD1, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xDB, 0xDB, 0xDB, 0x08, 0x41, 0x73, 0x08,
|
||||
0x40, 0x3B, 0x08, 0x08, 0xC7, 0xC7, 0xDB, 0xDB, 0xDB, 0xC7, 0xC7, 0x08, 0x08, 0x31, 0x41, 0x08,
|
||||
0x69, 0x3B, 0x4D, 0x4D, 0x67, 0x67, 0xDB, 0xDB, 0xDB, 0x67, 0x67, 0x4D, 0x4D, 0x31, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x55, 0x55, 0xD7, 0xD7, 0xD1, 0xDB, 0xDB, 0xD7, 0xD7, 0x55, 0x55, 0x31, 0x73, 0x08,
|
||||
0x69, 0x3B, 0x39, 0x39, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x39, 0x39, 0x39, 0x39, 0x3A, 0x73, 0x08,
|
||||
0x69, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x0201, 0x3EF9, 0x3EF9, 0x3EF9, 0x2009, 0x3019, 0x2009, 0x3019, 0x2009, 0x3019, 0x3019, 0x3C79, 0x1, 0x1, 0xFFFF},
|
||||
@@ -4912,21 +4912,21 @@ static const struct TrHillFloor sDataTagExpert_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x78, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x7C, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7C, 0x9B, 0x7B, 0x9B, 0x7A, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x7D, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x7E, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0xB3, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x7D, 0x9B, 0x7C, 0x9B, 0x7B, 0x9B, 0x7A, 0x9B, 0x7C, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x7C, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0xB3, 0x08,
|
||||
0x91, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x9B, 0x08,
|
||||
0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x08,
|
||||
0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0x08,
|
||||
0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x08,
|
||||
0x91, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x9B, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x78, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x7C, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7C, 0x9B, 0x7B, 0x9B, 0x7A, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x7D, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x7E, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0xB3, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x7D, 0x9B, 0x7C, 0x9B, 0x7B, 0x9B, 0x7A, 0x9B, 0x7C, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x08,
|
||||
0x91, 0x46, 0x9B, 0x7C, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0x08,
|
||||
0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0xB3, 0x08,
|
||||
0x91, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x9B, 0x08,
|
||||
0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x08,
|
||||
0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0x08,
|
||||
0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x08,
|
||||
0x91, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x9B, 0x08,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x7FFD, 0x4001, 0x5FFF, 0x4001, 0x7FFD, 0x4001, 0x5FFF, 0x4001, 0x7FFD, 0x1, 0x1, 0x1, 0x1, 0x1, 0xFFFF},
|
||||
@@ -5234,21 +5234,21 @@ static const struct TrHillFloor sDataTagExpert_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0xD1, 0xDB, 0xDB, 0xDB, 0xD9, 0xD9, 0x1B, 0x14, 0x15, 0x98, 0x99, 0x9A, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xDB, 0xD5, 0xD5, 0xC3, 0xF9, 0x86, 0x8E, 0x95, 0x9B, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xD5, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xD5, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xD5, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8C, 0x8B, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x08,
|
||||
0xD1, 0xCB, 0xCB, 0xCB, 0xCB, 0xCC, 0xCC, 0xFB, 0xFB, 0x8C, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x08,
|
||||
0xD1, 0xCC, 0xCC, 0xCC, 0xCC, 0xFB, 0xF5, 0xFB, 0xF5, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x08,
|
||||
0xD1, 0xD5, 0xD5, 0xD5, 0xD5, 0xFB, 0xEC, 0xFB, 0xEC, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x08,
|
||||
0xD1, 0xCB, 0xCB, 0xCB, 0xCB, 0xF5, 0xF5, 0xFB, 0xFB, 0xF5, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x08,
|
||||
0xD1, 0xCC, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0xF5, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xCC, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xCC, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xDB, 0xCC, 0xCC, 0xCB, 0xFB, 0x8C, 0x8C, 0x8C, 0x9B, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xDB, 0xD9, 0xD9, 0x1B, 0x14, 0x15, 0x98, 0x99, 0x9A, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xDB, 0xD5, 0xD5, 0xC3, 0xF9, 0x86, 0x8E, 0x95, 0x9B, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xD5, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xD5, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xD5, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8C, 0x8B, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x08,
|
||||
0xD1, 0xCB, 0xCB, 0xCB, 0xCB, 0xCC, 0xCC, 0xFB, 0xFB, 0x8C, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x08,
|
||||
0xD1, 0xCC, 0xCC, 0xCC, 0xCC, 0xFB, 0xF5, 0xFB, 0xF5, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x08,
|
||||
0xD1, 0xD5, 0xD5, 0xD5, 0xD5, 0xFB, 0xEC, 0xFB, 0xEC, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x08,
|
||||
0xD1, 0xCB, 0xCB, 0xCB, 0xCB, 0xF5, 0xF5, 0xFB, 0xFB, 0xF5, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x08,
|
||||
0xD1, 0xCC, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0xF5, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xCC, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xCC, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xDB, 0xCC, 0xCC, 0xCB, 0xFB, 0x8C, 0x8C, 0x8C, 0x9B, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
0xD1, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xCC, 0xFB, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x0201, 0xEE1, 0x1EF1, 0x3EF9, 0x3EF9, 0x7E7D, 0x783D, 0x2BD, 0x783D, 0x7E7D, 0x3E79, 0x3EF9, 0x1EF1, 0xEE1, 0x201},
|
||||
@@ -5548,21 +5548,21 @@ static const struct TrHillFloor sDataTagExpert_Floors[] = {
|
||||
},
|
||||
.display = {
|
||||
.metatileData = {
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x96, 0xFB, 0xF6, 0xFD, 0xF6, 0xF6, 0xFB, 0x46, 0xFB, 0xF6, 0xF6, 0xFD, 0xF6, 0xFB, 0x9B, 0x08,
|
||||
0xFB, 0x9B, 0xFB, 0xF6, 0xFB, 0xFB, 0xFB, 0x46, 0xFB, 0xFB, 0xFB, 0xF6, 0xFB, 0x9B, 0xFB, 0x08,
|
||||
0xF6, 0xFB, 0x9B, 0xFB, 0xFB, 0x46, 0x46, 0x9B, 0x46, 0x46, 0xFB, 0xFB, 0x9B, 0xFB, 0xF6, 0x08,
|
||||
0xFD, 0xF6, 0xFB, 0x9B, 0x46, 0x36, 0x36, 0x9B, 0x36, 0x36, 0x46, 0x9B, 0xFB, 0xF6, 0xFD, 0x08,
|
||||
0xF6, 0xFB, 0xFB, 0x46, 0x9B, 0x46, 0x46, 0xDB, 0x46, 0x46, 0x9B, 0x46, 0xFB, 0xFB, 0xF6, 0x08,
|
||||
0xF6, 0xFB, 0x46, 0x36, 0x46, 0x9B, 0xDB, 0xD6, 0xDB, 0x9B, 0x46, 0x36, 0x46, 0xFB, 0xF6, 0x08,
|
||||
0xFB, 0xFB, 0x46, 0x36, 0x9B, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0x9B, 0x36, 0x46, 0xFB, 0xFB, 0x08,
|
||||
0x96, 0x9B, 0x9B, 0x9B, 0x9B, 0xD6, 0xD6, 0x96, 0xD6, 0xD6, 0xDB, 0x9B, 0x9B, 0x9B, 0x96, 0x08,
|
||||
0xFB, 0xFB, 0x46, 0x36, 0x9B, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0x9B, 0x36, 0x46, 0xFB, 0xFB, 0x08,
|
||||
0xF6, 0xFB, 0x46, 0x36, 0x46, 0x9B, 0xDB, 0xD6, 0xDB, 0x9B, 0x46, 0x36, 0x46, 0xFB, 0xF6, 0x08,
|
||||
0xF6, 0xFB, 0xFB, 0x46, 0x9B, 0x46, 0x46, 0xDB, 0x46, 0x46, 0x9B, 0x46, 0xFB, 0xFB, 0xF6, 0x08,
|
||||
0xFD, 0xF6, 0xFB, 0x9B, 0x46, 0x36, 0x36, 0x9B, 0x36, 0x36, 0x46, 0x9B, 0xFB, 0xF6, 0xFD, 0x08,
|
||||
0xF6, 0xFB, 0x9B, 0xFB, 0xFB, 0x46, 0x46, 0x9B, 0x46, 0x46, 0xFB, 0xFB, 0x9B, 0xFB, 0xF6, 0x08,
|
||||
0xFB, 0x9B, 0xFB, 0xF6, 0xFB, 0xFB, 0xFB, 0x46, 0xFB, 0xFB, 0xFB, 0xF6, 0xFB, 0x9B, 0xFB, 0x08,
|
||||
0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x08,
|
||||
0x96, 0xFB, 0xF6, 0xFD, 0xF6, 0xF6, 0xFB, 0x46, 0xFB, 0xF6, 0xF6, 0xFD, 0xF6, 0xFB, 0x9B, 0x08,
|
||||
0xFB, 0x9B, 0xFB, 0xF6, 0xFB, 0xFB, 0xFB, 0x46, 0xFB, 0xFB, 0xFB, 0xF6, 0xFB, 0x9B, 0xFB, 0x08,
|
||||
0xF6, 0xFB, 0x9B, 0xFB, 0xFB, 0x46, 0x46, 0x9B, 0x46, 0x46, 0xFB, 0xFB, 0x9B, 0xFB, 0xF6, 0x08,
|
||||
0xFD, 0xF6, 0xFB, 0x9B, 0x46, 0x36, 0x36, 0x9B, 0x36, 0x36, 0x46, 0x9B, 0xFB, 0xF6, 0xFD, 0x08,
|
||||
0xF6, 0xFB, 0xFB, 0x46, 0x9B, 0x46, 0x46, 0xDB, 0x46, 0x46, 0x9B, 0x46, 0xFB, 0xFB, 0xF6, 0x08,
|
||||
0xF6, 0xFB, 0x46, 0x36, 0x46, 0x9B, 0xDB, 0xD6, 0xDB, 0x9B, 0x46, 0x36, 0x46, 0xFB, 0xF6, 0x08,
|
||||
0xFB, 0xFB, 0x46, 0x36, 0x9B, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0x9B, 0x36, 0x46, 0xFB, 0xFB, 0x08,
|
||||
0x96, 0x9B, 0x9B, 0x9B, 0x9B, 0xD6, 0xD6, 0x96, 0xD6, 0xD6, 0xDB, 0x9B, 0x9B, 0x9B, 0x96, 0x08,
|
||||
0xFB, 0xFB, 0x46, 0x36, 0x9B, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0x9B, 0x36, 0x46, 0xFB, 0xFB, 0x08,
|
||||
0xF6, 0xFB, 0x46, 0x36, 0x46, 0x9B, 0xDB, 0xD6, 0xDB, 0x9B, 0x46, 0x36, 0x46, 0xFB, 0xF6, 0x08,
|
||||
0xF6, 0xFB, 0xFB, 0x46, 0x9B, 0x46, 0x46, 0xDB, 0x46, 0x46, 0x9B, 0x46, 0xFB, 0xFB, 0xF6, 0x08,
|
||||
0xFD, 0xF6, 0xFB, 0x9B, 0x46, 0x36, 0x36, 0x9B, 0x36, 0x36, 0x46, 0x9B, 0xFB, 0xF6, 0xFD, 0x08,
|
||||
0xF6, 0xFB, 0x9B, 0xFB, 0xFB, 0x46, 0x46, 0x9B, 0x46, 0x46, 0xFB, 0xFB, 0x9B, 0xFB, 0xF6, 0x08,
|
||||
0xFB, 0x9B, 0xFB, 0xF6, 0xFB, 0xFB, 0xFB, 0x46, 0xFB, 0xFB, 0xFB, 0xF6, 0xFB, 0x9B, 0xFB, 0x08,
|
||||
0x96, 0xFB, 0xF6, 0xFD, 0xF6, 0xF6, 0xFB, 0x46, 0xFB, 0xF6, 0xF6, 0xFD, 0xF6, 0xFB, 0x9B, 0x08,
|
||||
},
|
||||
.collisionData = {0x0381, 0x0101, 0x0101, 0x6C1, 0x0821, 0x16D1, 0x2829, 0x2009, 0x1, 0x2009, 0x2829, 0x16D1, 0x0821, 0x6C1, 0x0101, 0x101},
|
||||
|
||||
@@ -99,8 +99,8 @@
|
||||
#define CONTEST_OPPONENT_TREY 94
|
||||
#define CONTEST_OPPONENT_LANE 95
|
||||
|
||||
// All contest opponents have a common set of AI flags (which contains all of the actually
|
||||
// useful AI scripts, as well as some dummys) and a random combination of 2-3 dummy flags.
|
||||
// All contest opponents have a common set of AI flags (which contains all of the actually
|
||||
// useful AI scripts, as well as some dummys) and a random combination of 2-3 dummy flags.
|
||||
// Seems that like the battle AI they had more plans for this than what ended up in the final game
|
||||
#define CONTEST_AI_SET_1 (CONTEST_AI_COMMON | CONTEST_AI_DUMMY_20 | CONTEST_AI_DUMMY_21)
|
||||
#define CONTEST_AI_SET_2 (CONTEST_AI_COMMON | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25)
|
||||
@@ -1166,7 +1166,7 @@ const struct ContestPokemon gContestOpponents[] =
|
||||
.personality = 0,
|
||||
.otId = 0xFFFF
|
||||
},
|
||||
[CONTEST_OPPONENT_ARIANA] = {
|
||||
[CONTEST_OPPONENT_ARIANA] = {
|
||||
.species = SPECIES_KECLEON,
|
||||
.nickname = _("KECON"),
|
||||
.trainerName = _("ARIANA"),
|
||||
@@ -2010,7 +2010,7 @@ const struct ContestPokemon gContestOpponents[] =
|
||||
.species = SPECIES_CUBONE,
|
||||
.nickname = _("CUBIN"),
|
||||
.trainerName = _("COLTIN"),
|
||||
.trainerGfxId = OBJ_EVENT_GFX_MAN_4,
|
||||
.trainerGfxId = OBJ_EVENT_GFX_MAN_4,
|
||||
.aiFlags = CONTEST_AI_SET_2,
|
||||
.whichRank = CONTEST_RANK_HYPER,
|
||||
.aiPool_Cool = FALSE,
|
||||
|
||||
@@ -181,7 +181,7 @@ extern const u8 gText_CouldntImproveItsCondition[];
|
||||
extern const u8 gText_BadConditionResultedInWeakAppeal[];
|
||||
extern const u8 gText_MonWasUnaffected[];
|
||||
extern const u8 gText_AttractedCrowdsAttention[];
|
||||
|
||||
|
||||
// sContestConditions
|
||||
extern const u8 gText_Contest_Coolness[];
|
||||
extern const u8 gText_Contest_Beauty[];
|
||||
|
||||
+120
-120
@@ -11,7 +11,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SMALL_DESK,
|
||||
.tiles = DecorGfx_SMALL_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SMALL_DESK] =
|
||||
{
|
||||
.id = DECOR_SMALL_DESK,
|
||||
@@ -23,7 +23,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SMALL_DESK,
|
||||
.tiles = DecorGfx_SMALL_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_POKEMON_DESK] =
|
||||
{
|
||||
.id = DECOR_POKEMON_DESK,
|
||||
@@ -35,7 +35,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_POKEMON_DESK,
|
||||
.tiles = DecorGfx_POKEMON_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_HEAVY_DESK] =
|
||||
{
|
||||
.id = DECOR_HEAVY_DESK,
|
||||
@@ -47,7 +47,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_HEAVY_DESK,
|
||||
.tiles = DecorGfx_HEAVY_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_RAGGED_DESK] =
|
||||
{
|
||||
.id = DECOR_RAGGED_DESK,
|
||||
@@ -59,7 +59,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_RAGGED_DESK,
|
||||
.tiles = DecorGfx_RAGGED_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_COMFORT_DESK] =
|
||||
{
|
||||
.id = DECOR_COMFORT_DESK,
|
||||
@@ -71,7 +71,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_COMFORT_DESK,
|
||||
.tiles = DecorGfx_COMFORT_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_PRETTY_DESK] =
|
||||
{
|
||||
.id = DECOR_PRETTY_DESK,
|
||||
@@ -83,7 +83,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_PRETTY_DESK,
|
||||
.tiles = DecorGfx_PRETTY_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BRICK_DESK] =
|
||||
{
|
||||
.id = DECOR_BRICK_DESK,
|
||||
@@ -95,7 +95,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BRICK_DESK,
|
||||
.tiles = DecorGfx_BRICK_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_CAMP_DESK] =
|
||||
{
|
||||
.id = DECOR_CAMP_DESK,
|
||||
@@ -107,7 +107,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_CAMP_DESK,
|
||||
.tiles = DecorGfx_CAMP_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_HARD_DESK] =
|
||||
{
|
||||
.id = DECOR_HARD_DESK,
|
||||
@@ -119,7 +119,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_HARD_DESK,
|
||||
.tiles = DecorGfx_HARD_DESK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SMALL_CHAIR] =
|
||||
{
|
||||
.id = DECOR_SMALL_CHAIR,
|
||||
@@ -131,7 +131,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SMALL_CHAIR,
|
||||
.tiles = DecorGfx_SMALL_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_POKEMON_CHAIR] =
|
||||
{
|
||||
.id = DECOR_POKEMON_CHAIR,
|
||||
@@ -143,7 +143,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_POKEMON_CHAIR,
|
||||
.tiles = DecorGfx_POKEMON_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_HEAVY_CHAIR] =
|
||||
{
|
||||
.id = DECOR_HEAVY_CHAIR,
|
||||
@@ -155,7 +155,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_HEAVY_CHAIR,
|
||||
.tiles = DecorGfx_HEAVY_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_PRETTY_CHAIR] =
|
||||
{
|
||||
.id = DECOR_PRETTY_CHAIR,
|
||||
@@ -167,7 +167,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_PRETTY_CHAIR,
|
||||
.tiles = DecorGfx_PRETTY_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_COMFORT_CHAIR] =
|
||||
{
|
||||
.id = DECOR_COMFORT_CHAIR,
|
||||
@@ -179,7 +179,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_COMFORT_CHAIR,
|
||||
.tiles = DecorGfx_COMFORT_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_RAGGED_CHAIR] =
|
||||
{
|
||||
.id = DECOR_RAGGED_CHAIR,
|
||||
@@ -191,7 +191,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_RAGGED_CHAIR,
|
||||
.tiles = DecorGfx_RAGGED_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BRICK_CHAIR] =
|
||||
{
|
||||
.id = DECOR_BRICK_CHAIR,
|
||||
@@ -203,7 +203,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BRICK_CHAIR,
|
||||
.tiles = DecorGfx_BRICK_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_CAMP_CHAIR] =
|
||||
{
|
||||
.id = DECOR_CAMP_CHAIR,
|
||||
@@ -215,7 +215,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_CAMP_CHAIR,
|
||||
.tiles = DecorGfx_CAMP_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_HARD_CHAIR] =
|
||||
{
|
||||
.id = DECOR_HARD_CHAIR,
|
||||
@@ -227,7 +227,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_HARD_CHAIR,
|
||||
.tiles = DecorGfx_HARD_CHAIR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_RED_PLANT] =
|
||||
{
|
||||
.id = DECOR_RED_PLANT,
|
||||
@@ -239,7 +239,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_RED_PLANT,
|
||||
.tiles = DecorGfx_RED_PLANT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_TROPICAL_PLANT] =
|
||||
{
|
||||
.id = DECOR_TROPICAL_PLANT,
|
||||
@@ -251,7 +251,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_TROPICAL_PLANT,
|
||||
.tiles = DecorGfx_TROPICAL_PLANT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_PRETTY_FLOWERS] =
|
||||
{
|
||||
.id = DECOR_PRETTY_FLOWERS,
|
||||
@@ -263,7 +263,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_PRETTY_FLOWERS,
|
||||
.tiles = DecorGfx_PRETTY_FLOWERS,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_COLORFUL_PLANT] =
|
||||
{
|
||||
.id = DECOR_COLORFUL_PLANT,
|
||||
@@ -275,7 +275,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_COLORFUL_PLANT,
|
||||
.tiles = DecorGfx_COLORFUL_PLANT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BIG_PLANT] =
|
||||
{
|
||||
.id = DECOR_BIG_PLANT,
|
||||
@@ -287,7 +287,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BIG_PLANT,
|
||||
.tiles = DecorGfx_BIG_PLANT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_GORGEOUS_PLANT] =
|
||||
{
|
||||
.id = DECOR_GORGEOUS_PLANT,
|
||||
@@ -299,7 +299,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_GORGEOUS_PLANT,
|
||||
.tiles = DecorGfx_GORGEOUS_PLANT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_RED_BRICK] =
|
||||
{
|
||||
.id = DECOR_RED_BRICK,
|
||||
@@ -311,7 +311,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_RED_BRICK,
|
||||
.tiles = DecorGfx_RED_BRICK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_YELLOW_BRICK] =
|
||||
{
|
||||
.id = DECOR_YELLOW_BRICK,
|
||||
@@ -323,7 +323,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_YELLOW_BRICK,
|
||||
.tiles = DecorGfx_YELLOW_BRICK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BLUE_BRICK] =
|
||||
{
|
||||
.id = DECOR_BLUE_BRICK,
|
||||
@@ -335,7 +335,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BLUE_BRICK,
|
||||
.tiles = DecorGfx_BLUE_BRICK,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_RED_BALLOON] =
|
||||
{
|
||||
.id = DECOR_RED_BALLOON,
|
||||
@@ -347,7 +347,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_RED_BALLOON,
|
||||
.tiles = DecorGfx_RED_BALLOON,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BLUE_BALLOON] =
|
||||
{
|
||||
.id = DECOR_BLUE_BALLOON,
|
||||
@@ -359,7 +359,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BLUE_BALLOON,
|
||||
.tiles = DecorGfx_BLUE_BALLOON,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_YELLOW_BALLOON] =
|
||||
{
|
||||
.id = DECOR_YELLOW_BALLOON,
|
||||
@@ -371,7 +371,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_YELLOW_BALLOON,
|
||||
.tiles = DecorGfx_YELLOW_BALLOON,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_RED_TENT] =
|
||||
{
|
||||
.id = DECOR_RED_TENT,
|
||||
@@ -383,7 +383,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_RED_TENT,
|
||||
.tiles = DecorGfx_RED_TENT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BLUE_TENT] =
|
||||
{
|
||||
.id = DECOR_BLUE_TENT,
|
||||
@@ -395,7 +395,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BLUE_TENT,
|
||||
.tiles = DecorGfx_BLUE_TENT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SOLID_BOARD] =
|
||||
{
|
||||
.id = DECOR_SOLID_BOARD,
|
||||
@@ -407,7 +407,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SOLID_BOARD,
|
||||
.tiles = DecorGfx_SOLID_BOARD,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SLIDE] =
|
||||
{
|
||||
.id = DECOR_SLIDE,
|
||||
@@ -419,7 +419,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SLIDE,
|
||||
.tiles = DecorGfx_SLIDE,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_FENCE_LENGTH] =
|
||||
{
|
||||
.id = DECOR_FENCE_LENGTH,
|
||||
@@ -431,7 +431,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_FENCE_LENGTH,
|
||||
.tiles = DecorGfx_FENCE_LENGTH,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_FENCE_WIDTH] =
|
||||
{
|
||||
.id = DECOR_FENCE_WIDTH,
|
||||
@@ -443,7 +443,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_FENCE_WIDTH,
|
||||
.tiles = DecorGfx_FENCE_WIDTH,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_TIRE] =
|
||||
{
|
||||
.id = DECOR_TIRE,
|
||||
@@ -455,7 +455,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_TIRE,
|
||||
.tiles = DecorGfx_TIRE,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_STAND] =
|
||||
{
|
||||
.id = DECOR_STAND,
|
||||
@@ -467,7 +467,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_STAND,
|
||||
.tiles = DecorGfx_STAND,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_MUD_BALL] =
|
||||
{
|
||||
.id = DECOR_MUD_BALL,
|
||||
@@ -479,7 +479,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_MUD_BALL,
|
||||
.tiles = DecorGfx_MUD_BALL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BREAKABLE_DOOR] =
|
||||
{
|
||||
.id = DECOR_BREAKABLE_DOOR,
|
||||
@@ -491,7 +491,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BREAKABLE_DOOR,
|
||||
.tiles = DecorGfx_BREAKABLE_DOOR,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SAND_ORNAMENT] =
|
||||
{
|
||||
.id = DECOR_SAND_ORNAMENT,
|
||||
@@ -503,7 +503,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SAND_ORNAMENT,
|
||||
.tiles = DecorGfx_SAND_ORNAMENT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SILVER_SHIELD] =
|
||||
{
|
||||
.id = DECOR_SILVER_SHIELD,
|
||||
@@ -515,7 +515,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SILVER_SHIELD,
|
||||
.tiles = DecorGfx_SILVER_SHIELD,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_GOLD_SHIELD] =
|
||||
{
|
||||
.id = DECOR_GOLD_SHIELD,
|
||||
@@ -527,7 +527,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_GOLD_SHIELD,
|
||||
.tiles = DecorGfx_GOLD_SHIELD,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_GLASS_ORNAMENT] =
|
||||
{
|
||||
.id = DECOR_GLASS_ORNAMENT,
|
||||
@@ -539,7 +539,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_GLASS_ORNAMENT,
|
||||
.tiles = DecorGfx_GLASS_ORNAMENT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_TV] =
|
||||
{
|
||||
.id = DECOR_TV,
|
||||
@@ -551,7 +551,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_TV,
|
||||
.tiles = DecorGfx_TV,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_ROUND_TV] =
|
||||
{
|
||||
.id = DECOR_ROUND_TV,
|
||||
@@ -563,7 +563,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_ROUND_TV,
|
||||
.tiles = DecorGfx_ROUND_TV,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_CUTE_TV] =
|
||||
{
|
||||
.id = DECOR_CUTE_TV,
|
||||
@@ -575,7 +575,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_CUTE_TV,
|
||||
.tiles = DecorGfx_CUTE_TV,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_GLITTER_MAT] =
|
||||
{
|
||||
.id = DECOR_GLITTER_MAT,
|
||||
@@ -587,7 +587,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_GLITTER_MAT,
|
||||
.tiles = DecorGfx_GLITTER_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_JUMP_MAT] =
|
||||
{
|
||||
.id = DECOR_JUMP_MAT,
|
||||
@@ -599,7 +599,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_JUMP_MAT,
|
||||
.tiles = DecorGfx_JUMP_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SPIN_MAT] =
|
||||
{
|
||||
.id = DECOR_SPIN_MAT,
|
||||
@@ -611,7 +611,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SPIN_MAT,
|
||||
.tiles = DecorGfx_SPIN_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_C_LOW_NOTE_MAT] =
|
||||
{
|
||||
.id = DECOR_C_LOW_NOTE_MAT,
|
||||
@@ -623,7 +623,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_C_LOW_NOTE_MAT,
|
||||
.tiles = DecorGfx_C_LOW_NOTE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_D_NOTE_MAT] =
|
||||
{
|
||||
.id = DECOR_D_NOTE_MAT,
|
||||
@@ -635,7 +635,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_D_NOTE_MAT,
|
||||
.tiles = DecorGfx_D_NOTE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_E_NOTE_MAT] =
|
||||
{
|
||||
.id = DECOR_E_NOTE_MAT,
|
||||
@@ -647,7 +647,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_E_NOTE_MAT,
|
||||
.tiles = DecorGfx_E_NOTE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_F_NOTE_MAT] =
|
||||
{
|
||||
.id = DECOR_F_NOTE_MAT,
|
||||
@@ -659,7 +659,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_F_NOTE_MAT,
|
||||
.tiles = DecorGfx_F_NOTE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_G_NOTE_MAT] =
|
||||
{
|
||||
.id = DECOR_G_NOTE_MAT,
|
||||
@@ -671,7 +671,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_G_NOTE_MAT,
|
||||
.tiles = DecorGfx_G_NOTE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_A_NOTE_MAT] =
|
||||
{
|
||||
.id = DECOR_A_NOTE_MAT,
|
||||
@@ -683,7 +683,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_A_NOTE_MAT,
|
||||
.tiles = DecorGfx_A_NOTE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_B_NOTE_MAT] =
|
||||
{
|
||||
.id = DECOR_B_NOTE_MAT,
|
||||
@@ -695,7 +695,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_B_NOTE_MAT,
|
||||
.tiles = DecorGfx_B_NOTE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_C_HIGH_NOTE_MAT] =
|
||||
{
|
||||
.id = DECOR_C_HIGH_NOTE_MAT,
|
||||
@@ -707,7 +707,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_C_HIGH_NOTE_MAT,
|
||||
.tiles = DecorGfx_C_HIGH_NOTE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SURF_MAT] =
|
||||
{
|
||||
.id = DECOR_SURF_MAT,
|
||||
@@ -719,7 +719,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SURF_MAT,
|
||||
.tiles = DecorGfx_SURF_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_THUNDER_MAT] =
|
||||
{
|
||||
.id = DECOR_THUNDER_MAT,
|
||||
@@ -731,7 +731,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_THUNDER_MAT,
|
||||
.tiles = DecorGfx_THUNDER_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_FIRE_BLAST_MAT] =
|
||||
{
|
||||
.id = DECOR_FIRE_BLAST_MAT,
|
||||
@@ -743,7 +743,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_FIRE_BLAST_MAT,
|
||||
.tiles = DecorGfx_FIRE_BLAST_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_POWDER_SNOW_MAT] =
|
||||
{
|
||||
.id = DECOR_POWDER_SNOW_MAT,
|
||||
@@ -755,7 +755,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_POWDER_SNOW_MAT,
|
||||
.tiles = DecorGfx_POWDER_SNOW_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_ATTRACT_MAT] =
|
||||
{
|
||||
.id = DECOR_ATTRACT_MAT,
|
||||
@@ -767,7 +767,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_ATTRACT_MAT,
|
||||
.tiles = DecorGfx_ATTRACT_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_FISSURE_MAT] =
|
||||
{
|
||||
.id = DECOR_FISSURE_MAT,
|
||||
@@ -779,7 +779,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_FISSURE_MAT,
|
||||
.tiles = DecorGfx_FISSURE_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SPIKES_MAT] =
|
||||
{
|
||||
.id = DECOR_SPIKES_MAT,
|
||||
@@ -791,7 +791,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SPIKES_MAT,
|
||||
.tiles = DecorGfx_SPIKES_MAT,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BALL_POSTER] =
|
||||
{
|
||||
.id = DECOR_BALL_POSTER,
|
||||
@@ -803,7 +803,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BALL_POSTER,
|
||||
.tiles = DecorGfx_BALL_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_GREEN_POSTER] =
|
||||
{
|
||||
.id = DECOR_GREEN_POSTER,
|
||||
@@ -815,7 +815,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_GREEN_POSTER,
|
||||
.tiles = DecorGfx_GREEN_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_RED_POSTER] =
|
||||
{
|
||||
.id = DECOR_RED_POSTER,
|
||||
@@ -827,7 +827,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_RED_POSTER,
|
||||
.tiles = DecorGfx_RED_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BLUE_POSTER] =
|
||||
{
|
||||
.id = DECOR_BLUE_POSTER,
|
||||
@@ -839,7 +839,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BLUE_POSTER,
|
||||
.tiles = DecorGfx_BLUE_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_CUTE_POSTER] =
|
||||
{
|
||||
.id = DECOR_CUTE_POSTER,
|
||||
@@ -851,7 +851,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_CUTE_POSTER,
|
||||
.tiles = DecorGfx_CUTE_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_PIKA_POSTER] =
|
||||
{
|
||||
.id = DECOR_PIKA_POSTER,
|
||||
@@ -863,7 +863,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_PIKA_POSTER,
|
||||
.tiles = DecorGfx_PIKA_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_LONG_POSTER] =
|
||||
{
|
||||
.id = DECOR_LONG_POSTER,
|
||||
@@ -875,7 +875,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_LONG_POSTER,
|
||||
.tiles = DecorGfx_LONG_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SEA_POSTER] =
|
||||
{
|
||||
.id = DECOR_SEA_POSTER,
|
||||
@@ -887,7 +887,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SEA_POSTER,
|
||||
.tiles = DecorGfx_SEA_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SKY_POSTER] =
|
||||
{
|
||||
.id = DECOR_SKY_POSTER,
|
||||
@@ -899,7 +899,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SKY_POSTER,
|
||||
.tiles = DecorGfx_SKY_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_KISS_POSTER] =
|
||||
{
|
||||
.id = DECOR_KISS_POSTER,
|
||||
@@ -911,7 +911,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_KISS_POSTER,
|
||||
.tiles = DecorGfx_KISS_POSTER,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_PICHU_DOLL] =
|
||||
{
|
||||
.id = DECOR_PICHU_DOLL,
|
||||
@@ -923,7 +923,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_PICHU_DOLL,
|
||||
.tiles = DecorGfx_PICHU_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_PIKACHU_DOLL] =
|
||||
{
|
||||
.id = DECOR_PIKACHU_DOLL,
|
||||
@@ -935,7 +935,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_PIKACHU_DOLL,
|
||||
.tiles = DecorGfx_PIKACHU_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_MARILL_DOLL] =
|
||||
{
|
||||
.id = DECOR_MARILL_DOLL,
|
||||
@@ -947,7 +947,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_MARILL_DOLL,
|
||||
.tiles = DecorGfx_MARILL_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_TOGEPI_DOLL] =
|
||||
{
|
||||
.id = DECOR_TOGEPI_DOLL,
|
||||
@@ -959,7 +959,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_TOGEPI_DOLL,
|
||||
.tiles = DecorGfx_TOGEPI_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_CYNDAQUIL_DOLL] =
|
||||
{
|
||||
.id = DECOR_CYNDAQUIL_DOLL,
|
||||
@@ -971,7 +971,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_CYNDAQUIL_DOLL,
|
||||
.tiles = DecorGfx_CYNDAQUIL_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_CHIKORITA_DOLL] =
|
||||
{
|
||||
.id = DECOR_CHIKORITA_DOLL,
|
||||
@@ -983,7 +983,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_CHIKORITA_DOLL,
|
||||
.tiles = DecorGfx_CHIKORITA_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_TOTODILE_DOLL] =
|
||||
{
|
||||
.id = DECOR_TOTODILE_DOLL,
|
||||
@@ -995,7 +995,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_TOTODILE_DOLL,
|
||||
.tiles = DecorGfx_TOTODILE_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_JIGGLYPUFF_DOLL] =
|
||||
{
|
||||
.id = DECOR_JIGGLYPUFF_DOLL,
|
||||
@@ -1007,7 +1007,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_JIGGLYPUFF_DOLL,
|
||||
.tiles = DecorGfx_JIGGLYPUFF_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_MEOWTH_DOLL] =
|
||||
{
|
||||
.id = DECOR_MEOWTH_DOLL,
|
||||
@@ -1019,7 +1019,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_MEOWTH_DOLL,
|
||||
.tiles = DecorGfx_MEOWTH_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_CLEFAIRY_DOLL] =
|
||||
{
|
||||
.id = DECOR_CLEFAIRY_DOLL,
|
||||
@@ -1031,7 +1031,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_CLEFAIRY_DOLL,
|
||||
.tiles = DecorGfx_CLEFAIRY_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_DITTO_DOLL] =
|
||||
{
|
||||
.id = DECOR_DITTO_DOLL,
|
||||
@@ -1043,7 +1043,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_DITTO_DOLL,
|
||||
.tiles = DecorGfx_DITTO_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SMOOCHUM_DOLL] =
|
||||
{
|
||||
.id = DECOR_SMOOCHUM_DOLL,
|
||||
@@ -1055,7 +1055,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SMOOCHUM_DOLL,
|
||||
.tiles = DecorGfx_SMOOCHUM_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_TREECKO_DOLL] =
|
||||
{
|
||||
.id = DECOR_TREECKO_DOLL,
|
||||
@@ -1067,7 +1067,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_TREECKO_DOLL,
|
||||
.tiles = DecorGfx_TREECKO_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_TORCHIC_DOLL] =
|
||||
{
|
||||
.id = DECOR_TORCHIC_DOLL,
|
||||
@@ -1079,7 +1079,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_TORCHIC_DOLL,
|
||||
.tiles = DecorGfx_TORCHIC_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_MUDKIP_DOLL] =
|
||||
{
|
||||
.id = DECOR_MUDKIP_DOLL,
|
||||
@@ -1091,7 +1091,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_MUDKIP_DOLL,
|
||||
.tiles = DecorGfx_MUDKIP_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_DUSKULL_DOLL] =
|
||||
{
|
||||
.id = DECOR_DUSKULL_DOLL,
|
||||
@@ -1103,7 +1103,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_DUSKULL_DOLL,
|
||||
.tiles = DecorGfx_DUSKULL_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_WYNAUT_DOLL] =
|
||||
{
|
||||
.id = DECOR_WYNAUT_DOLL,
|
||||
@@ -1115,7 +1115,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_WYNAUT_DOLL,
|
||||
.tiles = DecorGfx_WYNAUT_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BALTOY_DOLL] =
|
||||
{
|
||||
.id = DECOR_BALTOY_DOLL,
|
||||
@@ -1127,7 +1127,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BALTOY_DOLL,
|
||||
.tiles = DecorGfx_BALTOY_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_KECLEON_DOLL] =
|
||||
{
|
||||
.id = DECOR_KECLEON_DOLL,
|
||||
@@ -1139,7 +1139,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_KECLEON_DOLL,
|
||||
.tiles = DecorGfx_KECLEON_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_AZURILL_DOLL] =
|
||||
{
|
||||
.id = DECOR_AZURILL_DOLL,
|
||||
@@ -1151,7 +1151,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_AZURILL_DOLL,
|
||||
.tiles = DecorGfx_AZURILL_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SKITTY_DOLL] =
|
||||
{
|
||||
.id = DECOR_SKITTY_DOLL,
|
||||
@@ -1163,7 +1163,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SKITTY_DOLL,
|
||||
.tiles = DecorGfx_SKITTY_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SWABLU_DOLL] =
|
||||
{
|
||||
.id = DECOR_SWABLU_DOLL,
|
||||
@@ -1175,7 +1175,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SWABLU_DOLL,
|
||||
.tiles = DecorGfx_SWABLU_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_GULPIN_DOLL] =
|
||||
{
|
||||
.id = DECOR_GULPIN_DOLL,
|
||||
@@ -1187,7 +1187,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_GULPIN_DOLL,
|
||||
.tiles = DecorGfx_GULPIN_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_LOTAD_DOLL] =
|
||||
{
|
||||
.id = DECOR_LOTAD_DOLL,
|
||||
@@ -1199,7 +1199,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_LOTAD_DOLL,
|
||||
.tiles = DecorGfx_LOTAD_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SEEDOT_DOLL] =
|
||||
{
|
||||
.id = DECOR_SEEDOT_DOLL,
|
||||
@@ -1211,7 +1211,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SEEDOT_DOLL,
|
||||
.tiles = DecorGfx_SEEDOT_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_PIKA_CUSHION] =
|
||||
{
|
||||
.id = DECOR_PIKA_CUSHION,
|
||||
@@ -1223,7 +1223,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_PIKA_CUSHION,
|
||||
.tiles = DecorGfx_PIKA_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_ROUND_CUSHION] =
|
||||
{
|
||||
.id = DECOR_ROUND_CUSHION,
|
||||
@@ -1235,7 +1235,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_ROUND_CUSHION,
|
||||
.tiles = DecorGfx_ROUND_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_KISS_CUSHION] =
|
||||
{
|
||||
.id = DECOR_KISS_CUSHION,
|
||||
@@ -1247,7 +1247,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_KISS_CUSHION,
|
||||
.tiles = DecorGfx_KISS_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_ZIGZAG_CUSHION] =
|
||||
{
|
||||
.id = DECOR_ZIGZAG_CUSHION,
|
||||
@@ -1259,7 +1259,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_ZIGZAG_CUSHION,
|
||||
.tiles = DecorGfx_ZIGZAG_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SPIN_CUSHION] =
|
||||
{
|
||||
.id = DECOR_SPIN_CUSHION,
|
||||
@@ -1271,7 +1271,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SPIN_CUSHION,
|
||||
.tiles = DecorGfx_SPIN_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_DIAMOND_CUSHION] =
|
||||
{
|
||||
.id = DECOR_DIAMOND_CUSHION,
|
||||
@@ -1283,7 +1283,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_DIAMOND_CUSHION,
|
||||
.tiles = DecorGfx_DIAMOND_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BALL_CUSHION] =
|
||||
{
|
||||
.id = DECOR_BALL_CUSHION,
|
||||
@@ -1295,7 +1295,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BALL_CUSHION,
|
||||
.tiles = DecorGfx_BALL_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_GRASS_CUSHION] =
|
||||
{
|
||||
.id = DECOR_GRASS_CUSHION,
|
||||
@@ -1307,7 +1307,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_GRASS_CUSHION,
|
||||
.tiles = DecorGfx_GRASS_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_FIRE_CUSHION] =
|
||||
{
|
||||
.id = DECOR_FIRE_CUSHION,
|
||||
@@ -1319,7 +1319,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_FIRE_CUSHION,
|
||||
.tiles = DecorGfx_FIRE_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_WATER_CUSHION] =
|
||||
{
|
||||
.id = DECOR_WATER_CUSHION,
|
||||
@@ -1331,7 +1331,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_WATER_CUSHION,
|
||||
.tiles = DecorGfx_WATER_CUSHION,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_SNORLAX_DOLL] =
|
||||
{
|
||||
.id = DECOR_SNORLAX_DOLL,
|
||||
@@ -1343,7 +1343,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_SNORLAX_DOLL,
|
||||
.tiles = DecorGfx_SNORLAX_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_RHYDON_DOLL] =
|
||||
{
|
||||
.id = DECOR_RHYDON_DOLL,
|
||||
@@ -1355,7 +1355,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_RHYDON_DOLL,
|
||||
.tiles = DecorGfx_RHYDON_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_LAPRAS_DOLL] =
|
||||
{
|
||||
.id = DECOR_LAPRAS_DOLL,
|
||||
@@ -1367,7 +1367,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_LAPRAS_DOLL,
|
||||
.tiles = DecorGfx_LAPRAS_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_VENUSAUR_DOLL] =
|
||||
{
|
||||
.id = DECOR_VENUSAUR_DOLL,
|
||||
@@ -1379,7 +1379,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_VENUSAUR_DOLL,
|
||||
.tiles = DecorGfx_VENUSAUR_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_CHARIZARD_DOLL] =
|
||||
{
|
||||
.id = DECOR_CHARIZARD_DOLL,
|
||||
@@ -1391,7 +1391,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_CHARIZARD_DOLL,
|
||||
.tiles = DecorGfx_CHARIZARD_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_BLASTOISE_DOLL] =
|
||||
{
|
||||
.id = DECOR_BLASTOISE_DOLL,
|
||||
@@ -1403,7 +1403,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_BLASTOISE_DOLL,
|
||||
.tiles = DecorGfx_BLASTOISE_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_WAILMER_DOLL] =
|
||||
{
|
||||
.id = DECOR_WAILMER_DOLL,
|
||||
@@ -1415,7 +1415,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_WAILMER_DOLL,
|
||||
.tiles = DecorGfx_WAILMER_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_REGIROCK_DOLL] =
|
||||
{
|
||||
.id = DECOR_REGIROCK_DOLL,
|
||||
@@ -1427,7 +1427,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_REGIROCK_DOLL,
|
||||
.tiles = DecorGfx_REGIROCK_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_REGICE_DOLL] =
|
||||
{
|
||||
.id = DECOR_REGICE_DOLL,
|
||||
@@ -1439,7 +1439,7 @@ const struct Decoration gDecorations[] =
|
||||
.description = DecorDesc_REGICE_DOLL,
|
||||
.tiles = DecorGfx_REGICE_DOLL,
|
||||
},
|
||||
|
||||
|
||||
[DECOR_REGISTEEL_DOLL] =
|
||||
{
|
||||
.id = DECOR_REGISTEEL_DOLL,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const u32 *const gDecorIconTable[][2] =
|
||||
const u32 *const gDecorIconTable[][2] =
|
||||
{
|
||||
[DECOR_NONE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
|
||||
[DECOR_SMALL_DESK] = {NULL, NULL},
|
||||
|
||||
@@ -1149,12 +1149,12 @@ static const union AnimCmd *const sAnimTable_AshPuff[] =
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_AshPuff =
|
||||
{
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_ASH,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_AshPuff,
|
||||
.images = sPicTable_AshPuff,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_ASH,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_AshPuff,
|
||||
.images = sPicTable_AshPuff,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_AshPuff
|
||||
};
|
||||
|
||||
@@ -1183,14 +1183,14 @@ static const union AnimCmd *const sAnimTable_AshLaunch[] =
|
||||
sAnim_AshLaunch,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_AshLaunch =
|
||||
const struct SpriteTemplate gFieldEffectObjectTemplate_AshLaunch =
|
||||
{
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_ASH,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_AshLaunch,
|
||||
.images = sPicTable_AshLaunch,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.tileTag = TAG_NONE,
|
||||
.paletteTag = FLDEFF_PAL_TAG_ASH,
|
||||
.oam = &gObjectEventBaseOam_16x16,
|
||||
.anims = sAnimTable_AshLaunch,
|
||||
.images = sPicTable_AshLaunch,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_AshLaunch
|
||||
};
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ const u32 gRaySceneTakesFlight_Bg_Tilemap[] = INCBIN_U32("graphics/rayquaz
|
||||
|
||||
// Scene 3 (RAY_ANIM_DESCENDS)
|
||||
const u32 gRaySceneDescends_Rayquaza_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/scene_3/rayquaza.4bpp.lz");
|
||||
// for some reason there are an extra 0xC bytes at the end of the original rayquaza_tail.4bpp, so in order to produce the correct lz,
|
||||
// for some reason there are an extra 0xC bytes at the end of the original rayquaza_tail.4bpp, so in order to produce the correct lz,
|
||||
// we have to cat the bytes at the end with a make rule. not sure why those bytes are there, it may have been a bug in Game Freak's software.
|
||||
const u32 gRaySceneDescends_RayquazaTail_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/scene_3/rayquaza_tail_fix.4bpp.lz");
|
||||
const u32 gRaySceneDescends_Bg_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/scene_3/bg.4bpp.lz");
|
||||
|
||||
+18
-18
@@ -20,7 +20,7 @@ static const u16 sLilycoveLadyGfxId[] =
|
||||
};
|
||||
|
||||
// Quiz Lady data
|
||||
static const u16 sQuizLadyQuestion1[] =
|
||||
static const u16 sQuizLadyQuestion1[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_STORES,
|
||||
@@ -33,9 +33,9 @@ static const u16 sQuizLadyQuestion1[] =
|
||||
EC_WORD_POKENAV
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion2[] =
|
||||
static const u16 sQuizLadyQuestion2[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_ISN_T,
|
||||
EC_WORD_A,
|
||||
EC_WORD_GAME,
|
||||
@@ -46,7 +46,7 @@ static const u16 sQuizLadyQuestion2[] =
|
||||
EC_WORD_DARK
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion3[] =
|
||||
static const u16 sQuizLadyQuestion3[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_HOW,
|
||||
EC_WORD_DO,
|
||||
@@ -59,7 +59,7 @@ static const u16 sQuizLadyQuestion3[] =
|
||||
EC_WORD_CUTE_CHARM
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion4[] =
|
||||
static const u16 sQuizLadyQuestion4[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_IS,
|
||||
@@ -72,7 +72,7 @@ static const u16 sQuizLadyQuestion4[] =
|
||||
EC_WORD_MACHINE
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion5[] =
|
||||
static const u16 sQuizLadyQuestion5[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_ITEM,
|
||||
@@ -85,7 +85,7 @@ static const u16 sQuizLadyQuestion5[] =
|
||||
EC_WORD_PHONE
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion6[] =
|
||||
static const u16 sQuizLadyQuestion6[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_WILL,
|
||||
@@ -98,7 +98,7 @@ static const u16 sQuizLadyQuestion6[] =
|
||||
EC_WORD_SWIFT_SWIM
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion7[] =
|
||||
static const u16 sQuizLadyQuestion7[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_OF,
|
||||
@@ -111,20 +111,20 @@ static const u16 sQuizLadyQuestion7[] =
|
||||
EC_WORD_ROCK
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion8[] =
|
||||
static const u16 sQuizLadyQuestion8[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_WILL,
|
||||
EC_MOVE2(BLOCK),
|
||||
EC_WORD_ESCAPE,
|
||||
EC_WORD_QUES,
|
||||
EC_EMPTY_WORD,
|
||||
EC_EMPTY_WORD,
|
||||
EC_WORD_RUN_AWAY,
|
||||
EC_WORD_SHADOW_TAG,
|
||||
EC_WORD_WONDER_GUARD
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion9[] =
|
||||
static const u16 sQuizLadyQuestion9[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_WILL,
|
||||
@@ -137,7 +137,7 @@ static const u16 sQuizLadyQuestion9[] =
|
||||
EC_WORD_SHED_SKIN
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion10[] =
|
||||
static const u16 sQuizLadyQuestion10[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_GOES,
|
||||
@@ -150,7 +150,7 @@ static const u16 sQuizLadyQuestion10[] =
|
||||
EC_WORD_POKENAV
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion11[] =
|
||||
static const u16 sQuizLadyQuestion11[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_STORES,
|
||||
@@ -163,7 +163,7 @@ static const u16 sQuizLadyQuestion11[] =
|
||||
EC_WORD_TELEVISION
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion12[] =
|
||||
static const u16 sQuizLadyQuestion12[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_WHICH,
|
||||
EC_WORD_MACHINE,
|
||||
@@ -176,7 +176,7 @@ static const u16 sQuizLadyQuestion12[] =
|
||||
EC_WORD_TELEVISION
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion13[] =
|
||||
static const u16 sQuizLadyQuestion13[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_A,
|
||||
EC_WORD_POKEMON,
|
||||
@@ -189,7 +189,7 @@ static const u16 sQuizLadyQuestion13[] =
|
||||
EC_WORD_LETTER
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion14[] =
|
||||
static const u16 sQuizLadyQuestion14[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_STEEL,
|
||||
EC_WORD_IS,
|
||||
@@ -202,7 +202,7 @@ static const u16 sQuizLadyQuestion14[] =
|
||||
EC_EMPTY_WORD
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion15[] =
|
||||
static const u16 sQuizLadyQuestion15[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_DARK,
|
||||
EC_WORD_IS,
|
||||
@@ -215,7 +215,7 @@ static const u16 sQuizLadyQuestion15[] =
|
||||
EC_EMPTY_WORD
|
||||
};
|
||||
|
||||
static const u16 sQuizLadyQuestion16[] =
|
||||
static const u16 sQuizLadyQuestion16[QUIZ_QUESTION_LEN] =
|
||||
{
|
||||
EC_WORD_GHOST,
|
||||
EC_WORD_IS,
|
||||
|
||||
@@ -950,7 +950,7 @@ static const union AnimCmd sAnim_RayquazaFaceEast[] =
|
||||
};
|
||||
|
||||
// Though they correspond to facing/walking movements, Rayquaza doesn't have
|
||||
// equivalent images aside from flying up. Its other frames aside from the 'normal'
|
||||
// equivalent images aside from flying up. Its other frames aside from the 'normal'
|
||||
// frame are for the sequence where it awakens on Sky Pillar.
|
||||
// The corresponding facing/walking movements are commented alongside
|
||||
static const union AnimCmd *const sAnimTable_Rayquaza[] = {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+17
-17
@@ -37,9 +37,9 @@ enum
|
||||
|
||||
static const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] =
|
||||
{
|
||||
[PARTY_BOX_LEFT_COLUMN] =
|
||||
[PARTY_BOX_LEFT_COLUMN] =
|
||||
{
|
||||
BlitBitmapToPartyWindow_LeftColumn,
|
||||
BlitBitmapToPartyWindow_LeftColumn,
|
||||
{
|
||||
//The below are the x, y, width, and height for each of the following info
|
||||
24, 11, 40, 13, // Nickname
|
||||
@@ -48,12 +48,12 @@ static const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] =
|
||||
38, 37, 24, 8, // HP
|
||||
53, 37, 24, 8, // Max HP
|
||||
24, 35, 48, 3 // HP bar
|
||||
},
|
||||
},
|
||||
12, 34, 64, 16 // Description text (e.g. NO USE)
|
||||
},
|
||||
[PARTY_BOX_RIGHT_COLUMN] =
|
||||
[PARTY_BOX_RIGHT_COLUMN] =
|
||||
{
|
||||
BlitBitmapToPartyWindow_RightColumn,
|
||||
BlitBitmapToPartyWindow_RightColumn,
|
||||
{
|
||||
// See above comment
|
||||
22, 3, 40, 13, // Nickname
|
||||
@@ -62,7 +62,7 @@ static const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] =
|
||||
102, 12, 24, 8, // HP
|
||||
117, 12, 24, 8, // Max HP
|
||||
88, 10, 48, 3 // HP bar
|
||||
},
|
||||
},
|
||||
77, 4, 64, 16 // Description text
|
||||
},
|
||||
};
|
||||
@@ -73,7 +73,7 @@ static const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] =
|
||||
// Pokemon icon (x, y), held item (x, y), status condition (x, y), menu pokeball (x, y)
|
||||
static const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] =
|
||||
{
|
||||
[PARTY_LAYOUT_SINGLE] =
|
||||
[PARTY_LAYOUT_SINGLE] =
|
||||
{
|
||||
{ 16, 40, 20, 50, 50, 52, 16, 34},
|
||||
{104, 18, 108, 28, 136, 27, 102, 25},
|
||||
@@ -82,7 +82,7 @@ static const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] =
|
||||
{104, 90, 108, 100, 136, 99, 102, 97},
|
||||
{104, 114, 108, 124, 136, 123, 102, 121},
|
||||
},
|
||||
[PARTY_LAYOUT_DOUBLE] =
|
||||
[PARTY_LAYOUT_DOUBLE] =
|
||||
{
|
||||
{16, 24, 20, 34, 50, 36, 16, 18},
|
||||
{16, 80, 20, 90, 50, 92, 16, 74},
|
||||
@@ -91,7 +91,7 @@ static const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] =
|
||||
{104, 82, 108, 92, 136, 91, 102, 89},
|
||||
{104, 114, 108, 124, 136, 123, 102, 121},
|
||||
},
|
||||
[PARTY_LAYOUT_MULTI] =
|
||||
[PARTY_LAYOUT_MULTI] =
|
||||
{
|
||||
{16, 24, 20, 34, 50, 36, 16, 18},
|
||||
{16, 80, 20, 90, 50, 92, 16, 74},
|
||||
@@ -100,7 +100,7 @@ static const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] =
|
||||
{104, 82, 106, 92, 136, 91, 102, 89},
|
||||
{104, 106, 106, 116, 136, 115, 102, 113},
|
||||
},
|
||||
[PARTY_LAYOUT_MULTI_SHOWCASE] =
|
||||
[PARTY_LAYOUT_MULTI_SHOWCASE] =
|
||||
{
|
||||
{16, 32, 20, 42, 50, 44, 16, 26},
|
||||
{104, 34, 106, 44, 136, 43, 102, 41},
|
||||
@@ -1171,14 +1171,14 @@ static const struct SpriteTemplate sSpriteTemplate_StatusIcons =
|
||||
// Mask for the partners party in a multi battle. TRUE if in the partners party, FALSE otherwise
|
||||
// The 7th slot is Cancel, and the 8th slot is unreachable
|
||||
// Used only to determine whether or not to show the Deoxys form icon sprite
|
||||
static const bool8 sMultiBattlePartnersPartyMask[PARTY_SIZE + 2] =
|
||||
static const bool8 sMultiBattlePartnersPartyMask[PARTY_SIZE + 2] =
|
||||
{
|
||||
FALSE,
|
||||
TRUE,
|
||||
FALSE,
|
||||
FALSE,
|
||||
TRUE,
|
||||
TRUE,
|
||||
FALSE,
|
||||
TRUE,
|
||||
FALSE,
|
||||
FALSE,
|
||||
TRUE,
|
||||
TRUE,
|
||||
FALSE
|
||||
};
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
static const struct CityMapEntry sPokenavCityMaps[NUM_CITY_MAPS] =
|
||||
static const struct CityMapEntry sPokenavCityMaps[NUM_CITY_MAPS] =
|
||||
{
|
||||
{
|
||||
.mapSecId = MAPSEC_LITTLEROOT_TOWN,
|
||||
|
||||
+21
-21
@@ -110,35 +110,35 @@ static const struct MenuAction MultichoiceList_Mechadoll1_Q1[] =
|
||||
{gTrickHouse_Mechadoll_Taillow},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll1_Q2[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll1_Q2[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Azurill},
|
||||
{gTrickHouse_Mechadoll_Lotad},
|
||||
{gTrickHouse_Mechadoll_Wingull},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll1_Q3[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll1_Q3[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Dustox},
|
||||
{gTrickHouse_Mechadoll_Zubat},
|
||||
{gTrickHouse_Mechadoll_Nincada},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll2_Q1[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll2_Q1[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Ralts},
|
||||
{gTrickHouse_Mechadoll_Zigzagoon},
|
||||
{gTrickHouse_Mechadoll_Slakoth},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll2_Q2[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll2_Q2[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Poochyena2},
|
||||
{gTrickHouse_Mechadoll_Shroomish},
|
||||
{gTrickHouse_Mechadoll_Zigzagoon2},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll2_Q3[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll2_Q3[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Poochyena3},
|
||||
{gTrickHouse_Mechadoll_Zubat2},
|
||||
@@ -152,56 +152,56 @@ static const struct MenuAction MultichoiceList_Mechadoll3_Q1[] =
|
||||
{gTrickHouse_Mechadoll_SamePrice},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll3_Q2[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll3_Q2[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_60Yen},
|
||||
{gTrickHouse_Mechadoll_55Yen},
|
||||
{gTrickHouse_Mechadoll_Nothing},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll3_Q3[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll3_Q3[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_CostMore},
|
||||
{gTrickHouse_Mechadoll_CostLess},
|
||||
{gTrickHouse_Mechadoll_SamePrice2},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll4_Q1[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll4_Q1[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Male},
|
||||
{gTrickHouse_Mechadoll_Female},
|
||||
{gTrickHouse_Mechadoll_Neither},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll4_Q2[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll4_Q2[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_ElderlyMen},
|
||||
{gTrickHouse_Mechadoll_ElderlyLadies},
|
||||
{gTrickHouse_Mechadoll_SameNumber},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll4_Q3[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll4_Q3[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_None},
|
||||
{gTrickHouse_Mechadoll_One},
|
||||
{gTrickHouse_Mechadoll_Two},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll5_Q1[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll5_Q1[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Two2},
|
||||
{gTrickHouse_Mechadoll_Three},
|
||||
{gTrickHouse_Mechadoll_Four},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll5_Q2[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll5_Q2[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Six},
|
||||
{gTrickHouse_Mechadoll_Seven},
|
||||
{gTrickHouse_Mechadoll_Eight},
|
||||
};
|
||||
|
||||
static const struct MenuAction MultichoiceList_Mechadoll5_Q3[] =
|
||||
static const struct MenuAction MultichoiceList_Mechadoll5_Q3[] =
|
||||
{
|
||||
{gTrickHouse_Mechadoll_Six2},
|
||||
{gTrickHouse_Mechadoll_Seven2},
|
||||
@@ -934,14 +934,14 @@ const u8 *const gStdStrings[] =
|
||||
[STDSTRING_BATTLE_PYRAMID] = gText_BattlePyramid,
|
||||
};
|
||||
|
||||
static const u8 sLinkServicesMultichoiceIds[] =
|
||||
{
|
||||
MULTI_CABLE_CLUB_NO_RECORD_MIX,
|
||||
MULTI_WIRELESS_NO_RECORD_BERRY,
|
||||
MULTI_CABLE_CLUB_WITH_RECORD_MIX,
|
||||
MULTI_WIRELESS_NO_BERRY,
|
||||
MULTI_WIRELESS_NO_RECORD,
|
||||
MULTI_WIRELESS_ALL_SERVICES
|
||||
static const u8 sLinkServicesMultichoiceIds[] =
|
||||
{
|
||||
MULTI_CABLE_CLUB_NO_RECORD_MIX,
|
||||
MULTI_WIRELESS_NO_RECORD_BERRY,
|
||||
MULTI_CABLE_CLUB_WITH_RECORD_MIX,
|
||||
MULTI_WIRELESS_NO_BERRY,
|
||||
MULTI_WIRELESS_NO_RECORD,
|
||||
MULTI_WIRELESS_ALL_SERVICES
|
||||
};
|
||||
|
||||
static const u8 *const sPCNameStrings[] =
|
||||
|
||||
@@ -46,7 +46,7 @@ const u8 gGiftRibbonDescriptionPart2_LovedPokemon[] = _("for a loved POKéMON.")
|
||||
const u8 gGiftRibbonDescriptionPart1_LoveForPokemon[] = _("RIBBON that shows");
|
||||
const u8 gGiftRibbonDescriptionPart2_LoveForPokemon[] = _("love for POKéMON.");
|
||||
|
||||
const u8 *const gGiftRibbonDescriptionPointers[MAX_GIFT_RIBBON][2] =
|
||||
const u8 *const gGiftRibbonDescriptionPointers[MAX_GIFT_RIBBON][2] =
|
||||
{
|
||||
{gGiftRibbonDescriptionPart1_2003RegionalTourney, gGiftRibbonDescriptionPart2_Champion},
|
||||
{gGiftRibbonDescriptionPart1_2003NationalTourney, gGiftRibbonDescriptionPart2_Champion},
|
||||
|
||||
@@ -388,7 +388,7 @@ const u8 gText_MatchCallChampion_Wallace_Pokemon[] = _("I prefer POKéMON of gra
|
||||
const u8 gText_MatchCallChampion_Wallace_Intro1[] = _("I represent beauty as");
|
||||
const u8 gText_MatchCallChampion_Wallace_Intro2[] = _("well as intelligence.");
|
||||
|
||||
const u8 *const gMatchCallFlavorTexts[REMATCH_TABLE_ENTRIES][CHECK_PAGE_ENTRY_COUNT] =
|
||||
const u8 *const gMatchCallFlavorTexts[REMATCH_TABLE_ENTRIES][CHECK_PAGE_ENTRY_COUNT] =
|
||||
{
|
||||
[REMATCH_ROSE] = MCFLAVOR(AromaLady_Rose),
|
||||
[REMATCH_ANDRES] = MCFLAVOR(RuinManiac_Andres),
|
||||
|
||||
@@ -24,7 +24,7 @@ static const u8 sSassyNatureName[] = _("SASSY");
|
||||
static const u8 sCarefulNatureName[] = _("CAREFUL");
|
||||
static const u8 sQuirkyNatureName[] = _("QUIRKY");
|
||||
|
||||
const u8 *const gNatureNamePointers[NUM_NATURES] =
|
||||
const u8 *const gNatureNamePointers[NUM_NATURES] =
|
||||
{
|
||||
[NATURE_HARDY] = sHardyNatureName,
|
||||
[NATURE_LONELY] = sLonelyNatureName,
|
||||
|
||||
@@ -18,7 +18,7 @@ const u8 gRibbonDescriptionPart2_Artist[] = _("as a super sketch model.");
|
||||
const u8 gRibbonDescriptionPart1_Effort[] = _("RIBBON awarded for");
|
||||
const u8 gRibbonDescriptionPart2_Effort[] = _("being a hard worker.");
|
||||
|
||||
const u8 *const gRibbonDescriptionPointers[][2] =
|
||||
const u8 *const gRibbonDescriptionPointers[][2] =
|
||||
{
|
||||
[CHAMPION_RIBBON] = {gRibbonDescriptionPart1_Champion, gRibbonDescriptionPart2_Champion},
|
||||
[COOL_RIBBON_NORMAL] = {gRibbonDescriptionPart1_CoolContest, gRibbonDescriptionPart2_NormalRank},
|
||||
|
||||
+29
-29
@@ -1,4 +1,4 @@
|
||||
#define GFXTAG_MENU_TEXT 200 // Used as a base tag in CB2_CreateTradeMenu and CB2_ReturnToTradeMenu
|
||||
#define GFXTAG_MENU_TEXT 200 // Used as a base tag in CB2_CreateTradeMenu and CB2_ReturnToTradeMenu
|
||||
#define GFXTAG_CURSOR 300
|
||||
#define GFXTAG_LINK_MON_GLOW 5550
|
||||
#define GFXTAG_LINK_MON_SHADOW 5552
|
||||
@@ -395,7 +395,7 @@ static const struct MenuAction sSelectTradeMonActions[] =
|
||||
{sText_Trade2, Task_DrawSelectionTrade}
|
||||
};
|
||||
|
||||
static const u8 *const sTradeMessages[] =
|
||||
static const u8 *const sTradeMessages[] =
|
||||
{
|
||||
[TRADE_MSG_STANDBY] = sText_CommunicationStandby,
|
||||
[TRADE_MSG_CANCELED] = sText_TheTradeHasBeenCanceled,
|
||||
@@ -408,8 +408,8 @@ static const u8 *const sTradeMessages[] =
|
||||
[TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED] = gText_OtherTrainersPkmnCantBeTraded
|
||||
};
|
||||
|
||||
static const u8 sTradeTextColors[] =
|
||||
{
|
||||
static const u8 sTradeTextColors[] =
|
||||
{
|
||||
TEXT_COLOR_TRANSPARENT, //bg color
|
||||
TEXT_COLOR_WHITE, //fg color
|
||||
TEXT_COLOR_DARK_GRAY //shadow color
|
||||
@@ -1003,67 +1003,67 @@ static const union AffineAnimCmd *const sAffineAnims_CrossingMonPics[] =
|
||||
|
||||
static const struct InGameTrade sIngameTrades[] =
|
||||
{
|
||||
[INGAME_TRADE_SEEDOT] =
|
||||
[INGAME_TRADE_SEEDOT] =
|
||||
{
|
||||
.nickname = _("DOTS"),
|
||||
.nickname = _("DOTS"),
|
||||
.species = SPECIES_SEEDOT,
|
||||
.ivs = {5, 4, 5, 4, 4, 4},
|
||||
.abilityNum = 1,
|
||||
.abilityNum = 1,
|
||||
.otId = 38726,
|
||||
.conditions = {30, 5, 5, 5, 5},
|
||||
.personality = 0x84,
|
||||
.heldItem = ITEM_CHESTO_BERRY,
|
||||
.heldItem = ITEM_CHESTO_BERRY,
|
||||
.mailNum = -1,
|
||||
.otName = _("KOBE"),
|
||||
.otGender = MALE,
|
||||
.otName = _("KOBE"),
|
||||
.otGender = MALE,
|
||||
.sheen = 10,
|
||||
.requestedSpecies = SPECIES_RALTS
|
||||
},
|
||||
[INGAME_TRADE_PLUSLE] =
|
||||
},
|
||||
[INGAME_TRADE_PLUSLE] =
|
||||
{
|
||||
.nickname = _("PLUSES"),
|
||||
.nickname = _("PLUSES"),
|
||||
.species = SPECIES_PLUSLE,
|
||||
.ivs = {4, 4, 4, 5, 5, 4},
|
||||
.abilityNum = 0,
|
||||
.abilityNum = 0,
|
||||
.otId = 73996,
|
||||
.conditions = {5, 5, 30, 5, 5},
|
||||
.personality = 0x6F,
|
||||
.heldItem = ITEM_WOOD_MAIL,
|
||||
.heldItem = ITEM_WOOD_MAIL,
|
||||
.mailNum = 0,
|
||||
.otName = _("ROMAN"),
|
||||
.otGender = MALE,
|
||||
.otName = _("ROMAN"),
|
||||
.otGender = MALE,
|
||||
.sheen = 10,
|
||||
.requestedSpecies = SPECIES_VOLBEAT
|
||||
},
|
||||
[INGAME_TRADE_HORSEA] =
|
||||
},
|
||||
[INGAME_TRADE_HORSEA] =
|
||||
{
|
||||
.nickname = _("SEASOR"),
|
||||
.species = SPECIES_HORSEA,
|
||||
.ivs = {5, 4, 4, 4, 5, 4},
|
||||
.abilityNum = 0,
|
||||
.abilityNum = 0,
|
||||
.otId = 46285,
|
||||
.conditions = {5, 5, 5, 5, 30},
|
||||
.personality = 0x7F,
|
||||
.heldItem = ITEM_WAVE_MAIL,
|
||||
.heldItem = ITEM_WAVE_MAIL,
|
||||
.mailNum = 1,
|
||||
.otName = _("SKYLAR"),
|
||||
.otGender = MALE,
|
||||
.otName = _("SKYLAR"),
|
||||
.otGender = MALE,
|
||||
.sheen = 10,
|
||||
.requestedSpecies = SPECIES_BAGON
|
||||
},
|
||||
[INGAME_TRADE_MEOWTH] =
|
||||
},
|
||||
[INGAME_TRADE_MEOWTH] =
|
||||
{
|
||||
.nickname = _("MEOWOW"),
|
||||
.species = SPECIES_MEOWTH,
|
||||
.ivs = {4, 5, 4, 5, 4, 4},
|
||||
.abilityNum = 0,
|
||||
.abilityNum = 0,
|
||||
.otId = 91481,
|
||||
.conditions = {5, 5, 5, 30, 5},
|
||||
.personality = 0x8B,
|
||||
.heldItem = ITEM_RETRO_MAIL,
|
||||
.heldItem = ITEM_RETRO_MAIL,
|
||||
.mailNum = 2,
|
||||
.otName = _("ISIS"),
|
||||
.otGender = FEMALE,
|
||||
.otName = _("ISIS"),
|
||||
.otGender = FEMALE,
|
||||
.sheen = 10,
|
||||
.requestedSpecies = SPECIES_SKITTY
|
||||
}
|
||||
|
||||
+48
-48
@@ -54,14 +54,14 @@ static const u8 *const sPlayersNeededOrModeTexts[][5] = {
|
||||
{
|
||||
sText_1PlayerNeeded,
|
||||
sText_2PlayerMode
|
||||
},
|
||||
},
|
||||
// 4 players required
|
||||
{
|
||||
sText_3PlayersNeeded,
|
||||
sText_2PlayersNeeded,
|
||||
sText_1PlayerNeeded,
|
||||
sText_4PlayerMode
|
||||
},
|
||||
},
|
||||
// 2-5 players required
|
||||
{
|
||||
sText_1PlayerNeeded,
|
||||
@@ -69,7 +69,7 @@ static const u8 *const sPlayersNeededOrModeTexts[][5] = {
|
||||
sText_3PlayerMode,
|
||||
sText_4PlayerMode,
|
||||
sText_5PlayerMode
|
||||
},
|
||||
},
|
||||
// 3-5 players required
|
||||
{
|
||||
sText_2PlayersNeeded,
|
||||
@@ -77,7 +77,7 @@ static const u8 *const sPlayersNeededOrModeTexts[][5] = {
|
||||
sText_3PlayerMode,
|
||||
sText_4PlayerMode,
|
||||
sText_5PlayerMode
|
||||
},
|
||||
},
|
||||
// 2-4 players required
|
||||
{
|
||||
sText_1PlayerNeeded,
|
||||
@@ -368,7 +368,7 @@ const u8 *const sBattleReactionTexts[GENDER_COUNT][4] = {
|
||||
sText_UsedGoodMoveMale,
|
||||
sText_BattleSurpriseMale,
|
||||
sText_SwitchedMonsMale
|
||||
},
|
||||
},
|
||||
{
|
||||
sText_YoureToughFemale,
|
||||
sText_UsedGoodMoveFemale,
|
||||
@@ -392,7 +392,7 @@ const u8 *const sChatReactionTexts[GENDER_COUNT][4] = {
|
||||
sText_ThatsFunnyMale,
|
||||
sText_RandomChatMale1,
|
||||
sText_RandomChatMale2
|
||||
},
|
||||
},
|
||||
{
|
||||
sText_LearnedSomethingFemale,
|
||||
sText_ThatsFunnyFemale,
|
||||
@@ -410,7 +410,7 @@ const u8 *const sTrainerCardReactionTexts[GENDER_COUNT][2] = {
|
||||
{
|
||||
sText_ShowedTrainerCardMale1,
|
||||
sText_ShowedTrainerCardMale2
|
||||
},
|
||||
},
|
||||
{
|
||||
sText_ShowedTrainerCardFemale1,
|
||||
sText_ShowedTrainerCardFemale2
|
||||
@@ -426,7 +426,7 @@ const u8 *const sTradeReactionTexts[GENDER_COUNT][4] = {
|
||||
{
|
||||
sText_MaleTraded1,
|
||||
sText_MaleTraded2
|
||||
},
|
||||
},
|
||||
{
|
||||
sText_FemaleTraded1,
|
||||
sText_FemaleTraded2
|
||||
@@ -485,7 +485,7 @@ ALIGNED(4) const u8 sText_ChooseLeaderToughContest[] = _("TOUGHNESS CONTEST!\nPl
|
||||
ALIGNED(4) const u8 sText_ChooseLeaderBattleTowerLv50[] = _("BATTLE TOWER LEVEL 50!\nPlease choose the LEADER.");
|
||||
ALIGNED(4) const u8 sText_ChooseLeaderBattleTowerOpenLv[] = _("BATTLE TOWER OPEN LEVEL!\nPlease choose the LEADER.");
|
||||
|
||||
static const u8 *const sChooseTrainerTexts[NUM_LINK_GROUP_TYPES] =
|
||||
static const u8 *const sChooseTrainerTexts[NUM_LINK_GROUP_TYPES] =
|
||||
{
|
||||
[LINK_GROUP_SINGLE_BATTLE] = sText_ChooseTrainerSingleBattle,
|
||||
[LINK_GROUP_DOUBLE_BATTLE] = sText_ChooseTrainerDoubleBattle,
|
||||
@@ -1016,29 +1016,29 @@ ALIGNED(4) const u8 sAcceptedActivityIds_BerryPicking[] = {ACTIVITY_BERRY_PIC
|
||||
ALIGNED(4) const u8 sAcceptedActivityIds_WonderCard[] = {ACTIVITY_WONDER_CARD2, 0xff};
|
||||
ALIGNED(4) const u8 sAcceptedActivityIds_WonderNews[] = {ACTIVITY_WONDER_NEWS2, 0xff};
|
||||
ALIGNED(4) const u8 sAcceptedActivityIds_Resume[] = {
|
||||
IN_UNION_ROOM | ACTIVITY_NONE,
|
||||
IN_UNION_ROOM | ACTIVITY_BATTLE_SINGLE,
|
||||
IN_UNION_ROOM | ACTIVITY_TRADE,
|
||||
IN_UNION_ROOM | ACTIVITY_CHAT,
|
||||
IN_UNION_ROOM | ACTIVITY_CARD,
|
||||
IN_UNION_ROOM | ACTIVITY_ACCEPT,
|
||||
IN_UNION_ROOM | ACTIVITY_DECLINE,
|
||||
IN_UNION_ROOM | ACTIVITY_NPCTALK,
|
||||
IN_UNION_ROOM | ACTIVITY_PLYRTALK,
|
||||
IN_UNION_ROOM | ACTIVITY_NONE,
|
||||
IN_UNION_ROOM | ACTIVITY_BATTLE_SINGLE,
|
||||
IN_UNION_ROOM | ACTIVITY_TRADE,
|
||||
IN_UNION_ROOM | ACTIVITY_CHAT,
|
||||
IN_UNION_ROOM | ACTIVITY_CARD,
|
||||
IN_UNION_ROOM | ACTIVITY_ACCEPT,
|
||||
IN_UNION_ROOM | ACTIVITY_DECLINE,
|
||||
IN_UNION_ROOM | ACTIVITY_NPCTALK,
|
||||
IN_UNION_ROOM | ACTIVITY_PLYRTALK,
|
||||
0xff
|
||||
};
|
||||
ALIGNED(4) const u8 sAcceptedActivityIds_Init[] = {ACTIVITY_SEARCH, 0xff};
|
||||
ALIGNED(4) const u8 sAcceptedActivityIds_Unk11[] = {
|
||||
ACTIVITY_BATTLE_SINGLE,
|
||||
ACTIVITY_BATTLE_DOUBLE,
|
||||
ACTIVITY_BATTLE_MULTI,
|
||||
ACTIVITY_TRADE,
|
||||
ACTIVITY_POKEMON_JUMP,
|
||||
ACTIVITY_BERRY_CRUSH,
|
||||
ACTIVITY_BERRY_PICK,
|
||||
ACTIVITY_WONDER_CARD2,
|
||||
ACTIVITY_WONDER_NEWS2,
|
||||
ACTIVITY_SPIN_TRADE,
|
||||
ACTIVITY_BATTLE_SINGLE,
|
||||
ACTIVITY_BATTLE_DOUBLE,
|
||||
ACTIVITY_BATTLE_MULTI,
|
||||
ACTIVITY_TRADE,
|
||||
ACTIVITY_POKEMON_JUMP,
|
||||
ACTIVITY_BERRY_CRUSH,
|
||||
ACTIVITY_BERRY_PICK,
|
||||
ACTIVITY_WONDER_CARD2,
|
||||
ACTIVITY_WONDER_NEWS2,
|
||||
ACTIVITY_SPIN_TRADE,
|
||||
0xff
|
||||
};
|
||||
ALIGNED(4) const u8 sAcceptedActivityIds_RecordCorner[] = {ACTIVITY_RECORD_CORNER, 0xff};
|
||||
@@ -1076,28 +1076,28 @@ const u8 *const sAcceptedActivityIds[NUM_LINK_GROUP_TYPES] = {
|
||||
[LINK_GROUP_BATTLE_TOWER_OPEN] = sAcceptedActivityIds_BattleTowerOpen
|
||||
};
|
||||
|
||||
static const u8 sLinkGroupToURoomActivity[NUM_LINK_GROUP_TYPES + 2] =
|
||||
static const u8 sLinkGroupToURoomActivity[NUM_LINK_GROUP_TYPES + 2] =
|
||||
{
|
||||
[LINK_GROUP_SINGLE_BATTLE] = ACTIVITY_BATTLE_SINGLE,
|
||||
[LINK_GROUP_DOUBLE_BATTLE] = ACTIVITY_BATTLE_DOUBLE,
|
||||
[LINK_GROUP_MULTI_BATTLE] = ACTIVITY_BATTLE_MULTI,
|
||||
[LINK_GROUP_TRADE] = ACTIVITY_TRADE,
|
||||
[LINK_GROUP_POKEMON_JUMP] = ACTIVITY_POKEMON_JUMP,
|
||||
[LINK_GROUP_BERRY_CRUSH] = ACTIVITY_BERRY_CRUSH,
|
||||
[LINK_GROUP_BERRY_PICKING] = ACTIVITY_BERRY_PICK,
|
||||
[LINK_GROUP_SINGLE_BATTLE] = ACTIVITY_BATTLE_SINGLE,
|
||||
[LINK_GROUP_DOUBLE_BATTLE] = ACTIVITY_BATTLE_DOUBLE,
|
||||
[LINK_GROUP_MULTI_BATTLE] = ACTIVITY_BATTLE_MULTI,
|
||||
[LINK_GROUP_TRADE] = ACTIVITY_TRADE,
|
||||
[LINK_GROUP_POKEMON_JUMP] = ACTIVITY_POKEMON_JUMP,
|
||||
[LINK_GROUP_BERRY_CRUSH] = ACTIVITY_BERRY_CRUSH,
|
||||
[LINK_GROUP_BERRY_PICKING] = ACTIVITY_BERRY_PICK,
|
||||
[LINK_GROUP_WONDER_CARD] = ACTIVITY_WONDER_CARD2,
|
||||
[LINK_GROUP_WONDER_NEWS] = ACTIVITY_WONDER_NEWS2,
|
||||
[LINK_GROUP_UNION_ROOM_RESUME] = ACTIVITY_NONE,
|
||||
[LINK_GROUP_UNION_ROOM_INIT] = ACTIVITY_NONE,
|
||||
[LINK_GROUP_UNK_11] = ACTIVITY_NONE,
|
||||
[LINK_GROUP_RECORD_CORNER] = ACTIVITY_RECORD_CORNER,
|
||||
[LINK_GROUP_BERRY_BLENDER] = ACTIVITY_BERRY_BLENDER,
|
||||
[LINK_GROUP_UNK_14] = ACTIVITY_NONE,
|
||||
[LINK_GROUP_WONDER_NEWS] = ACTIVITY_WONDER_NEWS2,
|
||||
[LINK_GROUP_UNION_ROOM_RESUME] = ACTIVITY_NONE,
|
||||
[LINK_GROUP_UNION_ROOM_INIT] = ACTIVITY_NONE,
|
||||
[LINK_GROUP_UNK_11] = ACTIVITY_NONE,
|
||||
[LINK_GROUP_RECORD_CORNER] = ACTIVITY_RECORD_CORNER,
|
||||
[LINK_GROUP_BERRY_BLENDER] = ACTIVITY_BERRY_BLENDER,
|
||||
[LINK_GROUP_UNK_14] = ACTIVITY_NONE,
|
||||
[LINK_GROUP_COOL_CONTEST] = ACTIVITY_CONTEST_COOL,
|
||||
[LINK_GROUP_BEAUTY_CONTEST] = ACTIVITY_CONTEST_BEAUTY,
|
||||
[LINK_GROUP_CUTE_CONTEST] = ACTIVITY_CONTEST_CUTE,
|
||||
[LINK_GROUP_SMART_CONTEST] = ACTIVITY_CONTEST_SMART,
|
||||
[LINK_GROUP_TOUGH_CONTEST] = ACTIVITY_CONTEST_TOUGH,
|
||||
[LINK_GROUP_BATTLE_TOWER] = ACTIVITY_BATTLE_TOWER,
|
||||
[LINK_GROUP_BEAUTY_CONTEST] = ACTIVITY_CONTEST_BEAUTY,
|
||||
[LINK_GROUP_CUTE_CONTEST] = ACTIVITY_CONTEST_CUTE,
|
||||
[LINK_GROUP_SMART_CONTEST] = ACTIVITY_CONTEST_SMART,
|
||||
[LINK_GROUP_TOUGH_CONTEST] = ACTIVITY_CONTEST_TOUGH,
|
||||
[LINK_GROUP_BATTLE_TOWER] = ACTIVITY_BATTLE_TOWER,
|
||||
[LINK_GROUP_BATTLE_TOWER_OPEN] = ACTIVITY_BATTLE_TOWER_OPEN
|
||||
};
|
||||
|
||||
+1
-1
@@ -920,7 +920,7 @@ static bool8 TryProduceOrHatchEgg(struct DayCare *daycare)
|
||||
|
||||
SetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP, &eggCycles);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
gSpecialVar_0x8004 = i;
|
||||
return TRUE;
|
||||
|
||||
+14
-14
@@ -24,29 +24,29 @@
|
||||
Information about a Dewford trend is stored in a struct DewfordTrend.
|
||||
In addition to the two easy chat words that make up the trend's phrase,
|
||||
each trend has a few randomly generated values associated with it.
|
||||
- rand:
|
||||
- rand:
|
||||
This is a 16 bit value generated once when the phrase is created.
|
||||
It's used in calculations for Feebas tiles, Slot Machines, and Match Call.
|
||||
- trendiness / maxTrendiness:
|
||||
- trendiness / maxTrendiness:
|
||||
Initialized as a random value between 30-127 inclusive. This is used to
|
||||
compare how trendy one phrase is vs another. If a submitted phrase is
|
||||
less trendy than the current one it won't be accepted. If the trend is
|
||||
"boring" (see below) it will lose trendiness over time until it reaches 0,
|
||||
"boring" (see below) it will lose trendiness over time until it reaches 0,
|
||||
at which point it will stop being boring and gain trendiness until it
|
||||
reaches maxTrendiness (then it becomes boring again and the cycle repeats).
|
||||
- gainingTrendiness:
|
||||
- gainingTrendiness:
|
||||
This is a flag that determines whether a phrase should be gaining or losing
|
||||
trendiness. An NPC in Dewford Hall will comment on whether the current phrase
|
||||
is "boring" or not, and if it is gaining trendiness (or if it is still trendier
|
||||
than the last phrase) it is not boring. This field will always be TRUE for any
|
||||
than the last phrase) it is not boring. This field will always be TRUE for any
|
||||
new phrase submitted after the 1st submission.
|
||||
|
||||
## Saving trends ##
|
||||
Each time a potential trendy phrase is submitted, it is saved in gSaveBlock1Ptr->dewfordTrends[].
|
||||
Up to SAVED_TRENDS_COUNT (5) trends may be saved at one time. The trends in this array are kept
|
||||
in sorted order from most trendy to least trendy. The current trendy phrase is always at
|
||||
gSaveBlock1Ptr->dewfordTrends[0]. If the player mixes records with another player, their own
|
||||
trends are replaced with their mixing partner's, unless the phrase is the same, in which case
|
||||
Each time a potential trendy phrase is submitted, it is saved in gSaveBlock1Ptr->dewfordTrends[].
|
||||
Up to SAVED_TRENDS_COUNT (5) trends may be saved at one time. The trends in this array are kept
|
||||
in sorted order from most trendy to least trendy. The current trendy phrase is always at
|
||||
gSaveBlock1Ptr->dewfordTrends[0]. If the player mixes records with another player, their own
|
||||
trends are replaced with their mixing partner's, unless the phrase is the same, in which case
|
||||
the version with a higher trendiness value is used (see ReceiveDewfordTrendData).
|
||||
|
||||
## TV Show ##
|
||||
@@ -247,7 +247,7 @@ void ReceiveDewfordTrendData(struct DewfordTrend *linkedTrends, size_t size, u8
|
||||
players = GetLinkPlayerCount();
|
||||
for (i = 0; i < players; i++)
|
||||
memcpy(&linkedTrendsBuffer[i * SAVED_TRENDS_COUNT], (u8 *)linkedTrends + i * size, SAVED_TRENDS_SIZE);
|
||||
|
||||
|
||||
// Determine which of the received trends should be saved.
|
||||
// savedTrendsBuffer starts empty, and when finished will contain
|
||||
// which of the linked trends to save in the saveblock.
|
||||
@@ -279,7 +279,7 @@ void ReceiveDewfordTrendData(struct DewfordTrend *linkedTrends, size_t size, u8
|
||||
}
|
||||
}
|
||||
SortTrends(savedTrendsBuffer, numTrends, SORT_MODE_FULL);
|
||||
|
||||
|
||||
// Overwrite current saved trends with new saved trends
|
||||
src = savedTrendsBuffer;
|
||||
dst = gSaveBlock1Ptr->dewfordTrends;
|
||||
@@ -301,7 +301,7 @@ void BufferTrendyPhraseString(void)
|
||||
void IsTrendyPhraseBoring(void)
|
||||
{
|
||||
bool16 result = FALSE;
|
||||
|
||||
|
||||
do
|
||||
{
|
||||
if (gSaveBlock1Ptr->dewfordTrends[0].trendiness - gSaveBlock1Ptr->dewfordTrends[1].trendiness > 1)
|
||||
@@ -312,7 +312,7 @@ void IsTrendyPhraseBoring(void)
|
||||
break;
|
||||
result = TRUE;
|
||||
} while (0);
|
||||
|
||||
|
||||
gSpecialVar_Result = result;
|
||||
}
|
||||
|
||||
|
||||
+129
-129
@@ -139,7 +139,7 @@ enum {
|
||||
|
||||
#define NUM_STATUS_SQUARES 10
|
||||
|
||||
// Berries fall in predefined columns.
|
||||
// Berries fall in predefined columns.
|
||||
// A total of 10 are available, though fewer will be used with < 5 players
|
||||
// The 11th column is a repeat of the 1st column wrapped around, so only
|
||||
// the values 0-9 are unique 'valid' columns
|
||||
@@ -342,20 +342,20 @@ static void HandleWaitPlayAgainInput(void);
|
||||
static void ResetPickState(void);
|
||||
static u32 GetHighestScore(void);
|
||||
static void SendPacket_ReadyToStart(bool32);
|
||||
static void SendPacket_GameState(struct DodrioGame_Player *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
static void SendPacket_GameState(struct DodrioGame_Player *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
u8 , bool32 , bool32 );
|
||||
static bool32 RecvPacket_GameState(u32,
|
||||
struct DodrioGame_Player *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
static bool32 RecvPacket_GameState(u32,
|
||||
struct DodrioGame_Player *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
struct DodrioGame_PlayerCommData *,
|
||||
u8 *, bool32 *, bool32 *);
|
||||
static void SendPacket_PickState(u8);
|
||||
static bool32 RecvPacket_PickState(u32, u8 *);
|
||||
@@ -422,11 +422,11 @@ static void StopGfxFuncs(void);
|
||||
static void GfxIdle(void);
|
||||
|
||||
// For each player, the array is a list of all the columns starting with the column to their left
|
||||
// Only the range of active columns is read from the array (dependent on the number of players),
|
||||
// Only the range of active columns is read from the array (dependent on the number of players),
|
||||
// so the arrays are spaced such that the numbers in the center are where the data that's read starts and end.
|
||||
static const u8 sActiveColumnMap[MAX_RFU_PLAYERS][MAX_RFU_PLAYERS][NUM_BERRY_COLUMNS] =
|
||||
{
|
||||
{ // 1 player (never used), columns 4-6.
|
||||
{ // 1 player (never used), columns 4-6.
|
||||
// Sometimes read to get default order regardless of the current number of players
|
||||
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
|
||||
},
|
||||
@@ -526,7 +526,7 @@ static const u8 sPlayerIdAtColumn[MAX_RFU_PLAYERS][NUM_BERRY_COLUMNS] =
|
||||
{
|
||||
{__, __, __, __, 1, 1, 1, __, __, __, __}, // 1 player
|
||||
{__, __, __, 0, 0, 1, 1, 0, __, __, __}, // 2 players
|
||||
{__, __, 2, 2, 0, 0, 1, 1, 1, __, __}, // 3 players
|
||||
{__, __, 2, 2, 0, 0, 1, 1, 1, __, __}, // 3 players
|
||||
{__, 3, 3, 0, 0, 1, 1, 2, 2, 3, __}, // 4 players
|
||||
{ 3, 3, 4, 4, 0, 0, 1, 1, 2, 2, 3}, // 5 players
|
||||
};
|
||||
@@ -592,15 +592,15 @@ ALIGNED(4)
|
||||
static const u8 sPrizeBerryIds[][10] =
|
||||
{
|
||||
{ // Possible prizes with 3 players
|
||||
ITEM_TO_BERRY(ITEM_RAZZ_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_BLUK_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_NANAB_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_WEPEAR_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_PINAP_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_PINAP_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_WEPEAR_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_NANAB_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_BLUK_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_RAZZ_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_BLUK_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_NANAB_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_WEPEAR_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_PINAP_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_PINAP_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_WEPEAR_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_NANAB_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_BLUK_BERRY) - 1,
|
||||
ITEM_TO_BERRY(ITEM_RAZZ_BERRY) - 1
|
||||
},
|
||||
{ // Possible prizes with 4 players
|
||||
@@ -864,7 +864,7 @@ static void InitCountdown(void)
|
||||
default:
|
||||
sGame->startCountdown = TRUE;
|
||||
SetGameFunc(FUNC_COUNTDOWN);
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -912,7 +912,7 @@ static void WaitGameStart(void)
|
||||
case 0:
|
||||
if (sGame->startGame)
|
||||
SetGameFunc(FUNC_PLAY_GAME);
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1468,15 +1468,15 @@ static void RecvLinkData_Gameplay(void)
|
||||
u8 i;
|
||||
u8 numPlayers = sGame->numPlayers;
|
||||
|
||||
sGame->players[0].receivedGameStatePacket = RecvPacket_GameState(0,
|
||||
&sGame->players[0],
|
||||
&sGame->players[0].comm,
|
||||
&sGame->players[1].comm,
|
||||
&sGame->players[2].comm,
|
||||
&sGame->players[3].comm,
|
||||
&sGame->players[4].comm,
|
||||
&sGame->numGraySquares,
|
||||
&sGame->berriesFalling,
|
||||
sGame->players[0].receivedGameStatePacket = RecvPacket_GameState(0,
|
||||
&sGame->players[0],
|
||||
&sGame->players[0].comm,
|
||||
&sGame->players[1].comm,
|
||||
&sGame->players[2].comm,
|
||||
&sGame->players[3].comm,
|
||||
&sGame->players[4].comm,
|
||||
&sGame->numGraySquares,
|
||||
&sGame->berriesFalling,
|
||||
&sGame->allReadyToEnd);
|
||||
sGame->clearRecvCmds = TRUE;
|
||||
|
||||
@@ -1545,15 +1545,15 @@ static void RecvLinkData_ReadyToEnd(void)
|
||||
u8 i;
|
||||
u8 numPlayers = sGame->numPlayers;
|
||||
|
||||
sGame->players[0].receivedGameStatePacket = RecvPacket_GameState(0,
|
||||
&sGame->players[0],
|
||||
&sGame->players[0].comm,
|
||||
&sGame->players[1].comm,
|
||||
&sGame->players[2].comm,
|
||||
&sGame->players[3].comm,
|
||||
&sGame->players[4].comm,
|
||||
&sGame->numGraySquares,
|
||||
&sGame->berriesFalling,
|
||||
sGame->players[0].receivedGameStatePacket = RecvPacket_GameState(0,
|
||||
&sGame->players[0],
|
||||
&sGame->players[0].comm,
|
||||
&sGame->players[1].comm,
|
||||
&sGame->players[2].comm,
|
||||
&sGame->players[3].comm,
|
||||
&sGame->players[4].comm,
|
||||
&sGame->numGraySquares,
|
||||
&sGame->berriesFalling,
|
||||
&sGame->allReadyToEnd);
|
||||
sGame->clearRecvCmds = TRUE;
|
||||
|
||||
@@ -1605,25 +1605,25 @@ static void SendLinkData_Leader(void)
|
||||
switch (sGame->funcId)
|
||||
{
|
||||
case FUNC_PLAY_GAME:
|
||||
SendPacket_GameState(&sGame->player,
|
||||
&sGame->players[0].comm,
|
||||
&sGame->players[1].comm,
|
||||
&sGame->players[2].comm,
|
||||
&sGame->players[3].comm,
|
||||
&sGame->players[4].comm,
|
||||
sGame->numGraySquares,
|
||||
sGame->berriesFalling,
|
||||
SendPacket_GameState(&sGame->player,
|
||||
&sGame->players[0].comm,
|
||||
&sGame->players[1].comm,
|
||||
&sGame->players[2].comm,
|
||||
&sGame->players[3].comm,
|
||||
&sGame->players[4].comm,
|
||||
sGame->numGraySquares,
|
||||
sGame->berriesFalling,
|
||||
sGame->allReadyToEnd);
|
||||
break;
|
||||
case FUNC_WAIT_END_GAME:
|
||||
SendPacket_GameState(&sGame->player,
|
||||
&sGame->players[0].comm,
|
||||
&sGame->players[1].comm,
|
||||
&sGame->players[2].comm,
|
||||
&sGame->players[3].comm,
|
||||
&sGame->players[4].comm,
|
||||
sGame->numGraySquares,
|
||||
sGame->berriesFalling,
|
||||
SendPacket_GameState(&sGame->player,
|
||||
&sGame->players[0].comm,
|
||||
&sGame->players[1].comm,
|
||||
&sGame->players[2].comm,
|
||||
&sGame->players[3].comm,
|
||||
&sGame->players[4].comm,
|
||||
sGame->numGraySquares,
|
||||
sGame->berriesFalling,
|
||||
sGame->allReadyToEnd);
|
||||
break;
|
||||
}
|
||||
@@ -1634,27 +1634,27 @@ static void RecvLinkData_Member(void)
|
||||
switch (sGame->funcId)
|
||||
{
|
||||
case FUNC_PLAY_GAME:
|
||||
RecvPacket_GameState(sGame->multiplayerId,
|
||||
&sGame->players[sGame->multiplayerId],
|
||||
&sGame->players[0].comm,
|
||||
&sGame->players[1].comm,
|
||||
&sGame->players[2].comm,
|
||||
&sGame->players[3].comm,
|
||||
&sGame->players[4].comm,
|
||||
&sGame->numGraySquares,
|
||||
&sGame->berriesFalling,
|
||||
RecvPacket_GameState(sGame->multiplayerId,
|
||||
&sGame->players[sGame->multiplayerId],
|
||||
&sGame->players[0].comm,
|
||||
&sGame->players[1].comm,
|
||||
&sGame->players[2].comm,
|
||||
&sGame->players[3].comm,
|
||||
&sGame->players[4].comm,
|
||||
&sGame->numGraySquares,
|
||||
&sGame->berriesFalling,
|
||||
&sGame->allReadyToEnd);
|
||||
break;
|
||||
case FUNC_WAIT_END_GAME:
|
||||
RecvPacket_GameState(sGame->multiplayerId,
|
||||
&sGame->players[sGame->multiplayerId],
|
||||
&sGame->players[0].comm,
|
||||
&sGame->players[1].comm,
|
||||
&sGame->players[2].comm,
|
||||
&sGame->players[3].comm,
|
||||
&sGame->players[4].comm,
|
||||
&sGame->numGraySquares,
|
||||
&sGame->berriesFalling,
|
||||
RecvPacket_GameState(sGame->multiplayerId,
|
||||
&sGame->players[sGame->multiplayerId],
|
||||
&sGame->players[0].comm,
|
||||
&sGame->players[1].comm,
|
||||
&sGame->players[2].comm,
|
||||
&sGame->players[3].comm,
|
||||
&sGame->players[4].comm,
|
||||
&sGame->numGraySquares,
|
||||
&sGame->berriesFalling,
|
||||
&sGame->allReadyToEnd);
|
||||
break;
|
||||
}
|
||||
@@ -1728,7 +1728,7 @@ static void HandleSound_Member(void)
|
||||
u8 i;
|
||||
if (sGame->players[sGame->multiplayerId].comm.pickState == PICK_NONE)
|
||||
{
|
||||
if (sGame->players[sGame->multiplayerId].comm.ateBerry != TRUE
|
||||
if (sGame->players[sGame->multiplayerId].comm.ateBerry != TRUE
|
||||
&& sGame->players[sGame->multiplayerId].comm.missedBerry != TRUE)
|
||||
sGame->playingPickSound = 0;
|
||||
}
|
||||
@@ -1885,7 +1885,7 @@ static void HandlePickBerries(void)
|
||||
column = sActiveColumnMap[0][0][j];
|
||||
|
||||
// Attempt has already been checked
|
||||
if (sGame->playersAttemptingPick[column][0] == i
|
||||
if (sGame->playersAttemptingPick[column][0] == i
|
||||
|| sGame->playersAttemptingPick[column][1] == i)
|
||||
break;
|
||||
|
||||
@@ -1929,14 +1929,14 @@ static void HandlePickBerries(void)
|
||||
if (++sGame->eatTimer[column] >= 6)
|
||||
{
|
||||
sGame->eatTimer[column] = 0;
|
||||
|
||||
if (sGame->playersAttemptingPick[column][0] == PLAYER_NONE
|
||||
|
||||
if (sGame->playersAttemptingPick[column][0] == PLAYER_NONE
|
||||
&& sGame->playersAttemptingPick[column][1] == PLAYER_NONE)
|
||||
{
|
||||
// No players attempting to pick this berry
|
||||
continue;
|
||||
}
|
||||
else if (sGame->playersAttemptingPick[column][0] != PLAYER_NONE
|
||||
else if (sGame->playersAttemptingPick[column][0] != PLAYER_NONE
|
||||
&& sGame->playersAttemptingPick[column][1] == PLAYER_NONE)
|
||||
{
|
||||
// One player attempting to pick this berry
|
||||
@@ -2003,7 +2003,7 @@ static bool32 TryPickBerry(u8 playerId, u8 pickState, u8 column)
|
||||
pick = 2;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// Check if berry is within range to be picked
|
||||
if (berries->fallDist[column] == EAT_FALL_DIST - 1 || berries->fallDist[column] == EAT_FALL_DIST)
|
||||
{
|
||||
@@ -2054,7 +2054,7 @@ static void UpdateFallingBerries(void)
|
||||
if (sGame->berryState[i] == BERRYSTATE_NONE || sGame->berryState[i] == BERRYSTATE_PICKED)
|
||||
{
|
||||
sGame->berriesFalling = TRUE;
|
||||
|
||||
|
||||
if (game->player.berries.fallDist[i] >= MAX_FALL_DIST)
|
||||
{
|
||||
// Berry hit the ground
|
||||
@@ -2591,9 +2591,9 @@ static void ResetForPlayAgainPrompt(void)
|
||||
}
|
||||
|
||||
static const s16 sBerryScoreMultipliers[] = {
|
||||
[BERRY_BLUE] = 10,
|
||||
[BERRY_GREEN] = 30,
|
||||
[BERRY_GOLD] = 50,
|
||||
[BERRY_BLUE] = 10,
|
||||
[BERRY_GREEN] = 30,
|
||||
[BERRY_GOLD] = 50,
|
||||
[BERRY_MISSED] = 50 // Subtracted
|
||||
};
|
||||
|
||||
@@ -2788,7 +2788,7 @@ static u32 SetScoreResults(void)
|
||||
u8 numPlayers = sGame->numPlayers;
|
||||
|
||||
GetHighestScore(); // Useless call
|
||||
|
||||
|
||||
if (GetHighestScore() == 0)
|
||||
{
|
||||
// No one scored any points, put everyone in last place with a score of 0.
|
||||
@@ -2810,7 +2810,7 @@ static u32 SetScoreResults(void)
|
||||
{
|
||||
u32 score = GetScoreByRanking(ranking);
|
||||
u8 curRanking = nextRanking;
|
||||
|
||||
|
||||
// Find all players with the score for this ranking.
|
||||
// Increment nextRanking but not curRanking to allow
|
||||
// for ties
|
||||
@@ -3028,19 +3028,19 @@ static const u16 sDebug_BerryResults[MAX_RFU_PLAYERS][4] =
|
||||
[BERRY_GREEN] = 0,
|
||||
[BERRY_GOLD] = 90,
|
||||
[BERRY_MISSED] = MAX_BERRIES
|
||||
},
|
||||
},
|
||||
{
|
||||
[BERRY_BLUE] = MAX_BERRIES,
|
||||
[BERRY_GREEN] = MAX_BERRIES,
|
||||
[BERRY_GOLD] = 70,
|
||||
[BERRY_MISSED] = MAX_BERRIES
|
||||
},
|
||||
},
|
||||
{
|
||||
[BERRY_BLUE] = MAX_BERRIES,
|
||||
[BERRY_GREEN] = 0,
|
||||
[BERRY_GOLD] = MAX_BERRIES,
|
||||
[BERRY_MISSED] = 0
|
||||
},
|
||||
},
|
||||
{
|
||||
[BERRY_BLUE] = MAX_BERRIES,
|
||||
[BERRY_GREEN] = MAX_BERRIES,
|
||||
@@ -3048,7 +3048,7 @@ static const u16 sDebug_BerryResults[MAX_RFU_PLAYERS][4] =
|
||||
[BERRY_MISSED] = 0
|
||||
},
|
||||
{
|
||||
[BERRY_BLUE] = MAX_BERRIES,
|
||||
[BERRY_BLUE] = MAX_BERRIES,
|
||||
[BERRY_GREEN] = MAX_BERRIES,
|
||||
[BERRY_GOLD] = MAX_BERRIES,
|
||||
[BERRY_MISSED] = 0
|
||||
@@ -3159,14 +3159,14 @@ struct GameStatePacket
|
||||
bool8 missedBerry_Player5:1;
|
||||
};
|
||||
|
||||
static void SendPacket_GameState(struct DodrioGame_Player *player,
|
||||
struct DodrioGame_PlayerCommData *player1,
|
||||
struct DodrioGame_PlayerCommData *player2,
|
||||
struct DodrioGame_PlayerCommData *player3,
|
||||
struct DodrioGame_PlayerCommData *player4,
|
||||
struct DodrioGame_PlayerCommData *player5,
|
||||
u8 numGraySquares,
|
||||
bool32 berriesFalling,
|
||||
static void SendPacket_GameState(struct DodrioGame_Player *player,
|
||||
struct DodrioGame_PlayerCommData *player1,
|
||||
struct DodrioGame_PlayerCommData *player2,
|
||||
struct DodrioGame_PlayerCommData *player3,
|
||||
struct DodrioGame_PlayerCommData *player4,
|
||||
struct DodrioGame_PlayerCommData *player5,
|
||||
u8 numGraySquares,
|
||||
bool32 berriesFalling,
|
||||
bool32 allReadyToEnd)
|
||||
{
|
||||
struct GameStatePacket packet;
|
||||
@@ -3219,15 +3219,15 @@ static void SendPacket_GameState(struct DodrioGame_Player *player,
|
||||
Rfu_SendPacket(&packet);
|
||||
}
|
||||
|
||||
static bool32 RecvPacket_GameState(u32 playerId,
|
||||
struct DodrioGame_Player *player,
|
||||
struct DodrioGame_PlayerCommData *player1,
|
||||
struct DodrioGame_PlayerCommData *player2,
|
||||
struct DodrioGame_PlayerCommData *player3,
|
||||
struct DodrioGame_PlayerCommData *player4,
|
||||
struct DodrioGame_PlayerCommData *player5,
|
||||
u8 *numGraySquares,
|
||||
bool32 *berriesFalling,
|
||||
static bool32 RecvPacket_GameState(u32 playerId,
|
||||
struct DodrioGame_Player *player,
|
||||
struct DodrioGame_PlayerCommData *player1,
|
||||
struct DodrioGame_PlayerCommData *player2,
|
||||
struct DodrioGame_PlayerCommData *player3,
|
||||
struct DodrioGame_PlayerCommData *player4,
|
||||
struct DodrioGame_PlayerCommData *player5,
|
||||
u8 *numGraySquares,
|
||||
bool32 *berriesFalling,
|
||||
bool32 *allReadyToEnd)
|
||||
{
|
||||
struct GameStatePacket *packet;
|
||||
@@ -3503,7 +3503,7 @@ static const u8 sActiveColumnMap_Duplicate[MAX_RFU_PLAYERS][MAX_RFU_PLAYERS][NUM
|
||||
{6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6},
|
||||
{8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8},
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
// Unused duplicate of sDodrioHeadToColumnMap
|
||||
static const u8 sDodrioHeadToColumnMap_Duplicate[MAX_RFU_PLAYERS][MAX_RFU_PLAYERS][3] =
|
||||
@@ -4117,7 +4117,7 @@ static void UpdateStatusBarAnim(u8 numEmpty)
|
||||
StartSpriteAnim(&gSprites[sStatusBar->spriteIds[i]], STATUS_YELLOW);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Set remaining squares gray
|
||||
for (; i < NUM_STATUS_SQUARES; i++)
|
||||
StartSpriteAnim(&gSprites[sStatusBar->spriteIds[i]], STATUS_GRAY);
|
||||
@@ -4132,15 +4132,15 @@ static void SetStatusBarInvisibility(bool8 invisible)
|
||||
}
|
||||
|
||||
static const u8 sUnusedSounds[] = {
|
||||
SE_M_CHARM,
|
||||
SE_NOTE_C,
|
||||
SE_NOTE_D,
|
||||
SE_NOTE_E,
|
||||
SE_NOTE_F,
|
||||
SE_NOTE_G,
|
||||
SE_NOTE_A,
|
||||
SE_NOTE_B,
|
||||
SE_NOTE_C_HIGH,
|
||||
SE_M_CHARM,
|
||||
SE_NOTE_C,
|
||||
SE_NOTE_D,
|
||||
SE_NOTE_E,
|
||||
SE_NOTE_F,
|
||||
SE_NOTE_G,
|
||||
SE_NOTE_A,
|
||||
SE_NOTE_B,
|
||||
SE_NOTE_C_HIGH,
|
||||
SE_RG_CARD_OPEN
|
||||
};
|
||||
|
||||
@@ -4286,9 +4286,9 @@ static void SpriteCB_Cloud(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
static const s16 sCloudStartCoords[NUM_CLOUDS][2] =
|
||||
static const s16 sCloudStartCoords[NUM_CLOUDS][2] =
|
||||
{
|
||||
{230, 55},
|
||||
{230, 55},
|
||||
{ 30, 74}
|
||||
};
|
||||
|
||||
@@ -4790,8 +4790,8 @@ static void ShowResults(void)
|
||||
|
||||
ConvertIntToDecimalStringN(gStringVar4, berriesPicked, STR_CONV_MODE_LEFT_ALIGN, 4);
|
||||
width = GetStringWidth(1, gStringVar4, -1);
|
||||
|
||||
// If player got the most of a berry type, highlight their number in red
|
||||
|
||||
// If player got the most of a berry type, highlight their number in red
|
||||
if (maxBerriesPicked == berriesPicked && maxBerriesPicked != 0)
|
||||
AddTextPrinterParameterized3(sGfx->windowIds[1], 1, sResultsXCoords[j] - width, sResultsYCoords[i], sTextColorTable[COLORID_RED], -1, gStringVar4);
|
||||
else
|
||||
@@ -4974,7 +4974,7 @@ static void Msg_WantToPlayAgain(void)
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], 1, gText_No, 8, 17, -1, NULL);
|
||||
AddTextPrinterParameterized(sGfx->windowIds[WIN_YES_NO], 1, gText_SelectorArrow2, 0, ((y - 1) * 16) + 1, -1, NULL);
|
||||
CopyWindowToVram(sGfx->windowIds[WIN_YES_NO], 3);
|
||||
|
||||
|
||||
// Increment state only if A or B button have been pressed.
|
||||
if (JOY_NEW(A_BUTTON))
|
||||
{
|
||||
|
||||
+13
-13
@@ -857,7 +857,7 @@ static const struct WindowTemplate sEasyChatYesNoWindowTemplate = {
|
||||
|
||||
static const u8 sText_Clear17[] = _("{CLEAR 17}");
|
||||
|
||||
static const u8 *const sEasyChatKeyboardAlphabet[NUM_ALPHABET_ROWS] =
|
||||
static const u8 *const sEasyChatKeyboardAlphabet[NUM_ALPHABET_ROWS] =
|
||||
{
|
||||
gText_EasyChatKeyboard_ABCDEFothers,
|
||||
gText_EasyChatKeyboard_GHIJKL,
|
||||
@@ -2908,7 +2908,7 @@ static void GetQuizTitle(u8 *dst)
|
||||
u8 name[32];
|
||||
struct SaveBlock1 *saveBlock1 = gSaveBlock1Ptr;
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
|
||||
|
||||
// Buffer author's name
|
||||
if (StringLength(saveBlock1->lilycoveLady.quiz.playerName) != 0)
|
||||
{
|
||||
@@ -4118,7 +4118,7 @@ static void BufferFrameTilemap(u16 *tilemap)
|
||||
// These frames fill the screen, no need to draw top/bottom edges
|
||||
right = sPhraseFrameDimensions[frameId].left + sPhraseFrameDimensions[frameId].width;
|
||||
bottom = sPhraseFrameDimensions[frameId].top + sPhraseFrameDimensions[frameId].height;
|
||||
|
||||
|
||||
// Draw middle section
|
||||
for (y = sPhraseFrameDimensions[frameId].top; y < bottom; y++)
|
||||
{
|
||||
@@ -4516,7 +4516,7 @@ static void BufferLowerWindowFrame(int left, int top, int width, int height)
|
||||
bottom = top + height - 1;
|
||||
x = left;
|
||||
y = top;
|
||||
|
||||
|
||||
// Draw top edge
|
||||
tilemap[y * 32 + x] = FRAME_OFFSET_GREEN + FRAME_TILE_TOP_L_CORNER;
|
||||
x++;
|
||||
@@ -4688,7 +4688,7 @@ static void UpdateRectangleCursorPos(void)
|
||||
s8 column;
|
||||
s8 row;
|
||||
|
||||
if (sScreenControl->rectangleCursorSpriteRight
|
||||
if (sScreenControl->rectangleCursorSpriteRight
|
||||
&& sScreenControl->rectangleCursorSpriteLeft)
|
||||
{
|
||||
GetKeyboardCursorColAndRow(&column, &row);
|
||||
@@ -5532,16 +5532,16 @@ void InitEasyChatPhrases(void)
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(sDefaultProfileWords); i++)
|
||||
gSaveBlock1Ptr->easyChatProfile[i] = sDefaultProfileWords[i];
|
||||
|
||||
|
||||
for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
|
||||
gSaveBlock1Ptr->easyChatBattleStart[i] = sDefaultBattleStartWords[i];
|
||||
|
||||
|
||||
for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
|
||||
gSaveBlock1Ptr->easyChatBattleWon[i] = sDefaultBattleWonWords[i];
|
||||
|
||||
|
||||
for (i = 0; i < EASY_CHAT_BATTLE_WORDS_COUNT; i++)
|
||||
gSaveBlock1Ptr->easyChatBattleLost[i] = sDefaultBattleLostWords[i];
|
||||
|
||||
|
||||
for (i = 0; i < MAIL_COUNT; i++)
|
||||
{
|
||||
for (j = 0; j < MAIL_WORDS_COUNT; j++)
|
||||
@@ -5585,11 +5585,11 @@ static void SetUnlockedEasyChatGroups(void)
|
||||
sWordData->numUnlockedGroups = 0;
|
||||
if (GetNationalPokedexCount(FLAG_GET_SEEN))
|
||||
sWordData->unlockedGroupIds[sWordData->numUnlockedGroups++] = EC_GROUP_POKEMON;
|
||||
|
||||
|
||||
// These groups are unlocked automatically
|
||||
for (i = EC_GROUP_TRAINER; i <= EC_GROUP_ADJECTIVES; i++)
|
||||
sWordData->unlockedGroupIds[sWordData->numUnlockedGroups++] = i;
|
||||
|
||||
|
||||
if (FlagGet(FLAG_SYS_GAME_CLEAR))
|
||||
{
|
||||
sWordData->unlockedGroupIds[sWordData->numUnlockedGroups++] = EC_GROUP_EVENTS;
|
||||
@@ -5627,7 +5627,7 @@ static u8 *BufferEasyChatWordGroupName(u8 *dest, u8 groupId, u16 totalChars)
|
||||
*str = CHAR_SPACE;
|
||||
str++;
|
||||
}
|
||||
|
||||
|
||||
*str = EOS;
|
||||
return str;
|
||||
}
|
||||
@@ -5646,7 +5646,7 @@ static u8 *CopyEasyChatWordPadded(u8 *dest, u16 easyChatWord, u16 totalChars)
|
||||
*str = CHAR_SPACE;
|
||||
str++;
|
||||
}
|
||||
|
||||
|
||||
*str = EOS;
|
||||
return str;
|
||||
}
|
||||
|
||||
@@ -745,7 +745,7 @@ int EReaderHandleTransfer(u8 mode, size_t size, const void * data, void * recvBu
|
||||
}
|
||||
|
||||
return (sSendRecvMgr.xferState << EREADER_XFER_SHIFT)
|
||||
| (sSendRecvMgr.cancellationReason << EREADER_CANCEL_SHIFT)
|
||||
| (sSendRecvMgr.cancellationReason << EREADER_CANCEL_SHIFT)
|
||||
| (sSendRecvMgr.checksumResult << EREADER_CHECKSUM_SHIFT);
|
||||
}
|
||||
|
||||
|
||||
@@ -240,7 +240,7 @@ static bool32 sub_81D5064(u16 *arg0, u16 arg1)
|
||||
*arg0 = 0;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
@@ -1891,7 +1891,7 @@ const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u8 graphicsId)
|
||||
{
|
||||
graphicsId = OBJ_EVENT_GFX_NINJA_BOY;
|
||||
}
|
||||
|
||||
|
||||
return gObjectEventGraphicsInfoPointers[graphicsId];
|
||||
}
|
||||
|
||||
@@ -7497,7 +7497,7 @@ static void ObjectEventUpdateMetatileBehaviors(struct ObjectEvent *objEvent)
|
||||
|
||||
static void GetGroundEffectFlags_Reflection(struct ObjectEvent *objEvent, u32 *flags)
|
||||
{
|
||||
u32 reflectionFlags[NUM_REFLECTION_TYPES - 1] = {
|
||||
u32 reflectionFlags[NUM_REFLECTION_TYPES - 1] = {
|
||||
[REFL_TYPE_ICE - 1] = GROUND_EFFECT_FLAG_ICE_REFLECTION,
|
||||
[REFL_TYPE_WATER - 1] = GROUND_EFFECT_FLAG_WATER_REFLECTION
|
||||
};
|
||||
@@ -7715,7 +7715,7 @@ static u8 ObjectEventGetNearbyReflectionType(struct ObjectEvent *objEvent)
|
||||
RETURN_REFLECTION_TYPE_AT(objEvent->previousCoords.x - j, objEvent->previousCoords.y + one + i)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return REFL_TYPE_NONE;
|
||||
}
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ static const u8 sText_ShedinjaJapaneseName[] = _("ヌケニン");
|
||||
// The below table is used by Task_UpdateBgPalette to control the speed at which the bg color updates.
|
||||
// The first two values are indexes into sBgAnim_PalIndexes (indirectly, via sBgAnimPal), and are
|
||||
// the start and end of the range of colors in sBgAnim_PalIndexes it will move through incrementally
|
||||
// before starting over. It will repeat this cycle x number of times, where x = the 3rd value,
|
||||
// before starting over. It will repeat this cycle x number of times, where x = the 3rd value,
|
||||
// delaying each increment by y, where y = the 4th value.
|
||||
// Once it has cycled x number of times, it will move to the next array in this table.
|
||||
static const u8 sBgAnim_PaletteControl[][4] =
|
||||
|
||||
+3
-3
@@ -307,7 +307,7 @@ static void door_build_blockdef(u16 *a, u16 b, const u8 *c)
|
||||
static void DrawCurrentDoorAnimFrame(const struct DoorGraphics *gfx, u32 x, u32 y, const u8 *pal)
|
||||
{
|
||||
u16 arr[24];
|
||||
|
||||
|
||||
if (gfx->size == 2)
|
||||
{
|
||||
door_build_blockdef(&arr[8], 0x3F0, pal);
|
||||
@@ -524,7 +524,7 @@ bool8 FieldIsDoorAnimationRunning(void)
|
||||
u32 GetDoorSoundEffect(u32 x, u32 y)
|
||||
{
|
||||
int sound = GetDoorSoundType(sDoorAnimGraphicsTable, x, y);
|
||||
|
||||
|
||||
if (sound == DOOR_SOUND_NORMAL)
|
||||
return SE_DOOR;
|
||||
else if (sound == DOOR_SOUND_SLIDING)
|
||||
@@ -540,7 +540,7 @@ static bool8 ShouldUseMultiCorridorDoor(void)
|
||||
{
|
||||
if (FlagGet(FLAG_ENABLE_MULTI_CORRIDOR_DOOR))
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR)
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR))
|
||||
{
|
||||
return TRUE;
|
||||
|
||||
+47
-47
@@ -407,35 +407,35 @@ static const struct SpriteFrameImage sPicTable_HofMonitorSmall[] =
|
||||
static const struct Subsprite sSubsprites_PokecenterMonitor[] =
|
||||
{
|
||||
{
|
||||
.x = -12,
|
||||
.y = -8,
|
||||
.shape = SPRITE_SHAPE(16x8),
|
||||
.x = -12,
|
||||
.y = -8,
|
||||
.shape = SPRITE_SHAPE(16x8),
|
||||
.size = SPRITE_SIZE(16x8),
|
||||
.tileOffset = 0,
|
||||
.tileOffset = 0,
|
||||
.priority = 2
|
||||
},
|
||||
{
|
||||
.x = 4,
|
||||
.x = 4,
|
||||
.y = -8,
|
||||
.shape = SPRITE_SHAPE(8x8),
|
||||
.size = SPRITE_SIZE(8x8),
|
||||
.tileOffset = 2,
|
||||
.priority = 2
|
||||
},
|
||||
{
|
||||
.x = -12,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(16x8),
|
||||
.size = SPRITE_SIZE(16x8),
|
||||
.tileOffset = 3,
|
||||
.shape = SPRITE_SHAPE(8x8),
|
||||
.size = SPRITE_SIZE(8x8),
|
||||
.tileOffset = 2,
|
||||
.priority = 2
|
||||
},
|
||||
{
|
||||
.x = 4,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(8x8),
|
||||
.size = SPRITE_SIZE(8x8),
|
||||
.tileOffset = 5,
|
||||
.x = -12,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(16x8),
|
||||
.size = SPRITE_SIZE(16x8),
|
||||
.tileOffset = 3,
|
||||
.priority = 2
|
||||
},
|
||||
{
|
||||
.x = 4,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(8x8),
|
||||
.size = SPRITE_SIZE(8x8),
|
||||
.tileOffset = 5,
|
||||
.priority = 2
|
||||
}
|
||||
};
|
||||
@@ -445,35 +445,35 @@ static const struct SubspriteTable sSubspriteTable_PokecenterMonitor = subsprite
|
||||
static const struct Subsprite sSubsprites_HofMonitorBig[] =
|
||||
{
|
||||
{
|
||||
.x = -32,
|
||||
.y = -8,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.x = -32,
|
||||
.y = -8,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 0,
|
||||
.tileOffset = 0,
|
||||
.priority = 2
|
||||
},
|
||||
{
|
||||
.x = 0,
|
||||
.y = -8,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.x = 0,
|
||||
.y = -8,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 4,
|
||||
.tileOffset = 4,
|
||||
.priority = 2
|
||||
},
|
||||
{
|
||||
.x = -32,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.x = -32,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 8,
|
||||
.tileOffset = 8,
|
||||
.priority = 2
|
||||
},
|
||||
{
|
||||
.x = 0,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.x = 0,
|
||||
.y = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileOffset = 12,
|
||||
.tileOffset = 12,
|
||||
.priority = 2
|
||||
}
|
||||
};
|
||||
@@ -937,19 +937,19 @@ void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b)
|
||||
{
|
||||
int curRed, curGreen, curBlue;
|
||||
u16 color = gPlttBufferUnfaded[i];
|
||||
|
||||
|
||||
curRed = (color & RGB_RED);
|
||||
curGreen = (color & RGB_GREEN) >> 5;
|
||||
curBlue = (color & RGB_BLUE) >> 10;
|
||||
|
||||
|
||||
curRed += (((0x1F - curRed) * r) >> 4);
|
||||
curGreen += (((0x1F - curGreen) * g) >> 4);
|
||||
curBlue += (((0x1F - curBlue) * b) >> 4);
|
||||
|
||||
|
||||
color = curRed;
|
||||
color |= (curGreen << 5);
|
||||
color |= (curBlue << 10);
|
||||
|
||||
|
||||
gPlttBufferFaded[i] = color;
|
||||
}
|
||||
|
||||
@@ -958,19 +958,19 @@ void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b)
|
||||
{
|
||||
int curRed, curGreen, curBlue;
|
||||
u16 color = gPlttBufferUnfaded[i];
|
||||
|
||||
|
||||
curRed = (color & RGB_RED);
|
||||
curGreen = (color & RGB_GREEN) >> 5;
|
||||
curBlue = (color & RGB_BLUE) >> 10;
|
||||
|
||||
|
||||
curRed -= ((curRed * r) >> 4);
|
||||
curGreen -= ((curGreen * g) >> 4);
|
||||
curBlue -= ((curBlue * b) >> 4);
|
||||
|
||||
|
||||
color = curRed;
|
||||
color |= (curGreen << 5);
|
||||
color |= (curBlue << 10);
|
||||
|
||||
|
||||
gPlttBufferFaded[i] = color;
|
||||
}
|
||||
|
||||
@@ -1715,7 +1715,7 @@ static bool8 EscalatorWarpIn_Init(struct Task *task)
|
||||
// If dest is down escalator tile, player is riding up
|
||||
behavior = TRUE;
|
||||
task->tState = 3; // jump to EscalatorWarpIn_Up_Init
|
||||
}
|
||||
}
|
||||
else // MB_UP_ESCALATOR
|
||||
{
|
||||
// If dest is up escalator tile, player is riding down
|
||||
@@ -2265,7 +2265,7 @@ static void EscapeRopeWarpOutEffect_Spin(struct Task *task)
|
||||
gFieldCallback = FieldCallback_EscapeRopeWarpIn;
|
||||
SetMainCallback2(CB2_LoadMap);
|
||||
DestroyTask(FindTaskIdByFunc(Task_EscapeRopeWarpOut));
|
||||
}
|
||||
}
|
||||
else if (task->tSpinDelay == 0 || (--task->tSpinDelay) == 0)
|
||||
{
|
||||
ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(spinDirections[objectEvent->facingDirection]));
|
||||
|
||||
+14
-14
@@ -37,7 +37,7 @@ static u32 ShowDisguiseFieldEffect(u8, u8, u8);
|
||||
|
||||
#define sReflectionObjEventId data[0]
|
||||
#define sReflectionObjEventLocalId data[1]
|
||||
#define sReflectionVerticalOffset data[2]
|
||||
#define sReflectionVerticalOffset data[2]
|
||||
#define sIsStillReflection data[7]
|
||||
|
||||
void SetUpReflection(struct ObjectEvent *objectEvent, struct Sprite *sprite, bool8 stillReflection)
|
||||
@@ -337,8 +337,8 @@ void UpdateTallGrassFieldEffect(struct Sprite *sprite)
|
||||
mapGroup = sprite->sMapGroup;
|
||||
metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->sX, sprite->sY);
|
||||
|
||||
if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)
|
||||
|| !MetatileBehavior_IsTallGrass(metatileBehavior)
|
||||
if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)
|
||||
|| !MetatileBehavior_IsTallGrass(metatileBehavior)
|
||||
|| (sprite->sObjectMoved && sprite->animEnded))
|
||||
{
|
||||
FieldEffectStop(sprite, FLDEFF_TALL_GRASS);
|
||||
@@ -347,8 +347,8 @@ void UpdateTallGrassFieldEffect(struct Sprite *sprite)
|
||||
{
|
||||
// Check if the object that triggered the effect has moved away
|
||||
objectEvent = &gObjectEvents[objectEventId];
|
||||
if ((objectEvent->currentCoords.x != sprite->sX
|
||||
|| objectEvent->currentCoords.y != sprite->sY)
|
||||
if ((objectEvent->currentCoords.x != sprite->sX
|
||||
|| objectEvent->currentCoords.y != sprite->sY)
|
||||
&& (objectEvent->previousCoords.x != sprite->sX
|
||||
|| objectEvent->previousCoords.y != sprite->sY))
|
||||
sprite->sObjectMoved = TRUE;
|
||||
@@ -391,10 +391,10 @@ u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s
|
||||
if (gSprites[i].inUse)
|
||||
{
|
||||
sprite = &gSprites[i];
|
||||
if (sprite->callback == UpdateTallGrassFieldEffect
|
||||
&& (x == sprite->sX && y == sprite->sY)
|
||||
&& localId == (u8)(sprite->sLocalId)
|
||||
&& mapNum == (sprite->sMapNum & 0xFF)
|
||||
if (sprite->callback == UpdateTallGrassFieldEffect
|
||||
&& (x == sprite->sX && y == sprite->sY)
|
||||
&& localId == (u8)(sprite->sLocalId)
|
||||
&& mapNum == (sprite->sMapNum & 0xFF)
|
||||
&& mapGroup == sprite->sMapGroup)
|
||||
return i;
|
||||
}
|
||||
@@ -452,8 +452,8 @@ void UpdateLongGrassFieldEffect(struct Sprite *sprite)
|
||||
mapNum = sprite->sMapNum;
|
||||
mapGroup = sprite->sMapGroup;
|
||||
metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->data[1], sprite->data[2]);
|
||||
if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)
|
||||
|| !MetatileBehavior_IsLongGrass(metatileBehavior)
|
||||
if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)
|
||||
|| !MetatileBehavior_IsLongGrass(metatileBehavior)
|
||||
|| (sprite->sObjectMoved && sprite->animEnded))
|
||||
{
|
||||
FieldEffectStop(sprite, FLDEFF_LONG_GRASS);
|
||||
@@ -462,9 +462,9 @@ void UpdateLongGrassFieldEffect(struct Sprite *sprite)
|
||||
{
|
||||
// Check if the object that triggered the effect has moved away
|
||||
objectEvent = &gObjectEvents[objectEventId];
|
||||
if ((objectEvent->currentCoords.x != sprite->data[1]
|
||||
|| objectEvent->currentCoords.y != sprite->data[2])
|
||||
&& (objectEvent->previousCoords.x != sprite->data[1]
|
||||
if ((objectEvent->currentCoords.x != sprite->data[1]
|
||||
|| objectEvent->currentCoords.y != sprite->data[2])
|
||||
&& (objectEvent->previousCoords.x != sprite->data[1]
|
||||
|| objectEvent->previousCoords.y != sprite->data[2]))
|
||||
sprite->sObjectMoved = TRUE;
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ static bool8 ForceShowFieldAutoScrollMessage(const u8 *str)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Same as ShowFieldMessage, but instead of accepting a
|
||||
// Same as ShowFieldMessage, but instead of accepting a
|
||||
// string arg it just prints whats already in gStringVar4
|
||||
bool8 ShowFieldMessageFromBuffer(void)
|
||||
{
|
||||
|
||||
@@ -1687,7 +1687,7 @@ static bool8 (*const sFishingStateFuncs[])(struct Task *) =
|
||||
{
|
||||
Fishing_Init,
|
||||
Fishing_GetRodOut,
|
||||
Fishing_WaitBeforeDots,
|
||||
Fishing_WaitBeforeDots,
|
||||
Fishing_InitDots, // FISHING_START_ROUND
|
||||
Fishing_ShowDots,
|
||||
Fishing_CheckForBite,
|
||||
@@ -1729,13 +1729,13 @@ static bool8 Fishing_GetRodOut(struct Task *task)
|
||||
{
|
||||
struct ObjectEvent *playerObjEvent;
|
||||
const s16 minRounds1[] = {
|
||||
[OLD_ROD] = 1,
|
||||
[GOOD_ROD] = 1,
|
||||
[OLD_ROD] = 1,
|
||||
[GOOD_ROD] = 1,
|
||||
[SUPER_ROD] = 1
|
||||
};
|
||||
const s16 minRounds2[] = {
|
||||
[OLD_ROD] = 1,
|
||||
[GOOD_ROD] = 3,
|
||||
[OLD_ROD] = 1,
|
||||
[GOOD_ROD] = 3,
|
||||
[SUPER_ROD] = 6
|
||||
};
|
||||
|
||||
@@ -1865,8 +1865,8 @@ static bool8 Fishing_GotBite(struct Task *task)
|
||||
static bool8 Fishing_WaitForA(struct Task *task)
|
||||
{
|
||||
const s16 reelTimeouts[3] = {
|
||||
[OLD_ROD] = 36,
|
||||
[GOOD_ROD] = 33,
|
||||
[OLD_ROD] = 36,
|
||||
[GOOD_ROD] = 33,
|
||||
[SUPER_ROD] = 30
|
||||
};
|
||||
|
||||
@@ -2100,7 +2100,7 @@ static void Task_DoPlayerSpinExit(u8 taskId)
|
||||
tState++;
|
||||
case 1: // Spin while rising
|
||||
TrySpinPlayerForWarp(object, &tSpinDelayTimer);
|
||||
|
||||
|
||||
// Rise and accelerate
|
||||
tCurY -= tSpeed;
|
||||
tSpeed += 3;
|
||||
|
||||
@@ -33,15 +33,15 @@ enum
|
||||
//. rodata
|
||||
static const s8 gTruckCamera_HorizontalTable[] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, -1, -1, -1, 0};
|
||||
|
||||
static const u8 sSSTidalSailEastMovementScript[] =
|
||||
static const u8 sSSTidalSailEastMovementScript[] =
|
||||
{
|
||||
MOVEMENT_ACTION_WALK_FAST_RIGHT,
|
||||
MOVEMENT_ACTION_WALK_FAST_RIGHT,
|
||||
MOVEMENT_ACTION_STEP_END
|
||||
};
|
||||
|
||||
static const u8 sSSTidalSailWestMovementScript[] =
|
||||
static const u8 sSSTidalSailWestMovementScript[] =
|
||||
{
|
||||
MOVEMENT_ACTION_WALK_FAST_LEFT,
|
||||
MOVEMENT_ACTION_WALK_FAST_LEFT,
|
||||
MOVEMENT_ACTION_STEP_END
|
||||
};
|
||||
|
||||
|
||||
+165
-165
@@ -521,9 +521,9 @@ void SpawnLinkPartnerObjectEvent(void)
|
||||
s16 x = 0;
|
||||
s16 y = 0;
|
||||
u8 movementTypes[] = {
|
||||
MOVEMENT_TYPE_FACE_UP,
|
||||
MOVEMENT_TYPE_FACE_LEFT,
|
||||
MOVEMENT_TYPE_FACE_DOWN,
|
||||
MOVEMENT_TYPE_FACE_UP,
|
||||
MOVEMENT_TYPE_FACE_LEFT,
|
||||
MOVEMENT_TYPE_FACE_DOWN,
|
||||
MOVEMENT_TYPE_FACE_RIGHT
|
||||
};
|
||||
s8 coordOffsets[][2] = {
|
||||
@@ -1422,8 +1422,8 @@ bool8 Special_AreLeadMonEVsMaxedOut(void)
|
||||
|
||||
u8 TryUpdateRusturfTunnelState(void)
|
||||
{
|
||||
if (!FlagGet(FLAG_RUSTURF_TUNNEL_OPENED)
|
||||
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(RUSTURF_TUNNEL)
|
||||
if (!FlagGet(FLAG_RUSTURF_TUNNEL_OPENED)
|
||||
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(RUSTURF_TUNNEL)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(RUSTURF_TUNNEL))
|
||||
{
|
||||
if (FlagGet(FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1))
|
||||
@@ -1710,7 +1710,7 @@ void OffsetCameraForBattle(void)
|
||||
SetCameraPanning(8, 0);
|
||||
}
|
||||
|
||||
const struct WindowTemplate gElevatorFloor_WindowTemplate =
|
||||
const struct WindowTemplate gElevatorFloor_WindowTemplate =
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 21,
|
||||
@@ -2020,27 +2020,27 @@ void BufferVarsForIVRater(void)
|
||||
|
||||
bool8 UsedPokemonCenterWarp(void)
|
||||
{
|
||||
static const u16 sPokemonCenters[] =
|
||||
{
|
||||
MAP_OLDALE_TOWN_POKEMON_CENTER_1F,
|
||||
MAP_DEWFORD_TOWN_POKEMON_CENTER_1F,
|
||||
MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F,
|
||||
MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F,
|
||||
MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F,
|
||||
MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F,
|
||||
MAP_PETALBURG_CITY_POKEMON_CENTER_1F,
|
||||
MAP_SLATEPORT_CITY_POKEMON_CENTER_1F,
|
||||
MAP_MAUVILLE_CITY_POKEMON_CENTER_1F,
|
||||
MAP_RUSTBORO_CITY_POKEMON_CENTER_1F,
|
||||
MAP_FORTREE_CITY_POKEMON_CENTER_1F,
|
||||
MAP_LILYCOVE_CITY_POKEMON_CENTER_1F,
|
||||
MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F,
|
||||
MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F,
|
||||
MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F,
|
||||
MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F,
|
||||
MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F,
|
||||
MAP_UNION_ROOM,
|
||||
0xFFFF
|
||||
static const u16 sPokemonCenters[] =
|
||||
{
|
||||
MAP_OLDALE_TOWN_POKEMON_CENTER_1F,
|
||||
MAP_DEWFORD_TOWN_POKEMON_CENTER_1F,
|
||||
MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F,
|
||||
MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F,
|
||||
MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F,
|
||||
MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F,
|
||||
MAP_PETALBURG_CITY_POKEMON_CENTER_1F,
|
||||
MAP_SLATEPORT_CITY_POKEMON_CENTER_1F,
|
||||
MAP_MAUVILLE_CITY_POKEMON_CENTER_1F,
|
||||
MAP_RUSTBORO_CITY_POKEMON_CENTER_1F,
|
||||
MAP_FORTREE_CITY_POKEMON_CENTER_1F,
|
||||
MAP_LILYCOVE_CITY_POKEMON_CENTER_1F,
|
||||
MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F,
|
||||
MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F,
|
||||
MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F,
|
||||
MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F,
|
||||
MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F,
|
||||
MAP_UNION_ROOM,
|
||||
0xFFFF
|
||||
};
|
||||
|
||||
int i;
|
||||
@@ -2073,71 +2073,71 @@ void UpdateFrontierManiac(u16 daysSince)
|
||||
|
||||
void ShowFrontierManiacMessage(void)
|
||||
{
|
||||
static const u8 *const sFrontierManiacMessages[][FRONTIER_MANIAC_MESSAGE_COUNT] =
|
||||
static const u8 *const sFrontierManiacMessages[][FRONTIER_MANIAC_MESSAGE_COUNT] =
|
||||
{
|
||||
[FRONTIER_MANIAC_BATTLE_TOWER_SINGLES] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_SalonMaidenIsThere,
|
||||
BattleFrontier_Lounge2_Text_SalonMaidenSilverMons,
|
||||
BattleFrontier_Lounge2_Text_SalonMaidenGoldMons
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_SalonMaidenIsThere,
|
||||
BattleFrontier_Lounge2_Text_SalonMaidenSilverMons,
|
||||
BattleFrontier_Lounge2_Text_SalonMaidenGoldMons
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_DoubleBattleAdvice1,
|
||||
BattleFrontier_Lounge2_Text_DoubleBattleAdvice2,
|
||||
BattleFrontier_Lounge2_Text_DoubleBattleAdvice3
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_DoubleBattleAdvice1,
|
||||
BattleFrontier_Lounge2_Text_DoubleBattleAdvice2,
|
||||
BattleFrontier_Lounge2_Text_DoubleBattleAdvice3
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_TOWER_MULTIS] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_MultiBattleAdvice,
|
||||
BattleFrontier_Lounge2_Text_MultiBattleAdvice,
|
||||
BattleFrontier_Lounge2_Text_MultiBattleAdvice
|
||||
[FRONTIER_MANIAC_BATTLE_TOWER_MULTIS] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_MultiBattleAdvice,
|
||||
BattleFrontier_Lounge2_Text_MultiBattleAdvice,
|
||||
BattleFrontier_Lounge2_Text_MultiBattleAdvice
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_TOWER_LINK] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice,
|
||||
BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice,
|
||||
BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice,
|
||||
BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice,
|
||||
BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_DOME] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_DomeAceIsThere,
|
||||
BattleFrontier_Lounge2_Text_DomeAceSilverMons,
|
||||
BattleFrontier_Lounge2_Text_DomeAceGoldMons
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_DomeAceIsThere,
|
||||
BattleFrontier_Lounge2_Text_DomeAceSilverMons,
|
||||
BattleFrontier_Lounge2_Text_DomeAceGoldMons
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_FACTORY] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_FactoryHeadIsThere,
|
||||
BattleFrontier_Lounge2_Text_FactoryHeadSilverMons,
|
||||
BattleFrontier_Lounge2_Text_FactoryHeadGoldMons
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_FactoryHeadIsThere,
|
||||
BattleFrontier_Lounge2_Text_FactoryHeadSilverMons,
|
||||
BattleFrontier_Lounge2_Text_FactoryHeadGoldMons
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_PALACE] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_PalaceMavenIsThere,
|
||||
BattleFrontier_Lounge2_Text_PalaceMavenSilverMons,
|
||||
BattleFrontier_Lounge2_Text_PalaceMavenGoldMons
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_PalaceMavenIsThere,
|
||||
BattleFrontier_Lounge2_Text_PalaceMavenSilverMons,
|
||||
BattleFrontier_Lounge2_Text_PalaceMavenGoldMons
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_ARENA] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_ArenaTycoonIsThere,
|
||||
BattleFrontier_Lounge2_Text_ArenaTycoonSilverMons,
|
||||
BattleFrontier_Lounge2_Text_ArenaTycoonGoldMons
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_ArenaTycoonIsThere,
|
||||
BattleFrontier_Lounge2_Text_ArenaTycoonSilverMons,
|
||||
BattleFrontier_Lounge2_Text_ArenaTycoonGoldMons
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_PIKE] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_PikeQueenIsThere,
|
||||
BattleFrontier_Lounge2_Text_PikeQueenSilverMons,
|
||||
BattleFrontier_Lounge2_Text_PikeQueenGoldMons
|
||||
[FRONTIER_MANIAC_BATTLE_PIKE] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_PikeQueenIsThere,
|
||||
BattleFrontier_Lounge2_Text_PikeQueenSilverMons,
|
||||
BattleFrontier_Lounge2_Text_PikeQueenGoldMons
|
||||
},
|
||||
[FRONTIER_MANIAC_BATTLE_PYRAMID] =
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_PyramidKingIsThere,
|
||||
BattleFrontier_Lounge2_Text_PyramidKingSilverMons,
|
||||
BattleFrontier_Lounge2_Text_PyramidKingGoldMons
|
||||
{
|
||||
BattleFrontier_Lounge2_Text_PyramidKingIsThere,
|
||||
BattleFrontier_Lounge2_Text_PyramidKingSilverMons,
|
||||
BattleFrontier_Lounge2_Text_PyramidKingGoldMons
|
||||
},
|
||||
};
|
||||
|
||||
static const u8 sFrontierManiacStreakThresholds[][FRONTIER_MANIAC_MESSAGE_COUNT - 1] =
|
||||
static const u8 sFrontierManiacStreakThresholds[][FRONTIER_MANIAC_MESSAGE_COUNT - 1] =
|
||||
{
|
||||
[FRONTIER_MANIAC_BATTLE_TOWER_SINGLES] = { 21, 56 },
|
||||
[FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES] = { 21, 35 },
|
||||
@@ -2161,7 +2161,7 @@ void ShowFrontierManiacMessage(void)
|
||||
case FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES:
|
||||
case FRONTIER_MANIAC_BATTLE_TOWER_MULTIS:
|
||||
case FRONTIER_MANIAC_BATTLE_TOWER_LINK:
|
||||
if (gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50]
|
||||
if (gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50]
|
||||
>= gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_OPEN])
|
||||
{
|
||||
winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[facility][FRONTIER_LVL_50];
|
||||
@@ -2172,7 +2172,7 @@ void ShowFrontierManiacMessage(void)
|
||||
}
|
||||
break;
|
||||
case FRONTIER_MANIAC_BATTLE_DOME:
|
||||
if (gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
|
||||
if (gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
|
||||
>= gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
|
||||
{
|
||||
winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50];
|
||||
@@ -2183,7 +2183,7 @@ void ShowFrontierManiacMessage(void)
|
||||
}
|
||||
break;
|
||||
case FRONTIER_MANIAC_BATTLE_FACTORY:
|
||||
if (gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
|
||||
if (gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
|
||||
>= gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
|
||||
{
|
||||
winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50];
|
||||
@@ -2194,7 +2194,7 @@ void ShowFrontierManiacMessage(void)
|
||||
}
|
||||
break;
|
||||
case FRONTIER_MANIAC_BATTLE_PALACE:
|
||||
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
|
||||
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50]
|
||||
>= gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_OPEN])
|
||||
{
|
||||
winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[FRONTIER_MODE_SINGLES][FRONTIER_LVL_50];
|
||||
@@ -2205,7 +2205,7 @@ void ShowFrontierManiacMessage(void)
|
||||
}
|
||||
break;
|
||||
case FRONTIER_MANIAC_BATTLE_ARENA:
|
||||
if (gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50]
|
||||
if (gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50]
|
||||
>= gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_OPEN])
|
||||
{
|
||||
winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[FRONTIER_LVL_50];
|
||||
@@ -2216,7 +2216,7 @@ void ShowFrontierManiacMessage(void)
|
||||
}
|
||||
break;
|
||||
case FRONTIER_MANIAC_BATTLE_PIKE:
|
||||
if (gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50]
|
||||
if (gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50]
|
||||
>= gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_OPEN])
|
||||
{
|
||||
winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[FRONTIER_LVL_50];
|
||||
@@ -2227,7 +2227,7 @@ void ShowFrontierManiacMessage(void)
|
||||
}
|
||||
break;
|
||||
case FRONTIER_MANIAC_BATTLE_PYRAMID:
|
||||
if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50]
|
||||
if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50]
|
||||
>= gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN])
|
||||
{
|
||||
winStreak = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50];
|
||||
@@ -2429,13 +2429,13 @@ void ShowScrollableMultichoice(void)
|
||||
}
|
||||
}
|
||||
|
||||
static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH] =
|
||||
static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH] =
|
||||
{
|
||||
[SCROLL_MULTI_NONE] =
|
||||
[SCROLL_MULTI_NONE] =
|
||||
{
|
||||
gText_Exit
|
||||
},
|
||||
[SCROLL_MULTI_GLASS_WORKSHOP_VENDOR] =
|
||||
[SCROLL_MULTI_GLASS_WORKSHOP_VENDOR] =
|
||||
{
|
||||
gText_BlueFlute,
|
||||
gText_YellowFlute,
|
||||
@@ -2446,7 +2446,7 @@ static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH]
|
||||
gText_PrettyDesk,
|
||||
gText_Exit
|
||||
},
|
||||
[SCROLL_MULTI_POKEMON_FAN_CLUB_RATER] =
|
||||
[SCROLL_MULTI_POKEMON_FAN_CLUB_RATER] =
|
||||
{
|
||||
gText_0Pts,
|
||||
gText_10Pts,
|
||||
@@ -2461,7 +2461,7 @@ static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH]
|
||||
gText_100Pts,
|
||||
gText_QuestionMark
|
||||
},
|
||||
[SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1] =
|
||||
[SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1] =
|
||||
{
|
||||
gText_KissPoster16BP,
|
||||
gText_KissCushion32BP,
|
||||
@@ -2535,7 +2535,7 @@ static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH]
|
||||
gText_ExchangeService,
|
||||
gText_Exit
|
||||
},
|
||||
[SCROLL_MULTI_BF_MOVE_TUTOR_1] =
|
||||
[SCROLL_MULTI_BF_MOVE_TUTOR_1] =
|
||||
{
|
||||
gText_Softboiled16BP,
|
||||
gText_SeismicToss24BP,
|
||||
@@ -2549,7 +2549,7 @@ static const u8 *const sScrollableMultichoiceOptions[][MAX_SCROLL_MULTI_LENGTH]
|
||||
gText_SwordsDance48BP,
|
||||
gText_Exit
|
||||
},
|
||||
[SCROLL_MULTI_BF_MOVE_TUTOR_2] =
|
||||
[SCROLL_MULTI_BF_MOVE_TUTOR_2] =
|
||||
{
|
||||
gText_DefenseCurl16BP,
|
||||
gText_Snore24BP,
|
||||
@@ -2896,7 +2896,7 @@ void UpdateFrontierGambler(u16 daysSince)
|
||||
|
||||
void ShowFrontierGamblerLookingMessage(void)
|
||||
{
|
||||
static const u8 *const sFrontierGamblerLookingMessages[] =
|
||||
static const u8 *const sFrontierGamblerLookingMessages[] =
|
||||
{
|
||||
BattleFrontier_Lounge3_Text_ChallengeBattleTowerSingle,
|
||||
BattleFrontier_Lounge3_Text_ChallengeBattleTowerDouble,
|
||||
@@ -2919,7 +2919,7 @@ void ShowFrontierGamblerLookingMessage(void)
|
||||
|
||||
void ShowFrontierGamblerGoMessage(void)
|
||||
{
|
||||
static const u8 *const sFrontierGamblerGoMessages[] =
|
||||
static const u8 *const sFrontierGamblerGoMessages[] =
|
||||
{
|
||||
BattleFrontier_Lounge3_Text_GetToBattleTowerSingle,
|
||||
BattleFrontier_Lounge3_Text_GetToBattleTowerDouble,
|
||||
@@ -2940,19 +2940,19 @@ void ShowFrontierGamblerGoMessage(void)
|
||||
|
||||
void FrontierGamblerSetWonOrLost(bool8 won)
|
||||
{
|
||||
static const u16 sFrontierChallenges[] =
|
||||
static const u16 sFrontierChallenges[] =
|
||||
{
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_TOWER, FRONTIER_MODE_SINGLES),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_TOWER, FRONTIER_MODE_DOUBLES),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_TOWER, FRONTIER_MODE_MULTIS),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_DOME, FRONTIER_MODE_SINGLES),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_DOME, FRONTIER_MODE_DOUBLES),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_SINGLES),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_DOUBLES),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_PALACE, FRONTIER_MODE_SINGLES),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_PALACE, FRONTIER_MODE_DOUBLES),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_ARENA, FRONTIER_MODE_SINGLES),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_PIKE, FRONTIER_MODE_SINGLES),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_SINGLES),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_DOUBLES),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_PALACE, FRONTIER_MODE_SINGLES),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_PALACE, FRONTIER_MODE_DOUBLES),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_ARENA, FRONTIER_MODE_SINGLES),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_PIKE, FRONTIER_MODE_SINGLES),
|
||||
FRONTIER_CHALLENGE(FRONTIER_FACILITY_PYRAMID, FRONTIER_MODE_SINGLES)
|
||||
};
|
||||
|
||||
@@ -3140,31 +3140,31 @@ static void HideFrontierExchangeCornerItemIcon(u16 menu, u16 unused)
|
||||
}
|
||||
|
||||
static const u16 sBattleFrontier_TutorMoves1[] =
|
||||
{
|
||||
MOVE_SOFT_BOILED,
|
||||
MOVE_SEISMIC_TOSS,
|
||||
MOVE_DREAM_EATER,
|
||||
MOVE_MEGA_PUNCH,
|
||||
MOVE_MEGA_KICK,
|
||||
MOVE_BODY_SLAM,
|
||||
MOVE_ROCK_SLIDE,
|
||||
MOVE_COUNTER,
|
||||
MOVE_THUNDER_WAVE,
|
||||
MOVE_SWORDS_DANCE
|
||||
{
|
||||
MOVE_SOFT_BOILED,
|
||||
MOVE_SEISMIC_TOSS,
|
||||
MOVE_DREAM_EATER,
|
||||
MOVE_MEGA_PUNCH,
|
||||
MOVE_MEGA_KICK,
|
||||
MOVE_BODY_SLAM,
|
||||
MOVE_ROCK_SLIDE,
|
||||
MOVE_COUNTER,
|
||||
MOVE_THUNDER_WAVE,
|
||||
MOVE_SWORDS_DANCE
|
||||
};
|
||||
|
||||
static const u16 sBattleFrontier_TutorMoves2[] =
|
||||
{
|
||||
MOVE_DEFENSE_CURL,
|
||||
MOVE_SNORE,
|
||||
MOVE_MUD_SLAP,
|
||||
MOVE_SWIFT,
|
||||
MOVE_ICY_WIND,
|
||||
MOVE_ENDURE,
|
||||
MOVE_PSYCH_UP,
|
||||
MOVE_ICE_PUNCH,
|
||||
MOVE_THUNDER_PUNCH,
|
||||
MOVE_FIRE_PUNCH
|
||||
{
|
||||
MOVE_DEFENSE_CURL,
|
||||
MOVE_SNORE,
|
||||
MOVE_MUD_SLAP,
|
||||
MOVE_SWIFT,
|
||||
MOVE_ICY_WIND,
|
||||
MOVE_ENDURE,
|
||||
MOVE_PSYCH_UP,
|
||||
MOVE_ICE_PUNCH,
|
||||
MOVE_THUNDER_PUNCH,
|
||||
MOVE_FIRE_PUNCH
|
||||
};
|
||||
|
||||
void BufferBattleFrontierTutorMoveName(void)
|
||||
@@ -3181,7 +3181,7 @@ void BufferBattleFrontierTutorMoveName(void)
|
||||
|
||||
static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection)
|
||||
{
|
||||
static const struct WindowTemplate sBattleFrontierTutor_WindowTemplate =
|
||||
static const struct WindowTemplate sBattleFrontierTutor_WindowTemplate =
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
@@ -3205,7 +3205,7 @@ static void ShowBattleFrontierTutorWindow(u8 menu, u16 selection)
|
||||
|
||||
static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection)
|
||||
{
|
||||
static const u8 *const sBattleFrontier_TutorMoveDescriptions1[] =
|
||||
static const u8 *const sBattleFrontier_TutorMoveDescriptions1[] =
|
||||
{
|
||||
BattleFrontier_Lounge7_Text_SoftboiledDesc,
|
||||
BattleFrontier_Lounge7_Text_SeismicTossDesc,
|
||||
@@ -3220,7 +3220,7 @@ static void ShowBattleFrontierTutorMoveDescription(u8 menu, u16 selection)
|
||||
gText_Exit,
|
||||
};
|
||||
|
||||
static const u8 *const sBattleFrontier_TutorMoveDescriptions2[] =
|
||||
static const u8 *const sBattleFrontier_TutorMoveDescriptions2[] =
|
||||
{
|
||||
BattleFrontier_Lounge7_Text_DefenseCurlDesc,
|
||||
BattleFrontier_Lounge7_Text_SnoreDesc,
|
||||
@@ -3335,20 +3335,20 @@ void sub_813AF48(void)
|
||||
}
|
||||
|
||||
// Undefine Scrollable Multichoice task data macros
|
||||
#undef tMaxItemsOnScreen
|
||||
#undef tNumItems
|
||||
#undef tLeft
|
||||
#undef tTop
|
||||
#undef tWidth
|
||||
#undef tHeight
|
||||
#undef tKeepOpenAfterSelect
|
||||
#undef tScrollOffset
|
||||
#undef tSelectedRow
|
||||
#undef tScrollMultiId
|
||||
#undef tScrollArrowId
|
||||
#undef tWindowId
|
||||
#undef tListTaskId
|
||||
#undef tTaskId
|
||||
#undef tMaxItemsOnScreen
|
||||
#undef tNumItems
|
||||
#undef tLeft
|
||||
#undef tTop
|
||||
#undef tWidth
|
||||
#undef tHeight
|
||||
#undef tKeepOpenAfterSelect
|
||||
#undef tScrollOffset
|
||||
#undef tSelectedRow
|
||||
#undef tScrollMultiId
|
||||
#undef tScrollArrowId
|
||||
#undef tWindowId
|
||||
#undef tListTaskId
|
||||
#undef tTaskId
|
||||
|
||||
void DoDeoxysRockInteraction(void)
|
||||
{
|
||||
@@ -3730,7 +3730,7 @@ bool32 ShouldDistributeEonTicket(void)
|
||||
{
|
||||
if (!VarGet(VAR_DISTRIBUTE_EON_TICKET))
|
||||
return FALSE;
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -3794,17 +3794,17 @@ static void Task_LinkRetireStatusWithBattleTowerPartner(u8 taskId)
|
||||
gSpecialVar_0x8005 = gBlockRecvBuffer[1][0];
|
||||
ResetBlockReceivedFlag(1);
|
||||
|
||||
if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_RETIRE
|
||||
if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_RETIRE
|
||||
&& gSpecialVar_0x8005 == BATTLE_TOWER_LINK_RETIRE)
|
||||
{
|
||||
gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_BOTH_RETIRE;
|
||||
}
|
||||
else if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_CONTINUE
|
||||
else if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_CONTINUE
|
||||
&& gSpecialVar_0x8005 == BATTLE_TOWER_LINK_RETIRE)
|
||||
{
|
||||
gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_MEMBER_RETIRE;
|
||||
}
|
||||
else if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_RETIRE
|
||||
else if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_RETIRE
|
||||
&& gSpecialVar_0x8005 == BATTLE_TOWER_LINK_CONTINUE)
|
||||
{
|
||||
gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_LEADER_RETIRE;
|
||||
@@ -4026,13 +4026,13 @@ bool8 InPokemonCenter(void)
|
||||
}
|
||||
|
||||
/* Summary of the Lilycove Trainer Fan Club, because it's a little messy
|
||||
|
||||
|
||||
## The Fan Club room itself
|
||||
There are initially 4 members of the Fan Club (+ an interviewer), none of whom are fans of the player
|
||||
After becoming the champion there will be 8 members of the Fan Club, 3 of whom are automatically fans of the player
|
||||
After this point, if a club member is a fan of the player they will sit at the front table and comment on the player
|
||||
If they are not fans of the player, they will sit at the far table and can make comments about a different trainer (see BufferFanClubTrainerName)
|
||||
|
||||
|
||||
## Gaining/losing fans
|
||||
After every link battle the player will gain a fan if they won, or lose a fan if they lost
|
||||
If the player has at least 3 fans, this is the only way to gain fans
|
||||
@@ -4101,16 +4101,16 @@ void UpdateTrainerFanClubGameClear(void)
|
||||
}
|
||||
|
||||
// If the player has < 3 fans, gain a new fan whenever the counter reaches 20+
|
||||
// Defeating Drake or participating in a Contest increments the counter by 2
|
||||
// Defeating Drake or participating in a Contest increments the counter by 2
|
||||
// Participating at Battle Tower or in a Secret Base battle increments the counter by 1
|
||||
u8 TryGainNewFanFromCounter(u8 incrementId)
|
||||
{
|
||||
static const u8 sCounterIncrements[] =
|
||||
{
|
||||
[FANCOUNTER_DEFEATED_DRAKE] = 2,
|
||||
[FANCOUNTER_BATTLED_AT_BASE] = 1,
|
||||
[FANCOUNTER_FINISHED_CONTEST] = 2,
|
||||
[FANCOUNTER_USED_BATTLE_TOWER] = 1
|
||||
static const u8 sCounterIncrements[] =
|
||||
{
|
||||
[FANCOUNTER_DEFEATED_DRAKE] = 2,
|
||||
[FANCOUNTER_BATTLED_AT_BASE] = 1,
|
||||
[FANCOUNTER_FINISHED_CONTEST] = 2,
|
||||
[FANCOUNTER_USED_BATTLE_TOWER] = 1
|
||||
};
|
||||
|
||||
if (VarGet(VAR_LILYCOVE_FAN_CLUB_STATE) == 2)
|
||||
@@ -4143,16 +4143,16 @@ u8 TryGainNewFanFromCounter(u8 incrementId)
|
||||
// If all the members are already fans of the player then this redundantly sets the first fan in the list to be a fan
|
||||
static u16 PlayerGainRandomTrainerFan(void)
|
||||
{
|
||||
static const u8 sFanClubMemberIds[NUM_TRAINER_FAN_CLUB_MEMBERS] =
|
||||
{
|
||||
FANCLUB_MEMBER1,
|
||||
FANCLUB_MEMBER2,
|
||||
FANCLUB_MEMBER3,
|
||||
FANCLUB_MEMBER4,
|
||||
FANCLUB_MEMBER5,
|
||||
static const u8 sFanClubMemberIds[NUM_TRAINER_FAN_CLUB_MEMBERS] =
|
||||
{
|
||||
FANCLUB_MEMBER1,
|
||||
FANCLUB_MEMBER2,
|
||||
FANCLUB_MEMBER3,
|
||||
FANCLUB_MEMBER4,
|
||||
FANCLUB_MEMBER5,
|
||||
FANCLUB_MEMBER6,
|
||||
FANCLUB_MEMBER7,
|
||||
FANCLUB_MEMBER8
|
||||
FANCLUB_MEMBER7,
|
||||
FANCLUB_MEMBER8
|
||||
};
|
||||
|
||||
u8 i;
|
||||
@@ -4179,16 +4179,16 @@ static u16 PlayerGainRandomTrainerFan(void)
|
||||
// If no fan was lost while looping, the last current fan in the list will stop being a fan
|
||||
static u16 PlayerLoseRandomTrainerFan(void)
|
||||
{
|
||||
static const u8 sFanClubMemberIds[NUM_TRAINER_FAN_CLUB_MEMBERS] =
|
||||
{
|
||||
FANCLUB_MEMBER1,
|
||||
FANCLUB_MEMBER6,
|
||||
FANCLUB_MEMBER7,
|
||||
FANCLUB_MEMBER4,
|
||||
FANCLUB_MEMBER3,
|
||||
FANCLUB_MEMBER5,
|
||||
FANCLUB_MEMBER8,
|
||||
FANCLUB_MEMBER2
|
||||
static const u8 sFanClubMemberIds[NUM_TRAINER_FAN_CLUB_MEMBERS] =
|
||||
{
|
||||
FANCLUB_MEMBER1,
|
||||
FANCLUB_MEMBER6,
|
||||
FANCLUB_MEMBER7,
|
||||
FANCLUB_MEMBER4,
|
||||
FANCLUB_MEMBER3,
|
||||
FANCLUB_MEMBER5,
|
||||
FANCLUB_MEMBER8,
|
||||
FANCLUB_MEMBER2
|
||||
};
|
||||
|
||||
u8 i;
|
||||
|
||||
+2
-2
@@ -110,8 +110,8 @@ void (*const gWeatherPalStateFuncs[])(void) =
|
||||
{
|
||||
[WEATHER_PAL_STATE_CHANGING_WEATHER] = UpdateWeatherGammaShift,
|
||||
[WEATHER_PAL_STATE_SCREEN_FADING_IN] = FadeInScreenWithWeather,
|
||||
[WEATHER_PAL_STATE_SCREEN_FADING_OUT] = DoNothing,
|
||||
[WEATHER_PAL_STATE_IDLE] = DoNothing,
|
||||
[WEATHER_PAL_STATE_SCREEN_FADING_OUT] = DoNothing,
|
||||
[WEATHER_PAL_STATE_IDLE] = DoNothing,
|
||||
};
|
||||
|
||||
// This table specifies which of the gamma shift tables should be
|
||||
|
||||
@@ -71,7 +71,7 @@ static void SetEscalatorMetatile(u8 taskId, const s16 *metatileIds, u16 metatile
|
||||
s16 i;
|
||||
s16 j;
|
||||
|
||||
// Check all the escalator sections and only progress the selected one to the next stage
|
||||
// Check all the escalator sections and only progress the selected one to the next stage
|
||||
if (!gTasks[taskId].tGoingUp)
|
||||
{
|
||||
for (i = 0; i < 3; i++)
|
||||
@@ -178,7 +178,7 @@ void StopEscalator(void)
|
||||
|
||||
bool8 IsEscalatorMoving(void)
|
||||
{
|
||||
if (gTasks[sEscalatorAnim_TaskId].tDrawingEscalator == FALSE
|
||||
if (gTasks[sEscalatorAnim_TaskId].tDrawingEscalator == FALSE
|
||||
&& gTasks[sEscalatorAnim_TaskId].tTransitionStage == LAST_ESCALATOR_STAGE)
|
||||
return FALSE;
|
||||
else
|
||||
|
||||
+6
-6
@@ -178,9 +178,9 @@ static const u32 sUnusedData[] = INCBIN_U32("graphics/frontier
|
||||
static const u32 sBattleRecord_Tilemap[] = INCBIN_U32("graphics/frontier_pass/record_frame.bin.lz");
|
||||
static const u32 sMapAndCard_Zooming_Tilemap[] = INCBIN_U32("graphics/frontier_pass/small_map_and_card_affine.bin.lz");
|
||||
|
||||
static const s16 sBgAffineCoords[][2] =
|
||||
static const s16 sBgAffineCoords[][2] =
|
||||
{
|
||||
[CURSOR_AREA_MAP - 1] = {216, 32},
|
||||
[CURSOR_AREA_MAP - 1] = {216, 32},
|
||||
[CURSOR_AREA_CARD - 1] = {216, 128}
|
||||
};
|
||||
|
||||
@@ -1099,7 +1099,7 @@ static void Task_PassAreaZoom(u8 taskId)
|
||||
tScaleY += tScaleSpeedY;
|
||||
sPassGfx->scaleX = MathUtil_Inv16(tScaleX);
|
||||
sPassGfx->scaleY = MathUtil_Inv16(tScaleY);
|
||||
|
||||
|
||||
// Check if zoom hasn't reached target
|
||||
if (!tZoomOut)
|
||||
{
|
||||
@@ -1117,7 +1117,7 @@ static void Task_PassAreaZoom(u8 taskId)
|
||||
sPassGfx->zooming = FALSE;
|
||||
if (UpdatePaletteFade())
|
||||
return;
|
||||
|
||||
|
||||
if (!tZoomOut)
|
||||
{
|
||||
// Zoomed in and faded out, switch to map or trainer card
|
||||
@@ -1174,7 +1174,7 @@ static void ShowAndPrintWindows(void)
|
||||
static void PrintAreaDescription(u8 cursorArea)
|
||||
{
|
||||
FillWindowPixelBuffer(WINDOW_DESCRIPTION, PIXEL_FILL(0));
|
||||
|
||||
|
||||
if (cursorArea == CURSOR_AREA_RECORD && !sPassData->hasBattleRecord)
|
||||
AddTextPrinterParameterized3(WINDOW_DESCRIPTION, 1, 2, 0, sTextColors[1], 0, sPassAreaDescriptions[CURSOR_AREA_NOTHING]);
|
||||
else if (cursorArea != CURSOR_AREA_NOTHING)
|
||||
@@ -1256,7 +1256,7 @@ static void UpdateAreaHighlight(u8 cursorArea, u8 previousCursorArea)
|
||||
return;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// If moving on to highlightable area, highlight it
|
||||
switch (cursorArea)
|
||||
{
|
||||
|
||||
+1
-1
@@ -2397,7 +2397,7 @@ void ClearRankingHallRecords(void)
|
||||
{
|
||||
for (k = 0; k < 3; k++)
|
||||
{
|
||||
CopyTrainerId(gSaveBlock2Ptr->hallRecords1P[i][j][k].id, ZERO);
|
||||
CopyTrainerId(gSaveBlock2Ptr->hallRecords1P[i][j][k].id, ZERO);
|
||||
gSaveBlock2Ptr->hallRecords1P[i][j][k].name[0] = EOS;
|
||||
gSaveBlock2Ptr->hallRecords1P[i][j][k].winStreak = 0;
|
||||
}
|
||||
|
||||
+8
-12
@@ -355,7 +355,6 @@ const u16 gBattleInterface_BallStatusBarPal[] = INCBIN_U16("graphics/battle_inte
|
||||
|
||||
const u16 gBattleInterface_BallDisplayPal[] = INCBIN_U16("graphics/battle_interface/ball_display.gbapal");
|
||||
|
||||
//Originally an array?
|
||||
const u8 gHealthboxElementsGfxTable[] = INCBIN_U8("graphics/battle_interface/hpbar.4bpp",
|
||||
"graphics/battle_interface/expbar.4bpp",
|
||||
"graphics/battle_interface/status_psn.4bpp",
|
||||
@@ -365,17 +364,14 @@ const u8 gHealthboxElementsGfxTable[] = INCBIN_U8("graphics/battle_interface/hpb
|
||||
"graphics/battle_interface/status_brn.4bpp",
|
||||
"graphics/battle_interface/misc.4bpp",
|
||||
"graphics/battle_interface/hpbar_anim.4bpp",
|
||||
"graphics/battle_interface/misc_frameend.4bpp");
|
||||
|
||||
const u8 gBattleInterface_BallDisplayGfx[] = INCBIN_U8("graphics/battle_interface/ball_display.4bpp");
|
||||
|
||||
//Originally an array?
|
||||
const u8 gUnknown_08C1249C[] = INCBIN_U8("graphics/battle_interface/ball_display_unused_extra.4bpp");
|
||||
const u8 gBattleInterfaceGfx_Status2[] = INCBIN_U8("graphics/battle_interface/status2.4bpp"); // these three duplicate sets of graphics are for the opponent pokemon
|
||||
const u8 gBattleInterfaceGfx_Status3[] = INCBIN_U8("graphics/battle_interface/status3.4bpp"); // and are also for use in double battles. they use dynamic palettes so
|
||||
const u8 gBattleInterfaceGfx_Status4[] = INCBIN_U8("graphics/battle_interface/status4.4bpp"); // coloring them is an extreme headache and wont be done for now
|
||||
const u8 gBattleInterfaceGfx_FrameEnd[] = INCBIN_U8("graphics/battle_interface/healthbox_doubles_frameend.4bpp");
|
||||
const u8 gBattleInterfaceGfx_FrameEnd_Bar[] = INCBIN_U8("graphics/battle_interface/healthbox_doubles_frameend_bar.4bpp");
|
||||
"graphics/battle_interface/misc_frameend.4bpp",
|
||||
"graphics/battle_interface/ball_display.4bpp",
|
||||
"graphics/battle_interface/ball_display_unused_extra.4bpp",
|
||||
"graphics/battle_interface/status2.4bpp", // these three duplicate sets of graphics are for the opponent pokemon
|
||||
"graphics/battle_interface/status3.4bpp", // and are also for use in double battles. they use dynamic palettes so
|
||||
"graphics/battle_interface/status4.4bpp", // coloring them is an extreme headache and wont be done for now
|
||||
"graphics/battle_interface/healthbox_doubles_frameend.4bpp",
|
||||
"graphics/battle_interface/healthbox_doubles_frameend_bar.4bpp");
|
||||
const u32 gBattleInterfaceGfx_UnusedWindow3[] = INCBIN_U32("graphics/battle_interface/unused_window3.4bpp.lz");
|
||||
const u32 gBattleInterfaceGfx_UnusedWindow4[] = INCBIN_U32("graphics/battle_interface/unused_window4.4bpp.lz");
|
||||
|
||||
|
||||
+25
-25
@@ -298,21 +298,21 @@ static const union AnimCmd sAnim_WhiteConfettiC[] =
|
||||
|
||||
static const union AnimCmd * const sAnims_Confetti[] =
|
||||
{
|
||||
sAnim_PinkConfettiA,
|
||||
sAnim_RedConfettiA,
|
||||
sAnim_BlueConfettiA,
|
||||
sAnim_PinkConfettiA,
|
||||
sAnim_RedConfettiA,
|
||||
sAnim_BlueConfettiA,
|
||||
sAnim_RedConfettiB,
|
||||
sAnim_BlueConfettiB,
|
||||
sAnim_YellowConfettiA,
|
||||
sAnim_WhiteConfettiA,
|
||||
sAnim_BlueConfettiB,
|
||||
sAnim_YellowConfettiA,
|
||||
sAnim_WhiteConfettiA,
|
||||
sAnim_GreenConfettiA,
|
||||
sAnim_PinkConfettiB,
|
||||
sAnim_BlueConfettiC,
|
||||
sAnim_YellowConfettiB,
|
||||
sAnim_PinkConfettiB,
|
||||
sAnim_BlueConfettiC,
|
||||
sAnim_YellowConfettiB,
|
||||
sAnim_WhiteConfettiB,
|
||||
sAnim_GreenConfettiB,
|
||||
sAnim_PinkConfettiC,
|
||||
sAnim_RedConfettiC,
|
||||
sAnim_GreenConfettiB,
|
||||
sAnim_PinkConfettiC,
|
||||
sAnim_RedConfettiC,
|
||||
sAnim_YellowConfettiC,
|
||||
sAnim_WhiteConfettiC
|
||||
};
|
||||
@@ -334,17 +334,17 @@ static const u32 sHallOfFame_Gfx[] = INCBIN_U32("graphics/misc/japanese_hof.4bpp
|
||||
|
||||
static const struct HallofFameMon sDummyFameMon =
|
||||
{
|
||||
.tid = 0x3EA03EA,
|
||||
.personality = 0,
|
||||
.species = SPECIES_NONE,
|
||||
.lvl = 0,
|
||||
.tid = 0x3EA03EA,
|
||||
.personality = 0,
|
||||
.species = SPECIES_NONE,
|
||||
.lvl = 0,
|
||||
.nick = {0}
|
||||
};
|
||||
|
||||
// Unused, order of party slots on Hall of Fame screen
|
||||
static const u8 sHallOfFame_SlotOrder[] = {
|
||||
2, 1, 3,
|
||||
6, 4, 5,
|
||||
2, 1, 3,
|
||||
6, 4, 5,
|
||||
0, 0
|
||||
};
|
||||
|
||||
@@ -662,7 +662,7 @@ static void Task_Hof_DoConfetti(u8 taskId)
|
||||
if (gTasks[taskId].tFrameCount != 0)
|
||||
{
|
||||
gTasks[taskId].tFrameCount--;
|
||||
|
||||
|
||||
// Create new confetti every 4th frame for the first 290 frames
|
||||
// For the last 110 frames wait for the existing confetti to fall offscreen
|
||||
if ((gTasks[taskId].tFrameCount & 3) == 0 && gTasks[taskId].tFrameCount > 110)
|
||||
@@ -1507,12 +1507,12 @@ static void Task_DoDomeConfetti(u8 taskId)
|
||||
if (tTimer != 0 && tTimer % 3 == 0)
|
||||
{
|
||||
// Create new confetti every 3 frames
|
||||
id = ConfettiUtil_AddNew(&sOamData_Confetti,
|
||||
TAG_CONFETTI,
|
||||
TAG_CONFETTI,
|
||||
Random() % DISPLAY_WIDTH,
|
||||
-(Random() % 8),
|
||||
Random() % ARRAY_COUNT(sAnims_Confetti),
|
||||
id = ConfettiUtil_AddNew(&sOamData_Confetti,
|
||||
TAG_CONFETTI,
|
||||
TAG_CONFETTI,
|
||||
Random() % DISPLAY_WIDTH,
|
||||
-(Random() % 8),
|
||||
Random() % ARRAY_COUNT(sAnims_Confetti),
|
||||
id);
|
||||
if (id != 0xFF)
|
||||
{
|
||||
|
||||
@@ -733,11 +733,11 @@ static u16 QuantizePixel_BlurHard(u16 *prevPixel, u16 *curPixel, u16 *nextPixel)
|
||||
red = GET_R(*curPixel);
|
||||
green = GET_G(*curPixel);
|
||||
blue = GET_B(*curPixel);
|
||||
|
||||
|
||||
prevAvg = (GET_R(*prevPixel) + GET_G(*prevPixel) + GET_B(*prevPixel)) / 3;
|
||||
curAvg = (GET_R(*curPixel) + GET_G(*curPixel) + GET_B(*curPixel)) / 3;
|
||||
nextAvg = (GET_R(*nextPixel) + GET_G(*nextPixel) + GET_B(*nextPixel)) / 3;
|
||||
|
||||
|
||||
if (prevAvg == curAvg && nextAvg == curAvg)
|
||||
return *curPixel;
|
||||
|
||||
@@ -1096,7 +1096,7 @@ static u16 QuantizePixel_PrimaryColors(u16* color)
|
||||
u16 red = GET_R(*color);
|
||||
u16 green = GET_G(*color);
|
||||
u16 blue = GET_B(*color);
|
||||
|
||||
|
||||
if (red < 12 && green < 11 && blue < 11)
|
||||
return 1;
|
||||
|
||||
|
||||
+11
-11
@@ -1421,7 +1421,7 @@ static void Task_Scene2_BikeRide(u8 taskId)
|
||||
gIntroCredits_MovingSceneryState = INTROCRED_SCENERY_FROZEN;
|
||||
DestroyTask(gTasks[taskId].tBgAnimTaskId);
|
||||
}
|
||||
|
||||
|
||||
if (gIntroFrameCounter > TIMER_END_SCENE_2)
|
||||
{
|
||||
// Fade out to next scene
|
||||
@@ -1671,7 +1671,7 @@ static void SpriteCB_Manectric(struct Sprite *sprite)
|
||||
sprite->x -= 2;
|
||||
if (gIntroFrameCounter != TIMER_MANECTRIC_RUN_CIRCULAR)
|
||||
break;
|
||||
|
||||
|
||||
// Initialize circular pattern running
|
||||
sprite->y -= 12;
|
||||
sprite->sSinIdx = 0x80;
|
||||
@@ -2205,7 +2205,7 @@ static void Task_Scene3_Kyogre(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
#undef tScreenX
|
||||
#undef tScreenX
|
||||
#undef tScreenY
|
||||
#undef tZoom
|
||||
#undef tDelay
|
||||
@@ -2219,7 +2219,7 @@ static void Task_Scene3_Kyogre(u8 taskId)
|
||||
#define sUnk data[7] // Never read
|
||||
|
||||
// taskId is used inconsistently for these two functions.
|
||||
// The sprite callback for the bubbles will always read it, unless delay is 0 to
|
||||
// The sprite callback for the bubbles will always read it, unless delay is 0 to
|
||||
// start (it never is), but the first function is often passed 0 instead of a
|
||||
// taskId, and the second function doesn't take/assign a taskId at all.
|
||||
// The only time an actual taskId is given is when it actually needs the
|
||||
@@ -2233,9 +2233,9 @@ static void CreateKyogreBubbleSprites_Body(u8 taskId)
|
||||
|
||||
for (i = 0; i < NUM_BUBBLES_IN_SET; i++)
|
||||
{
|
||||
spriteId = CreateSprite(&sSpriteTemplate_Bubbles,
|
||||
sKyogreBubbleData[i][0],
|
||||
sKyogreBubbleData[i][1],
|
||||
spriteId = CreateSprite(&sSpriteTemplate_Bubbles,
|
||||
sKyogreBubbleData[i][0],
|
||||
sKyogreBubbleData[i][1],
|
||||
i);
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
gSprites[spriteId].sTaskId = taskId;
|
||||
@@ -2252,14 +2252,14 @@ static void CreateKyogreBubbleSprites_Fins(void)
|
||||
|
||||
for (i = 0; i < NUM_BUBBLES_IN_SET; i++)
|
||||
{
|
||||
spriteId = CreateSprite(&sSpriteTemplate_Bubbles,
|
||||
sKyogreBubbleData[i + NUM_BUBBLES_IN_SET][0],
|
||||
sKyogreBubbleData[i + NUM_BUBBLES_IN_SET][1],
|
||||
spriteId = CreateSprite(&sSpriteTemplate_Bubbles,
|
||||
sKyogreBubbleData[i + NUM_BUBBLES_IN_SET][0],
|
||||
sKyogreBubbleData[i + NUM_BUBBLES_IN_SET][1],
|
||||
i);
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
#ifdef BUGFIX
|
||||
gSprites[spriteId].sDelay = sKyogreBubbleData[i + NUM_BUBBLES_IN_SET][2];
|
||||
#else
|
||||
#else
|
||||
gSprites[spriteId].sDelay = sKyogreBubbleData[i][2]; // Using the wrong set of delays here
|
||||
#endif
|
||||
gSprites[spriteId].sUnk = 64;
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
and the credit sequence, where the player bikes along a grassy path.
|
||||
|
||||
These graphics are placed in graphics/intro/scene_2 to keep
|
||||
all of the intro graphics files together, though it includes
|
||||
all of the intro graphics files together, though it includes
|
||||
the related graphics that are used only by the credits.
|
||||
*/
|
||||
|
||||
@@ -1039,7 +1039,7 @@ static void SpriteCB_MovingScenery(struct Sprite *sprite)
|
||||
{
|
||||
s32 x;
|
||||
s16 state = gIntroCredits_MovingSceneryState;
|
||||
|
||||
|
||||
if (state != INTROCRED_SCENERY_FROZEN)
|
||||
{
|
||||
switch (state)
|
||||
|
||||
+18
-18
@@ -76,20 +76,20 @@ enum {
|
||||
|
||||
enum {
|
||||
ACTION_USE,
|
||||
ACTION_TOSS,
|
||||
ACTION_REGISTER,
|
||||
ACTION_GIVE,
|
||||
ACTION_CANCEL,
|
||||
ACTION_TOSS,
|
||||
ACTION_REGISTER,
|
||||
ACTION_GIVE,
|
||||
ACTION_CANCEL,
|
||||
ACTION_BATTLE_USE,
|
||||
ACTION_CHECK,
|
||||
ACTION_WALK,
|
||||
ACTION_DESELECT,
|
||||
ACTION_CHECK_TAG,
|
||||
ACTION_CONFIRM,
|
||||
ACTION_SHOW,
|
||||
ACTION_GIVE_FAVOR_LADY,
|
||||
ACTION_CONFIRM_QUIZ_LADY,
|
||||
ACTION_DUMMY,
|
||||
ACTION_CHECK,
|
||||
ACTION_WALK,
|
||||
ACTION_DESELECT,
|
||||
ACTION_CHECK_TAG,
|
||||
ACTION_CONFIRM,
|
||||
ACTION_SHOW,
|
||||
ACTION_GIVE_FAVOR_LADY,
|
||||
ACTION_CONFIRM_QUIZ_LADY,
|
||||
ACTION_DUMMY,
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -669,7 +669,7 @@ void VBlankCB_BagMenuRun(void)
|
||||
|
||||
static void CB2_Bag(void)
|
||||
{
|
||||
while(MenuHelpers_CallLinkSomething() != TRUE && SetupBagMenu() != TRUE && MenuHelpers_LinkSomething() != TRUE)
|
||||
while(MenuHelpers_CallLinkSomething() != TRUE && SetupBagMenu() != TRUE && MenuHelpers_LinkSomething() != TRUE)
|
||||
{};
|
||||
}
|
||||
|
||||
@@ -1084,7 +1084,7 @@ static void Task_CloseBagMenu(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
DestroyListMenuTask(tListTaskId, &gBagPosition.scrollPosition[gBagPosition.pocket], &gBagPosition.cursorPosition[gBagPosition.pocket]);
|
||||
|
||||
|
||||
// If ready for a new screen (e.g. party menu for giving an item) go to that screen
|
||||
// Otherwise exit the bag and use callback set up when the bag was first opened
|
||||
if (gBagMenu->newScreenCallback != NULL)
|
||||
@@ -1417,11 +1417,11 @@ static void DrawPocketIndicatorSquare(u8 x, bool8 isCurrentPocket)
|
||||
static bool8 CanSwapItems(void)
|
||||
{
|
||||
// Swaps can only be done from the field or in battle (as opposed to while selling items, for example)
|
||||
if (gBagPosition.location == ITEMMENULOCATION_FIELD
|
||||
if (gBagPosition.location == ITEMMENULOCATION_FIELD
|
||||
|| gBagPosition.location == ITEMMENULOCATION_BATTLE)
|
||||
{
|
||||
// TMHMs and berries are numbered, and so may not be swapped
|
||||
if (gBagPosition.pocket != TMHM_POCKET
|
||||
if (gBagPosition.pocket != TMHM_POCKET
|
||||
&& gBagPosition.pocket != BERRIES_POCKET)
|
||||
return TRUE;
|
||||
}
|
||||
@@ -2564,7 +2564,7 @@ static void PrintTMHMMoveData(u16 itemId)
|
||||
{
|
||||
moveId = ItemIdToBattleMoveId(itemId);
|
||||
BlitMenuInfoIcon(WIN_TMHM_INFO, gBattleMoves[moveId].type + 1, 0, 0);
|
||||
|
||||
|
||||
// Print TMHM power
|
||||
if (gBattleMoves[moveId].power <= 1)
|
||||
{
|
||||
|
||||
+1
-1
@@ -509,7 +509,7 @@ static void SetDistanceOfClosestHiddenItem(u8 taskId, s16 itemDistanceX, s16 ite
|
||||
}
|
||||
else
|
||||
{
|
||||
if (oldItemAbsX + oldItemAbsY == newItemAbsX + newItemAbsY
|
||||
if (oldItemAbsX + oldItemAbsY == newItemAbsX + newItemAbsY
|
||||
&& (oldItemAbsY > newItemAbsY || (oldItemAbsY == newItemAbsY && tItemDistanceY < itemDistanceY)))
|
||||
{
|
||||
// If items are equal distance, use whichever is closer on the Y axis or further south
|
||||
|
||||
+1
-1
@@ -161,7 +161,7 @@ u16 rfu_initializeAPI(u32 *APIBuffer, u16 buffByteSize, IntrFunc *sioIntrTable_p
|
||||
gRfuSlotStatusNI[i] = &gRfuSlotStatusNI[i - 1][1];
|
||||
gRfuSlotStatusUNI[i] = &gRfuSlotStatusUNI[i - 1][1];
|
||||
}
|
||||
// remaining space in API buffer is used for `struct RfuIntrStruct`.
|
||||
// remaining space in API buffer is used for `struct RfuIntrStruct`.
|
||||
gRfuFixed->STWIBuffer = (struct RfuIntrStruct *)&gRfuSlotStatusUNI[3][1];
|
||||
STWI_init_all((struct RfuIntrStruct *)&gRfuSlotStatusUNI[3][1], sioIntrTable_p, copyInterruptToRam);
|
||||
rfu_STC_clearAPIVariables();
|
||||
|
||||
+3
-3
@@ -40,7 +40,7 @@ void STWI_init_all(struct RfuIntrStruct *interruptStruct, IntrFunc *interrupt, b
|
||||
gSTWIStatus->error = 0;
|
||||
gSTWIStatus->recoveryCount = 0;
|
||||
gSTWIStatus->sending = 0;
|
||||
REG_RCNT = 0x100; // TODO: mystery bit?
|
||||
REG_RCNT = 0x100; // TODO: mystery bit?
|
||||
REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS;
|
||||
STWI_init_Callback_M();
|
||||
STWI_init_Callback_S();
|
||||
@@ -118,7 +118,7 @@ void STWI_init_Callback_S(void)
|
||||
STWI_set_Callback_S(NULL);
|
||||
}
|
||||
|
||||
// The callback can take 2 or 3 arguments.
|
||||
// The callback can take 2 or 3 arguments.
|
||||
void STWI_set_Callback_M(void *callbackM)
|
||||
{
|
||||
gSTWIStatus->callbackM = callbackM;
|
||||
@@ -594,7 +594,7 @@ static s32 STWI_start_Command(void)
|
||||
{
|
||||
u16 imeTemp;
|
||||
|
||||
// equivalent to gSTWIStatus->txPacket->rfuPacket32.command,
|
||||
// equivalent to gSTWIStatus->txPacket->rfuPacket32.command,
|
||||
// but the cast here is required to avoid register issue
|
||||
*(u32 *)gSTWIStatus->txPacket->rfuPacket8.data = 0x99660000 | (gSTWIStatus->reqLength << 8) | gSTWIStatus->reqActiveCommand;
|
||||
REG_SIODATA32 = gSTWIStatus->txPacket->rfuPacket32.command;
|
||||
|
||||
+102
-144
@@ -65,15 +65,15 @@ void InitLilycoveLady(void)
|
||||
id >>= 1;
|
||||
switch (id)
|
||||
{
|
||||
case LILYCOVE_LADY_QUIZ:
|
||||
InitLilycoveQuizLady();
|
||||
break;
|
||||
case LILYCOVE_LADY_FAVOR:
|
||||
InitLilycoveFavorLady();
|
||||
break;
|
||||
case LILYCOVE_LADY_CONTEST:
|
||||
InitLilycoveContestLady();
|
||||
break;
|
||||
case LILYCOVE_LADY_QUIZ:
|
||||
InitLilycoveQuizLady();
|
||||
break;
|
||||
case LILYCOVE_LADY_FAVOR:
|
||||
InitLilycoveFavorLady();
|
||||
break;
|
||||
case LILYCOVE_LADY_CONTEST:
|
||||
InitLilycoveContestLady();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,15 +81,15 @@ void ResetLilycoveLadyForRecordMix(void)
|
||||
{
|
||||
switch (GetLilycoveLadyId())
|
||||
{
|
||||
case LILYCOVE_LADY_QUIZ:
|
||||
ResetQuizLadyForRecordMix();
|
||||
break;
|
||||
case LILYCOVE_LADY_FAVOR:
|
||||
ResetFavorLadyForRecordMix();
|
||||
break;
|
||||
case LILYCOVE_LADY_CONTEST:
|
||||
ResetContestLadyForRecordMix();
|
||||
break;
|
||||
case LILYCOVE_LADY_QUIZ:
|
||||
ResetQuizLadyForRecordMix();
|
||||
break;
|
||||
case LILYCOVE_LADY_FAVOR:
|
||||
ResetFavorLadyForRecordMix();
|
||||
break;
|
||||
case LILYCOVE_LADY_CONTEST:
|
||||
ResetContestLadyForRecordMix();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,15 +100,15 @@ void InitLilycoveLadyRandomly(void)
|
||||
|
||||
switch (lady)
|
||||
{
|
||||
case LILYCOVE_LADY_QUIZ:
|
||||
InitLilycoveQuizLady();
|
||||
break;
|
||||
case LILYCOVE_LADY_FAVOR:
|
||||
InitLilycoveFavorLady();
|
||||
break;
|
||||
case LILYCOVE_LADY_CONTEST:
|
||||
InitLilycoveContestLady();
|
||||
break;
|
||||
case LILYCOVE_LADY_QUIZ:
|
||||
InitLilycoveQuizLady();
|
||||
break;
|
||||
case LILYCOVE_LADY_FAVOR:
|
||||
InitLilycoveFavorLady();
|
||||
break;
|
||||
case LILYCOVE_LADY_CONTEST:
|
||||
InitLilycoveContestLady();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,10 +119,10 @@ void Script_GetLilycoveLadyId(void)
|
||||
|
||||
static u8 GetNumAcceptedItems(const u16 *itemsArray)
|
||||
{
|
||||
u8 items;
|
||||
u8 numItems;
|
||||
|
||||
for (items = 0; *itemsArray != ITEM_NONE; items ++, itemsArray ++);
|
||||
return items;
|
||||
for (numItems = 0; *itemsArray != ITEM_NONE; numItems++, itemsArray++);
|
||||
return numItems;
|
||||
}
|
||||
|
||||
static void FavorLadyPickFavorAndBestItem(void)
|
||||
@@ -160,17 +160,11 @@ u8 GetFavorLadyState(void)
|
||||
{
|
||||
sFavorLadyPtr = &gSaveBlock1Ptr->lilycoveLady.favor;
|
||||
if (sFavorLadyPtr->state == LILYCOVE_LADY_STATE_PRIZE)
|
||||
{
|
||||
return LILYCOVE_LADY_STATE_PRIZE;
|
||||
}
|
||||
else if (sFavorLadyPtr->state == LILYCOVE_LADY_STATE_COMPLETED)
|
||||
{
|
||||
return LILYCOVE_LADY_STATE_COMPLETED;
|
||||
}
|
||||
else
|
||||
{
|
||||
return LILYCOVE_LADY_STATE_READY;
|
||||
}
|
||||
}
|
||||
|
||||
static const u8 *GetFavorLadyRequest(u8 idx)
|
||||
@@ -209,7 +203,7 @@ void BufferFavorLadyItemName(void)
|
||||
|
||||
static void SetFavorLadyPlayerName(const u8 *src, u8 *dest)
|
||||
{
|
||||
memset(dest, 0xFF, 8);
|
||||
memset(dest, EOS, PLAYER_NAME_LENGTH + 1);
|
||||
StringCopy7(dest, src);
|
||||
}
|
||||
|
||||
@@ -254,9 +248,7 @@ static bool8 DoesFavorLadyLikeItem(u16 itemId)
|
||||
sFavorLadyPtr->numItemsGiven++;
|
||||
sFavorLadyPtr->likedItem = TRUE;
|
||||
if (sFavorLadyPtr->bestItem == itemId)
|
||||
{
|
||||
sFavorLadyPtr->numItemsGiven = LILYCOVE_LADY_GIFT_THRESHOLD;
|
||||
}
|
||||
break;
|
||||
}
|
||||
sFavorLadyPtr->likedItem = FALSE;
|
||||
@@ -312,9 +304,7 @@ static void QuizLadyPickQuestion(void)
|
||||
|
||||
questionId = Random() % ARRAY_COUNT(sQuizLadyQuizQuestions);
|
||||
for (i = 0; i < QUIZ_QUESTION_LEN; i ++)
|
||||
{
|
||||
sQuizLadyPtr->question[i] = sQuizLadyQuizQuestions[questionId][i];
|
||||
}
|
||||
sQuizLadyPtr->correctAnswer = sQuizLadyQuizAnswers[questionId];
|
||||
sQuizLadyPtr->prize = sQuizLadyPrizes[questionId];
|
||||
sQuizLadyPtr->questionId = questionId;
|
||||
@@ -328,16 +318,16 @@ static void InitLilycoveQuizLady(void)
|
||||
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
|
||||
sQuizLadyPtr->id = LILYCOVE_LADY_QUIZ;
|
||||
sQuizLadyPtr->state = LILYCOVE_LADY_STATE_READY;
|
||||
|
||||
for (i = 0; i < QUIZ_QUESTION_LEN; i ++)
|
||||
{
|
||||
sQuizLadyPtr->question[i] = -1;
|
||||
}
|
||||
sQuizLadyPtr->correctAnswer = -1;
|
||||
sQuizLadyPtr->playerAnswer = -1;
|
||||
sQuizLadyPtr->question[i] = EC_EMPTY_WORD;
|
||||
|
||||
sQuizLadyPtr->correctAnswer = EC_EMPTY_WORD;
|
||||
sQuizLadyPtr->playerAnswer = EC_EMPTY_WORD;
|
||||
|
||||
for (i = 0; i < TRAINER_ID_LENGTH; i ++)
|
||||
{
|
||||
sQuizLadyPtr->playerTrainerId[i] = 0;
|
||||
}
|
||||
|
||||
sQuizLadyPtr->prize = ITEM_NONE;
|
||||
sQuizLadyPtr->waitingForChallenger = FALSE;
|
||||
sQuizLadyPtr->prevQuestionId = ARRAY_COUNT(sQuizLadyQuizQuestions);
|
||||
@@ -351,48 +341,37 @@ static void ResetQuizLadyForRecordMix(void)
|
||||
sQuizLadyPtr->id = LILYCOVE_LADY_QUIZ;
|
||||
sQuizLadyPtr->state = LILYCOVE_LADY_STATE_READY;
|
||||
sQuizLadyPtr->waitingForChallenger = FALSE;
|
||||
sQuizLadyPtr->playerAnswer = -1;
|
||||
sQuizLadyPtr->playerAnswer = EC_EMPTY_WORD;
|
||||
}
|
||||
|
||||
u8 GetQuizLadyState(void)
|
||||
{
|
||||
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
|
||||
if (sQuizLadyPtr->state == LILYCOVE_LADY_STATE_PRIZE)
|
||||
{
|
||||
return LILYCOVE_LADY_STATE_PRIZE;
|
||||
}
|
||||
else if (sQuizLadyPtr->state == LILYCOVE_LADY_STATE_COMPLETED)
|
||||
{
|
||||
return LILYCOVE_LADY_STATE_COMPLETED;
|
||||
}
|
||||
else
|
||||
{
|
||||
return LILYCOVE_LADY_STATE_READY;
|
||||
}
|
||||
}
|
||||
|
||||
u8 GetQuizAuthor(void)
|
||||
{
|
||||
int i;
|
||||
int j;
|
||||
s32 i, j;
|
||||
u8 authorNameId;
|
||||
struct LilycoveLadyQuiz *quiz;
|
||||
struct LilycoveLadyQuiz *quiz = &gSaveBlock1Ptr->lilycoveLady.quiz;
|
||||
|
||||
quiz = &gSaveBlock1Ptr->lilycoveLady.quiz;
|
||||
if (IsEasyChatAnswerUnlocked(quiz->correctAnswer) == FALSE)
|
||||
{
|
||||
i = quiz->questionId;
|
||||
do
|
||||
{
|
||||
if (++ i >= (int)(ARRAY_COUNT(sQuizLadyQuizQuestions)))
|
||||
{
|
||||
if (++i >= (int)ARRAY_COUNT(sQuizLadyQuizQuestions))
|
||||
i = 0;
|
||||
}
|
||||
} while (IsEasyChatAnswerUnlocked(sQuizLadyQuizAnswers[i]) == FALSE);
|
||||
for (j = 0; j < QUIZ_QUESTION_LEN; j ++)
|
||||
{
|
||||
|
||||
for (j = 0; j < QUIZ_QUESTION_LEN; j++)
|
||||
quiz->question[j] = sQuizLadyQuizQuestions[i][j];
|
||||
}
|
||||
quiz->correctAnswer = sQuizLadyQuizAnswers[i];
|
||||
quiz->prize = sQuizLadyPrizes[i];
|
||||
quiz->questionId = i;
|
||||
@@ -400,17 +379,11 @@ u8 GetQuizAuthor(void)
|
||||
}
|
||||
authorNameId = BufferQuizAuthorName();
|
||||
if (authorNameId == QUIZ_AUTHOR_NAME_LADY)
|
||||
{
|
||||
return QUIZ_AUTHOR_LADY;
|
||||
}
|
||||
else if (authorNameId == QUIZ_AUTHOR_NAME_OTHER_PLAYER || IsQuizTrainerIdNotPlayer())
|
||||
{
|
||||
return QUIZ_AUTHOR_OTHER_PLAYER;
|
||||
}
|
||||
else
|
||||
{
|
||||
return QUIZ_AUTHOR_PLAYER;
|
||||
}
|
||||
}
|
||||
|
||||
static u8 BufferQuizAuthorName(void)
|
||||
@@ -434,7 +407,7 @@ static u8 BufferQuizAuthorName(void)
|
||||
if (nameLen == GetPlayerNameLength(gSaveBlock2Ptr->playerName))
|
||||
{
|
||||
u8 *name = sQuizLadyPtr->playerName;
|
||||
for (i = 0; i < nameLen; i ++)
|
||||
for (i = 0; i < nameLen; i++)
|
||||
{
|
||||
name = sQuizLadyPtr->playerName;
|
||||
if (name[i] != gSaveBlock2Ptr->playerName[i])
|
||||
@@ -456,7 +429,7 @@ static bool8 IsQuizTrainerIdNotPlayer(void)
|
||||
|
||||
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
|
||||
notPlayer = FALSE;
|
||||
for (i = 0; i < TRAINER_ID_LENGTH; i ++)
|
||||
for (i = 0; i < TRAINER_ID_LENGTH; i++)
|
||||
{
|
||||
if (sQuizLadyPtr->playerTrainerId[i] != gSaveBlock2Ptr->playerTrainerId[i])
|
||||
{
|
||||
@@ -472,7 +445,7 @@ static u8 GetPlayerNameLength(const u8 *playerName)
|
||||
u8 len;
|
||||
const u8 *ptr;
|
||||
|
||||
for (len = 0, ptr = playerName; *ptr != EOS; len ++, ptr ++);
|
||||
for (len = 0, ptr = playerName; *ptr != EOS; len++, ptr++);
|
||||
return len;
|
||||
}
|
||||
|
||||
@@ -517,7 +490,7 @@ void BufferQuizPrizeItem(void)
|
||||
gSpecialVar_0x8005 = sQuizLadyPtr->prize;
|
||||
}
|
||||
|
||||
void SetQuizLadyState_Complete(void)
|
||||
void SetQuizLadyState_Complete(void)
|
||||
{
|
||||
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
|
||||
sQuizLadyPtr->state = LILYCOVE_LADY_STATE_COMPLETED;
|
||||
@@ -532,7 +505,7 @@ void SetQuizLadyState_GivePrize(void)
|
||||
void ClearQuizLadyPlayerAnswer(void)
|
||||
{
|
||||
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
|
||||
sQuizLadyPtr->playerAnswer = -1;
|
||||
sQuizLadyPtr->playerAnswer = EC_EMPTY_WORD;
|
||||
}
|
||||
|
||||
void Script_QuizLadyOpenBagMenu(void)
|
||||
@@ -544,13 +517,9 @@ void QuizLadyPickNewQuestion(void)
|
||||
{
|
||||
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
|
||||
if (BufferQuizAuthorNameAndCheckIfLady())
|
||||
{
|
||||
sQuizLadyPtr->prevQuestionId = sQuizLadyPtr->questionId;
|
||||
}
|
||||
else
|
||||
{
|
||||
sQuizLadyPtr->prevQuestionId = ARRAY_COUNT(sQuizLadyQuizQuestions);
|
||||
}
|
||||
QuizLadyPickQuestion();
|
||||
}
|
||||
|
||||
@@ -559,11 +528,9 @@ void ClearQuizLadyQuestionAndAnswer(void)
|
||||
u8 i;
|
||||
|
||||
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
|
||||
for (i = 0; i < QUIZ_QUESTION_LEN; i ++)
|
||||
{
|
||||
sQuizLadyPtr->question[i] = -1;
|
||||
}
|
||||
sQuizLadyPtr->correctAnswer = -1;
|
||||
for (i = 0; i < QUIZ_QUESTION_LEN; i++)
|
||||
sQuizLadyPtr->question[i] = EC_EMPTY_WORD;
|
||||
sQuizLadyPtr->correctAnswer = EC_EMPTY_WORD;
|
||||
}
|
||||
|
||||
void QuizLadySetCustomQuestion(void)
|
||||
@@ -583,10 +550,8 @@ void QuizLadyRecordCustomQuizData(void)
|
||||
|
||||
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
|
||||
sQuizLadyPtr->prize = gSpecialVar_ItemId;
|
||||
for (i = 0; i < TRAINER_ID_LENGTH; i ++)
|
||||
{
|
||||
for (i = 0; i < TRAINER_ID_LENGTH; i++)
|
||||
sQuizLadyPtr->playerTrainerId[i] = gSaveBlock2Ptr->playerTrainerId[i];
|
||||
}
|
||||
StringCopy7(sQuizLadyPtr->playerName, gSaveBlock2Ptr->playerName);
|
||||
sQuizLadyPtr->language = gGameLanguage;
|
||||
}
|
||||
@@ -614,21 +579,18 @@ void QuizLadyClearQuestionForRecordMix(const LilycoveLady *lilycoveLady)
|
||||
u8 i;
|
||||
|
||||
sQuizLadyPtr = &gSaveBlock1Ptr->lilycoveLady.quiz;
|
||||
if (lilycoveLady->quiz.prevQuestionId < ARRAY_COUNT(sQuizLadyQuizQuestions)
|
||||
if (lilycoveLady->quiz.prevQuestionId < ARRAY_COUNT(sQuizLadyQuizQuestions)
|
||||
&& sQuizLadyPtr->id == LILYCOVE_LADY_QUIZ)
|
||||
{
|
||||
for (i = 0; i < 4; i ++)
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
if (lilycoveLady->quiz.prevQuestionId != sQuizLadyPtr->questionId)
|
||||
{
|
||||
break;
|
||||
}
|
||||
sQuizLadyPtr->questionId = Random() % ARRAY_COUNT(sQuizLadyQuizQuestions);
|
||||
}
|
||||
if (lilycoveLady->quiz.prevQuestionId == sQuizLadyPtr->questionId)
|
||||
{
|
||||
sQuizLadyPtr->questionId = (sQuizLadyPtr->questionId + 1) % (int)(ARRAY_COUNT(sQuizLadyQuizQuestions));
|
||||
}
|
||||
sQuizLadyPtr->questionId = (sQuizLadyPtr->questionId + 1) % (int)ARRAY_COUNT(sQuizLadyQuizQuestions);
|
||||
|
||||
sQuizLadyPtr->prevQuestionId = lilycoveLady->quiz.prevQuestionId;
|
||||
}
|
||||
}
|
||||
@@ -656,11 +618,10 @@ static void ResetContestLadyForRecordMix(void)
|
||||
sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest;
|
||||
sContestLadyPtr->id = LILYCOVE_LADY_CONTEST;
|
||||
sContestLadyPtr->givenPokeblock = FALSE;
|
||||
if (sContestLadyPtr->numGoodPokeblocksGiven == LILYCOVE_LADY_GIFT_THRESHOLD
|
||||
|
||||
if (sContestLadyPtr->numGoodPokeblocksGiven == LILYCOVE_LADY_GIFT_THRESHOLD
|
||||
|| sContestLadyPtr->numOtherPokeblocksGiven == LILYCOVE_LADY_GIFT_THRESHOLD)
|
||||
{
|
||||
ResetContestLadyContestData();
|
||||
}
|
||||
}
|
||||
|
||||
static void ContestLadySavePlayerNameIfHighSheen(u8 sheen)
|
||||
@@ -683,41 +644,41 @@ bool8 GivePokeblockToContestLady(struct Pokeblock *pokeblock)
|
||||
sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest;
|
||||
switch (sContestLadyPtr->category)
|
||||
{
|
||||
case CONTEST_CATEGORY_COOL:
|
||||
if (pokeblock->spicy != 0)
|
||||
{
|
||||
sheen = pokeblock->spicy;
|
||||
correctFlavor = TRUE;
|
||||
}
|
||||
break;
|
||||
case CONTEST_CATEGORY_BEAUTY:
|
||||
if (pokeblock->dry != 0)
|
||||
{
|
||||
sheen = pokeblock->dry;
|
||||
correctFlavor = TRUE;
|
||||
}
|
||||
break;
|
||||
case CONTEST_CATEGORY_CUTE:
|
||||
if (pokeblock->sweet != 0)
|
||||
{
|
||||
sheen = pokeblock->sweet;
|
||||
correctFlavor = TRUE;
|
||||
}
|
||||
break;
|
||||
case CONTEST_CATEGORY_SMART:
|
||||
if (pokeblock->bitter != 0)
|
||||
{
|
||||
sheen = pokeblock->bitter;
|
||||
correctFlavor = TRUE;
|
||||
}
|
||||
break;
|
||||
case CONTEST_CATEGORY_TOUGH:
|
||||
if (pokeblock->sour != 0)
|
||||
{
|
||||
sheen = pokeblock->sour;
|
||||
correctFlavor = TRUE;
|
||||
}
|
||||
break;
|
||||
case CONTEST_CATEGORY_COOL:
|
||||
if (pokeblock->spicy != 0)
|
||||
{
|
||||
sheen = pokeblock->spicy;
|
||||
correctFlavor = TRUE;
|
||||
}
|
||||
break;
|
||||
case CONTEST_CATEGORY_BEAUTY:
|
||||
if (pokeblock->dry != 0)
|
||||
{
|
||||
sheen = pokeblock->dry;
|
||||
correctFlavor = TRUE;
|
||||
}
|
||||
break;
|
||||
case CONTEST_CATEGORY_CUTE:
|
||||
if (pokeblock->sweet != 0)
|
||||
{
|
||||
sheen = pokeblock->sweet;
|
||||
correctFlavor = TRUE;
|
||||
}
|
||||
break;
|
||||
case CONTEST_CATEGORY_SMART:
|
||||
if (pokeblock->bitter != 0)
|
||||
{
|
||||
sheen = pokeblock->bitter;
|
||||
correctFlavor = TRUE;
|
||||
}
|
||||
break;
|
||||
case CONTEST_CATEGORY_TOUGH:
|
||||
if (pokeblock->sour != 0)
|
||||
{
|
||||
sheen = pokeblock->sour;
|
||||
correctFlavor = TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (correctFlavor == TRUE)
|
||||
{
|
||||
@@ -731,18 +692,18 @@ bool8 GivePokeblockToContestLady(struct Pokeblock *pokeblock)
|
||||
return correctFlavor;
|
||||
}
|
||||
|
||||
static void BufferContestLadyCategoryAndMonName(u8 *dest1, u8 *dest2)
|
||||
static void BufferContestLadyCategoryAndMonName(u8 *category, u8 *nickname)
|
||||
{
|
||||
sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest;
|
||||
StringCopy(dest1, sContestLadyCategoryNames[sContestLadyPtr->category]);
|
||||
StringCopy10(dest2, sContestLadyMonNames[sContestLadyPtr->category]);
|
||||
StringCopy(category, sContestLadyCategoryNames[sContestLadyPtr->category]);
|
||||
StringCopy10(nickname, sContestLadyMonNames[sContestLadyPtr->category]);
|
||||
}
|
||||
|
||||
void BufferContestLadyMonName(u8 *dest1, u8 *dest2)
|
||||
void BufferContestLadyMonName(u8 *category, u8 *nickname)
|
||||
{
|
||||
sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest;
|
||||
*dest1 = sContestLadyPtr->category;
|
||||
StringCopy(dest2, sContestLadyMonNames[sContestLadyPtr->category]);
|
||||
*category = sContestLadyPtr->category;
|
||||
StringCopy(nickname, sContestLadyMonNames[sContestLadyPtr->category]);
|
||||
}
|
||||
|
||||
void BufferContestLadyPlayerName(u8 *dest)
|
||||
@@ -779,9 +740,7 @@ bool8 HasPlayerGivenContestLadyPokeblock(void)
|
||||
{
|
||||
sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest;
|
||||
if (sContestLadyPtr->givenPokeblock == TRUE)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -790,11 +749,10 @@ bool8 ShouldContestLadyShowGoOnAir(void)
|
||||
bool8 putOnAir = FALSE;
|
||||
|
||||
sContestLadyPtr = &gSaveBlock1Ptr->lilycoveLady.contest;
|
||||
if (sContestLadyPtr->numGoodPokeblocksGiven >= LILYCOVE_LADY_GIFT_THRESHOLD
|
||||
if (sContestLadyPtr->numGoodPokeblocksGiven >= LILYCOVE_LADY_GIFT_THRESHOLD
|
||||
|| sContestLadyPtr->numOtherPokeblocksGiven >= LILYCOVE_LADY_GIFT_THRESHOLD)
|
||||
{
|
||||
putOnAir = TRUE;
|
||||
}
|
||||
|
||||
return putOnAir;
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -764,7 +764,7 @@ static int AreAnyLinkPlayersUsingVersions(u32 version1, u32 version2)
|
||||
nPlayers = GetLinkPlayerCount();
|
||||
for (i = 0; i < nPlayers; i++)
|
||||
{
|
||||
if ((gLinkPlayers[i].version & 0xFF) == version1
|
||||
if ((gLinkPlayers[i].version & 0xFF) == version1
|
||||
|| (gLinkPlayers[i].version & 0xFF) == version2)
|
||||
return 1;
|
||||
}
|
||||
@@ -873,7 +873,7 @@ u8 GetLinkPlayerDataExchangeStatusTimed(int minPlayers, int maxPlayers)
|
||||
sPlayerDataExchangeStatus = EXCHANGE_DIFF_SELECTIONS;
|
||||
linkType1 = gLinkPlayers[GetMultiplayerId()].linkType;
|
||||
linkType2 = gLinkPlayers[GetMultiplayerId() ^ 1].linkType;
|
||||
if ((linkType1 == LINKTYPE_BATTLE_TOWER_50 && linkType2 == LINKTYPE_BATTLE_TOWER_OPEN)
|
||||
if ((linkType1 == LINKTYPE_BATTLE_TOWER_50 && linkType2 == LINKTYPE_BATTLE_TOWER_OPEN)
|
||||
|| (linkType1 == LINKTYPE_BATTLE_TOWER_OPEN && linkType2 == LINKTYPE_BATTLE_TOWER_50))
|
||||
{
|
||||
// 3 below indicates partner made different level mode selection
|
||||
@@ -1350,7 +1350,7 @@ void CheckLinkPlayersMatchSaved(void)
|
||||
|
||||
for (i = 0; i < gSavedLinkPlayerCount; i++)
|
||||
{
|
||||
if (sSavedLinkPlayers[i].trainerId != gLinkPlayers[i].trainerId
|
||||
if (sSavedLinkPlayers[i].trainerId != gLinkPlayers[i].trainerId
|
||||
|| StringCompare(sSavedLinkPlayers[i].name, gLinkPlayers[i].name) != 0)
|
||||
{
|
||||
gLinkErrorOccurred = TRUE;
|
||||
@@ -1777,7 +1777,7 @@ void LinkPlayerFromBlock(u32 who)
|
||||
*player = block->linkPlayer;
|
||||
ConvertLinkPlayerName(player);
|
||||
|
||||
if (strcmp(block->magic1, sASCIIGameFreakInc) != 0
|
||||
if (strcmp(block->magic1, sASCIIGameFreakInc) != 0
|
||||
|| strcmp(block->magic2, sASCIIGameFreakInc) != 0)
|
||||
SetMainCallback2(CB2_LinkError);
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user