mirror of
https://github.com/rh-hideout/pokeemerald-expansion.git
synced 2026-03-21 09:55:42 -05:00
Merge remote-tracking branch 'pret/master' into pret-merge
Conflicts: data/battle_anim_scripts.s src/battle_anim_water.c src/event_object_movement.c src/field_player_avatar.c
This commit is contained in:
commit
4dba49657a
|
|
@ -648,3 +648,7 @@
|
|||
.macro shake_battle_platforms priority=2, x_offset:req, y_offset:req, shakes:req, delay:req
|
||||
createvisualtask AnimTask_ShakeBattlePlatforms, \priority, \x_offset, \y_offset, \shakes, \delay
|
||||
.endm
|
||||
|
||||
.macro create_surf_wave priority=2, palette:req
|
||||
createvisualtask AnimTask_CreateSurfWave, \priority, \palette
|
||||
.endm
|
||||
|
|
|
|||
|
|
@ -4296,7 +4296,7 @@ FlameBurstSpread:
|
|||
|
||||
gBattleAnimMove_SludgeWave::
|
||||
panse SE_M_WHIRLPOOL, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x2, 0x0
|
||||
createvisualtask AnimTask_CreateSurfWave, 2, ANIM_SURF_PAL_SLUDGE_WAVE
|
||||
create_surf_wave palette=ANIM_SURF_PAL_SLUDGE_WAVE
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
|
|
@ -12770,7 +12770,7 @@ gBattleAnimMove_ZippyZap::
|
|||
|
||||
gBattleAnimMove_SplishySplash::
|
||||
loadspritegfx ANIM_TAG_SPARK_2
|
||||
createvisualtask AnimTask_CreateSurfWave, 2, ANIM_SURF_PAL_SURF
|
||||
create_surf_wave palette=ANIM_SURF_PAL_SURF
|
||||
delay 24
|
||||
panse SE_M_SURF, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
|
||||
waitforvisualfinish
|
||||
|
|
@ -26924,7 +26924,7 @@ gBattleAnimMove_Crabhammer::
|
|||
end
|
||||
|
||||
gBattleAnimMove_Surf::
|
||||
createvisualtask AnimTask_CreateSurfWave, 2, ANIM_SURF_PAL_SURF
|
||||
create_surf_wave palette=ANIM_SURF_PAL_SURF
|
||||
delay 24
|
||||
panse SE_M_SURF, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
|
||||
waitforvisualfinish
|
||||
|
|
@ -29226,7 +29226,7 @@ ArmThrustLeft:
|
|||
|
||||
gBattleAnimMove_MuddyWater::
|
||||
panse SE_M_WHIRLPOOL, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
|
||||
createvisualtask AnimTask_CreateSurfWave, 2, ANIM_SURF_PAL_MUDDY_WATER
|
||||
create_surf_wave palette=ANIM_SURF_PAL_MUDDY_WATER
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
|
|
@ -32423,7 +32423,7 @@ FinishAcidDownpour:
|
|||
createsprite gAcidDownpourReversalSpriteTemplate, ANIM_ATTACKER, 2, 0x1a, 0xd2
|
||||
delay 32
|
||||
panse SE_M_WHIRLPOOL, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x2, 0x0
|
||||
createvisualtask AnimTask_CreateSurfWave, 0x2, ANIM_SURF_PAL_SLUDGE_WAVE
|
||||
create_surf_wave priority=0x2, palette=ANIM_SURF_PAL_SLUDGE_WAVE
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 2, 0, 7, (RGB(28, 3, 22) | RGB_ALPHA)
|
||||
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 50, 1
|
||||
call AcidDownpourFlare
|
||||
|
|
@ -33318,7 +33318,7 @@ gBattleAnimMove_HydroVortex::
|
|||
loadspritegfx ANIM_TAG_WATER_ORB @whirlpool
|
||||
createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_CreateSurfWave, 0x2, 0x0
|
||||
create_surf_wave priority=0x2, palette=0x0
|
||||
delay 24
|
||||
panse SE_M_SURF, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x2, 0x0
|
||||
waitforvisualfinish
|
||||
|
|
|
|||
|
|
@ -678,6 +678,10 @@ enum SpeciesGfxChange
|
|||
SPECIES_GFX_CHANGE_ILLUSION_OFF,
|
||||
};
|
||||
|
||||
// Surf wave palettes
|
||||
#define ANIM_SURF_PAL_SURF 0
|
||||
#define ANIM_SURF_PAL_MUDDY_WATER 1
|
||||
|
||||
// Flags given to various functions to indicate which palettes to consider.
|
||||
// Handled by UnpackSelectedBattlePalettes
|
||||
#define F_PAL_BG (1 << 0)
|
||||
|
|
|
|||
|
|
@ -11,6 +11,15 @@
|
|||
#define MAPGRID_COLLISION_SHIFT 10
|
||||
#define MAPGRID_ELEVATION_SHIFT 12
|
||||
|
||||
enum
|
||||
{
|
||||
ELEVATION_TRANSITION = 0,
|
||||
ELEVATION_SURF = 1,
|
||||
ELEVATION_DEFAULT = 3,
|
||||
ELEVATION_MULTI_LEVEL = 15,
|
||||
ELEVATION_INVALID = 0xFFFF
|
||||
};
|
||||
|
||||
#define PACK_METATILE(metatileId) PACK(metatileId, MAPGRID_METATILE_ID_SHIFT, MAPGRID_METATILE_ID_MASK)
|
||||
#define PACK_COLLISION(collision) PACK(collision, MAPGRID_COLLISION_SHIFT, MAPGRID_COLLISION_MASK)
|
||||
#define PACK_ELEVATION(elevation) PACK(elevation, MAPGRID_ELEVATION_SHIFT, MAPGRID_ELEVATION_MASK)
|
||||
|
|
|
|||
|
|
@ -124,6 +124,9 @@ SECTIONS {
|
|||
.debug_loc 0 : { *(.debug_loc) }
|
||||
.debug_macinfo 0 : { *(.debug_macinfo) }
|
||||
|
||||
/* DWARF 5*/
|
||||
.debug_line_str 0 : { *(.debug_line_str) }
|
||||
|
||||
/* Discard everything not specifically mentioned above. */
|
||||
/DISCARD/ :
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include "global.h"
|
||||
#include "battle.h"
|
||||
#include "battle_anim.h"
|
||||
#include "battle_anim_internal.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "graphics.h"
|
||||
#include "palette.h"
|
||||
|
|
@ -1023,6 +1024,8 @@ static void AnimSmallBubblePair_Step(struct Sprite *sprite)
|
|||
|
||||
void AnimTask_CreateSurfWave(u8 taskId)
|
||||
{
|
||||
CMD_ARGS(palette);
|
||||
|
||||
struct BattleAnimBgData animBg;
|
||||
u8 taskId2;
|
||||
u16 *x;
|
||||
|
|
@ -1049,7 +1052,7 @@ void AnimTask_CreateSurfWave(u8 taskId)
|
|||
AnimLoadCompressedBgTilemapHandleContest(&animBg, gBattleAnimBgTilemap_SurfContest, TRUE);
|
||||
}
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBgImage_Surf, animBg.tilesOffset);
|
||||
switch (gBattleAnimArgs[0])
|
||||
switch (cmd->palette)
|
||||
{
|
||||
case ANIM_SURF_PAL_SURF:
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -1197,7 +1197,7 @@ static void WarpToInitialPosition(u8 taskId)
|
|||
|
||||
static u16 GetDecorationElevation(u8 decoration, u8 tileIndex)
|
||||
{
|
||||
u16 elevation = -1;
|
||||
u16 elevation = ELEVATION_INVALID;
|
||||
switch (decoration)
|
||||
{
|
||||
case DECOR_STAND:
|
||||
|
|
@ -1240,7 +1240,7 @@ static void ShowDecorationOnMap_(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight,
|
|||
overlapsWall = 0;
|
||||
|
||||
elevation = GetDecorationElevation(gDecorations[decoration].id, j * decWidth + i);
|
||||
if (elevation != 0xFFFF)
|
||||
if (elevation != ELEVATION_INVALID)
|
||||
MapGridSetMetatileEntryAt(x, y, (gDecorations[decoration].tiles[j * decWidth + i] + (NUM_TILES_IN_PRIMARY | overlapsWall)) | impassableFlag | elevation);
|
||||
else
|
||||
MapGridSetMetatileIdAt(x, y, (gDecorations[decoration].tiles[j * decWidth + i] + (NUM_TILES_IN_PRIMARY | overlapsWall)) | impassableFlag);
|
||||
|
|
|
|||
|
|
@ -3368,7 +3368,7 @@ u8 GetObjectEventIdByPosition(u16 x, u16 y, u8 elevation)
|
|||
|
||||
static bool8 ObjectEventDoesElevationMatch(struct ObjectEvent *objectEvent, u8 elevation)
|
||||
{
|
||||
if (objectEvent->currentElevation != 0 && elevation != 0 && objectEvent->currentElevation != elevation)
|
||||
if (objectEvent->currentElevation != ELEVATION_TRANSITION && elevation != ELEVATION_TRANSITION && objectEvent->currentElevation != elevation)
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
|
|
@ -9807,12 +9807,12 @@ bool8 IsElevationMismatchAt(u8 elevation, s16 x, s16 y)
|
|||
{
|
||||
u8 mapElevation;
|
||||
|
||||
if (elevation == 0)
|
||||
if (elevation == ELEVATION_TRANSITION)
|
||||
return FALSE;
|
||||
|
||||
mapElevation = MapGridGetElevationAt(x, y);
|
||||
|
||||
if (mapElevation == 0 || mapElevation == 15)
|
||||
if (mapElevation == ELEVATION_TRANSITION || mapElevation == ELEVATION_MULTI_LEVEL)
|
||||
return FALSE;
|
||||
|
||||
if (mapElevation != elevation)
|
||||
|
|
@ -9871,7 +9871,7 @@ void ObjectEventUpdateElevation(struct ObjectEvent *objEvent, struct Sprite *spr
|
|||
u8 curElevation = MapGridGetElevationAt(objEvent->currentCoords.x, objEvent->currentCoords.y);
|
||||
u8 prevElevation = MapGridGetElevationAt(objEvent->previousCoords.x, objEvent->previousCoords.y);
|
||||
|
||||
if (curElevation == 15 || prevElevation == 15)
|
||||
if (curElevation == ELEVATION_MULTI_LEVEL || prevElevation == ELEVATION_MULTI_LEVEL)
|
||||
{
|
||||
// Ignore subsprite priorities under bridges
|
||||
// so all subsprites will display below it
|
||||
|
|
@ -9882,7 +9882,7 @@ void ObjectEventUpdateElevation(struct ObjectEvent *objEvent, struct Sprite *spr
|
|||
|
||||
objEvent->currentElevation = curElevation;
|
||||
|
||||
if (curElevation != 0 && curElevation != 15)
|
||||
if (curElevation != ELEVATION_TRANSITION && curElevation != ELEVATION_MULTI_LEVEL)
|
||||
objEvent->previousElevation = curElevation;
|
||||
}
|
||||
|
||||
|
|
@ -9910,7 +9910,7 @@ static void ObjectEventUpdateSubpriority(struct ObjectEvent *objEvent, struct Sp
|
|||
|
||||
static bool8 AreElevationsCompatible(u8 a, u8 b)
|
||||
{
|
||||
if (a == 0 || b == 0)
|
||||
if (a == ELEVATION_TRANSITION || b == ELEVATION_TRANSITION)
|
||||
return TRUE;
|
||||
|
||||
if (a != b)
|
||||
|
|
|
|||
|
|
@ -267,10 +267,10 @@ static void GetInFrontOfPlayerPosition(struct MapPosition *position)
|
|||
|
||||
GetXYCoordsOneStepInFrontOfPlayer(&position->x, &position->y);
|
||||
PlayerGetDestCoords(&x, &y);
|
||||
if (MapGridGetElevationAt(x, y) != 0)
|
||||
if (MapGridGetElevationAt(x, y) != ELEVATION_TRANSITION)
|
||||
position->elevation = PlayerGetElevation();
|
||||
else
|
||||
position->elevation = 0;
|
||||
position->elevation = ELEVATION_TRANSITION;
|
||||
}
|
||||
|
||||
static u16 GetPlayerCurMetatileBehavior(int runningState)
|
||||
|
|
@ -1041,7 +1041,7 @@ static s8 GetWarpEventAtPosition(struct MapHeader *mapHeader, u16 x, u16 y, u8 e
|
|||
{
|
||||
if ((u16)warpEvent->x == x && (u16)warpEvent->y == y)
|
||||
{
|
||||
if (warpEvent->elevation == elevation || warpEvent->elevation == 0)
|
||||
if (warpEvent->elevation == elevation || warpEvent->elevation == ELEVATION_TRANSITION)
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
|
@ -1088,7 +1088,7 @@ static const u8 *GetCoordEventScriptAtPosition(struct MapHeader *mapHeader, u16
|
|||
{
|
||||
if ((u16)coordEvents[i].x == x && (u16)coordEvents[i].y == y)
|
||||
{
|
||||
if (coordEvents[i].elevation == elevation || coordEvents[i].elevation == 0)
|
||||
if (coordEvents[i].elevation == elevation || coordEvents[i].elevation == ELEVATION_TRANSITION)
|
||||
{
|
||||
const u8 *script = TryRunCoordEventScript(&coordEvents[i]);
|
||||
if (script != NULL)
|
||||
|
|
@ -1114,7 +1114,7 @@ static const struct BgEvent *GetBackgroundEventAtPosition(struct MapHeader *mapH
|
|||
{
|
||||
if ((u16)bgEvents[i].x == x && (u16)bgEvents[i].y == y)
|
||||
{
|
||||
if (bgEvents[i].elevation == elevation || bgEvents[i].elevation == 0)
|
||||
if (bgEvents[i].elevation == elevation || bgEvents[i].elevation == ELEVATION_TRANSITION)
|
||||
return &bgEvents[i];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1289,7 +1289,7 @@ void SynchronizeSurfPosition(struct ObjectEvent *playerObj, struct Sprite *sprit
|
|||
for (i = DIR_SOUTH; i <= DIR_EAST; i++, x = sprite->sPrevX, y = sprite->sPrevY)
|
||||
{
|
||||
MoveCoords(i, &x, &y);
|
||||
if (MapGridGetElevationAt(x, y) == 3)
|
||||
if (MapGridGetElevationAt(x, y) == ELEVATION_DEFAULT)
|
||||
{
|
||||
// While dismounting the surf blob bobs at a slower rate
|
||||
sprite->sIntervalIdx++;
|
||||
|
|
|
|||
|
|
@ -939,9 +939,9 @@ static u8 CheckForObjectEventStaticCollision(struct ObjectEvent *objectEvent, s1
|
|||
static bool8 CanStopSurfing(s16 x, s16 y, u8 direction)
|
||||
{
|
||||
if ((gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)
|
||||
&& MapGridGetElevationAt(x, y) == 3
|
||||
&& (GetObjectEventIdByPosition(x, y, 3) == OBJECT_EVENTS_COUNT
|
||||
|| GetObjectEventIdByPosition(x, y, 3) == GetFollowerNPCObjectId()
|
||||
&& MapGridGetElevationAt(x, y) == ELEVATION_DEFAULT
|
||||
&& (GetObjectEventIdByPosition(x, y, ELEVATION_DEFAULT) == OBJECT_EVENTS_COUNT
|
||||
|| GetObjectEventIdByPosition(x, y, ELEVATION_DEFAULT) == GetFollowerNPCObjectId()
|
||||
))
|
||||
{
|
||||
CreateStopSurfingTask(direction);
|
||||
|
|
@ -1557,7 +1557,7 @@ bool8 IsPlayerFacingSurfableFishableWater(void)
|
|||
|
||||
MoveCoords(playerObjEvent->facingDirection, &x, &y);
|
||||
if (GetCollisionAtCoords(playerObjEvent, x, y, playerObjEvent->facingDirection) == COLLISION_ELEVATION_MISMATCH
|
||||
&& PlayerGetElevation() == 3
|
||||
&& PlayerGetElevation() == ELEVATION_DEFAULT
|
||||
&& MetatileBehavior_IsSurfableFishableWater(MapGridGetMetatileBehaviorAt(x, y)))
|
||||
return TRUE;
|
||||
else
|
||||
|
|
@ -1618,7 +1618,7 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender)
|
|||
playerObjEventTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gender);
|
||||
playerObjEventTemplate.x = x - MAP_OFFSET;
|
||||
playerObjEventTemplate.y = y - MAP_OFFSET;
|
||||
playerObjEventTemplate.elevation = 0;
|
||||
playerObjEventTemplate.elevation = ELEVATION_TRANSITION;
|
||||
playerObjEventTemplate.movementType = MOVEMENT_TYPE_PLAYER;
|
||||
playerObjEventTemplate.movementRangeX = 0;
|
||||
playerObjEventTemplate.movementRangeY = 0;
|
||||
|
|
|
|||
|
|
@ -1292,7 +1292,7 @@ void SpawnCameraObject(void)
|
|||
LOCALID_CAMERA,
|
||||
gSaveBlock1Ptr->pos.x + MAP_OFFSET,
|
||||
gSaveBlock1Ptr->pos.y + MAP_OFFSET,
|
||||
3); // elevation
|
||||
ELEVATION_DEFAULT);
|
||||
gObjectEvents[obj].invisible = TRUE;
|
||||
CameraObjectSetFollowedSpriteId(gObjectEvents[obj].spriteId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3027,7 +3027,7 @@ static const u8 *TryInteractWithPlayer(struct CableClubPlayer *player)
|
|||
otherPlayerPos = player->pos;
|
||||
otherPlayerPos.x += gDirectionToVectors[player->facing].x;
|
||||
otherPlayerPos.y += gDirectionToVectors[player->facing].y;
|
||||
otherPlayerPos.elevation = 0;
|
||||
otherPlayerPos.elevation = ELEVATION_TRANSITION;
|
||||
linkPlayerId = GetLinkPlayerIdAt(otherPlayerPos.x, otherPlayerPos.y);
|
||||
|
||||
if (linkPlayerId != MAX_LINK_PLAYERS)
|
||||
|
|
|
|||
|
|
@ -28,8 +28,8 @@ enum
|
|||
|
||||
typedef struct MatchCallTextDataStruct {
|
||||
const u8 *text;
|
||||
u16 flag;
|
||||
u16 flag2;
|
||||
u16 availabilityFlag;
|
||||
u16 flagToSetOnCompletion;
|
||||
} match_call_text_data_t;
|
||||
|
||||
struct MatchCallStructCommon {
|
||||
|
|
@ -157,21 +157,25 @@ static void MatchCall_BufferCallMessageText(const match_call_text_data_t *, u8 *
|
|||
static void MatchCall_BufferCallMessageTextByRematchTeam(const match_call_text_data_t *, u16, u8 *);
|
||||
static void MatchCall_GetNameAndDescByRematchIdx(u32, const u8 **, const u8 **);
|
||||
|
||||
#define ALWAYS_AVAILABLE 0xFFFF
|
||||
#define NO_FLAG_TO_SET 0xFFFF
|
||||
#define MATCH_CALL_TEXT_END {NULL, ALWAYS_AVAILABLE, NO_FLAG_TO_SET}
|
||||
|
||||
// .rodata
|
||||
|
||||
static const match_call_text_data_t sMrStoneTextScripts[] = {
|
||||
{ MatchCall_Text_MrStone1, 0xFFFF, FLAG_ENABLE_MR_STONE_POKENAV },
|
||||
{ MatchCall_Text_MrStone2, FLAG_ENABLE_MR_STONE_POKENAV, 0xFFFF },
|
||||
{ MatchCall_Text_MrStone3, FLAG_DELIVERED_STEVEN_LETTER, 0xFFFF },
|
||||
{ MatchCall_Text_MrStone4, FLAG_RECEIVED_EXP_SHARE, 0xFFFF },
|
||||
{ MatchCall_Text_MrStone5, FLAG_RECEIVED_HM_STRENGTH, 0xFFFF },
|
||||
{ MatchCall_Text_MrStone6, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_MrStone7, FLAG_RECEIVED_CASTFORM, 0xFFFF },
|
||||
{ MatchCall_Text_MrStone8, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
|
||||
{ MatchCall_Text_MrStone9, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
|
||||
{ MatchCall_Text_MrStone10, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_MrStone11, FLAG_SYS_GAME_CLEAR, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_MrStone1, ALWAYS_AVAILABLE, FLAG_ENABLE_MR_STONE_POKENAV },
|
||||
{ MatchCall_Text_MrStone2, FLAG_ENABLE_MR_STONE_POKENAV, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_MrStone3, FLAG_DELIVERED_STEVEN_LETTER, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_MrStone4, FLAG_RECEIVED_EXP_SHARE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_MrStone5, FLAG_RECEIVED_HM_STRENGTH, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_MrStone6, FLAG_DEFEATED_PETALBURG_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_MrStone7, FLAG_RECEIVED_CASTFORM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_MrStone8, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_MrStone9, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_MrStone10, FLAG_DEFEATED_SOOTOPOLIS_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_MrStone11, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallStructNPC sMrStoneMatchCallHeader =
|
||||
|
|
@ -185,16 +189,16 @@ static const struct MatchCallStructNPC sMrStoneMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sNormanTextScripts[] = {
|
||||
{ MatchCall_Text_Norman1, FLAG_ENABLE_NORMAN_MATCH_CALL, 0xFFFF },
|
||||
{ MatchCall_Text_Norman2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_Norman3, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_Norman4, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_Norman5, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
|
||||
{ MatchCall_Text_Norman6, 0xFFFE, 0xFFFF },
|
||||
{ MatchCall_Text_Norman7, FLAG_SYS_GAME_CLEAR, 0xFFFF },
|
||||
{ MatchCall_Text_Norman8, FLAG_SYS_GAME_CLEAR, 0xFFFF },
|
||||
{ MatchCall_Text_Norman9, FLAG_SYS_GAME_CLEAR, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_Norman1, FLAG_ENABLE_NORMAN_MATCH_CALL, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Norman2, FLAG_DEFEATED_DEWFORD_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Norman3, FLAG_DEFEATED_LAVARIDGE_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Norman4, FLAG_DEFEATED_PETALBURG_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Norman5, FLAG_RECEIVED_RED_OR_BLUE_ORB, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Norman6, 0xFFFE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Norman7, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Norman8, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Norman9, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallStructTrainer sNormanMatchCallHeader =
|
||||
|
|
@ -218,10 +222,10 @@ static const struct MatchCallBirch sProfBirchMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sMomTextScripts[] = {
|
||||
{ MatchCall_Text_Mom1, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Mom2, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_Mom3, FLAG_SYS_GAME_CLEAR, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_Mom1, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Mom2, FLAG_DEFEATED_PETALBURG_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Mom3, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallStructNPC sMomMatchCallHeader =
|
||||
|
|
@ -235,14 +239,14 @@ static const struct MatchCallStructNPC sMomMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sStevenTextScripts[] = {
|
||||
{ MatchCall_Text_Steven1, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Steven2, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF },
|
||||
{ MatchCall_Text_Steven3, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
|
||||
{ MatchCall_Text_Steven4, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
|
||||
{ MatchCall_Text_Steven5, FLAG_DEFEATED_MOSSDEEP_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_Steven6, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
|
||||
{ MatchCall_Text_Steven7, FLAG_SYS_GAME_CLEAR, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Steven1, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Steven2, FLAG_RUSTURF_TUNNEL_OPENED, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Steven3, FLAG_RECEIVED_RED_OR_BLUE_ORB, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Steven4, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Steven5, FLAG_DEFEATED_MOSSDEEP_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Steven6, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Steven7, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END,
|
||||
};
|
||||
|
||||
static const struct MatchCallStructNPC sStevenMatchCallHeader =
|
||||
|
|
@ -258,22 +262,22 @@ static const struct MatchCallStructNPC sStevenMatchCallHeader =
|
|||
static const u8 gText_MayBrendanMatchCallDesc[] = _("RAD NEIGHBOR");
|
||||
|
||||
static const match_call_text_data_t sMayTextScripts[] = {
|
||||
{ MatchCall_Text_May1, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_May2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_May3, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF },
|
||||
{ MatchCall_Text_May4, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF },
|
||||
{ MatchCall_Text_May5, FLAG_RECEIVED_HM_STRENGTH, 0xFFFF },
|
||||
{ MatchCall_Text_May6, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_May7, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_May8, FLAG_RECEIVED_CASTFORM, 0xFFFF },
|
||||
{ MatchCall_Text_May9, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
|
||||
{ MatchCall_Text_May10, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
|
||||
{ MatchCall_Text_May11, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF },
|
||||
{ MatchCall_Text_May12, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
|
||||
{ MatchCall_Text_May13, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
|
||||
{ MatchCall_Text_May14, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_May15, FLAG_SYS_GAME_CLEAR, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_May1, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_May2, FLAG_DEFEATED_DEWFORD_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_May3, FLAG_DELIVERED_DEVON_GOODS, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_May4, FLAG_HIDE_MAUVILLE_CITY_WALLY, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_May5, FLAG_RECEIVED_HM_STRENGTH, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_May6, FLAG_DEFEATED_LAVARIDGE_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_May7, FLAG_DEFEATED_PETALBURG_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_May8, FLAG_RECEIVED_CASTFORM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_May9, FLAG_RECEIVED_RED_OR_BLUE_ORB, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_May10, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_May11, FLAG_MET_TEAM_AQUA_HARBOR, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_May12, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_May13, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_May14, FLAG_DEFEATED_SOOTOPOLIS_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_May15, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallRival sMayMatchCallHeader =
|
||||
|
|
@ -287,22 +291,22 @@ static const struct MatchCallRival sMayMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sBrendanTextScripts[] = {
|
||||
{ MatchCall_Text_Brendan1, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Brendan2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_Brendan3, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF },
|
||||
{ MatchCall_Text_Brendan4, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF },
|
||||
{ MatchCall_Text_Brendan5, FLAG_RECEIVED_HM_STRENGTH, 0xFFFF },
|
||||
{ MatchCall_Text_Brendan6, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_Brendan7, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_Brendan8, FLAG_RECEIVED_CASTFORM, 0xFFFF },
|
||||
{ MatchCall_Text_Brendan9, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
|
||||
{ MatchCall_Text_Brendan10, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
|
||||
{ MatchCall_Text_Brendan11, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF },
|
||||
{ MatchCall_Text_Brendan12, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
|
||||
{ MatchCall_Text_Brendan13, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
|
||||
{ MatchCall_Text_Brendan14, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_Brendan15, FLAG_SYS_GAME_CLEAR, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_Brendan1, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brendan2, FLAG_DEFEATED_DEWFORD_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brendan3, FLAG_DELIVERED_DEVON_GOODS, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brendan4, FLAG_HIDE_MAUVILLE_CITY_WALLY, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brendan5, FLAG_RECEIVED_HM_STRENGTH, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brendan6, FLAG_DEFEATED_LAVARIDGE_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brendan7, FLAG_DEFEATED_PETALBURG_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brendan8, FLAG_RECEIVED_CASTFORM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brendan9, FLAG_RECEIVED_RED_OR_BLUE_ORB, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brendan10, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brendan11, FLAG_MET_TEAM_AQUA_HARBOR, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brendan12, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brendan13, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brendan14, FLAG_DEFEATED_SOOTOPOLIS_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brendan15, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallRival sBrendanMatchCallHeader =
|
||||
|
|
@ -316,14 +320,14 @@ static const struct MatchCallRival sBrendanMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sWallyTextScripts[] = {
|
||||
{ MatchCall_Text_Wally1, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Wally2, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF },
|
||||
{ MatchCall_Text_Wally3, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_Wally4, FLAG_RECEIVED_CASTFORM, 0xFFFF },
|
||||
{ MatchCall_Text_Wally5, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
|
||||
{ MatchCall_Text_Wally6, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
|
||||
{ MatchCall_Text_Wally7, FLAG_DEFEATED_WALLY_VICTORY_ROAD, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_Wally1, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Wally2, FLAG_RUSTURF_TUNNEL_OPENED, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Wally3, FLAG_DEFEATED_LAVARIDGE_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Wally4, FLAG_RECEIVED_CASTFORM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Wally5, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Wally6, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Wally7, FLAG_DEFEATED_WALLY_VICTORY_ROAD, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallLocationOverride sWallyLocationData[] = {
|
||||
|
|
@ -345,14 +349,14 @@ static const struct MatchCallWally sWallyMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sScottTextScripts[] = {
|
||||
{ MatchCall_Text_Scott1, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Scott2, FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, 0xFFFF },
|
||||
{ MatchCall_Text_Scott3, FLAG_RECEIVED_CASTFORM, 0xFFFF },
|
||||
{ MatchCall_Text_Scott4, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
|
||||
{ MatchCall_Text_Scott5, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
|
||||
{ MatchCall_Text_Scott6, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
|
||||
{ MatchCall_Text_Scott7, FLAG_SYS_GAME_CLEAR, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_Scott1, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Scott2, FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Scott3, FLAG_RECEIVED_CASTFORM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Scott4, FLAG_RECEIVED_RED_OR_BLUE_ORB, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Scott5, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Scott6, FLAG_DEFEATED_SOOTOPOLIS_GYM, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Scott7, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -367,11 +371,11 @@ static const struct MatchCallStructNPC sScottMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sRoxanneTextScripts[] = {
|
||||
{ MatchCall_Text_Roxanne1, 0xFFFE, 0xFFFF },
|
||||
{ MatchCall_Text_Roxanne2, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Roxanne3, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Roxanne4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_Roxanne1, 0xFFFE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Roxanne2, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Roxanne3, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Roxanne4, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallStructTrainer sRoxanneMatchCallHeader =
|
||||
|
|
@ -386,11 +390,11 @@ static const struct MatchCallStructTrainer sRoxanneMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sBrawlyTextScripts[] = {
|
||||
{ MatchCall_Text_Brawly1, 0xFFFE, 0xFFFF },
|
||||
{ MatchCall_Text_Brawly2, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Brawly3, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Brawly4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_Brawly1, 0xFFFE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brawly2, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brawly3, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Brawly4, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallStructTrainer sBrawlyMatchCallHeader =
|
||||
|
|
@ -405,11 +409,11 @@ static const struct MatchCallStructTrainer sBrawlyMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sWattsonTextScripts[] = {
|
||||
{ MatchCall_Text_Wattson1, 0xFFFE, 0xFFFF },
|
||||
{ MatchCall_Text_Wattson2, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Wattson3, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Wattson4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_Wattson1, 0xFFFE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Wattson2, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Wattson3, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Wattson4, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallStructTrainer sWattsonMatchCallHeader =
|
||||
|
|
@ -424,11 +428,11 @@ static const struct MatchCallStructTrainer sWattsonMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sFlanneryTextScripts[] = {
|
||||
{ MatchCall_Text_Flannery1, 0xFFFE, 0xFFFF },
|
||||
{ MatchCall_Text_Flannery2, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Flannery3, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Flannery4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_Flannery1, 0xFFFE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Flannery2, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Flannery3, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Flannery4, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallStructTrainer sFlanneryMatchCallHeader =
|
||||
|
|
@ -443,11 +447,11 @@ static const struct MatchCallStructTrainer sFlanneryMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sWinonaTextScripts[] = {
|
||||
{ MatchCall_Text_Winona1, 0xFFFE, 0xFFFF },
|
||||
{ MatchCall_Text_Winona2, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Winona3, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Winona4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_Winona1, 0xFFFE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Winona2, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Winona3, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Winona4, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallStructTrainer sWinonaMatchCallHeader =
|
||||
|
|
@ -462,11 +466,11 @@ static const struct MatchCallStructTrainer sWinonaMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sTateLizaTextScripts[] = {
|
||||
{ MatchCall_Text_TateLiza1, 0xFFFE, 0xFFFF },
|
||||
{ MatchCall_Text_TateLiza2, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_TateLiza3, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_TateLiza4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_TateLiza1, 0xFFFE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_TateLiza2, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_TateLiza3, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_TateLiza4, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallStructTrainer sTateLizaMatchCallHeader =
|
||||
|
|
@ -481,11 +485,11 @@ static const struct MatchCallStructTrainer sTateLizaMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sJuanTextScripts[] = {
|
||||
{ MatchCall_Text_Juan1, 0xFFFE, 0xFFFF },
|
||||
{ MatchCall_Text_Juan2, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Juan3, 0xFFFF, 0xFFFF },
|
||||
{ MatchCall_Text_Juan4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_Juan1, 0xFFFE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Juan2, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Juan3, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
{ MatchCall_Text_Juan4, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallStructTrainer sJuanMatchCallHeader =
|
||||
|
|
@ -502,8 +506,8 @@ static const struct MatchCallStructTrainer sJuanMatchCallHeader =
|
|||
static const u8 gText_EliteFourMatchCallDesc[] = _("ELITE FOUR");
|
||||
|
||||
static const match_call_text_data_t sSidneyTextScripts[] = {
|
||||
{ MatchCall_Text_Sidney, 0xFFFF, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_Sidney, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallStructTrainer sSidneyMatchCallHeader =
|
||||
|
|
@ -518,8 +522,8 @@ static const struct MatchCallStructTrainer sSidneyMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sPhoebeTextScripts[] = {
|
||||
{ MatchCall_Text_Phoebe, 0xFFFF, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_Phoebe, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallStructTrainer sPhoebeMatchCallHeader =
|
||||
|
|
@ -534,8 +538,8 @@ static const struct MatchCallStructTrainer sPhoebeMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sGlaciaTextScripts[] = {
|
||||
{ MatchCall_Text_Glacia, 0xFFFF, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_Glacia, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallStructTrainer sGlaciaMatchCallHeader =
|
||||
|
|
@ -550,8 +554,8 @@ static const struct MatchCallStructTrainer sGlaciaMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sDrakeTextScripts[] = {
|
||||
{ MatchCall_Text_Drake, 0xFFFF, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_Drake, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallStructTrainer sDrakeMatchCallHeader =
|
||||
|
|
@ -566,8 +570,8 @@ static const struct MatchCallStructTrainer sDrakeMatchCallHeader =
|
|||
};
|
||||
|
||||
static const match_call_text_data_t sWallaceTextScripts[] = {
|
||||
{ MatchCall_Text_Wallace, 0xFFFF, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
{ MatchCall_Text_Wallace, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
|
||||
MATCH_CALL_TEXT_END
|
||||
};
|
||||
|
||||
static const struct MatchCallStructTrainer sWallaceMatchCallHeader =
|
||||
|
|
@ -1018,12 +1022,12 @@ static void MatchCall_BufferCallMessageText(const match_call_text_data_t *textDa
|
|||
i--;
|
||||
while (i)
|
||||
{
|
||||
if (textData[i].flag != 0xFFFF && FlagGet(textData[i].flag) == TRUE)
|
||||
if (textData[i].availabilityFlag != ALWAYS_AVAILABLE && FlagGet(textData[i].availabilityFlag) == TRUE)
|
||||
break;
|
||||
i--;
|
||||
}
|
||||
if (textData[i].flag2 != 0xFFFF)
|
||||
FlagSet(textData[i].flag2);
|
||||
if (textData[i].flagToSetOnCompletion != NO_FLAG_TO_SET)
|
||||
FlagSet(textData[i].flagToSetOnCompletion);
|
||||
StringExpandPlaceholders(dest, textData[i].text);
|
||||
}
|
||||
|
||||
|
|
@ -1033,17 +1037,17 @@ static void MatchCall_BufferCallMessageTextByRematchTeam(const match_call_text_d
|
|||
u32 i;
|
||||
for (i = 0; textData[i].text != NULL; i++)
|
||||
{
|
||||
if (textData[i].flag == 0xFFFE)
|
||||
if (textData[i].availabilityFlag == 0xFFFE)
|
||||
break;
|
||||
if (textData[i].flag != 0xFFFF && !FlagGet(textData[i].flag))
|
||||
if (textData[i].availabilityFlag != ALWAYS_AVAILABLE && !FlagGet(textData[i].availabilityFlag))
|
||||
break;
|
||||
}
|
||||
if (textData[i].flag != 0xFFFE)
|
||||
if (textData[i].availabilityFlag != 0xFFFE)
|
||||
{
|
||||
if (i)
|
||||
i--;
|
||||
if (textData[i].flag2 != 0xFFFF)
|
||||
FlagSet(textData[i].flag2);
|
||||
if (textData[i].flagToSetOnCompletion != NO_FLAG_TO_SET)
|
||||
FlagSet(textData[i].flagToSetOnCompletion);
|
||||
StringExpandPlaceholders(dest, textData[i].text);
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -262,7 +262,7 @@ static const u8 *const sModeStrings[NUM_TRAINER_HILL_MODES] =
|
|||
static const struct ObjectEventTemplate sTrainerObjectEventTemplate =
|
||||
{
|
||||
.graphicsId = OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL,
|
||||
.elevation = 3,
|
||||
.elevation = ELEVATION_DEFAULT,
|
||||
.movementType = MOVEMENT_TYPE_LOOK_AROUND,
|
||||
.movementRangeX = 1,
|
||||
.movementRangeY = 1,
|
||||
|
|
@ -715,7 +715,7 @@ static u16 GetMapDataForFloor(u8 floorId, u32 x, u32 y, u32 floorWidth) // floor
|
|||
|
||||
impassable = (sHillData->floors[floorId].map.collisionData[y] >> (15 - x) & 1);
|
||||
metatileId = sHillData->floors[floorId].map.metatileData[floorWidth * y + x] + NUM_METATILES_IN_PRIMARY;
|
||||
elevation = PACK_ELEVATION(3);
|
||||
elevation = PACK_ELEVATION(ELEVATION_DEFAULT);
|
||||
|
||||
return PACK_COLLISION(impassable) | elevation | PACK_METATILE(metatileId);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user