@@ -1023,7 +1023,7 @@ static void HidePyramidItem(void)
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
if (events[i].localId == 0)
|
||||
if (events[i].localId == LOCALID_NONE)
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1857,7 +1857,7 @@ static bool8 TrySetPyramidObjectEventPositionAtCoords(u8 objType, u8 x, u8 y, u8
|
||||
const struct MapHeader *mapHeader;
|
||||
struct ObjectEventTemplate *floorEvents = gSaveBlock1Ptr->objectEventTemplates;
|
||||
|
||||
mapHeader = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(BATTLE_PYRAMID_SQUARE01), floorLayoutOffsets[squareId] + MAP_NUM(BATTLE_PYRAMID_SQUARE01));
|
||||
mapHeader = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(MAP_BATTLE_PYRAMID_SQUARE01), floorLayoutOffsets[squareId] + MAP_NUM(MAP_BATTLE_PYRAMID_SQUARE01));
|
||||
for (i = 0; i < mapHeader->events->objectEventCount; i++)
|
||||
{
|
||||
if (mapHeader->events->objectEvents[i].x != x || mapHeader->events->objectEvents[i].y != y)
|
||||
@@ -1934,7 +1934,7 @@ u8 GetNumBattlePyramidObjectEvents(void)
|
||||
|
||||
for (i = 0; i < OBJECT_EVENTS_COUNT; i++)
|
||||
{
|
||||
if (events[i].localId == 0)
|
||||
if (events[i].localId == LOCALID_NONE)
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
#include "data.h"
|
||||
#include "constants/battle_frontier.h"
|
||||
#include "constants/battle_setup.h"
|
||||
#include "constants/event_objects.h"
|
||||
#include "constants/game_stat.h"
|
||||
#include "constants/items.h"
|
||||
#include "constants/songs.h"
|
||||
@@ -258,84 +259,84 @@ static const struct TrainerBattleParameter sTrainerBContinueScriptBattleParams[]
|
||||
|
||||
const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] =
|
||||
{
|
||||
[REMATCH_ROSE] = REMATCH(TRAINER_ROSE_1, TRAINER_ROSE_2, TRAINER_ROSE_3, TRAINER_ROSE_4, TRAINER_ROSE_5, ROUTE118),
|
||||
[REMATCH_ANDRES] = REMATCH(TRAINER_ANDRES_1, TRAINER_ANDRES_2, TRAINER_ANDRES_3, TRAINER_ANDRES_4, TRAINER_ANDRES_5, ROUTE105),
|
||||
[REMATCH_DUSTY] = REMATCH(TRAINER_DUSTY_1, TRAINER_DUSTY_2, TRAINER_DUSTY_3, TRAINER_DUSTY_4, TRAINER_DUSTY_5, ROUTE111),
|
||||
[REMATCH_LOLA] = REMATCH(TRAINER_LOLA_1, TRAINER_LOLA_2, TRAINER_LOLA_3, TRAINER_LOLA_4, TRAINER_LOLA_5, ROUTE109),
|
||||
[REMATCH_RICKY] = REMATCH(TRAINER_RICKY_1, TRAINER_RICKY_2, TRAINER_RICKY_3, TRAINER_RICKY_4, TRAINER_RICKY_5, ROUTE109),
|
||||
[REMATCH_LILA_AND_ROY] = REMATCH(TRAINER_LILA_AND_ROY_1, TRAINER_LILA_AND_ROY_2, TRAINER_LILA_AND_ROY_3, TRAINER_LILA_AND_ROY_4, TRAINER_LILA_AND_ROY_5, ROUTE124),
|
||||
[REMATCH_CRISTIN] = REMATCH(TRAINER_CRISTIN_1, TRAINER_CRISTIN_2, TRAINER_CRISTIN_3, TRAINER_CRISTIN_4, TRAINER_CRISTIN_5, ROUTE121),
|
||||
[REMATCH_BROOKE] = REMATCH(TRAINER_BROOKE_1, TRAINER_BROOKE_2, TRAINER_BROOKE_3, TRAINER_BROOKE_4, TRAINER_BROOKE_5, ROUTE111),
|
||||
[REMATCH_WILTON] = REMATCH(TRAINER_WILTON_1, TRAINER_WILTON_2, TRAINER_WILTON_3, TRAINER_WILTON_4, TRAINER_WILTON_5, ROUTE111),
|
||||
[REMATCH_VALERIE] = REMATCH(TRAINER_VALERIE_1, TRAINER_VALERIE_2, TRAINER_VALERIE_3, TRAINER_VALERIE_4, TRAINER_VALERIE_5, MT_PYRE_6F),
|
||||
[REMATCH_CINDY] = REMATCH(TRAINER_CINDY_1, TRAINER_CINDY_3, TRAINER_CINDY_4, TRAINER_CINDY_5, TRAINER_CINDY_6, ROUTE104),
|
||||
[REMATCH_THALIA] = REMATCH(TRAINER_THALIA_1, TRAINER_THALIA_2, TRAINER_THALIA_3, TRAINER_THALIA_4, TRAINER_THALIA_5, ABANDONED_SHIP_ROOMS_1F),
|
||||
[REMATCH_JESSICA] = REMATCH(TRAINER_JESSICA_1, TRAINER_JESSICA_2, TRAINER_JESSICA_3, TRAINER_JESSICA_4, TRAINER_JESSICA_5, ROUTE121),
|
||||
[REMATCH_WINSTON] = REMATCH(TRAINER_WINSTON_1, TRAINER_WINSTON_2, TRAINER_WINSTON_3, TRAINER_WINSTON_4, TRAINER_WINSTON_5, ROUTE104),
|
||||
[REMATCH_STEVE] = REMATCH(TRAINER_STEVE_1, TRAINER_STEVE_2, TRAINER_STEVE_3, TRAINER_STEVE_4, TRAINER_STEVE_5, ROUTE114),
|
||||
[REMATCH_TONY] = REMATCH(TRAINER_TONY_1, TRAINER_TONY_2, TRAINER_TONY_3, TRAINER_TONY_4, TRAINER_TONY_5, ROUTE107),
|
||||
[REMATCH_NOB] = REMATCH(TRAINER_NOB_1, TRAINER_NOB_2, TRAINER_NOB_3, TRAINER_NOB_4, TRAINER_NOB_5, ROUTE115),
|
||||
[REMATCH_KOJI] = REMATCH(TRAINER_KOJI_1, TRAINER_KOJI_2, TRAINER_KOJI_3, TRAINER_KOJI_4, TRAINER_KOJI_5, ROUTE127),
|
||||
[REMATCH_FERNANDO] = REMATCH(TRAINER_FERNANDO_1, TRAINER_FERNANDO_2, TRAINER_FERNANDO_3, TRAINER_FERNANDO_4, TRAINER_FERNANDO_5, ROUTE123),
|
||||
[REMATCH_DALTON] = REMATCH(TRAINER_DALTON_1, TRAINER_DALTON_2, TRAINER_DALTON_3, TRAINER_DALTON_4, TRAINER_DALTON_5, ROUTE118),
|
||||
[REMATCH_BERNIE] = REMATCH(TRAINER_BERNIE_1, TRAINER_BERNIE_2, TRAINER_BERNIE_3, TRAINER_BERNIE_4, TRAINER_BERNIE_5, ROUTE114),
|
||||
[REMATCH_ETHAN] = REMATCH(TRAINER_ETHAN_1, TRAINER_ETHAN_2, TRAINER_ETHAN_3, TRAINER_ETHAN_4, TRAINER_ETHAN_5, JAGGED_PASS),
|
||||
[REMATCH_JOHN_AND_JAY] = REMATCH(TRAINER_JOHN_AND_JAY_1, TRAINER_JOHN_AND_JAY_2, TRAINER_JOHN_AND_JAY_3, TRAINER_JOHN_AND_JAY_4, TRAINER_JOHN_AND_JAY_5, METEOR_FALLS_1F_2R),
|
||||
[REMATCH_JEFFREY] = REMATCH(TRAINER_JEFFREY_1, TRAINER_JEFFREY_2, TRAINER_JEFFREY_3, TRAINER_JEFFREY_4, TRAINER_JEFFREY_5, ROUTE120),
|
||||
[REMATCH_CAMERON] = REMATCH(TRAINER_CAMERON_1, TRAINER_CAMERON_2, TRAINER_CAMERON_3, TRAINER_CAMERON_4, TRAINER_CAMERON_5, ROUTE123),
|
||||
[REMATCH_JACKI] = REMATCH(TRAINER_JACKI_1, TRAINER_JACKI_2, TRAINER_JACKI_3, TRAINER_JACKI_4, TRAINER_JACKI_5, ROUTE123),
|
||||
[REMATCH_WALTER] = REMATCH(TRAINER_WALTER_1, TRAINER_WALTER_2, TRAINER_WALTER_3, TRAINER_WALTER_4, TRAINER_WALTER_5, ROUTE121),
|
||||
[REMATCH_KAREN] = REMATCH(TRAINER_KAREN_1, TRAINER_KAREN_2, TRAINER_KAREN_3, TRAINER_KAREN_4, TRAINER_KAREN_5, ROUTE116),
|
||||
[REMATCH_JERRY] = REMATCH(TRAINER_JERRY_1, TRAINER_JERRY_2, TRAINER_JERRY_3, TRAINER_JERRY_4, TRAINER_JERRY_5, ROUTE116),
|
||||
[REMATCH_ANNA_AND_MEG] = REMATCH(TRAINER_ANNA_AND_MEG_1, TRAINER_ANNA_AND_MEG_2, TRAINER_ANNA_AND_MEG_3, TRAINER_ANNA_AND_MEG_4, TRAINER_ANNA_AND_MEG_5, ROUTE117),
|
||||
[REMATCH_ISABEL] = REMATCH(TRAINER_ISABEL_1, TRAINER_ISABEL_2, TRAINER_ISABEL_3, TRAINER_ISABEL_4, TRAINER_ISABEL_5, ROUTE110),
|
||||
[REMATCH_MIGUEL] = REMATCH(TRAINER_MIGUEL_1, TRAINER_MIGUEL_2, TRAINER_MIGUEL_3, TRAINER_MIGUEL_4, TRAINER_MIGUEL_5, ROUTE103),
|
||||
[REMATCH_TIMOTHY] = REMATCH(TRAINER_TIMOTHY_1, TRAINER_TIMOTHY_2, TRAINER_TIMOTHY_3, TRAINER_TIMOTHY_4, TRAINER_TIMOTHY_5, ROUTE115),
|
||||
[REMATCH_SHELBY] = REMATCH(TRAINER_SHELBY_1, TRAINER_SHELBY_2, TRAINER_SHELBY_3, TRAINER_SHELBY_4, TRAINER_SHELBY_5, MT_CHIMNEY),
|
||||
[REMATCH_CALVIN] = REMATCH(TRAINER_CALVIN_1, TRAINER_CALVIN_2, TRAINER_CALVIN_3, TRAINER_CALVIN_4, TRAINER_CALVIN_5, ROUTE102),
|
||||
[REMATCH_ELLIOT] = REMATCH(TRAINER_ELLIOT_1, TRAINER_ELLIOT_2, TRAINER_ELLIOT_3, TRAINER_ELLIOT_4, TRAINER_ELLIOT_5, ROUTE106),
|
||||
[REMATCH_ISAIAH] = REMATCH(TRAINER_ISAIAH_1, TRAINER_ISAIAH_2, TRAINER_ISAIAH_3, TRAINER_ISAIAH_4, TRAINER_ISAIAH_5, ROUTE128),
|
||||
[REMATCH_MARIA] = REMATCH(TRAINER_MARIA_1, TRAINER_MARIA_2, TRAINER_MARIA_3, TRAINER_MARIA_4, TRAINER_MARIA_5, ROUTE117),
|
||||
[REMATCH_ABIGAIL] = REMATCH(TRAINER_ABIGAIL_1, TRAINER_ABIGAIL_2, TRAINER_ABIGAIL_3, TRAINER_ABIGAIL_4, TRAINER_ABIGAIL_5, ROUTE110),
|
||||
[REMATCH_DYLAN] = REMATCH(TRAINER_DYLAN_1, TRAINER_DYLAN_2, TRAINER_DYLAN_3, TRAINER_DYLAN_4, TRAINER_DYLAN_5, ROUTE117),
|
||||
[REMATCH_KATELYN] = REMATCH(TRAINER_KATELYN_1, TRAINER_KATELYN_2, TRAINER_KATELYN_3, TRAINER_KATELYN_4, TRAINER_KATELYN_5, ROUTE128),
|
||||
[REMATCH_BENJAMIN] = REMATCH(TRAINER_BENJAMIN_1, TRAINER_BENJAMIN_2, TRAINER_BENJAMIN_3, TRAINER_BENJAMIN_4, TRAINER_BENJAMIN_5, ROUTE110),
|
||||
[REMATCH_PABLO] = REMATCH(TRAINER_PABLO_1, TRAINER_PABLO_2, TRAINER_PABLO_3, TRAINER_PABLO_4, TRAINER_PABLO_5, ROUTE126),
|
||||
[REMATCH_NICOLAS] = REMATCH(TRAINER_NICOLAS_1, TRAINER_NICOLAS_2, TRAINER_NICOLAS_3, TRAINER_NICOLAS_4, TRAINER_NICOLAS_5, METEOR_FALLS_1F_2R),
|
||||
[REMATCH_ROBERT] = REMATCH(TRAINER_ROBERT_1, TRAINER_ROBERT_2, TRAINER_ROBERT_3, TRAINER_ROBERT_4, TRAINER_ROBERT_5, ROUTE120),
|
||||
[REMATCH_LAO] = REMATCH(TRAINER_LAO_1, TRAINER_LAO_2, TRAINER_LAO_3, TRAINER_LAO_4, TRAINER_LAO_5, ROUTE113),
|
||||
[REMATCH_CYNDY] = REMATCH(TRAINER_CYNDY_1, TRAINER_CYNDY_2, TRAINER_CYNDY_3, TRAINER_CYNDY_4, TRAINER_CYNDY_5, ROUTE115),
|
||||
[REMATCH_MADELINE] = REMATCH(TRAINER_MADELINE_1, TRAINER_MADELINE_2, TRAINER_MADELINE_3, TRAINER_MADELINE_4, TRAINER_MADELINE_5, ROUTE113),
|
||||
[REMATCH_JENNY] = REMATCH(TRAINER_JENNY_1, TRAINER_JENNY_2, TRAINER_JENNY_3, TRAINER_JENNY_4, TRAINER_JENNY_5, ROUTE124),
|
||||
[REMATCH_DIANA] = REMATCH(TRAINER_DIANA_1, TRAINER_DIANA_2, TRAINER_DIANA_3, TRAINER_DIANA_4, TRAINER_DIANA_5, JAGGED_PASS),
|
||||
[REMATCH_AMY_AND_LIV] = REMATCH(TRAINER_AMY_AND_LIV_1, TRAINER_AMY_AND_LIV_2, TRAINER_AMY_AND_LIV_4, TRAINER_AMY_AND_LIV_5, TRAINER_AMY_AND_LIV_6, ROUTE103),
|
||||
[REMATCH_ERNEST] = REMATCH(TRAINER_ERNEST_1, TRAINER_ERNEST_2, TRAINER_ERNEST_3, TRAINER_ERNEST_4, TRAINER_ERNEST_5, ROUTE125),
|
||||
[REMATCH_CORY] = REMATCH(TRAINER_CORY_1, TRAINER_CORY_2, TRAINER_CORY_3, TRAINER_CORY_4, TRAINER_CORY_5, ROUTE108),
|
||||
[REMATCH_EDWIN] = REMATCH(TRAINER_EDWIN_1, TRAINER_EDWIN_2, TRAINER_EDWIN_3, TRAINER_EDWIN_4, TRAINER_EDWIN_5, ROUTE110),
|
||||
[REMATCH_LYDIA] = REMATCH(TRAINER_LYDIA_1, TRAINER_LYDIA_2, TRAINER_LYDIA_3, TRAINER_LYDIA_4, TRAINER_LYDIA_5, ROUTE117),
|
||||
[REMATCH_ISAAC] = REMATCH(TRAINER_ISAAC_1, TRAINER_ISAAC_2, TRAINER_ISAAC_3, TRAINER_ISAAC_4, TRAINER_ISAAC_5, ROUTE117),
|
||||
[REMATCH_GABRIELLE] = REMATCH(TRAINER_GABRIELLE_1, TRAINER_GABRIELLE_2, TRAINER_GABRIELLE_3, TRAINER_GABRIELLE_4, TRAINER_GABRIELLE_5, MT_PYRE_3F),
|
||||
[REMATCH_CATHERINE] = REMATCH(TRAINER_CATHERINE_1, TRAINER_CATHERINE_2, TRAINER_CATHERINE_3, TRAINER_CATHERINE_4, TRAINER_CATHERINE_5, ROUTE119),
|
||||
[REMATCH_JACKSON] = REMATCH(TRAINER_JACKSON_1, TRAINER_JACKSON_2, TRAINER_JACKSON_3, TRAINER_JACKSON_4, TRAINER_JACKSON_5, ROUTE119),
|
||||
[REMATCH_HALEY] = REMATCH(TRAINER_HALEY_1, TRAINER_HALEY_2, TRAINER_HALEY_3, TRAINER_HALEY_4, TRAINER_HALEY_5, ROUTE104),
|
||||
[REMATCH_JAMES] = REMATCH(TRAINER_JAMES_1, TRAINER_JAMES_2, TRAINER_JAMES_3, TRAINER_JAMES_4, TRAINER_JAMES_5, PETALBURG_WOODS),
|
||||
[REMATCH_TRENT] = REMATCH(TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5, ROUTE112),
|
||||
[REMATCH_SAWYER] = REMATCH(TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5, MT_CHIMNEY),
|
||||
[REMATCH_KIRA_AND_DAN] = REMATCH(TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5, ABANDONED_SHIP_ROOMS2_1F),
|
||||
[REMATCH_WALLY_VR] = REMATCH(TRAINER_WALLY_VR_2, TRAINER_WALLY_VR_3, TRAINER_WALLY_VR_4, TRAINER_WALLY_VR_5, TRAINER_WALLY_VR_5, VICTORY_ROAD_1F),
|
||||
[REMATCH_ROXANNE] = REMATCH(TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5, RUSTBORO_CITY),
|
||||
[REMATCH_BRAWLY] = REMATCH(TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5, DEWFORD_TOWN),
|
||||
[REMATCH_WATTSON] = REMATCH(TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5, MAUVILLE_CITY),
|
||||
[REMATCH_FLANNERY] = REMATCH(TRAINER_FLANNERY_1, TRAINER_FLANNERY_2, TRAINER_FLANNERY_3, TRAINER_FLANNERY_4, TRAINER_FLANNERY_5, LAVARIDGE_TOWN),
|
||||
[REMATCH_NORMAN] = REMATCH(TRAINER_NORMAN_1, TRAINER_NORMAN_2, TRAINER_NORMAN_3, TRAINER_NORMAN_4, TRAINER_NORMAN_5, PETALBURG_CITY),
|
||||
[REMATCH_WINONA] = REMATCH(TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5, FORTREE_CITY),
|
||||
[REMATCH_TATE_AND_LIZA] = REMATCH(TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5, MOSSDEEP_CITY),
|
||||
[REMATCH_JUAN] = REMATCH(TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5, SOOTOPOLIS_CITY),
|
||||
[REMATCH_SIDNEY] = REMATCH(TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, EVER_GRANDE_CITY),
|
||||
[REMATCH_PHOEBE] = REMATCH(TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, EVER_GRANDE_CITY),
|
||||
[REMATCH_GLACIA] = REMATCH(TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, EVER_GRANDE_CITY),
|
||||
[REMATCH_DRAKE] = REMATCH(TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, EVER_GRANDE_CITY),
|
||||
[REMATCH_WALLACE] = REMATCH(TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, EVER_GRANDE_CITY),
|
||||
[REMATCH_ROSE] = REMATCH(TRAINER_ROSE_1, TRAINER_ROSE_2, TRAINER_ROSE_3, TRAINER_ROSE_4, TRAINER_ROSE_5, MAP_ROUTE118),
|
||||
[REMATCH_ANDRES] = REMATCH(TRAINER_ANDRES_1, TRAINER_ANDRES_2, TRAINER_ANDRES_3, TRAINER_ANDRES_4, TRAINER_ANDRES_5, MAP_ROUTE105),
|
||||
[REMATCH_DUSTY] = REMATCH(TRAINER_DUSTY_1, TRAINER_DUSTY_2, TRAINER_DUSTY_3, TRAINER_DUSTY_4, TRAINER_DUSTY_5, MAP_ROUTE111),
|
||||
[REMATCH_LOLA] = REMATCH(TRAINER_LOLA_1, TRAINER_LOLA_2, TRAINER_LOLA_3, TRAINER_LOLA_4, TRAINER_LOLA_5, MAP_ROUTE109),
|
||||
[REMATCH_RICKY] = REMATCH(TRAINER_RICKY_1, TRAINER_RICKY_2, TRAINER_RICKY_3, TRAINER_RICKY_4, TRAINER_RICKY_5, MAP_ROUTE109),
|
||||
[REMATCH_LILA_AND_ROY] = REMATCH(TRAINER_LILA_AND_ROY_1, TRAINER_LILA_AND_ROY_2, TRAINER_LILA_AND_ROY_3, TRAINER_LILA_AND_ROY_4, TRAINER_LILA_AND_ROY_5, MAP_ROUTE124),
|
||||
[REMATCH_CRISTIN] = REMATCH(TRAINER_CRISTIN_1, TRAINER_CRISTIN_2, TRAINER_CRISTIN_3, TRAINER_CRISTIN_4, TRAINER_CRISTIN_5, MAP_ROUTE121),
|
||||
[REMATCH_BROOKE] = REMATCH(TRAINER_BROOKE_1, TRAINER_BROOKE_2, TRAINER_BROOKE_3, TRAINER_BROOKE_4, TRAINER_BROOKE_5, MAP_ROUTE111),
|
||||
[REMATCH_WILTON] = REMATCH(TRAINER_WILTON_1, TRAINER_WILTON_2, TRAINER_WILTON_3, TRAINER_WILTON_4, TRAINER_WILTON_5, MAP_ROUTE111),
|
||||
[REMATCH_VALERIE] = REMATCH(TRAINER_VALERIE_1, TRAINER_VALERIE_2, TRAINER_VALERIE_3, TRAINER_VALERIE_4, TRAINER_VALERIE_5, MAP_MT_PYRE_6F),
|
||||
[REMATCH_CINDY] = REMATCH(TRAINER_CINDY_1, TRAINER_CINDY_3, TRAINER_CINDY_4, TRAINER_CINDY_5, TRAINER_CINDY_6, MAP_ROUTE104),
|
||||
[REMATCH_THALIA] = REMATCH(TRAINER_THALIA_1, TRAINER_THALIA_2, TRAINER_THALIA_3, TRAINER_THALIA_4, TRAINER_THALIA_5, MAP_ABANDONED_SHIP_ROOMS_1F),
|
||||
[REMATCH_JESSICA] = REMATCH(TRAINER_JESSICA_1, TRAINER_JESSICA_2, TRAINER_JESSICA_3, TRAINER_JESSICA_4, TRAINER_JESSICA_5, MAP_ROUTE121),
|
||||
[REMATCH_WINSTON] = REMATCH(TRAINER_WINSTON_1, TRAINER_WINSTON_2, TRAINER_WINSTON_3, TRAINER_WINSTON_4, TRAINER_WINSTON_5, MAP_ROUTE104),
|
||||
[REMATCH_STEVE] = REMATCH(TRAINER_STEVE_1, TRAINER_STEVE_2, TRAINER_STEVE_3, TRAINER_STEVE_4, TRAINER_STEVE_5, MAP_ROUTE114),
|
||||
[REMATCH_TONY] = REMATCH(TRAINER_TONY_1, TRAINER_TONY_2, TRAINER_TONY_3, TRAINER_TONY_4, TRAINER_TONY_5, MAP_ROUTE107),
|
||||
[REMATCH_NOB] = REMATCH(TRAINER_NOB_1, TRAINER_NOB_2, TRAINER_NOB_3, TRAINER_NOB_4, TRAINER_NOB_5, MAP_ROUTE115),
|
||||
[REMATCH_KOJI] = REMATCH(TRAINER_KOJI_1, TRAINER_KOJI_2, TRAINER_KOJI_3, TRAINER_KOJI_4, TRAINER_KOJI_5, MAP_ROUTE127),
|
||||
[REMATCH_FERNANDO] = REMATCH(TRAINER_FERNANDO_1, TRAINER_FERNANDO_2, TRAINER_FERNANDO_3, TRAINER_FERNANDO_4, TRAINER_FERNANDO_5, MAP_ROUTE123),
|
||||
[REMATCH_DALTON] = REMATCH(TRAINER_DALTON_1, TRAINER_DALTON_2, TRAINER_DALTON_3, TRAINER_DALTON_4, TRAINER_DALTON_5, MAP_ROUTE118),
|
||||
[REMATCH_BERNIE] = REMATCH(TRAINER_BERNIE_1, TRAINER_BERNIE_2, TRAINER_BERNIE_3, TRAINER_BERNIE_4, TRAINER_BERNIE_5, MAP_ROUTE114),
|
||||
[REMATCH_ETHAN] = REMATCH(TRAINER_ETHAN_1, TRAINER_ETHAN_2, TRAINER_ETHAN_3, TRAINER_ETHAN_4, TRAINER_ETHAN_5, MAP_JAGGED_PASS),
|
||||
[REMATCH_JOHN_AND_JAY] = REMATCH(TRAINER_JOHN_AND_JAY_1, TRAINER_JOHN_AND_JAY_2, TRAINER_JOHN_AND_JAY_3, TRAINER_JOHN_AND_JAY_4, TRAINER_JOHN_AND_JAY_5, MAP_METEOR_FALLS_1F_2R),
|
||||
[REMATCH_JEFFREY] = REMATCH(TRAINER_JEFFREY_1, TRAINER_JEFFREY_2, TRAINER_JEFFREY_3, TRAINER_JEFFREY_4, TRAINER_JEFFREY_5, MAP_ROUTE120),
|
||||
[REMATCH_CAMERON] = REMATCH(TRAINER_CAMERON_1, TRAINER_CAMERON_2, TRAINER_CAMERON_3, TRAINER_CAMERON_4, TRAINER_CAMERON_5, MAP_ROUTE123),
|
||||
[REMATCH_JACKI] = REMATCH(TRAINER_JACKI_1, TRAINER_JACKI_2, TRAINER_JACKI_3, TRAINER_JACKI_4, TRAINER_JACKI_5, MAP_ROUTE123),
|
||||
[REMATCH_WALTER] = REMATCH(TRAINER_WALTER_1, TRAINER_WALTER_2, TRAINER_WALTER_3, TRAINER_WALTER_4, TRAINER_WALTER_5, MAP_ROUTE121),
|
||||
[REMATCH_KAREN] = REMATCH(TRAINER_KAREN_1, TRAINER_KAREN_2, TRAINER_KAREN_3, TRAINER_KAREN_4, TRAINER_KAREN_5, MAP_ROUTE116),
|
||||
[REMATCH_JERRY] = REMATCH(TRAINER_JERRY_1, TRAINER_JERRY_2, TRAINER_JERRY_3, TRAINER_JERRY_4, TRAINER_JERRY_5, MAP_ROUTE116),
|
||||
[REMATCH_ANNA_AND_MEG] = REMATCH(TRAINER_ANNA_AND_MEG_1, TRAINER_ANNA_AND_MEG_2, TRAINER_ANNA_AND_MEG_3, TRAINER_ANNA_AND_MEG_4, TRAINER_ANNA_AND_MEG_5, MAP_ROUTE117),
|
||||
[REMATCH_ISABEL] = REMATCH(TRAINER_ISABEL_1, TRAINER_ISABEL_2, TRAINER_ISABEL_3, TRAINER_ISABEL_4, TRAINER_ISABEL_5, MAP_ROUTE110),
|
||||
[REMATCH_MIGUEL] = REMATCH(TRAINER_MIGUEL_1, TRAINER_MIGUEL_2, TRAINER_MIGUEL_3, TRAINER_MIGUEL_4, TRAINER_MIGUEL_5, MAP_ROUTE103),
|
||||
[REMATCH_TIMOTHY] = REMATCH(TRAINER_TIMOTHY_1, TRAINER_TIMOTHY_2, TRAINER_TIMOTHY_3, TRAINER_TIMOTHY_4, TRAINER_TIMOTHY_5, MAP_ROUTE115),
|
||||
[REMATCH_SHELBY] = REMATCH(TRAINER_SHELBY_1, TRAINER_SHELBY_2, TRAINER_SHELBY_3, TRAINER_SHELBY_4, TRAINER_SHELBY_5, MAP_MT_CHIMNEY),
|
||||
[REMATCH_CALVIN] = REMATCH(TRAINER_CALVIN_1, TRAINER_CALVIN_2, TRAINER_CALVIN_3, TRAINER_CALVIN_4, TRAINER_CALVIN_5, MAP_ROUTE102),
|
||||
[REMATCH_ELLIOT] = REMATCH(TRAINER_ELLIOT_1, TRAINER_ELLIOT_2, TRAINER_ELLIOT_3, TRAINER_ELLIOT_4, TRAINER_ELLIOT_5, MAP_ROUTE106),
|
||||
[REMATCH_ISAIAH] = REMATCH(TRAINER_ISAIAH_1, TRAINER_ISAIAH_2, TRAINER_ISAIAH_3, TRAINER_ISAIAH_4, TRAINER_ISAIAH_5, MAP_ROUTE128),
|
||||
[REMATCH_MARIA] = REMATCH(TRAINER_MARIA_1, TRAINER_MARIA_2, TRAINER_MARIA_3, TRAINER_MARIA_4, TRAINER_MARIA_5, MAP_ROUTE117),
|
||||
[REMATCH_ABIGAIL] = REMATCH(TRAINER_ABIGAIL_1, TRAINER_ABIGAIL_2, TRAINER_ABIGAIL_3, TRAINER_ABIGAIL_4, TRAINER_ABIGAIL_5, MAP_ROUTE110),
|
||||
[REMATCH_DYLAN] = REMATCH(TRAINER_DYLAN_1, TRAINER_DYLAN_2, TRAINER_DYLAN_3, TRAINER_DYLAN_4, TRAINER_DYLAN_5, MAP_ROUTE117),
|
||||
[REMATCH_KATELYN] = REMATCH(TRAINER_KATELYN_1, TRAINER_KATELYN_2, TRAINER_KATELYN_3, TRAINER_KATELYN_4, TRAINER_KATELYN_5, MAP_ROUTE128),
|
||||
[REMATCH_BENJAMIN] = REMATCH(TRAINER_BENJAMIN_1, TRAINER_BENJAMIN_2, TRAINER_BENJAMIN_3, TRAINER_BENJAMIN_4, TRAINER_BENJAMIN_5, MAP_ROUTE110),
|
||||
[REMATCH_PABLO] = REMATCH(TRAINER_PABLO_1, TRAINER_PABLO_2, TRAINER_PABLO_3, TRAINER_PABLO_4, TRAINER_PABLO_5, MAP_ROUTE126),
|
||||
[REMATCH_NICOLAS] = REMATCH(TRAINER_NICOLAS_1, TRAINER_NICOLAS_2, TRAINER_NICOLAS_3, TRAINER_NICOLAS_4, TRAINER_NICOLAS_5, MAP_METEOR_FALLS_1F_2R),
|
||||
[REMATCH_ROBERT] = REMATCH(TRAINER_ROBERT_1, TRAINER_ROBERT_2, TRAINER_ROBERT_3, TRAINER_ROBERT_4, TRAINER_ROBERT_5, MAP_ROUTE120),
|
||||
[REMATCH_LAO] = REMATCH(TRAINER_LAO_1, TRAINER_LAO_2, TRAINER_LAO_3, TRAINER_LAO_4, TRAINER_LAO_5, MAP_ROUTE113),
|
||||
[REMATCH_CYNDY] = REMATCH(TRAINER_CYNDY_1, TRAINER_CYNDY_2, TRAINER_CYNDY_3, TRAINER_CYNDY_4, TRAINER_CYNDY_5, MAP_ROUTE115),
|
||||
[REMATCH_MADELINE] = REMATCH(TRAINER_MADELINE_1, TRAINER_MADELINE_2, TRAINER_MADELINE_3, TRAINER_MADELINE_4, TRAINER_MADELINE_5, MAP_ROUTE113),
|
||||
[REMATCH_JENNY] = REMATCH(TRAINER_JENNY_1, TRAINER_JENNY_2, TRAINER_JENNY_3, TRAINER_JENNY_4, TRAINER_JENNY_5, MAP_ROUTE124),
|
||||
[REMATCH_DIANA] = REMATCH(TRAINER_DIANA_1, TRAINER_DIANA_2, TRAINER_DIANA_3, TRAINER_DIANA_4, TRAINER_DIANA_5, MAP_JAGGED_PASS),
|
||||
[REMATCH_AMY_AND_LIV] = REMATCH(TRAINER_AMY_AND_LIV_1, TRAINER_AMY_AND_LIV_2, TRAINER_AMY_AND_LIV_4, TRAINER_AMY_AND_LIV_5, TRAINER_AMY_AND_LIV_6, MAP_ROUTE103),
|
||||
[REMATCH_ERNEST] = REMATCH(TRAINER_ERNEST_1, TRAINER_ERNEST_2, TRAINER_ERNEST_3, TRAINER_ERNEST_4, TRAINER_ERNEST_5, MAP_ROUTE125),
|
||||
[REMATCH_CORY] = REMATCH(TRAINER_CORY_1, TRAINER_CORY_2, TRAINER_CORY_3, TRAINER_CORY_4, TRAINER_CORY_5, MAP_ROUTE108),
|
||||
[REMATCH_EDWIN] = REMATCH(TRAINER_EDWIN_1, TRAINER_EDWIN_2, TRAINER_EDWIN_3, TRAINER_EDWIN_4, TRAINER_EDWIN_5, MAP_ROUTE110),
|
||||
[REMATCH_LYDIA] = REMATCH(TRAINER_LYDIA_1, TRAINER_LYDIA_2, TRAINER_LYDIA_3, TRAINER_LYDIA_4, TRAINER_LYDIA_5, MAP_ROUTE117),
|
||||
[REMATCH_ISAAC] = REMATCH(TRAINER_ISAAC_1, TRAINER_ISAAC_2, TRAINER_ISAAC_3, TRAINER_ISAAC_4, TRAINER_ISAAC_5, MAP_ROUTE117),
|
||||
[REMATCH_GABRIELLE] = REMATCH(TRAINER_GABRIELLE_1, TRAINER_GABRIELLE_2, TRAINER_GABRIELLE_3, TRAINER_GABRIELLE_4, TRAINER_GABRIELLE_5, MAP_MT_PYRE_3F),
|
||||
[REMATCH_CATHERINE] = REMATCH(TRAINER_CATHERINE_1, TRAINER_CATHERINE_2, TRAINER_CATHERINE_3, TRAINER_CATHERINE_4, TRAINER_CATHERINE_5, MAP_ROUTE119),
|
||||
[REMATCH_JACKSON] = REMATCH(TRAINER_JACKSON_1, TRAINER_JACKSON_2, TRAINER_JACKSON_3, TRAINER_JACKSON_4, TRAINER_JACKSON_5, MAP_ROUTE119),
|
||||
[REMATCH_HALEY] = REMATCH(TRAINER_HALEY_1, TRAINER_HALEY_2, TRAINER_HALEY_3, TRAINER_HALEY_4, TRAINER_HALEY_5, MAP_ROUTE104),
|
||||
[REMATCH_JAMES] = REMATCH(TRAINER_JAMES_1, TRAINER_JAMES_2, TRAINER_JAMES_3, TRAINER_JAMES_4, TRAINER_JAMES_5, MAP_PETALBURG_WOODS),
|
||||
[REMATCH_TRENT] = REMATCH(TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5, MAP_ROUTE112),
|
||||
[REMATCH_SAWYER] = REMATCH(TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5, MAP_MT_CHIMNEY),
|
||||
[REMATCH_KIRA_AND_DAN] = REMATCH(TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5, MAP_ABANDONED_SHIP_ROOMS2_1F),
|
||||
[REMATCH_WALLY_VR] = REMATCH(TRAINER_WALLY_VR_2, TRAINER_WALLY_VR_3, TRAINER_WALLY_VR_4, TRAINER_WALLY_VR_5, TRAINER_WALLY_VR_5, MAP_VICTORY_ROAD_1F),
|
||||
[REMATCH_ROXANNE] = REMATCH(TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5, MAP_RUSTBORO_CITY),
|
||||
[REMATCH_BRAWLY] = REMATCH(TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5, MAP_DEWFORD_TOWN),
|
||||
[REMATCH_WATTSON] = REMATCH(TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5, MAP_MAUVILLE_CITY),
|
||||
[REMATCH_FLANNERY] = REMATCH(TRAINER_FLANNERY_1, TRAINER_FLANNERY_2, TRAINER_FLANNERY_3, TRAINER_FLANNERY_4, TRAINER_FLANNERY_5, MAP_LAVARIDGE_TOWN),
|
||||
[REMATCH_NORMAN] = REMATCH(TRAINER_NORMAN_1, TRAINER_NORMAN_2, TRAINER_NORMAN_3, TRAINER_NORMAN_4, TRAINER_NORMAN_5, MAP_PETALBURG_CITY),
|
||||
[REMATCH_WINONA] = REMATCH(TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5, MAP_FORTREE_CITY),
|
||||
[REMATCH_TATE_AND_LIZA] = REMATCH(TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5, MAP_MOSSDEEP_CITY),
|
||||
[REMATCH_JUAN] = REMATCH(TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5, MAP_SOOTOPOLIS_CITY),
|
||||
[REMATCH_SIDNEY] = REMATCH(TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, MAP_EVER_GRANDE_CITY),
|
||||
[REMATCH_PHOEBE] = REMATCH(TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, MAP_EVER_GRANDE_CITY),
|
||||
[REMATCH_GLACIA] = REMATCH(TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, MAP_EVER_GRANDE_CITY),
|
||||
[REMATCH_DRAKE] = REMATCH(TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, MAP_EVER_GRANDE_CITY),
|
||||
[REMATCH_WALLACE] = REMATCH(TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, MAP_EVER_GRANDE_CITY),
|
||||
};
|
||||
|
||||
static const u16 sBadgeFlags[NUM_BADGES] =
|
||||
@@ -684,7 +685,7 @@ u8 BattleSetup_GetEnvironmentId(void)
|
||||
if (MetatileBehavior_IsBridgeOverWater(tileBehavior) == TRUE)
|
||||
return BATTLE_ENVIRONMENT_WATER;
|
||||
}
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE113) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE113))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ROUTE113) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ROUTE113))
|
||||
return BATTLE_ENVIRONMENT_SAND;
|
||||
if (GetSavedWeather() == WEATHER_SANDSTORM)
|
||||
return BATTLE_ENVIRONMENT_SAND;
|
||||
@@ -1092,7 +1093,7 @@ static void TrainerBattleLoadArgs(const struct TrainerBattleParameter *specs, co
|
||||
|
||||
void SetMapVarsToTrainer(void)
|
||||
{
|
||||
if (sTrainerObjectEventLocalId != 0)
|
||||
if (sTrainerObjectEventLocalId != LOCALID_NONE)
|
||||
{
|
||||
gSpecialVar_LastTalked = sTrainerObjectEventLocalId;
|
||||
gSelectedObjectEvent = GetObjectEventIdByLocalIdAndMap(sTrainerObjectEventLocalId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
|
||||
|
||||
@@ -61,8 +61,8 @@ static void DoBrailleRegisteelEffect(void);
|
||||
bool8 ShouldDoBrailleDigEffect(void)
|
||||
{
|
||||
if (!FlagGet(FLAG_SYS_BRAILLE_DIG)
|
||||
&& (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SEALED_CHAMBER_OUTER_ROOM)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEALED_CHAMBER_OUTER_ROOM)))
|
||||
&& (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_SEALED_CHAMBER_OUTER_ROOM)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_SEALED_CHAMBER_OUTER_ROOM)))
|
||||
{
|
||||
if (gSaveBlock1Ptr->pos.x == 10 && gSaveBlock1Ptr->pos.y == 3)
|
||||
return TRUE;
|
||||
@@ -167,8 +167,8 @@ static void Task_SealedChamberShakingEffect(u8 taskId)
|
||||
bool8 ShouldDoBrailleRegirockEffect(void)
|
||||
{
|
||||
if (!FlagGet(FLAG_SYS_REGIROCK_PUZZLE_COMPLETED)
|
||||
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(DESERT_RUINS)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(DESERT_RUINS))
|
||||
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_DESERT_RUINS)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_DESERT_RUINS))
|
||||
{
|
||||
if (gSaveBlock1Ptr->pos.x == 6 && gSaveBlock1Ptr->pos.y == 23)
|
||||
{
|
||||
@@ -218,7 +218,7 @@ static void DoBrailleRegirockEffect(void)
|
||||
|
||||
bool8 ShouldDoBrailleRegisteelEffect(void)
|
||||
{
|
||||
if (!FlagGet(FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED) && (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ANCIENT_TOMB) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ANCIENT_TOMB)))
|
||||
if (!FlagGet(FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED) && (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ANCIENT_TOMB) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ANCIENT_TOMB)))
|
||||
{
|
||||
if (gSaveBlock1Ptr->pos.x == 8 && gSaveBlock1Ptr->pos.y == 25)
|
||||
{
|
||||
@@ -284,8 +284,8 @@ bool8 ShouldDoBrailleRegicePuzzle(void)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ISLAND_CAVE)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(ISLAND_CAVE))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ISLAND_CAVE)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ISLAND_CAVE))
|
||||
{
|
||||
if (FlagGet(FLAG_SYS_BRAILLE_REGICE_COMPLETED))
|
||||
return FALSE;
|
||||
|
||||
@@ -2306,13 +2306,13 @@ void GetNpcContestantLocalId(void)
|
||||
switch (contestant)
|
||||
{
|
||||
case 0:
|
||||
localId = 3;
|
||||
localId = LOCALID_CONTESTANT_1;
|
||||
break;
|
||||
case 1:
|
||||
localId = 4;
|
||||
localId = LOCALID_CONTESTANT_2;
|
||||
break;
|
||||
case 2:
|
||||
localId = 5;
|
||||
localId = LOCALID_CONTESTANT_3;
|
||||
break;
|
||||
default: // Invalid
|
||||
localId = 100;
|
||||
@@ -2512,7 +2512,12 @@ void LoadLinkContestPlayerPalettes(void)
|
||||
u8 objectEventId;
|
||||
int version;
|
||||
struct Sprite *sprite;
|
||||
static const u8 sContestantLocalIds[CONTESTANT_COUNT] = { 3, 4, 5, 14 };
|
||||
static const u8 sContestantLocalIds[CONTESTANT_COUNT] = {
|
||||
LOCALID_CONTESTANT_1,
|
||||
LOCALID_CONTESTANT_2,
|
||||
LOCALID_CONTESTANT_3,
|
||||
LOCALID_CONTESTANT_4,
|
||||
};
|
||||
|
||||
gReservedSpritePaletteCount = 12;
|
||||
if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
|
||||
|
||||
1
src/data/.gitignore
vendored
1
src/data/.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
heal_locations.h
|
||||
wild_encounters.h
|
||||
region_map/region_map_entries.h
|
||||
region_map/porymap_config.json
|
||||
|
||||
14
src/data/heal_locations.constants.json.txt
Normal file
14
src/data/heal_locations.constants.json.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
#ifndef GUARD_CONSTANTS_HEAL_LOCATIONS_H
|
||||
#define GUARD_CONSTANTS_HEAL_LOCATIONS_H
|
||||
|
||||
{{ doNotModifyHeader }}
|
||||
|
||||
enum {
|
||||
HEAL_LOCATION_NONE,
|
||||
## for heal_location in heal_locations
|
||||
{{ heal_location.id }},
|
||||
## endfor
|
||||
NUM_HEAL_LOCATIONS
|
||||
};
|
||||
|
||||
#endif // GUARD_CONSTANTS_HEAL_LOCATIONS_H
|
||||
@@ -1,25 +0,0 @@
|
||||
static const struct HealLocation sHealLocations[] =
|
||||
{
|
||||
[HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F - 1] = {MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), 4, 2},
|
||||
[HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F - 1] = {MAP_GROUP(LITTLEROOT_TOWN_MAYS_HOUSE_2F), MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_2F), 4, 2},
|
||||
[HEAL_LOCATION_PETALBURG_CITY - 1] = {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), 20, 17},
|
||||
[HEAL_LOCATION_SLATEPORT_CITY - 1] = {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), 19, 20},
|
||||
[HEAL_LOCATION_MAUVILLE_CITY - 1] = {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), 22, 6},
|
||||
[HEAL_LOCATION_RUSTBORO_CITY - 1] = {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), 16, 39},
|
||||
[HEAL_LOCATION_FORTREE_CITY - 1] = {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), 5, 7},
|
||||
[HEAL_LOCATION_LILYCOVE_CITY - 1] = {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), 24, 15},
|
||||
[HEAL_LOCATION_MOSSDEEP_CITY - 1] = {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), 28, 17},
|
||||
[HEAL_LOCATION_SOOTOPOLIS_CITY - 1] = {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), 43, 32},
|
||||
[HEAL_LOCATION_EVER_GRANDE_CITY - 1] = {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 27, 49},
|
||||
[HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE - 1] = {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 5, 9},
|
||||
[HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE - 1] = {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 14, 9},
|
||||
[HEAL_LOCATION_OLDALE_TOWN - 1] = {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), 6, 17},
|
||||
[HEAL_LOCATION_DEWFORD_TOWN - 1] = {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), 2, 11},
|
||||
[HEAL_LOCATION_LAVARIDGE_TOWN - 1] = {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), 9, 7},
|
||||
[HEAL_LOCATION_FALLARBOR_TOWN - 1] = {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), 14, 8},
|
||||
[HEAL_LOCATION_VERDANTURF_TOWN - 1] = {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), 16, 4},
|
||||
[HEAL_LOCATION_PACIFIDLOG_TOWN - 1] = {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), 8, 16},
|
||||
[HEAL_LOCATION_EVER_GRANDE_CITY_POKEMON_LEAGUE - 1] = {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 18, 6},
|
||||
[HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR - 1] = {MAP_GROUP(SOUTHERN_ISLAND_EXTERIOR), MAP_NUM(SOUTHERN_ISLAND_EXTERIOR), 15, 20},
|
||||
[HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST - 1] = {MAP_GROUP(BATTLE_FRONTIER_OUTSIDE_EAST), MAP_NUM(BATTLE_FRONTIER_OUTSIDE_EAST), 3, 52},
|
||||
};
|
||||
136
src/data/heal_locations.json
Normal file
136
src/data/heal_locations.json
Normal file
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"heal_locations": [
|
||||
{
|
||||
"id": "HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F",
|
||||
"map": "MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F",
|
||||
"x": 4,
|
||||
"y": 2
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F",
|
||||
"map": "MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F",
|
||||
"x": 4,
|
||||
"y": 2
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_PETALBURG_CITY",
|
||||
"map": "MAP_PETALBURG_CITY",
|
||||
"x": 20,
|
||||
"y": 17
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_SLATEPORT_CITY",
|
||||
"map": "MAP_SLATEPORT_CITY",
|
||||
"x": 19,
|
||||
"y": 20
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_MAUVILLE_CITY",
|
||||
"map": "MAP_MAUVILLE_CITY",
|
||||
"x": 22,
|
||||
"y": 6
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_RUSTBORO_CITY",
|
||||
"map": "MAP_RUSTBORO_CITY",
|
||||
"x": 16,
|
||||
"y": 39
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_FORTREE_CITY",
|
||||
"map": "MAP_FORTREE_CITY",
|
||||
"x": 5,
|
||||
"y": 7
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_LILYCOVE_CITY",
|
||||
"map": "MAP_LILYCOVE_CITY",
|
||||
"x": 24,
|
||||
"y": 15
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_MOSSDEEP_CITY",
|
||||
"map": "MAP_MOSSDEEP_CITY",
|
||||
"x": 28,
|
||||
"y": 17
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_SOOTOPOLIS_CITY",
|
||||
"map": "MAP_SOOTOPOLIS_CITY",
|
||||
"x": 43,
|
||||
"y": 32
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_EVER_GRANDE_CITY",
|
||||
"map": "MAP_EVER_GRANDE_CITY",
|
||||
"x": 27,
|
||||
"y": 49
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE",
|
||||
"map": "MAP_LITTLEROOT_TOWN",
|
||||
"x": 5,
|
||||
"y": 9
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE",
|
||||
"map": "MAP_LITTLEROOT_TOWN",
|
||||
"x": 14,
|
||||
"y": 9
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_OLDALE_TOWN",
|
||||
"map": "MAP_OLDALE_TOWN",
|
||||
"x": 6,
|
||||
"y": 17
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_DEWFORD_TOWN",
|
||||
"map": "MAP_DEWFORD_TOWN",
|
||||
"x": 2,
|
||||
"y": 11
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_LAVARIDGE_TOWN",
|
||||
"map": "MAP_LAVARIDGE_TOWN",
|
||||
"x": 9,
|
||||
"y": 7
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_FALLARBOR_TOWN",
|
||||
"map": "MAP_FALLARBOR_TOWN",
|
||||
"x": 14,
|
||||
"y": 8
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_VERDANTURF_TOWN",
|
||||
"map": "MAP_VERDANTURF_TOWN",
|
||||
"x": 16,
|
||||
"y": 4
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_PACIFIDLOG_TOWN",
|
||||
"map": "MAP_PACIFIDLOG_TOWN",
|
||||
"x": 8,
|
||||
"y": 16
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_EVER_GRANDE_CITY_POKEMON_LEAGUE",
|
||||
"map": "MAP_EVER_GRANDE_CITY",
|
||||
"x": 18,
|
||||
"y": 6
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR",
|
||||
"map": "MAP_SOUTHERN_ISLAND_EXTERIOR",
|
||||
"x": 15,
|
||||
"y": 20
|
||||
},
|
||||
{
|
||||
"id": "HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST",
|
||||
"map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
|
||||
"x": 3,
|
||||
"y": 52
|
||||
}
|
||||
]
|
||||
}
|
||||
28
src/data/heal_locations.json.txt
Normal file
28
src/data/heal_locations.json.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
{{ doNotModifyHeader }}
|
||||
|
||||
static const struct HealLocation sHealLocations[NUM_HEAL_LOCATIONS - 1] = {
|
||||
## for heal_location in heal_locations
|
||||
[{{ heal_location.id }} - 1] = {
|
||||
.mapGroup = MAP_GROUP({{ heal_location.map }}),
|
||||
.mapNum = MAP_NUM({{ heal_location.map }}),
|
||||
.x = {{ heal_location.x }},
|
||||
.y = {{ heal_location.y }},
|
||||
},
|
||||
## endfor
|
||||
};
|
||||
|
||||
static const u16 sWhiteoutRespawnHealCenterMapIdxs[][2] = {
|
||||
## for heal_location in heal_locations
|
||||
{% if existsIn(heal_location, "respawn_map") %}
|
||||
[{{ heal_location.id }} - 1] = { MAP_GROUP({{ heal_location.respawn_map }}), MAP_NUM({{ heal_location.respawn_map }})},
|
||||
{% endif %}
|
||||
## endfor
|
||||
};
|
||||
|
||||
static const u8 sWhiteoutRespawnHealerNpcIds[] = {
|
||||
## for heal_location in heal_locations
|
||||
{% if existsIn(heal_location, "respawn_npc") %}
|
||||
[{{ heal_location.id }} - 1] = {{ heal_location.respawn_npc }},
|
||||
{% endif %}
|
||||
## endfor
|
||||
};
|
||||
22
src/data/region_map/region_map_sections.constants.json.txt
Normal file
22
src/data/region_map/region_map_sections.constants.json.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
{{ doNotModifyHeader }}
|
||||
#ifndef GUARD_CONSTANTS_REGION_MAP_SECTIONS_H
|
||||
#define GUARD_CONSTANTS_REGION_MAP_SECTIONS_H
|
||||
|
||||
enum {
|
||||
## for map_section in map_sections
|
||||
{{ map_section.id }},
|
||||
## endfor
|
||||
MAPSEC_NONE,
|
||||
MAPSEC_COUNT
|
||||
};
|
||||
|
||||
// Special location IDs that use the same value space as MAPSECs.
|
||||
#define METLOC_SPECIAL_EGG 0xFD
|
||||
#define METLOC_IN_GAME_TRADE 0xFE
|
||||
#define METLOC_FATEFUL_ENCOUNTER 0xFF
|
||||
|
||||
#define KANTO_MAPSEC_START MAPSEC_PALLET_TOWN
|
||||
#define KANTO_MAPSEC_END MAPSEC_SPECIAL_AREA
|
||||
#define KANTO_MAPSEC_COUNT (KANTO_MAPSEC_END - KANTO_MAPSEC_START + 1)
|
||||
|
||||
#endif // GUARD_CONSTANTS_REGION_MAP_SECTIONS_H
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,21 +3,25 @@
|
||||
#define GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H
|
||||
|
||||
## for map_section in map_sections
|
||||
{% if isEmptyString(getVar(map_section.name)) and not existsIn(map_section, "name_clone") %}{{ setVar(map_section.name, map_section.map_section) }}{% endif %}
|
||||
{% if existsIn(map_section, "name") and isEmptyString(getVar(map_section.name)) and not existsIn(map_section, "name_clone") %}{{ setVar(map_section.name, map_section.id) }}{% endif %}
|
||||
## endfor
|
||||
|
||||
## for map_section in map_sections
|
||||
{% if getVar(map_section.name) == map_section.map_section %}
|
||||
{% if existsIn(map_section, "name") %}
|
||||
{% if getVar(map_section.name) == map_section.id %}
|
||||
static const u8 sMapName_{{ cleanString(map_section.name) }}[] = _("{{ map_section.name }}");
|
||||
{% endif %}
|
||||
{% if existsIn(map_section, "name_clone") %}
|
||||
static const u8 sMapName_{{ cleanString(map_section.name) }}_Clone[] = _("{{ map_section.name }}");
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
## endfor
|
||||
|
||||
const struct RegionMapLocation gRegionMapEntries[] = {
|
||||
## for map_section in map_sections
|
||||
[{{ map_section.map_section }}] = { {{ map_section.x }}, {{ map_section.y }}, {{ map_section.width }}, {{ map_section.height }}, sMapName_{{ cleanString(map_section.name) }}{% if existsIn(map_section, "name_clone") %}_Clone{% endif %} },
|
||||
{% if existsIn(map_section, "x") and existsIn(map_section, "y") and existsIn(map_section, "width") and existsIn(map_section, "height") and existsIn(map_section, "name") %}
|
||||
[{{ map_section.id }}] = { {{ map_section.x }}, {{ map_section.y }}, {{ map_section.width }}, {{ map_section.height }}, sMapName_{{ cleanString(map_section.name) }}{% if existsIn(map_section, "name_clone") %}_Clone{% endif %} },
|
||||
{% endif %}
|
||||
## endfor
|
||||
};
|
||||
|
||||
|
||||
@@ -70,8 +70,8 @@ const struct WildPokemonHeader {{ wild_encounter_group.label }}[] =
|
||||
{
|
||||
## for encounter in wild_encounter_group.encounters
|
||||
{
|
||||
.mapGroup = {% if wild_encounter_group.for_maps %}MAP_GROUP({{ removePrefix(encounter.map, "MAP_") }}){% else %}0{% endif %},
|
||||
.mapNum = {% if wild_encounter_group.for_maps %}MAP_NUM({{ removePrefix(encounter.map, "MAP_") }}){% else %}{{ loop.index1 }}{% endif %},
|
||||
.mapGroup = {% if wild_encounter_group.for_maps %}MAP_GROUP({{ encounter.map }}){% else %}0{% endif %},
|
||||
.mapNum = {% if wild_encounter_group.for_maps %}MAP_NUM({{ encounter.map }}){% else %}{{ loop.index1 }}{% endif %},
|
||||
.landMonsInfo = {% if existsIn(encounter, "land_mons") %}&{{ encounter.base_label }}_LandMonsInfo{% else %}NULL{% endif %},
|
||||
.waterMonsInfo = {% if existsIn(encounter, "water_mons") %}&{{ encounter.base_label }}_WaterMonsInfo{% else %}NULL{% endif %},
|
||||
.rockSmashMonsInfo = {% if existsIn(encounter, "rock_smash_mons") %}&{{ encounter.base_label }}_RockSmashMonsInfo{% else %}NULL{% endif %},
|
||||
@@ -79,8 +79,8 @@ const struct WildPokemonHeader {{ wild_encounter_group.label }}[] =
|
||||
},
|
||||
## endfor
|
||||
{
|
||||
.mapGroup = MAP_GROUP(UNDEFINED),
|
||||
.mapNum = MAP_NUM(UNDEFINED),
|
||||
.mapGroup = MAP_GROUP(MAP_UNDEFINED),
|
||||
.mapNum = MAP_NUM(MAP_UNDEFINED),
|
||||
.landMonsInfo = NULL,
|
||||
.waterMonsInfo = NULL,
|
||||
.rockSmashMonsInfo = NULL,
|
||||
|
||||
@@ -98,7 +98,7 @@ void FreezeObjects_WaitForPlayerAndSelected(void)
|
||||
|
||||
void ScriptUnfreezeObjectEvents(void)
|
||||
{
|
||||
u8 playerObjectId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
|
||||
u8 playerObjectId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0);
|
||||
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]);
|
||||
ScriptMovement_UnfreezeObjectEvents();
|
||||
UnfreezeObjectEvents();
|
||||
@@ -110,7 +110,7 @@ void UnionRoom_UnlockPlayerAndChatPartner(void)
|
||||
|
||||
if (gObjectEvents[gSelectedObjectEvent].active)
|
||||
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gSelectedObjectEvent]);
|
||||
playerObjectId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
|
||||
playerObjectId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0);
|
||||
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]);
|
||||
ScriptMovement_UnfreezeObjectEvents();
|
||||
UnfreezeObjectEvents();
|
||||
|
||||
@@ -30,6 +30,17 @@
|
||||
#include "constants/trainer_types.h"
|
||||
#include "constants/union_room.h"
|
||||
|
||||
#define SPECIAL_LOCALIDS_START (min(LOCALID_CAMERA, \
|
||||
min(LOCALID_PLAYER, \
|
||||
LOCALID_BERRY_BLENDER_PLAYER_END - MAX_RFU_PLAYERS + 1)))
|
||||
|
||||
// The object event templates on a map cannot use the special IDs listed above or they can behave unexpectedly.
|
||||
// For more details on these special IDs see their definitions in 'include/constants/event_objects.h'.
|
||||
// OBJECT_EVENT_TEMPLATES_COUNT should always be low enough that it doesn't overlap with these IDs.
|
||||
#if OBJECT_EVENT_TEMPLATES_COUNT >= SPECIAL_LOCALIDS_START
|
||||
#error "OBJECT_EVENT_TEMPLATES_COUNT is too large. Object event local IDs may overlap with reserved IDs."
|
||||
#endif
|
||||
|
||||
// this file was known as evobjmv.c in Game Freak's original source
|
||||
|
||||
enum {
|
||||
@@ -1171,9 +1182,9 @@ static const u8 sPlayerDirectionToCopyDirection[][4] = {
|
||||
static void ClearObjectEvent(struct ObjectEvent *objectEvent)
|
||||
{
|
||||
*objectEvent = (struct ObjectEvent){};
|
||||
objectEvent->localId = OBJ_EVENT_ID_PLAYER;
|
||||
objectEvent->mapNum = MAP_NUM(UNDEFINED);
|
||||
objectEvent->mapGroup = MAP_GROUP(UNDEFINED);
|
||||
objectEvent->localId = LOCALID_PLAYER;
|
||||
objectEvent->mapNum = MAP_NUM(MAP_UNDEFINED);
|
||||
objectEvent->mapGroup = MAP_GROUP(MAP_UNDEFINED);
|
||||
objectEvent->movementActionId = MOVEMENT_ACTION_NONE;
|
||||
}
|
||||
|
||||
@@ -1222,7 +1233,7 @@ u8 GetFirstInactiveObjectEventId(void)
|
||||
|
||||
u8 GetObjectEventIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId)
|
||||
{
|
||||
if (localId < OBJ_EVENT_ID_PLAYER)
|
||||
if (localId < LOCALID_PLAYER)
|
||||
return GetObjectEventIdByLocalIdAndMapInternal(localId, mapNum, mapGroupId);
|
||||
|
||||
return GetObjectEventIdByLocalId(localId);
|
||||
@@ -6171,7 +6182,7 @@ bool8 MovementAction_FacePlayer_Step0(struct ObjectEvent *objectEvent, struct Sp
|
||||
{
|
||||
u8 playerObjectId;
|
||||
|
||||
if (!TryGetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0, &playerObjectId))
|
||||
if (!TryGetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0, &playerObjectId))
|
||||
FaceDirection(objectEvent, sprite, GetDirectionToFace(objectEvent->currentCoords.x,
|
||||
objectEvent->currentCoords.y,
|
||||
gObjectEvents[playerObjectId].currentCoords.x,
|
||||
@@ -6184,7 +6195,7 @@ bool8 MovementAction_FaceAwayPlayer_Step0(struct ObjectEvent *objectEvent, struc
|
||||
{
|
||||
u8 playerObjectId;
|
||||
|
||||
if (!TryGetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0, &playerObjectId))
|
||||
if (!TryGetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0, &playerObjectId))
|
||||
FaceDirection(objectEvent, sprite, GetOppositeDirection(GetDirectionToFace(objectEvent->currentCoords.x,
|
||||
objectEvent->currentCoords.y,
|
||||
gObjectEvents[playerObjectId].currentCoords.x,
|
||||
@@ -8814,7 +8825,7 @@ u8 MovementAction_LockAnim_Step0(struct ObjectEvent *objectEvent, struct Sprite
|
||||
bool32 found = FALSE;
|
||||
for (i = 0; i < OBJECT_EVENTS_COUNT; i++)
|
||||
{
|
||||
if (firstFreeSlot == OBJECT_EVENTS_COUNT && sLockedAnimObjectEvents->localIds[i] == 0)
|
||||
if (firstFreeSlot == OBJECT_EVENTS_COUNT && sLockedAnimObjectEvents->localIds[i] == LOCALID_NONE)
|
||||
firstFreeSlot = i;
|
||||
|
||||
if (sLockedAnimObjectEvents->localIds[i] == objectEvent->localId)
|
||||
@@ -8854,7 +8865,7 @@ u8 MovementAction_UnlockAnim_Step0(struct ObjectEvent *objectEvent, struct Sprit
|
||||
index = FindLockedObjectEventIndex(objectEvent);
|
||||
if (index != OBJECT_EVENTS_COUNT)
|
||||
{
|
||||
sLockedAnimObjectEvents->localIds[index] = 0;
|
||||
sLockedAnimObjectEvents->localIds[index] = LOCALID_NONE;
|
||||
sLockedAnimObjectEvents->count--;
|
||||
ableToStore = TRUE;
|
||||
}
|
||||
|
||||
@@ -321,8 +321,8 @@ static u8 GetValidMewMoveDirection(u8 ignoredDir)
|
||||
void UpdateFarawayIslandStepCounter(void)
|
||||
{
|
||||
u16 steps = VarGet(VAR_FARAWAY_ISLAND_STEP_COUNTER);
|
||||
if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(FARAWAY_ISLAND_INTERIOR)
|
||||
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(FARAWAY_ISLAND_INTERIOR))
|
||||
if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_FARAWAY_ISLAND_INTERIOR)
|
||||
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_FARAWAY_ISLAND_INTERIOR))
|
||||
{
|
||||
steps++;
|
||||
if (steps >= 9999)
|
||||
@@ -334,8 +334,8 @@ void UpdateFarawayIslandStepCounter(void)
|
||||
|
||||
bool8 ObjectEventIsFarawayIslandMew(struct ObjectEvent *objectEvent)
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(FARAWAY_ISLAND_INTERIOR)
|
||||
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(FARAWAY_ISLAND_INTERIOR))
|
||||
if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_FARAWAY_ISLAND_INTERIOR)
|
||||
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_FARAWAY_ISLAND_INTERIOR))
|
||||
{
|
||||
if (objectEvent->graphicsId == OBJ_EVENT_GFX_MEW)
|
||||
return TRUE;
|
||||
@@ -346,8 +346,8 @@ bool8 ObjectEventIsFarawayIslandMew(struct ObjectEvent *objectEvent)
|
||||
|
||||
bool8 IsMewPlayingHideAndSeek(void)
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(FARAWAY_ISLAND_INTERIOR)
|
||||
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(FARAWAY_ISLAND_INTERIOR))
|
||||
if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_FARAWAY_ISLAND_INTERIOR)
|
||||
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_FARAWAY_ISLAND_INTERIOR))
|
||||
{
|
||||
if (FlagGet(FLAG_CAUGHT_MEW) != TRUE && FlagGet(FLAG_HIDE_MEW) != TRUE)
|
||||
return TRUE;
|
||||
|
||||
@@ -137,7 +137,7 @@ int ProcessPlayerFieldInput(struct FieldInput *input)
|
||||
u8 playerDirection;
|
||||
u16 metatileBehavior;
|
||||
|
||||
gSpecialVar_LastTalked = 0;
|
||||
gSpecialVar_LastTalked = LOCALID_NONE;
|
||||
gSelectedObjectEvent = 0;
|
||||
|
||||
playerDirection = GetPlayerFacingDirection();
|
||||
@@ -268,7 +268,7 @@ const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatil
|
||||
else
|
||||
objectEventId = GetObjectEventIdByPosition(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->elevation);
|
||||
|
||||
if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == OBJ_EVENT_ID_PLAYER)
|
||||
if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == LOCALID_PLAYER)
|
||||
return NULL;
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
@@ -289,14 +289,14 @@ static const u8 *GetInteractedObjectEventScript(struct MapPosition *position, u8
|
||||
const u8 *script;
|
||||
|
||||
objectEventId = GetObjectEventIdByPosition(position->x, position->y, position->elevation);
|
||||
if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == OBJ_EVENT_ID_PLAYER)
|
||||
if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == LOCALID_PLAYER)
|
||||
{
|
||||
if (MetatileBehavior_IsCounter(metatileBehavior) != TRUE)
|
||||
return NULL;
|
||||
|
||||
// Look for an object event on the other side of the counter.
|
||||
objectEventId = GetObjectEventIdByPosition(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->elevation);
|
||||
if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == OBJ_EVENT_ID_PLAYER)
|
||||
if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == LOCALID_PLAYER)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -814,7 +814,7 @@ static void SetupWarp(struct MapHeader *unused, s8 warpEventId, struct MapPositi
|
||||
warpEvent = &gMapHeader.events->warps[warpEventId];
|
||||
}
|
||||
|
||||
if (warpEvent->mapNum == MAP_NUM(DYNAMIC))
|
||||
if (warpEvent->mapNum == MAP_NUM(MAP_DYNAMIC))
|
||||
{
|
||||
SetWarpDestinationToDynamicWarp(warpEvent->warpId);
|
||||
}
|
||||
@@ -825,7 +825,7 @@ static void SetupWarp(struct MapHeader *unused, s8 warpEventId, struct MapPositi
|
||||
SetWarpDestinationToMapWarp(warpEvent->mapGroup, warpEvent->mapNum, warpEvent->warpId);
|
||||
UpdateEscapeWarp(position->x, position->y);
|
||||
mapHeader = Overworld_GetMapHeaderByGroupAndId(warpEvent->mapGroup, warpEvent->mapNum);
|
||||
if (mapHeader->events->warps[warpEvent->warpId].mapNum == MAP_NUM(DYNAMIC))
|
||||
if (mapHeader->events->warps[warpEvent->warpId].mapNum == MAP_NUM(MAP_DYNAMIC))
|
||||
SetDynamicWarp(mapHeader->events->warps[warpEventId].warpId, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, warpEventId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -562,8 +562,8 @@ static bool8 ShouldUseMultiCorridorDoor(void)
|
||||
{
|
||||
if (FlagGet(FLAG_ENABLE_MULTI_CORRIDOR_DOOR))
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -776,7 +776,7 @@ bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction)
|
||||
playerY = object->currentCoords.y;
|
||||
|
||||
MoveCoords(direction, &playerX, &playerY);
|
||||
mewObjectId = GetObjectEventIdByLocalIdAndMap(1, MAP_NUM(FARAWAY_ISLAND_INTERIOR), MAP_GROUP(FARAWAY_ISLAND_INTERIOR));
|
||||
mewObjectId = GetObjectEventIdByLocalIdAndMap(LOCALID_FARAWAY_ISLAND_MEW, MAP_NUM(MAP_FARAWAY_ISLAND_INTERIOR), MAP_GROUP(MAP_FARAWAY_ISLAND_INTERIOR));
|
||||
if (mewObjectId == OBJECT_EVENTS_COUNT)
|
||||
return FALSE;
|
||||
|
||||
@@ -1362,7 +1362,7 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender)
|
||||
u8 objectEventId;
|
||||
struct ObjectEvent *objectEvent;
|
||||
|
||||
playerObjEventTemplate.localId = OBJ_EVENT_ID_PLAYER;
|
||||
playerObjEventTemplate.localId = LOCALID_PLAYER;
|
||||
playerObjEventTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gender);
|
||||
playerObjEventTemplate.x = x - MAP_OFFSET;
|
||||
playerObjEventTemplate.y = y - MAP_OFFSET;
|
||||
|
||||
@@ -334,7 +334,7 @@ static void Task_ExitDoor(u8 taskId)
|
||||
{
|
||||
u8 objEventId;
|
||||
SetPlayerVisibility(TRUE);
|
||||
objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
|
||||
objEventId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0);
|
||||
ObjectEventSetHeldMovement(&gObjectEvents[objEventId], MOVEMENT_ACTION_WALK_NORMAL_DOWN);
|
||||
task->tState = 2;
|
||||
}
|
||||
@@ -344,7 +344,7 @@ static void Task_ExitDoor(u8 taskId)
|
||||
{
|
||||
u8 objEventId;
|
||||
task->data[1] = FieldAnimateDoorClose(*x, *y);
|
||||
objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
|
||||
objEventId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0);
|
||||
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId]);
|
||||
task->tState = 3;
|
||||
}
|
||||
@@ -382,7 +382,7 @@ static void Task_ExitNonAnimDoor(u8 taskId)
|
||||
{
|
||||
u8 objEventId;
|
||||
SetPlayerVisibility(TRUE);
|
||||
objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
|
||||
objEventId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0);
|
||||
ObjectEventSetHeldMovement(&gObjectEvents[objEventId], GetWalkNormalMovementAction(GetPlayerFacingDirection()));
|
||||
task->tState = 2;
|
||||
}
|
||||
@@ -693,9 +693,9 @@ static void Task_DoDoorWarp(u8 taskId)
|
||||
if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE)
|
||||
{
|
||||
u8 objEventId;
|
||||
objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
|
||||
objEventId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0);
|
||||
ObjectEventClearHeldMovementIfActive(&gObjectEvents[objEventId]);
|
||||
objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
|
||||
objEventId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0);
|
||||
ObjectEventSetHeldMovement(&gObjectEvents[objEventId], MOVEMENT_ACTION_WALK_NORMAL_UP);
|
||||
task->tState = 2;
|
||||
}
|
||||
@@ -705,7 +705,7 @@ static void Task_DoDoorWarp(u8 taskId)
|
||||
{
|
||||
u8 objEventId;
|
||||
task->data[1] = FieldAnimateDoorClose(*x, *y - 1);
|
||||
objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
|
||||
objEventId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0);
|
||||
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId]);
|
||||
SetPlayerVisibility(FALSE);
|
||||
task->tState = 3;
|
||||
|
||||
@@ -312,7 +312,7 @@ void Task_HandlePorthole(u8 taskId)
|
||||
case IDLE_CHECK:
|
||||
if (JOY_NEW(A_BUTTON))
|
||||
data[1] = 1;
|
||||
if (!ScriptMovement_IsObjectMovementFinished(OBJ_EVENT_ID_PLAYER, location->mapNum, location->mapGroup))
|
||||
if (!ScriptMovement_IsObjectMovementFinished(LOCALID_PLAYER, location->mapNum, location->mapGroup))
|
||||
return;
|
||||
if (CountSSTidalStep(1) == TRUE)
|
||||
{
|
||||
@@ -334,12 +334,12 @@ void Task_HandlePorthole(u8 taskId)
|
||||
|
||||
if (*cruiseState == SS_TIDAL_DEPART_SLATEPORT)
|
||||
{
|
||||
ScriptMovement_StartObjectMovementScript(OBJ_EVENT_ID_PLAYER, location->mapNum, location->mapGroup, sSSTidalSailEastMovementScript);
|
||||
ScriptMovement_StartObjectMovementScript(LOCALID_PLAYER, location->mapNum, location->mapGroup, sSSTidalSailEastMovementScript);
|
||||
data[0] = IDLE_CHECK;
|
||||
}
|
||||
else
|
||||
{
|
||||
ScriptMovement_StartObjectMovementScript(OBJ_EVENT_ID_PLAYER, location->mapNum, location->mapGroup, sSSTidalSailWestMovementScript);
|
||||
ScriptMovement_StartObjectMovementScript(LOCALID_PLAYER, location->mapNum, location->mapGroup, sSSTidalSailWestMovementScript);
|
||||
data[0] = IDLE_CHECK;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -263,7 +263,7 @@ u16 GetRecordedCyclingRoadResults(void)
|
||||
|
||||
void UpdateCyclingRoadState(void)
|
||||
{
|
||||
if (gLastUsedWarp.mapNum == MAP_NUM(ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE) && gLastUsedWarp.mapGroup == MAP_GROUP(ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE))
|
||||
if (gLastUsedWarp.mapNum == MAP_NUM(MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE) && gLastUsedWarp.mapGroup == MAP_GROUP(MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE))
|
||||
return;
|
||||
|
||||
if (VarGet(VAR_CYCLING_CHALLENGE_STATE) == 2 || VarGet(VAR_CYCLING_CHALLENGE_STATE) == 3)
|
||||
@@ -313,39 +313,39 @@ u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y)
|
||||
case SS_TIDAL_DEPART_SLATEPORT:
|
||||
if (*varCruiseStepCount < 60)
|
||||
{
|
||||
*mapNum = MAP_NUM(ROUTE134);
|
||||
*mapNum = MAP_NUM(MAP_ROUTE134);
|
||||
*x = *varCruiseStepCount + 19;
|
||||
}
|
||||
else if (*varCruiseStepCount < 140)
|
||||
{
|
||||
*mapNum = MAP_NUM(ROUTE133);
|
||||
*mapNum = MAP_NUM(MAP_ROUTE133);
|
||||
*x = *varCruiseStepCount - 60;
|
||||
}
|
||||
else
|
||||
{
|
||||
*mapNum = MAP_NUM(ROUTE132);
|
||||
*mapNum = MAP_NUM(MAP_ROUTE132);
|
||||
*x = *varCruiseStepCount - 140;
|
||||
}
|
||||
break;
|
||||
case SS_TIDAL_HALFWAY_SLATEPORT:
|
||||
if (*varCruiseStepCount < 66)
|
||||
{
|
||||
*mapNum = MAP_NUM(ROUTE132);
|
||||
*mapNum = MAP_NUM(MAP_ROUTE132);
|
||||
*x = 65 - *varCruiseStepCount;
|
||||
}
|
||||
else if (*varCruiseStepCount < 146)
|
||||
{
|
||||
*mapNum = MAP_NUM(ROUTE133);
|
||||
*mapNum = MAP_NUM(MAP_ROUTE133);
|
||||
*x = 145 - *varCruiseStepCount;
|
||||
}
|
||||
else
|
||||
{
|
||||
*mapNum = MAP_NUM(ROUTE134);
|
||||
*mapNum = MAP_NUM(MAP_ROUTE134);
|
||||
*x = 224 - *varCruiseStepCount;
|
||||
}
|
||||
break;
|
||||
}
|
||||
*mapGroup = MAP_GROUP(ROUTE132);
|
||||
*mapGroup = MAP_GROUP(MAP_ROUTE132);
|
||||
*y = 20;
|
||||
return SS_TIDAL_LOCATION_CURRENTS;
|
||||
}
|
||||
@@ -563,8 +563,8 @@ void SpawnLinkPartnerObjectEvent(void)
|
||||
linkSpriteId = OBJ_EVENT_GFX_RIVAL_MAY_NORMAL;
|
||||
break;
|
||||
}
|
||||
SpawnSpecialObjectEventParameterized(linkSpriteId, movementTypes[j], 240 - i, coordOffsets[j][0] + x + MAP_OFFSET, coordOffsets[j][1] + y + MAP_OFFSET, 0);
|
||||
LoadLinkPartnerObjectEventSpritePalette(linkSpriteId, 240 - i, i);
|
||||
SpawnSpecialObjectEventParameterized(linkSpriteId, movementTypes[j], LOCALID_BERRY_BLENDER_PLAYER_END - i, coordOffsets[j][0] + x + MAP_OFFSET, coordOffsets[j][1] + y + MAP_OFFSET, 0);
|
||||
LoadLinkPartnerObjectEventSpritePalette(linkSpriteId, LOCALID_BERRY_BLENDER_PLAYER_END - i, i);
|
||||
j++;
|
||||
if (j == MAX_LINK_PLAYERS)
|
||||
j = 0;
|
||||
@@ -927,9 +927,9 @@ u8 GetBattleOutcome(void)
|
||||
void CableCarWarp(void)
|
||||
{
|
||||
if (gSpecialVar_0x8004 != 0)
|
||||
SetWarpDestination(MAP_GROUP(ROUTE112_CABLE_CAR_STATION), MAP_NUM(ROUTE112_CABLE_CAR_STATION), WARP_ID_NONE, 6, 4);
|
||||
SetWarpDestination(MAP_GROUP(MAP_ROUTE112_CABLE_CAR_STATION), MAP_NUM(MAP_ROUTE112_CABLE_CAR_STATION), WARP_ID_NONE, 6, 4);
|
||||
else
|
||||
SetWarpDestination(MAP_GROUP(MT_CHIMNEY_CABLE_CAR_STATION), MAP_NUM(MT_CHIMNEY_CABLE_CAR_STATION), WARP_ID_NONE, 6, 4);
|
||||
SetWarpDestination(MAP_GROUP(MAP_MT_CHIMNEY_CABLE_CAR_STATION), MAP_NUM(MAP_MT_CHIMNEY_CABLE_CAR_STATION), WARP_ID_NONE, 6, 4);
|
||||
}
|
||||
|
||||
void SetHiddenItemFlag(void)
|
||||
@@ -1252,7 +1252,7 @@ void SpawnCameraObject(void)
|
||||
{
|
||||
u8 obj = SpawnSpecialObjectEventParameterized(OBJ_EVENT_GFX_BOY_1,
|
||||
MOVEMENT_TYPE_FACE_DOWN,
|
||||
OBJ_EVENT_ID_CAMERA,
|
||||
LOCALID_CAMERA,
|
||||
gSaveBlock1Ptr->pos.x + MAP_OFFSET,
|
||||
gSaveBlock1Ptr->pos.y + MAP_OFFSET,
|
||||
3); // elevation
|
||||
@@ -1263,7 +1263,7 @@ void SpawnCameraObject(void)
|
||||
void RemoveCameraObject(void)
|
||||
{
|
||||
CameraObjectSetFollowedSpriteId(GetPlayerAvatarSpriteId());
|
||||
RemoveObjectEventByLocalIdAndMap(OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
|
||||
RemoveObjectEventByLocalIdAndMap(LOCALID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
|
||||
}
|
||||
|
||||
u8 GetPokeblockNameByMonNature(void)
|
||||
@@ -1398,8 +1398,8 @@ bool8 Special_AreLeadMonEVsMaxedOut(void)
|
||||
u8 TryUpdateRusturfTunnelState(void)
|
||||
{
|
||||
if (!FlagGet(FLAG_RUSTURF_TUNNEL_OPENED)
|
||||
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(RUSTURF_TUNNEL)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(RUSTURF_TUNNEL))
|
||||
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_RUSTURF_TUNNEL)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_RUSTURF_TUNNEL))
|
||||
{
|
||||
if (FlagGet(FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1))
|
||||
{
|
||||
@@ -1662,8 +1662,8 @@ bool8 IsBadEggInParty(void)
|
||||
|
||||
bool8 InMultiPartnerRoom(void)
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) &&
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) &&
|
||||
VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_MULTIS)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
@@ -1749,22 +1749,22 @@ void SetDeptStoreFloor(void)
|
||||
u8 deptStoreFloor;
|
||||
switch (gSaveBlock1Ptr->dynamicWarp.mapNum)
|
||||
{
|
||||
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F):
|
||||
case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F):
|
||||
deptStoreFloor = DEPT_STORE_FLOORNUM_1F;
|
||||
break;
|
||||
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F):
|
||||
case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F):
|
||||
deptStoreFloor = DEPT_STORE_FLOORNUM_2F;
|
||||
break;
|
||||
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F):
|
||||
case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F):
|
||||
deptStoreFloor = DEPT_STORE_FLOORNUM_3F;
|
||||
break;
|
||||
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F):
|
||||
case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F):
|
||||
deptStoreFloor = DEPT_STORE_FLOORNUM_4F;
|
||||
break;
|
||||
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F):
|
||||
case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F):
|
||||
deptStoreFloor = DEPT_STORE_FLOORNUM_5F;
|
||||
break;
|
||||
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP):
|
||||
case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP):
|
||||
deptStoreFloor = DEPT_STORE_FLOORNUM_ROOFTOP;
|
||||
break;
|
||||
default:
|
||||
@@ -1779,27 +1779,27 @@ u16 GetDeptStoreDefaultFloorChoice(void)
|
||||
sLilycoveDeptStore_NeverRead = 0;
|
||||
sLilycoveDeptStore_DefaultFloorChoice = 0;
|
||||
|
||||
if (gSaveBlock1Ptr->dynamicWarp.mapGroup == MAP_GROUP(LILYCOVE_CITY_DEPARTMENT_STORE_1F))
|
||||
if (gSaveBlock1Ptr->dynamicWarp.mapGroup == MAP_GROUP(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F))
|
||||
{
|
||||
switch (gSaveBlock1Ptr->dynamicWarp.mapNum)
|
||||
{
|
||||
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F):
|
||||
case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F):
|
||||
sLilycoveDeptStore_NeverRead = 0;
|
||||
sLilycoveDeptStore_DefaultFloorChoice = 0;
|
||||
break;
|
||||
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F):
|
||||
case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F):
|
||||
sLilycoveDeptStore_NeverRead = 0;
|
||||
sLilycoveDeptStore_DefaultFloorChoice = 1;
|
||||
break;
|
||||
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F):
|
||||
case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F):
|
||||
sLilycoveDeptStore_NeverRead = 0;
|
||||
sLilycoveDeptStore_DefaultFloorChoice = 2;
|
||||
break;
|
||||
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F):
|
||||
case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F):
|
||||
sLilycoveDeptStore_NeverRead = 0;
|
||||
sLilycoveDeptStore_DefaultFloorChoice = 3;
|
||||
break;
|
||||
case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F):
|
||||
case MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F):
|
||||
sLilycoveDeptStore_NeverRead = 0;
|
||||
sLilycoveDeptStore_DefaultFloorChoice = 4;
|
||||
break;
|
||||
@@ -2044,7 +2044,7 @@ bool8 UsedPokemonCenterWarp(void)
|
||||
|
||||
bool32 PlayerNotAtTrainerHillEntrance(void)
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRAINER_HILL_ENTRANCE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_HILL_ENTRANCE))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_TRAINER_HILL_ENTRANCE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_TRAINER_HILL_ENTRANCE))
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
@@ -3349,8 +3349,8 @@ static void ChangeDeoxysRockLevel(u8 rockLevel)
|
||||
|
||||
CreateTask(WaitForDeoxysRockMovement, 8);
|
||||
gFieldEffectArguments[0] = LOCALID_BIRTH_ISLAND_EXTERIOR_ROCK;
|
||||
gFieldEffectArguments[1] = MAP_NUM(BIRTH_ISLAND_EXTERIOR);
|
||||
gFieldEffectArguments[2] = MAP_GROUP(BIRTH_ISLAND_EXTERIOR);
|
||||
gFieldEffectArguments[1] = MAP_NUM(MAP_BIRTH_ISLAND_EXTERIOR);
|
||||
gFieldEffectArguments[2] = MAP_GROUP(MAP_BIRTH_ISLAND_EXTERIOR);
|
||||
gFieldEffectArguments[3] = sDeoxysRockCoords[rockLevel][0];
|
||||
gFieldEffectArguments[4] = sDeoxysRockCoords[rockLevel][1];
|
||||
|
||||
@@ -3377,7 +3377,7 @@ static void WaitForDeoxysRockMovement(u8 taskId)
|
||||
void IncrementBirthIslandRockStepCount(void)
|
||||
{
|
||||
u16 stepCount = VarGet(VAR_DEOXYS_ROCK_STEP_COUNT);
|
||||
if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(BIRTH_ISLAND_EXTERIOR) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BIRTH_ISLAND_EXTERIOR))
|
||||
if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_BIRTH_ISLAND_EXTERIOR) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_BIRTH_ISLAND_EXTERIOR))
|
||||
{
|
||||
if (++stepCount > 99)
|
||||
VarSet(VAR_DEOXYS_ROCK_STEP_COUNT, 0);
|
||||
@@ -3470,22 +3470,22 @@ void CreateAbnormalWeatherEvent(void)
|
||||
bool32 GetAbnormalWeatherMapNameAndType(void)
|
||||
{
|
||||
static const u8 sAbnormalWeatherMapNumbers[] = {
|
||||
MAP_NUM(ROUTE114),
|
||||
MAP_NUM(ROUTE114),
|
||||
MAP_NUM(ROUTE115),
|
||||
MAP_NUM(ROUTE115),
|
||||
MAP_NUM(ROUTE116),
|
||||
MAP_NUM(ROUTE116),
|
||||
MAP_NUM(ROUTE118),
|
||||
MAP_NUM(ROUTE118),
|
||||
MAP_NUM(ROUTE105),
|
||||
MAP_NUM(ROUTE105),
|
||||
MAP_NUM(ROUTE125),
|
||||
MAP_NUM(ROUTE125),
|
||||
MAP_NUM(ROUTE127),
|
||||
MAP_NUM(ROUTE127),
|
||||
MAP_NUM(ROUTE129),
|
||||
MAP_NUM(ROUTE129)
|
||||
MAP_NUM(MAP_ROUTE114),
|
||||
MAP_NUM(MAP_ROUTE114),
|
||||
MAP_NUM(MAP_ROUTE115),
|
||||
MAP_NUM(MAP_ROUTE115),
|
||||
MAP_NUM(MAP_ROUTE116),
|
||||
MAP_NUM(MAP_ROUTE116),
|
||||
MAP_NUM(MAP_ROUTE118),
|
||||
MAP_NUM(MAP_ROUTE118),
|
||||
MAP_NUM(MAP_ROUTE105),
|
||||
MAP_NUM(MAP_ROUTE105),
|
||||
MAP_NUM(MAP_ROUTE125),
|
||||
MAP_NUM(MAP_ROUTE125),
|
||||
MAP_NUM(MAP_ROUTE127),
|
||||
MAP_NUM(MAP_ROUTE127),
|
||||
MAP_NUM(MAP_ROUTE129),
|
||||
MAP_NUM(MAP_ROUTE129)
|
||||
};
|
||||
|
||||
u16 abnormalWeather = VarGet(VAR_ABNORMAL_WEATHER_LOCATION);
|
||||
@@ -3503,22 +3503,22 @@ bool8 AbnormalWeatherHasExpired(void)
|
||||
// Duplicate array.
|
||||
static const u8 sAbnormalWeatherMapNumbers[] =
|
||||
{
|
||||
MAP_NUM(ROUTE114),
|
||||
MAP_NUM(ROUTE114),
|
||||
MAP_NUM(ROUTE115),
|
||||
MAP_NUM(ROUTE115),
|
||||
MAP_NUM(ROUTE116),
|
||||
MAP_NUM(ROUTE116),
|
||||
MAP_NUM(ROUTE118),
|
||||
MAP_NUM(ROUTE118),
|
||||
MAP_NUM(ROUTE105),
|
||||
MAP_NUM(ROUTE105),
|
||||
MAP_NUM(ROUTE125),
|
||||
MAP_NUM(ROUTE125),
|
||||
MAP_NUM(ROUTE127),
|
||||
MAP_NUM(ROUTE127),
|
||||
MAP_NUM(ROUTE129),
|
||||
MAP_NUM(ROUTE129)
|
||||
MAP_NUM(MAP_ROUTE114),
|
||||
MAP_NUM(MAP_ROUTE114),
|
||||
MAP_NUM(MAP_ROUTE115),
|
||||
MAP_NUM(MAP_ROUTE115),
|
||||
MAP_NUM(MAP_ROUTE116),
|
||||
MAP_NUM(MAP_ROUTE116),
|
||||
MAP_NUM(MAP_ROUTE118),
|
||||
MAP_NUM(MAP_ROUTE118),
|
||||
MAP_NUM(MAP_ROUTE105),
|
||||
MAP_NUM(MAP_ROUTE105),
|
||||
MAP_NUM(MAP_ROUTE125),
|
||||
MAP_NUM(MAP_ROUTE125),
|
||||
MAP_NUM(MAP_ROUTE127),
|
||||
MAP_NUM(MAP_ROUTE127),
|
||||
MAP_NUM(MAP_ROUTE129),
|
||||
MAP_NUM(MAP_ROUTE129)
|
||||
};
|
||||
|
||||
u16 steps = VarGet(VAR_ABNORMAL_WEATHER_STEP_COUNTER);
|
||||
@@ -3530,15 +3530,15 @@ bool8 AbnormalWeatherHasExpired(void)
|
||||
if (++steps > 999)
|
||||
{
|
||||
VarSet(VAR_ABNORMAL_WEATHER_STEP_COUNTER, 0);
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER_MARINE_CAVE))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_UNDERWATER_MARINE_CAVE))
|
||||
{
|
||||
switch (gSaveBlock1Ptr->location.mapNum)
|
||||
{
|
||||
case MAP_NUM(UNDERWATER_MARINE_CAVE):
|
||||
case MAP_NUM(MARINE_CAVE_ENTRANCE):
|
||||
case MAP_NUM(MARINE_CAVE_END):
|
||||
case MAP_NUM(TERRA_CAVE_ENTRANCE):
|
||||
case MAP_NUM(TERRA_CAVE_END):
|
||||
case MAP_NUM(MAP_UNDERWATER_MARINE_CAVE):
|
||||
case MAP_NUM(MAP_MARINE_CAVE_ENTRANCE):
|
||||
case MAP_NUM(MAP_MARINE_CAVE_END):
|
||||
case MAP_NUM(MAP_TERRA_CAVE_ENTRANCE):
|
||||
case MAP_NUM(MAP_TERRA_CAVE_END):
|
||||
VarSet(VAR_SHOULD_END_ABNORMAL_WEATHER, 1);
|
||||
return FALSE;
|
||||
default:
|
||||
@@ -3546,14 +3546,14 @@ bool8 AbnormalWeatherHasExpired(void)
|
||||
}
|
||||
}
|
||||
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER_ROUTE127))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_UNDERWATER_ROUTE127))
|
||||
{
|
||||
switch (gSaveBlock1Ptr->location.mapNum)
|
||||
{
|
||||
case MAP_NUM(UNDERWATER_ROUTE127):
|
||||
case MAP_NUM(UNDERWATER_ROUTE129):
|
||||
case MAP_NUM(UNDERWATER_ROUTE105):
|
||||
case MAP_NUM(UNDERWATER_ROUTE125):
|
||||
case MAP_NUM(MAP_UNDERWATER_ROUTE127):
|
||||
case MAP_NUM(MAP_UNDERWATER_ROUTE129):
|
||||
case MAP_NUM(MAP_UNDERWATER_ROUTE105):
|
||||
case MAP_NUM(MAP_UNDERWATER_ROUTE125):
|
||||
VarSet(VAR_SHOULD_END_ABNORMAL_WEATHER, 1);
|
||||
return FALSE;
|
||||
default:
|
||||
@@ -3589,18 +3589,18 @@ u32 GetMartEmployeeObjectEventId(void)
|
||||
{
|
||||
static const u8 sPokeMarts[][3] =
|
||||
{
|
||||
{ MAP_GROUP(OLDALE_TOWN_MART), MAP_NUM(OLDALE_TOWN_MART), LOCALID_OLDALE_MART_CLERK },
|
||||
{ MAP_GROUP(LAVARIDGE_TOWN_MART), MAP_NUM(LAVARIDGE_TOWN_MART), LOCALID_LAVARIDGE_MART_CLERK },
|
||||
{ MAP_GROUP(FALLARBOR_TOWN_MART), MAP_NUM(FALLARBOR_TOWN_MART), LOCALID_FALLARBOR_MART_CLERK },
|
||||
{ MAP_GROUP(VERDANTURF_TOWN_MART), MAP_NUM(VERDANTURF_TOWN_MART), LOCALID_VERDANTURF_MART_CLERK },
|
||||
{ MAP_GROUP(PETALBURG_CITY_MART), MAP_NUM(PETALBURG_CITY_MART), LOCALID_PETALBURG_MART_CLERK },
|
||||
{ MAP_GROUP(SLATEPORT_CITY_MART), MAP_NUM(SLATEPORT_CITY_MART), LOCALID_SLATEPORT_MART_CLERK },
|
||||
{ MAP_GROUP(MAUVILLE_CITY_MART), MAP_NUM(MAUVILLE_CITY_MART), LOCALID_MAUVILLE_MART_CLERK },
|
||||
{ MAP_GROUP(RUSTBORO_CITY_MART), MAP_NUM(RUSTBORO_CITY_MART), LOCALID_RUSTBORO_MART_CLERK },
|
||||
{ MAP_GROUP(FORTREE_CITY_MART), MAP_NUM(FORTREE_CITY_MART), LOCALID_FORTREE_MART_CLERK },
|
||||
{ MAP_GROUP(MOSSDEEP_CITY_MART), MAP_NUM(MOSSDEEP_CITY_MART), LOCALID_MOSSDEEP_MART_CLERK },
|
||||
{ MAP_GROUP(SOOTOPOLIS_CITY_MART), MAP_NUM(SOOTOPOLIS_CITY_MART), LOCALID_SOOTOPOLIS_MART_CLERK },
|
||||
{ MAP_GROUP(BATTLE_FRONTIER_MART), MAP_NUM(BATTLE_FRONTIER_MART), LOCALID_BATTLE_FRONTIER_MART_CLERK }
|
||||
{ MAP_GROUP(MAP_OLDALE_TOWN_MART), MAP_NUM(MAP_OLDALE_TOWN_MART), LOCALID_OLDALE_MART_CLERK },
|
||||
{ MAP_GROUP(MAP_LAVARIDGE_TOWN_MART), MAP_NUM(MAP_LAVARIDGE_TOWN_MART), LOCALID_LAVARIDGE_MART_CLERK },
|
||||
{ MAP_GROUP(MAP_FALLARBOR_TOWN_MART), MAP_NUM(MAP_FALLARBOR_TOWN_MART), LOCALID_FALLARBOR_MART_CLERK },
|
||||
{ MAP_GROUP(MAP_VERDANTURF_TOWN_MART), MAP_NUM(MAP_VERDANTURF_TOWN_MART), LOCALID_VERDANTURF_MART_CLERK },
|
||||
{ MAP_GROUP(MAP_PETALBURG_CITY_MART), MAP_NUM(MAP_PETALBURG_CITY_MART), LOCALID_PETALBURG_MART_CLERK },
|
||||
{ MAP_GROUP(MAP_SLATEPORT_CITY_MART), MAP_NUM(MAP_SLATEPORT_CITY_MART), LOCALID_SLATEPORT_MART_CLERK },
|
||||
{ MAP_GROUP(MAP_MAUVILLE_CITY_MART), MAP_NUM(MAP_MAUVILLE_CITY_MART), LOCALID_MAUVILLE_MART_CLERK },
|
||||
{ MAP_GROUP(MAP_RUSTBORO_CITY_MART), MAP_NUM(MAP_RUSTBORO_CITY_MART), LOCALID_RUSTBORO_MART_CLERK },
|
||||
{ MAP_GROUP(MAP_FORTREE_CITY_MART), MAP_NUM(MAP_FORTREE_CITY_MART), LOCALID_FORTREE_MART_CLERK },
|
||||
{ MAP_GROUP(MAP_MOSSDEEP_CITY_MART), MAP_NUM(MAP_MOSSDEEP_CITY_MART), LOCALID_MOSSDEEP_MART_CLERK },
|
||||
{ MAP_GROUP(MAP_SOOTOPOLIS_CITY_MART), MAP_NUM(MAP_SOOTOPOLIS_CITY_MART), LOCALID_SOOTOPOLIS_MART_CLERK },
|
||||
{ MAP_GROUP(MAP_BATTLE_FRONTIER_MART), MAP_NUM(MAP_BATTLE_FRONTIER_MART), LOCALID_FRONTIER_MART_CLERK },
|
||||
};
|
||||
|
||||
u8 i;
|
||||
@@ -3880,7 +3880,7 @@ void GetBattlePyramidHint(void)
|
||||
// Used to avoid a potential softlock if the player respawns on Dewford with no way off
|
||||
void ResetHealLocationFromDewford(void)
|
||||
{
|
||||
if (gSaveBlock1Ptr->lastHealLocation.mapGroup == MAP_GROUP(DEWFORD_TOWN) && gSaveBlock1Ptr->lastHealLocation.mapNum == MAP_NUM(DEWFORD_TOWN))
|
||||
if (gSaveBlock1Ptr->lastHealLocation.mapGroup == MAP_GROUP(MAP_DEWFORD_TOWN) && gSaveBlock1Ptr->lastHealLocation.mapNum == MAP_NUM(MAP_DEWFORD_TOWN))
|
||||
SetLastHealLocationWarp(HEAL_LOCATION_PETALBURG_CITY);
|
||||
}
|
||||
|
||||
|
||||
@@ -1580,48 +1580,48 @@ static void Task_HandleFrontierMap(u8 taskId)
|
||||
static u8 MapNumToFrontierFacilityId(u16 mapNum) // id + 1, zero means not a frontier map number
|
||||
{
|
||||
// In Battle Tower
|
||||
if ((mapNum >= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_LOBBY) && mapNum <= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM))
|
||||
|| (mapNum >= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) && mapNum <= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM)))
|
||||
if ((mapNum >= MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY) && mapNum <= MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM))
|
||||
|| (mapNum >= MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) && mapNum <= MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM)))
|
||||
return FRONTIER_FACILITY_TOWER + 1;
|
||||
|
||||
// In Battle Dome
|
||||
else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_DOME_LOBBY)
|
||||
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR)
|
||||
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM)
|
||||
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM))
|
||||
else if (mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY)
|
||||
|| mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR)
|
||||
|| mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM)
|
||||
|| mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM))
|
||||
return FRONTIER_FACILITY_DOME + 1;
|
||||
|
||||
// In Battle Palace
|
||||
else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PALACE_LOBBY)
|
||||
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR)
|
||||
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM))
|
||||
else if (mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY)
|
||||
|| mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR)
|
||||
|| mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM))
|
||||
return FRONTIER_FACILITY_PALACE + 1;
|
||||
|
||||
// In Battle Arena
|
||||
else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_ARENA_LOBBY)
|
||||
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR)
|
||||
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM))
|
||||
else if (mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY)
|
||||
|| mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR)
|
||||
|| mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM))
|
||||
return FRONTIER_FACILITY_ARENA + 1;
|
||||
|
||||
// In Battle Factory
|
||||
else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY)
|
||||
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM)
|
||||
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM))
|
||||
else if (mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY)
|
||||
|| mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM)
|
||||
|| mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM))
|
||||
return FRONTIER_FACILITY_FACTORY + 1;
|
||||
|
||||
// In Battle Pike
|
||||
else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_LOBBY)
|
||||
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR)
|
||||
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM)
|
||||
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL)
|
||||
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL)
|
||||
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS))
|
||||
else if (mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY)
|
||||
|| mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR)
|
||||
|| mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM)
|
||||
|| mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL)
|
||||
|| mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL)
|
||||
|| mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS))
|
||||
return FRONTIER_FACILITY_PIKE + 1;
|
||||
|
||||
// In Battle Pyramid
|
||||
else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY)
|
||||
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
|
||||
|| mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_TOP))
|
||||
else if (mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY)
|
||||
|| mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR)
|
||||
|| mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP))
|
||||
return FRONTIER_FACILITY_PYRAMID + 1;
|
||||
|
||||
else
|
||||
@@ -1657,8 +1657,8 @@ static void InitFrontierMapSprites(void)
|
||||
{
|
||||
s8 mapNum = gSaveBlock1Ptr->location.mapNum;
|
||||
|
||||
if (mapNum == MAP_NUM(BATTLE_FRONTIER_OUTSIDE_WEST)
|
||||
|| (mapNum == MAP_NUM(BATTLE_FRONTIER_OUTSIDE_EAST) && (x = 55)))
|
||||
if (mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_OUTSIDE_WEST)
|
||||
|| (mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_OUTSIDE_EAST) && (x = 55)))
|
||||
{
|
||||
x += gSaveBlock1Ptr->pos.x;
|
||||
y = gSaveBlock1Ptr->pos.y;
|
||||
@@ -1679,7 +1679,7 @@ static void InitFrontierMapSprites(void)
|
||||
else
|
||||
{
|
||||
// Handle Artisan Cave.
|
||||
if (gSaveBlock1Ptr->escapeWarp.mapNum == MAP_NUM(BATTLE_FRONTIER_OUTSIDE_EAST))
|
||||
if (gSaveBlock1Ptr->escapeWarp.mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_OUTSIDE_EAST))
|
||||
x = gSaveBlock1Ptr->escapeWarp.x + 55;
|
||||
else
|
||||
x = gSaveBlock1Ptr->escapeWarp.x;
|
||||
|
||||
@@ -10,7 +10,7 @@ u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum)
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(sHealLocations); i++)
|
||||
{
|
||||
if (sHealLocations[i].group == mapGroup && sHealLocations[i].map == mapNum)
|
||||
if (sHealLocations[i].mapGroup == mapGroup && sHealLocations[i].mapNum == mapNum)
|
||||
return i + 1;
|
||||
}
|
||||
return HEAL_LOCATION_NONE;
|
||||
|
||||
@@ -579,15 +579,15 @@ static u8 GetDirectionToHiddenItem(s16 itemDistanceX, s16 itemDistanceY)
|
||||
|
||||
static void PlayerFaceHiddenItem(u8 direction)
|
||||
{
|
||||
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0)]);
|
||||
ObjectEventClearHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0)]);
|
||||
UnfreezeObjectEvent(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0)]);
|
||||
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0)]);
|
||||
ObjectEventClearHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0)]);
|
||||
UnfreezeObjectEvent(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0)]);
|
||||
PlayerTurnInPlace(direction);
|
||||
}
|
||||
|
||||
static void Task_HiddenItemNearby(u8 taskId)
|
||||
{
|
||||
if (ObjectEventCheckHeldMovementStatus(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0)]) == TRUE)
|
||||
if (ObjectEventCheckHeldMovementStatus(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0)]) == TRUE)
|
||||
DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, Task_CloseItemfinderMessage);
|
||||
}
|
||||
|
||||
@@ -595,7 +595,7 @@ static void Task_StandingOnHiddenItem(u8 taskId)
|
||||
{
|
||||
s16 *data = gTasks[taskId].data;
|
||||
|
||||
if (ObjectEventCheckHeldMovementStatus(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0)]) == TRUE
|
||||
if (ObjectEventCheckHeldMovementStatus(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0)]) == TRUE
|
||||
|| tItemFound == FALSE)
|
||||
{
|
||||
// Spin player around on item
|
||||
|
||||
@@ -69,7 +69,10 @@ static const u16 sMapPopUp_PaletteTable[][16] =
|
||||
|
||||
static const u16 sMapPopUp_Palette_Underwater[16] = INCBIN_U16("graphics/map_popup/underwater.gbapal");
|
||||
|
||||
static const u8 sRegionMapSectionId_To_PopUpThemeIdMapping[] =
|
||||
// -1 in the size excludes MAPSEC_NONE.
|
||||
// The MAPSEC values for Kanto (between MAPSEC_DYNAMIC and MAPSEC_AQUA_HIDEOUT) are also excluded,
|
||||
// and this is then handled by subtracting KANTO_MAPSEC_COUNT here and in LoadMapNamePopUpWindowBg.
|
||||
static const u8 sMapSectionToThemeId[MAPSEC_COUNT - KANTO_MAPSEC_COUNT - 1] =
|
||||
{
|
||||
[MAPSEC_LITTLEROOT_TOWN] = MAPPOPUP_THEME_WOOD,
|
||||
[MAPSEC_OLDALE_TOWN] = MAPPOPUP_THEME_WOOD,
|
||||
@@ -174,7 +177,7 @@ static const u8 sRegionMapSectionId_To_PopUpThemeIdMapping[] =
|
||||
[MAPSEC_DESERT_UNDERPASS - KANTO_MAPSEC_COUNT] = MAPPOPUP_THEME_STONE,
|
||||
[MAPSEC_ALTERING_CAVE - KANTO_MAPSEC_COUNT] = MAPPOPUP_THEME_STONE,
|
||||
[MAPSEC_NAVEL_ROCK - KANTO_MAPSEC_COUNT] = MAPPOPUP_THEME_STONE,
|
||||
[MAPSEC_TRAINER_HILL - KANTO_MAPSEC_COUNT] = MAPPOPUP_THEME_MARBLE
|
||||
[MAPSEC_TRAINER_HILL - KANTO_MAPSEC_COUNT] = MAPPOPUP_THEME_MARBLE,
|
||||
};
|
||||
|
||||
static const u8 sText_PyramidFloor1[] = _("PYRAMID FLOOR 1");
|
||||
@@ -410,7 +413,7 @@ static void LoadMapNamePopUpWindowBg(void)
|
||||
else
|
||||
regionMapSectionId = 0; // Discard kanto region sections;
|
||||
}
|
||||
popUpThemeId = sRegionMapSectionId_To_PopUpThemeIdMapping[regionMapSectionId];
|
||||
popUpThemeId = sMapSectionToThemeId[regionMapSectionId];
|
||||
|
||||
LoadBgTiles(GetWindowAttribute(popupWindowId, WINDOW_BG), sMapPopUp_OutlineTable[popUpThemeId], 0x400, 0x21D);
|
||||
CallWindowFunction(popupWindowId, DrawMapNamePopUpFrame);
|
||||
|
||||
@@ -1368,7 +1368,7 @@ static bool32 MatchCall_EndCall(u8 taskId)
|
||||
if (!sMatchCallState.triggeredFromScript)
|
||||
{
|
||||
LoadMessageBoxAndBorderGfx();
|
||||
playerObjectId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
|
||||
playerObjectId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0);
|
||||
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]);
|
||||
ScriptMovement_UnfreezeObjectEvents();
|
||||
UnfreezeObjectEvents();
|
||||
@@ -1748,9 +1748,9 @@ static void PopulateSpeciesFromTrainerLocation(int matchCallId, u8 *destStr)
|
||||
u8 slot;
|
||||
int i = 0;
|
||||
|
||||
if (gWildMonHeaders[i].mapGroup != MAP_GROUP(UNDEFINED)) // ??? This check is nonsense.
|
||||
if (gWildMonHeaders[i].mapGroup != MAP_GROUP(MAP_UNDEFINED)) // ??? This check is nonsense.
|
||||
{
|
||||
while (gWildMonHeaders[i].mapGroup != MAP_GROUP(UNDEFINED))
|
||||
while (gWildMonHeaders[i].mapGroup != MAP_GROUP(MAP_UNDEFINED))
|
||||
{
|
||||
if (gWildMonHeaders[i].mapGroup == gRematchTable[matchCallId].mapGroup
|
||||
&& gWildMonHeaders[i].mapNum == gRematchTable[matchCallId].mapNum)
|
||||
@@ -1759,7 +1759,7 @@ static void PopulateSpeciesFromTrainerLocation(int matchCallId, u8 *destStr)
|
||||
i++;
|
||||
}
|
||||
|
||||
if (gWildMonHeaders[i].mapGroup != MAP_GROUP(UNDEFINED))
|
||||
if (gWildMonHeaders[i].mapGroup != MAP_GROUP(MAP_UNDEFINED))
|
||||
{
|
||||
numSpecies = 0;
|
||||
if (gWildMonHeaders[i].landMonsInfo)
|
||||
|
||||
@@ -279,8 +279,8 @@ bool8 IsHoldingItemAllowed(u16 itemId)
|
||||
{
|
||||
// Enigma Berry can't be held in link areas
|
||||
if (itemId == ITEM_ENIGMA_BERRY
|
||||
&& ((gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRADE_CENTER)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRADE_CENTER))
|
||||
&& ((gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_TRADE_CENTER)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_TRADE_CENTER))
|
||||
|| InUnionRoom() == TRUE))
|
||||
return FALSE;
|
||||
else
|
||||
|
||||
@@ -261,7 +261,7 @@ static u16 sDebug_DisintegrationData[8];
|
||||
|
||||
bool8 IsMirageTowerVisible(void)
|
||||
{
|
||||
if (!(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE111) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE111)))
|
||||
if (!(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ROUTE111) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ROUTE111)))
|
||||
return FALSE;
|
||||
return FlagGet(FLAG_MIRAGE_TOWER_VISIBLE);
|
||||
}
|
||||
@@ -284,8 +284,8 @@ void TryStartMirageTowerPulseBlendEffect(void)
|
||||
return;
|
||||
}
|
||||
|
||||
if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(ROUTE111)
|
||||
|| gSaveBlock1Ptr->location.mapNum != MAP_NUM(ROUTE111)
|
||||
if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(MAP_ROUTE111)
|
||||
|| gSaveBlock1Ptr->location.mapNum != MAP_NUM(MAP_ROUTE111)
|
||||
|| !FlagGet(FLAG_MIRAGE_TOWER_VISIBLE))
|
||||
return;
|
||||
|
||||
@@ -298,8 +298,8 @@ void TryStartMirageTowerPulseBlendEffect(void)
|
||||
|
||||
void ClearMirageTowerPulseBlendEffect(void)
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(ROUTE111)
|
||||
|| gSaveBlock1Ptr->location.mapNum != MAP_NUM(ROUTE111)
|
||||
if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(MAP_ROUTE111)
|
||||
|| gSaveBlock1Ptr->location.mapNum != MAP_NUM(MAP_ROUTE111)
|
||||
|| !FlagGet(FLAG_MIRAGE_TOWER_VISIBLE)
|
||||
|| sMirageTowerPulseBlend == NULL)
|
||||
return;
|
||||
|
||||
@@ -126,7 +126,7 @@ static void ClearFrontierRecord(void)
|
||||
|
||||
static void WarpToTruck(void)
|
||||
{
|
||||
SetWarpDestination(MAP_GROUP(INSIDE_OF_TRUCK), MAP_NUM(INSIDE_OF_TRUCK), WARP_ID_NONE, -1, -1);
|
||||
SetWarpDestination(MAP_GROUP(MAP_INSIDE_OF_TRUCK), MAP_NUM(MAP_INSIDE_OF_TRUCK), WARP_ID_NONE, -1, -1);
|
||||
WarpIntoMap();
|
||||
}
|
||||
|
||||
|
||||
@@ -202,8 +202,8 @@ EWRAM_DATA struct LinkPlayerObjectEvent gLinkPlayerObjectEvents[4] = {0};
|
||||
|
||||
static const struct WarpData sDummyWarpData =
|
||||
{
|
||||
.mapGroup = MAP_GROUP(UNDEFINED),
|
||||
.mapNum = MAP_NUM(UNDEFINED),
|
||||
.mapGroup = MAP_GROUP(MAP_UNDEFINED),
|
||||
.mapNum = MAP_NUM(MAP_UNDEFINED),
|
||||
.warpId = WARP_ID_NONE,
|
||||
.x = -1,
|
||||
.y = -1,
|
||||
@@ -562,9 +562,9 @@ static void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId
|
||||
|
||||
static bool32 IsDummyWarp(struct WarpData *warp)
|
||||
{
|
||||
if (warp->mapGroup != (s8)MAP_GROUP(UNDEFINED))
|
||||
if (warp->mapGroup != (s8)MAP_GROUP(MAP_UNDEFINED))
|
||||
return FALSE;
|
||||
else if (warp->mapNum != (s8)MAP_NUM(UNDEFINED))
|
||||
else if (warp->mapNum != (s8)MAP_NUM(MAP_UNDEFINED))
|
||||
return FALSE;
|
||||
else if (warp->warpId != WARP_ID_NONE)
|
||||
return FALSE;
|
||||
@@ -659,7 +659,7 @@ void SetWarpDestinationToHealLocation(u8 healLocationId)
|
||||
{
|
||||
const struct HealLocation *healLocation = GetHealLocation(healLocationId);
|
||||
if (healLocation)
|
||||
SetWarpDestination(healLocation->group, healLocation->map, WARP_ID_NONE, healLocation->x, healLocation->y);
|
||||
SetWarpDestination(healLocation->mapGroup, healLocation->mapNum, WARP_ID_NONE, healLocation->x, healLocation->y);
|
||||
}
|
||||
|
||||
void SetWarpDestinationToLastHealLocation(void)
|
||||
@@ -671,7 +671,7 @@ void SetLastHealLocationWarp(u8 healLocationId)
|
||||
{
|
||||
const struct HealLocation *healLocation = GetHealLocation(healLocationId);
|
||||
if (healLocation)
|
||||
SetWarpData(&gSaveBlock1Ptr->lastHealLocation, healLocation->group, healLocation->map, WARP_ID_NONE, healLocation->x, healLocation->y);
|
||||
SetWarpData(&gSaveBlock1Ptr->lastHealLocation, healLocation->mapGroup, healLocation->mapNum, WARP_ID_NONE, healLocation->x, healLocation->y);
|
||||
}
|
||||
|
||||
void UpdateEscapeWarp(s16 x, s16 y)
|
||||
@@ -729,7 +729,7 @@ void SetContinueGameWarpToHealLocation(u8 healLocationId)
|
||||
{
|
||||
const struct HealLocation *healLocation = GetHealLocation(healLocationId);
|
||||
if (healLocation)
|
||||
SetWarpData(&gSaveBlock1Ptr->continueGameWarp, healLocation->group, healLocation->map, WARP_ID_NONE, healLocation->x, healLocation->y);
|
||||
SetWarpData(&gSaveBlock1Ptr->continueGameWarp, healLocation->mapGroup, healLocation->mapNum, WARP_ID_NONE, healLocation->x, healLocation->y);
|
||||
}
|
||||
|
||||
void SetContinueGameWarpToDynamicWarp(int unused)
|
||||
@@ -1015,24 +1015,24 @@ static bool16 ShouldLegendaryMusicPlayAtLocation(struct WarpData *warp)
|
||||
{
|
||||
switch (warp->mapNum)
|
||||
{
|
||||
case MAP_NUM(LILYCOVE_CITY):
|
||||
case MAP_NUM(MOSSDEEP_CITY):
|
||||
case MAP_NUM(SOOTOPOLIS_CITY):
|
||||
case MAP_NUM(EVER_GRANDE_CITY):
|
||||
case MAP_NUM(ROUTE124):
|
||||
case MAP_NUM(ROUTE125):
|
||||
case MAP_NUM(ROUTE126):
|
||||
case MAP_NUM(ROUTE127):
|
||||
case MAP_NUM(ROUTE128):
|
||||
case MAP_NUM(MAP_LILYCOVE_CITY):
|
||||
case MAP_NUM(MAP_MOSSDEEP_CITY):
|
||||
case MAP_NUM(MAP_SOOTOPOLIS_CITY):
|
||||
case MAP_NUM(MAP_EVER_GRANDE_CITY):
|
||||
case MAP_NUM(MAP_ROUTE124):
|
||||
case MAP_NUM(MAP_ROUTE125):
|
||||
case MAP_NUM(MAP_ROUTE126):
|
||||
case MAP_NUM(MAP_ROUTE127):
|
||||
case MAP_NUM(MAP_ROUTE128):
|
||||
return TRUE;
|
||||
default:
|
||||
if (VarGet(VAR_SOOTOPOLIS_CITY_STATE) < 4)
|
||||
return FALSE;
|
||||
switch (warp->mapNum)
|
||||
{
|
||||
case MAP_NUM(ROUTE129):
|
||||
case MAP_NUM(ROUTE130):
|
||||
case MAP_NUM(ROUTE131):
|
||||
case MAP_NUM(MAP_ROUTE129):
|
||||
case MAP_NUM(MAP_ROUTE130):
|
||||
case MAP_NUM(MAP_ROUTE131):
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@@ -1044,9 +1044,9 @@ static bool16 NoMusicInSotopolisWithLegendaries(struct WarpData *warp)
|
||||
{
|
||||
if (VarGet(VAR_SKY_PILLAR_STATE) != 1)
|
||||
return FALSE;
|
||||
else if (warp->mapGroup != MAP_GROUP(SOOTOPOLIS_CITY))
|
||||
else if (warp->mapGroup != MAP_GROUP(MAP_SOOTOPOLIS_CITY))
|
||||
return FALSE;
|
||||
else if (warp->mapNum == MAP_NUM(SOOTOPOLIS_CITY))
|
||||
else if (warp->mapNum == MAP_NUM(MAP_SOOTOPOLIS_CITY))
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
@@ -1056,10 +1056,10 @@ static bool16 IsInfiltratedWeatherInstitute(struct WarpData *warp)
|
||||
{
|
||||
if (VarGet(VAR_WEATHER_INSTITUTE_STATE))
|
||||
return FALSE;
|
||||
else if (warp->mapGroup != MAP_GROUP(ROUTE119_WEATHER_INSTITUTE_1F))
|
||||
else if (warp->mapGroup != MAP_GROUP(MAP_ROUTE119_WEATHER_INSTITUTE_1F))
|
||||
return FALSE;
|
||||
else if (warp->mapNum == MAP_NUM(ROUTE119_WEATHER_INSTITUTE_1F)
|
||||
|| warp->mapNum == MAP_NUM(ROUTE119_WEATHER_INSTITUTE_2F))
|
||||
else if (warp->mapNum == MAP_NUM(MAP_ROUTE119_WEATHER_INSTITUTE_1F)
|
||||
|| warp->mapNum == MAP_NUM(MAP_ROUTE119_WEATHER_INSTITUTE_2F))
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
@@ -1071,10 +1071,10 @@ static bool16 IsInflitratedSpaceCenter(struct WarpData *warp)
|
||||
return FALSE;
|
||||
else if (VarGet(VAR_MOSSDEEP_CITY_STATE) > 2)
|
||||
return FALSE;
|
||||
else if (warp->mapGroup != MAP_GROUP(MOSSDEEP_CITY_SPACE_CENTER_1F))
|
||||
else if (warp->mapGroup != MAP_GROUP(MAP_MOSSDEEP_CITY_SPACE_CENTER_1F))
|
||||
return FALSE;
|
||||
else if (warp->mapNum == MAP_NUM(MOSSDEEP_CITY_SPACE_CENTER_1F)
|
||||
|| warp->mapNum == MAP_NUM(MOSSDEEP_CITY_SPACE_CENTER_2F))
|
||||
else if (warp->mapNum == MAP_NUM(MAP_MOSSDEEP_CITY_SPACE_CENTER_1F)
|
||||
|| warp->mapNum == MAP_NUM(MAP_MOSSDEEP_CITY_SPACE_CENTER_2F))
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1098,8 +1098,8 @@ u16 GetCurrLocationDefaultMusic(void)
|
||||
u16 music;
|
||||
|
||||
// Play the desert music only when the sandstorm is active on Route 111.
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE111)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE111)
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ROUTE111)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ROUTE111)
|
||||
&& GetSavedWeather() == WEATHER_SANDSTORM)
|
||||
return MUS_DESERT;
|
||||
|
||||
@@ -1126,8 +1126,8 @@ u16 GetWarpDestinationMusic(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAUVILLE_CITY)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAUVILLE_CITY))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_MAUVILLE_CITY)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_MAUVILLE_CITY))
|
||||
return MUS_ROUTE110;
|
||||
else
|
||||
return MUS_ROUTE119;
|
||||
@@ -1221,10 +1221,10 @@ void TryFadeOutOldMapMusic(void)
|
||||
{
|
||||
if (currentMusic == MUS_SURF
|
||||
&& VarGet(VAR_SKY_PILLAR_STATE) == 2
|
||||
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SOOTOPOLIS_CITY)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(SOOTOPOLIS_CITY)
|
||||
&& sWarpDestination.mapGroup == MAP_GROUP(SOOTOPOLIS_CITY)
|
||||
&& sWarpDestination.mapNum == MAP_NUM(SOOTOPOLIS_CITY)
|
||||
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_SOOTOPOLIS_CITY)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_SOOTOPOLIS_CITY)
|
||||
&& sWarpDestination.mapGroup == MAP_GROUP(MAP_SOOTOPOLIS_CITY)
|
||||
&& sWarpDestination.mapNum == MAP_NUM(MAP_SOOTOPOLIS_CITY)
|
||||
&& sWarpDestination.x == 29
|
||||
&& sWarpDestination.y == 53)
|
||||
return;
|
||||
@@ -1316,8 +1316,8 @@ void UpdateAmbientCry(s16 *state, u16 *delayCounter)
|
||||
|
||||
static void ChooseAmbientCrySpecies(void)
|
||||
{
|
||||
if ((gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE130)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE130))
|
||||
if ((gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ROUTE130)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ROUTE130))
|
||||
&& !IsMirageIslandPresent())
|
||||
{
|
||||
// Only play water Pokémon cries on this route
|
||||
|
||||
@@ -5591,8 +5591,8 @@ static bool8 GetBattleEntryEligibility(struct Pokemon *mon)
|
||||
|
||||
if (GetMonData(mon, MON_DATA_IS_EGG)
|
||||
|| GetMonData(mon, MON_DATA_LEVEL) > GetBattleEntryLevelCap()
|
||||
|| (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY)
|
||||
|| (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY)
|
||||
&& GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE))
|
||||
{
|
||||
return FALSE;
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
// determined by the data for the corresponding MAPSEC in gRegionMapEntries.
|
||||
|
||||
// Only maps in the following map groups have their encounters considered for the area screen
|
||||
#define MAP_GROUP_TOWNS_AND_ROUTES MAP_GROUP(PETALBURG_CITY)
|
||||
#define MAP_GROUP_DUNGEONS MAP_GROUP(METEOR_FALLS_1F_1R)
|
||||
#define MAP_GROUP_SPECIAL_AREA MAP_GROUP(SAFARI_ZONE_NORTHWEST)
|
||||
#define MAP_GROUP_TOWNS_AND_ROUTES MAP_GROUP(MAP_PETALBURG_CITY)
|
||||
#define MAP_GROUP_DUNGEONS MAP_GROUP(MAP_METEOR_FALLS_1F_1R)
|
||||
#define MAP_GROUP_SPECIAL_AREA MAP_GROUP(MAP_SAFARI_ZONE_NORTHWEST)
|
||||
|
||||
#define AREA_SCREEN_WIDTH 32
|
||||
#define AREA_SCREEN_HEIGHT 20
|
||||
@@ -121,7 +121,7 @@ static const u16 sMovingRegionMapSections[3] =
|
||||
|
||||
static const u16 sFeebasData[][3] =
|
||||
{
|
||||
{SPECIES_FEEBAS, MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119)},
|
||||
{SPECIES_FEEBAS, MAP_GROUP(MAP_ROUTE119), MAP_NUM(MAP_ROUTE119)},
|
||||
{NUM_SPECIES}
|
||||
};
|
||||
|
||||
@@ -285,7 +285,7 @@ static void FindMapsWithMon(u16 species)
|
||||
}
|
||||
|
||||
// Add regular species to the area map
|
||||
for (i = 0; gWildMonHeaders[i].mapGroup != MAP_GROUP(UNDEFINED); i++)
|
||||
for (i = 0; gWildMonHeaders[i].mapGroup != MAP_GROUP(MAP_UNDEFINED); i++)
|
||||
{
|
||||
if (MapHasSpecies(&gWildMonHeaders[i], species))
|
||||
{
|
||||
|
||||
@@ -6497,10 +6497,10 @@ struct
|
||||
{
|
||||
{MAP_GROUPS_COUNT, 0, MOVE_SURF},
|
||||
{MAP_GROUPS_COUNT, 0, MOVE_DIVE},
|
||||
{MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MOVE_STRENGTH},
|
||||
{MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MOVE_ROCK_SMASH},
|
||||
{MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MOVE_STRENGTH},
|
||||
{MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MOVE_ROCK_SMASH},
|
||||
{MAP_GROUP(MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MAP_NUM(MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MOVE_STRENGTH},
|
||||
{MAP_GROUP(MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MAP_NUM(MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MOVE_ROCK_SMASH},
|
||||
{MAP_GROUP(MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MAP_NUM(MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MOVE_STRENGTH},
|
||||
{MAP_GROUP(MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MAP_NUM(MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MOVE_ROCK_SMASH},
|
||||
};
|
||||
|
||||
static void GetRestrictedReleaseMoves(u16 *moves)
|
||||
|
||||
108
src/region_map.c
108
src/region_map.c
@@ -288,56 +288,56 @@ static const u32 sFlyTargetIcons_Gfx[] = INCBIN_U32("graphics/pokenav/region_map
|
||||
|
||||
static const u8 sMapHealLocations[][3] =
|
||||
{
|
||||
[MAPSEC_LITTLEROOT_TOWN] = {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F},
|
||||
[MAPSEC_OLDALE_TOWN] = {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), HEAL_LOCATION_OLDALE_TOWN},
|
||||
[MAPSEC_DEWFORD_TOWN] = {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), HEAL_LOCATION_DEWFORD_TOWN},
|
||||
[MAPSEC_LAVARIDGE_TOWN] = {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), HEAL_LOCATION_LAVARIDGE_TOWN},
|
||||
[MAPSEC_FALLARBOR_TOWN] = {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), HEAL_LOCATION_FALLARBOR_TOWN},
|
||||
[MAPSEC_VERDANTURF_TOWN] = {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), HEAL_LOCATION_VERDANTURF_TOWN},
|
||||
[MAPSEC_PACIFIDLOG_TOWN] = {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), HEAL_LOCATION_PACIFIDLOG_TOWN},
|
||||
[MAPSEC_PETALBURG_CITY] = {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), HEAL_LOCATION_PETALBURG_CITY},
|
||||
[MAPSEC_SLATEPORT_CITY] = {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), HEAL_LOCATION_SLATEPORT_CITY},
|
||||
[MAPSEC_MAUVILLE_CITY] = {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), HEAL_LOCATION_MAUVILLE_CITY},
|
||||
[MAPSEC_RUSTBORO_CITY] = {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), HEAL_LOCATION_RUSTBORO_CITY},
|
||||
[MAPSEC_FORTREE_CITY] = {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), HEAL_LOCATION_FORTREE_CITY},
|
||||
[MAPSEC_LILYCOVE_CITY] = {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), HEAL_LOCATION_LILYCOVE_CITY},
|
||||
[MAPSEC_MOSSDEEP_CITY] = {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), HEAL_LOCATION_MOSSDEEP_CITY},
|
||||
[MAPSEC_SOOTOPOLIS_CITY] = {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), HEAL_LOCATION_SOOTOPOLIS_CITY},
|
||||
[MAPSEC_EVER_GRANDE_CITY] = {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), HEAL_LOCATION_EVER_GRANDE_CITY},
|
||||
[MAPSEC_ROUTE_101] = {MAP_GROUP(ROUTE101), MAP_NUM(ROUTE101), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_102] = {MAP_GROUP(ROUTE102), MAP_NUM(ROUTE102), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_103] = {MAP_GROUP(ROUTE103), MAP_NUM(ROUTE103), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_104] = {MAP_GROUP(ROUTE104), MAP_NUM(ROUTE104), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_105] = {MAP_GROUP(ROUTE105), MAP_NUM(ROUTE105), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_106] = {MAP_GROUP(ROUTE106), MAP_NUM(ROUTE106), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_107] = {MAP_GROUP(ROUTE107), MAP_NUM(ROUTE107), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_108] = {MAP_GROUP(ROUTE108), MAP_NUM(ROUTE108), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_109] = {MAP_GROUP(ROUTE109), MAP_NUM(ROUTE109), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_110] = {MAP_GROUP(ROUTE110), MAP_NUM(ROUTE110), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_111] = {MAP_GROUP(ROUTE111), MAP_NUM(ROUTE111), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_112] = {MAP_GROUP(ROUTE112), MAP_NUM(ROUTE112), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_113] = {MAP_GROUP(ROUTE113), MAP_NUM(ROUTE113), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_114] = {MAP_GROUP(ROUTE114), MAP_NUM(ROUTE114), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_115] = {MAP_GROUP(ROUTE115), MAP_NUM(ROUTE115), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_116] = {MAP_GROUP(ROUTE116), MAP_NUM(ROUTE116), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_117] = {MAP_GROUP(ROUTE117), MAP_NUM(ROUTE117), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_118] = {MAP_GROUP(ROUTE118), MAP_NUM(ROUTE118), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_119] = {MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_120] = {MAP_GROUP(ROUTE120), MAP_NUM(ROUTE120), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_121] = {MAP_GROUP(ROUTE121), MAP_NUM(ROUTE121), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_122] = {MAP_GROUP(ROUTE122), MAP_NUM(ROUTE122), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_123] = {MAP_GROUP(ROUTE123), MAP_NUM(ROUTE123), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_124] = {MAP_GROUP(ROUTE124), MAP_NUM(ROUTE124), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_125] = {MAP_GROUP(ROUTE125), MAP_NUM(ROUTE125), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_126] = {MAP_GROUP(ROUTE126), MAP_NUM(ROUTE126), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_127] = {MAP_GROUP(ROUTE127), MAP_NUM(ROUTE127), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_128] = {MAP_GROUP(ROUTE128), MAP_NUM(ROUTE128), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_129] = {MAP_GROUP(ROUTE129), MAP_NUM(ROUTE129), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_130] = {MAP_GROUP(ROUTE130), MAP_NUM(ROUTE130), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_131] = {MAP_GROUP(ROUTE131), MAP_NUM(ROUTE131), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_132] = {MAP_GROUP(ROUTE132), MAP_NUM(ROUTE132), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_133] = {MAP_GROUP(ROUTE133), MAP_NUM(ROUTE133), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_134] = {MAP_GROUP(ROUTE134), MAP_NUM(ROUTE134), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_LITTLEROOT_TOWN] = {MAP_GROUP(MAP_LITTLEROOT_TOWN), MAP_NUM(MAP_LITTLEROOT_TOWN), HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F},
|
||||
[MAPSEC_OLDALE_TOWN] = {MAP_GROUP(MAP_OLDALE_TOWN), MAP_NUM(MAP_OLDALE_TOWN), HEAL_LOCATION_OLDALE_TOWN},
|
||||
[MAPSEC_DEWFORD_TOWN] = {MAP_GROUP(MAP_DEWFORD_TOWN), MAP_NUM(MAP_DEWFORD_TOWN), HEAL_LOCATION_DEWFORD_TOWN},
|
||||
[MAPSEC_LAVARIDGE_TOWN] = {MAP_GROUP(MAP_LAVARIDGE_TOWN), MAP_NUM(MAP_LAVARIDGE_TOWN), HEAL_LOCATION_LAVARIDGE_TOWN},
|
||||
[MAPSEC_FALLARBOR_TOWN] = {MAP_GROUP(MAP_FALLARBOR_TOWN), MAP_NUM(MAP_FALLARBOR_TOWN), HEAL_LOCATION_FALLARBOR_TOWN},
|
||||
[MAPSEC_VERDANTURF_TOWN] = {MAP_GROUP(MAP_VERDANTURF_TOWN), MAP_NUM(MAP_VERDANTURF_TOWN), HEAL_LOCATION_VERDANTURF_TOWN},
|
||||
[MAPSEC_PACIFIDLOG_TOWN] = {MAP_GROUP(MAP_PACIFIDLOG_TOWN), MAP_NUM(MAP_PACIFIDLOG_TOWN), HEAL_LOCATION_PACIFIDLOG_TOWN},
|
||||
[MAPSEC_PETALBURG_CITY] = {MAP_GROUP(MAP_PETALBURG_CITY), MAP_NUM(MAP_PETALBURG_CITY), HEAL_LOCATION_PETALBURG_CITY},
|
||||
[MAPSEC_SLATEPORT_CITY] = {MAP_GROUP(MAP_SLATEPORT_CITY), MAP_NUM(MAP_SLATEPORT_CITY), HEAL_LOCATION_SLATEPORT_CITY},
|
||||
[MAPSEC_MAUVILLE_CITY] = {MAP_GROUP(MAP_MAUVILLE_CITY), MAP_NUM(MAP_MAUVILLE_CITY), HEAL_LOCATION_MAUVILLE_CITY},
|
||||
[MAPSEC_RUSTBORO_CITY] = {MAP_GROUP(MAP_RUSTBORO_CITY), MAP_NUM(MAP_RUSTBORO_CITY), HEAL_LOCATION_RUSTBORO_CITY},
|
||||
[MAPSEC_FORTREE_CITY] = {MAP_GROUP(MAP_FORTREE_CITY), MAP_NUM(MAP_FORTREE_CITY), HEAL_LOCATION_FORTREE_CITY},
|
||||
[MAPSEC_LILYCOVE_CITY] = {MAP_GROUP(MAP_LILYCOVE_CITY), MAP_NUM(MAP_LILYCOVE_CITY), HEAL_LOCATION_LILYCOVE_CITY},
|
||||
[MAPSEC_MOSSDEEP_CITY] = {MAP_GROUP(MAP_MOSSDEEP_CITY), MAP_NUM(MAP_MOSSDEEP_CITY), HEAL_LOCATION_MOSSDEEP_CITY},
|
||||
[MAPSEC_SOOTOPOLIS_CITY] = {MAP_GROUP(MAP_SOOTOPOLIS_CITY), MAP_NUM(MAP_SOOTOPOLIS_CITY), HEAL_LOCATION_SOOTOPOLIS_CITY},
|
||||
[MAPSEC_EVER_GRANDE_CITY] = {MAP_GROUP(MAP_EVER_GRANDE_CITY), MAP_NUM(MAP_EVER_GRANDE_CITY), HEAL_LOCATION_EVER_GRANDE_CITY},
|
||||
[MAPSEC_ROUTE_101] = {MAP_GROUP(MAP_ROUTE101), MAP_NUM(MAP_ROUTE101), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_102] = {MAP_GROUP(MAP_ROUTE102), MAP_NUM(MAP_ROUTE102), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_103] = {MAP_GROUP(MAP_ROUTE103), MAP_NUM(MAP_ROUTE103), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_104] = {MAP_GROUP(MAP_ROUTE104), MAP_NUM(MAP_ROUTE104), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_105] = {MAP_GROUP(MAP_ROUTE105), MAP_NUM(MAP_ROUTE105), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_106] = {MAP_GROUP(MAP_ROUTE106), MAP_NUM(MAP_ROUTE106), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_107] = {MAP_GROUP(MAP_ROUTE107), MAP_NUM(MAP_ROUTE107), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_108] = {MAP_GROUP(MAP_ROUTE108), MAP_NUM(MAP_ROUTE108), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_109] = {MAP_GROUP(MAP_ROUTE109), MAP_NUM(MAP_ROUTE109), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_110] = {MAP_GROUP(MAP_ROUTE110), MAP_NUM(MAP_ROUTE110), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_111] = {MAP_GROUP(MAP_ROUTE111), MAP_NUM(MAP_ROUTE111), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_112] = {MAP_GROUP(MAP_ROUTE112), MAP_NUM(MAP_ROUTE112), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_113] = {MAP_GROUP(MAP_ROUTE113), MAP_NUM(MAP_ROUTE113), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_114] = {MAP_GROUP(MAP_ROUTE114), MAP_NUM(MAP_ROUTE114), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_115] = {MAP_GROUP(MAP_ROUTE115), MAP_NUM(MAP_ROUTE115), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_116] = {MAP_GROUP(MAP_ROUTE116), MAP_NUM(MAP_ROUTE116), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_117] = {MAP_GROUP(MAP_ROUTE117), MAP_NUM(MAP_ROUTE117), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_118] = {MAP_GROUP(MAP_ROUTE118), MAP_NUM(MAP_ROUTE118), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_119] = {MAP_GROUP(MAP_ROUTE119), MAP_NUM(MAP_ROUTE119), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_120] = {MAP_GROUP(MAP_ROUTE120), MAP_NUM(MAP_ROUTE120), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_121] = {MAP_GROUP(MAP_ROUTE121), MAP_NUM(MAP_ROUTE121), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_122] = {MAP_GROUP(MAP_ROUTE122), MAP_NUM(MAP_ROUTE122), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_123] = {MAP_GROUP(MAP_ROUTE123), MAP_NUM(MAP_ROUTE123), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_124] = {MAP_GROUP(MAP_ROUTE124), MAP_NUM(MAP_ROUTE124), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_125] = {MAP_GROUP(MAP_ROUTE125), MAP_NUM(MAP_ROUTE125), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_126] = {MAP_GROUP(MAP_ROUTE126), MAP_NUM(MAP_ROUTE126), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_127] = {MAP_GROUP(MAP_ROUTE127), MAP_NUM(MAP_ROUTE127), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_128] = {MAP_GROUP(MAP_ROUTE128), MAP_NUM(MAP_ROUTE128), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_129] = {MAP_GROUP(MAP_ROUTE129), MAP_NUM(MAP_ROUTE129), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_130] = {MAP_GROUP(MAP_ROUTE130), MAP_NUM(MAP_ROUTE130), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_131] = {MAP_GROUP(MAP_ROUTE131), MAP_NUM(MAP_ROUTE131), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_132] = {MAP_GROUP(MAP_ROUTE132), MAP_NUM(MAP_ROUTE132), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_133] = {MAP_GROUP(MAP_ROUTE133), MAP_NUM(MAP_ROUTE133), HEAL_LOCATION_NONE},
|
||||
[MAPSEC_ROUTE_134] = {MAP_GROUP(MAP_ROUTE134), MAP_NUM(MAP_ROUTE134), HEAL_LOCATION_NONE},
|
||||
};
|
||||
|
||||
static const u8 *const sEverGrandeCityNames[] =
|
||||
@@ -976,10 +976,10 @@ static void InitMapBasedOnPlayerLocation(void)
|
||||
u16 xOnMap;
|
||||
struct WarpData *warp;
|
||||
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SS_TIDAL_CORRIDOR)
|
||||
&& (gSaveBlock1Ptr->location.mapNum == MAP_NUM(SS_TIDAL_CORRIDOR)
|
||||
|| gSaveBlock1Ptr->location.mapNum == MAP_NUM(SS_TIDAL_LOWER_DECK)
|
||||
|| gSaveBlock1Ptr->location.mapNum == MAP_NUM(SS_TIDAL_ROOMS)))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_SS_TIDAL_CORRIDOR)
|
||||
&& (gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_SS_TIDAL_CORRIDOR)
|
||||
|| gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_SS_TIDAL_LOWER_DECK)
|
||||
|| gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_SS_TIDAL_ROOMS)))
|
||||
{
|
||||
RegionMap_InitializeStateBasedOnSSTidalLocation();
|
||||
return;
|
||||
|
||||
44
src/roamer.c
44
src/roamer.c
@@ -18,7 +18,7 @@ enum
|
||||
EWRAM_DATA static u8 sLocationHistory[3][2] = {0};
|
||||
EWRAM_DATA static u8 sRoamerLocation[2] = {0};
|
||||
|
||||
#define ___ MAP_NUM(UNDEFINED) // For empty spots in the location table
|
||||
#define ___ MAP_NUM(MAP_UNDEFINED) // For empty spots in the location table
|
||||
|
||||
// Note: There are two potential softlocks that can occur with this table if its maps are
|
||||
// changed in particular ways. They can be avoided by ensuring the following:
|
||||
@@ -34,26 +34,26 @@ EWRAM_DATA static u8 sRoamerLocation[2] = {0};
|
||||
// from that map when it lands there.
|
||||
static const u8 sRoamerLocations[][6] =
|
||||
{
|
||||
{ MAP_NUM(ROUTE110), MAP_NUM(ROUTE111), MAP_NUM(ROUTE117), MAP_NUM(ROUTE118), MAP_NUM(ROUTE134), ___ },
|
||||
{ MAP_NUM(ROUTE111), MAP_NUM(ROUTE110), MAP_NUM(ROUTE117), MAP_NUM(ROUTE118), ___, ___ },
|
||||
{ MAP_NUM(ROUTE117), MAP_NUM(ROUTE111), MAP_NUM(ROUTE110), MAP_NUM(ROUTE118), ___, ___ },
|
||||
{ MAP_NUM(ROUTE118), MAP_NUM(ROUTE117), MAP_NUM(ROUTE110), MAP_NUM(ROUTE111), MAP_NUM(ROUTE119), MAP_NUM(ROUTE123) },
|
||||
{ MAP_NUM(ROUTE119), MAP_NUM(ROUTE118), MAP_NUM(ROUTE120), ___, ___, ___ },
|
||||
{ MAP_NUM(ROUTE120), MAP_NUM(ROUTE119), MAP_NUM(ROUTE121), ___, ___, ___ },
|
||||
{ MAP_NUM(ROUTE121), MAP_NUM(ROUTE120), MAP_NUM(ROUTE122), MAP_NUM(ROUTE123), ___, ___ },
|
||||
{ MAP_NUM(ROUTE122), MAP_NUM(ROUTE121), MAP_NUM(ROUTE123), ___, ___, ___ },
|
||||
{ MAP_NUM(ROUTE123), MAP_NUM(ROUTE122), MAP_NUM(ROUTE118), ___, ___, ___ },
|
||||
{ MAP_NUM(ROUTE124), MAP_NUM(ROUTE121), MAP_NUM(ROUTE125), MAP_NUM(ROUTE126), ___, ___ },
|
||||
{ MAP_NUM(ROUTE125), MAP_NUM(ROUTE124), MAP_NUM(ROUTE127), ___, ___, ___ },
|
||||
{ MAP_NUM(ROUTE126), MAP_NUM(ROUTE124), MAP_NUM(ROUTE127), ___, ___, ___ },
|
||||
{ MAP_NUM(ROUTE127), MAP_NUM(ROUTE125), MAP_NUM(ROUTE126), MAP_NUM(ROUTE128), ___, ___ },
|
||||
{ MAP_NUM(ROUTE128), MAP_NUM(ROUTE127), MAP_NUM(ROUTE129), ___, ___, ___ },
|
||||
{ MAP_NUM(ROUTE129), MAP_NUM(ROUTE128), MAP_NUM(ROUTE130), ___, ___, ___ },
|
||||
{ MAP_NUM(ROUTE130), MAP_NUM(ROUTE129), MAP_NUM(ROUTE131), ___, ___, ___ },
|
||||
{ MAP_NUM(ROUTE131), MAP_NUM(ROUTE130), MAP_NUM(ROUTE132), ___, ___, ___ },
|
||||
{ MAP_NUM(ROUTE132), MAP_NUM(ROUTE131), MAP_NUM(ROUTE133), ___, ___, ___ },
|
||||
{ MAP_NUM(ROUTE133), MAP_NUM(ROUTE132), MAP_NUM(ROUTE134), ___, ___, ___ },
|
||||
{ MAP_NUM(ROUTE134), MAP_NUM(ROUTE133), MAP_NUM(ROUTE110), ___, ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE110), MAP_NUM(MAP_ROUTE111), MAP_NUM(MAP_ROUTE117), MAP_NUM(MAP_ROUTE118), MAP_NUM(MAP_ROUTE134), ___ },
|
||||
{ MAP_NUM(MAP_ROUTE111), MAP_NUM(MAP_ROUTE110), MAP_NUM(MAP_ROUTE117), MAP_NUM(MAP_ROUTE118), ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE117), MAP_NUM(MAP_ROUTE111), MAP_NUM(MAP_ROUTE110), MAP_NUM(MAP_ROUTE118), ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE118), MAP_NUM(MAP_ROUTE117), MAP_NUM(MAP_ROUTE110), MAP_NUM(MAP_ROUTE111), MAP_NUM(MAP_ROUTE119), MAP_NUM(MAP_ROUTE123) },
|
||||
{ MAP_NUM(MAP_ROUTE119), MAP_NUM(MAP_ROUTE118), MAP_NUM(MAP_ROUTE120), ___, ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE120), MAP_NUM(MAP_ROUTE119), MAP_NUM(MAP_ROUTE121), ___, ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE121), MAP_NUM(MAP_ROUTE120), MAP_NUM(MAP_ROUTE122), MAP_NUM(MAP_ROUTE123), ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE122), MAP_NUM(MAP_ROUTE121), MAP_NUM(MAP_ROUTE123), ___, ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE123), MAP_NUM(MAP_ROUTE122), MAP_NUM(MAP_ROUTE118), ___, ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE124), MAP_NUM(MAP_ROUTE121), MAP_NUM(MAP_ROUTE125), MAP_NUM(MAP_ROUTE126), ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE125), MAP_NUM(MAP_ROUTE124), MAP_NUM(MAP_ROUTE127), ___, ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE126), MAP_NUM(MAP_ROUTE124), MAP_NUM(MAP_ROUTE127), ___, ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE127), MAP_NUM(MAP_ROUTE125), MAP_NUM(MAP_ROUTE126), MAP_NUM(MAP_ROUTE128), ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE128), MAP_NUM(MAP_ROUTE127), MAP_NUM(MAP_ROUTE129), ___, ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE129), MAP_NUM(MAP_ROUTE128), MAP_NUM(MAP_ROUTE130), ___, ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE130), MAP_NUM(MAP_ROUTE129), MAP_NUM(MAP_ROUTE131), ___, ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE131), MAP_NUM(MAP_ROUTE130), MAP_NUM(MAP_ROUTE132), ___, ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE132), MAP_NUM(MAP_ROUTE131), MAP_NUM(MAP_ROUTE133), ___, ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE133), MAP_NUM(MAP_ROUTE132), MAP_NUM(MAP_ROUTE134), ___, ___, ___ },
|
||||
{ MAP_NUM(MAP_ROUTE134), MAP_NUM(MAP_ROUTE133), MAP_NUM(MAP_ROUTE110), ___, ___, ___ },
|
||||
{ ___, ___, ___, ___, ___, ___ },
|
||||
};
|
||||
|
||||
@@ -172,7 +172,7 @@ void RoamerMove(void)
|
||||
mapNum = sRoamerLocations[locSet][(Random() % (NUM_LOCATIONS_PER_SET - 1)) + 1];
|
||||
if (!(sLocationHistory[2][MAP_GRP] == ROAMER_MAP_GROUP
|
||||
&& sLocationHistory[2][MAP_NUM] == mapNum)
|
||||
&& mapNum != MAP_NUM(UNDEFINED))
|
||||
&& mapNum != MAP_NUM(MAP_UNDEFINED))
|
||||
break;
|
||||
}
|
||||
sRoamerLocation[MAP_NUM] = mapNum;
|
||||
|
||||
@@ -624,14 +624,14 @@ static EWRAM_DATA u8 sRotatingGate_PuzzleCount = 0;
|
||||
|
||||
static s32 GetCurrentMapRotatingGatePuzzleType(void)
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(FORTREE_CITY_GYM) &&
|
||||
gSaveBlock1Ptr->location.mapNum == MAP_NUM(FORTREE_CITY_GYM))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_FORTREE_CITY_GYM) &&
|
||||
gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_FORTREE_CITY_GYM))
|
||||
{
|
||||
return PUZZLE_FORTREE_CITY_GYM;
|
||||
}
|
||||
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE110_TRICK_HOUSE_PUZZLE6) &&
|
||||
gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE110_TRICK_HOUSE_PUZZLE6))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ROUTE110_TRICK_HOUSE_PUZZLE6) &&
|
||||
gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ROUTE110_TRICK_HOUSE_PUZZLE6))
|
||||
{
|
||||
return PUZZLE_ROUTE110_TRICK_HOUSE_PUZZLE6;
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ void FreeRotatingTilePuzzle(void)
|
||||
|
||||
TRY_FREE_AND_SET_NULL(sRotatingTilePuzzle);
|
||||
|
||||
id = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
|
||||
id = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0);
|
||||
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[id]);
|
||||
ScriptMovement_UnfreezeObjectEvents();
|
||||
}
|
||||
@@ -109,7 +109,7 @@ u16 MoveRotatingTileObjects(u8 puzzleNumber)
|
||||
{
|
||||
u8 i;
|
||||
struct ObjectEventTemplate *objectEvents = gSaveBlock1Ptr->objectEventTemplates;
|
||||
u16 localId = 0;
|
||||
u16 localId = LOCALID_NONE;
|
||||
|
||||
for (i = 0; i < OBJECT_EVENT_TEMPLATES_COUNT; i++)
|
||||
{
|
||||
|
||||
10
src/scrcmd.c
10
src/scrcmd.c
@@ -786,7 +786,7 @@ bool8 ScrCmd_warphole(struct ScriptContext *ctx)
|
||||
u16 y;
|
||||
|
||||
PlayerGetDestCoords(&x, &y);
|
||||
if (mapGroup == MAP_GROUP(UNDEFINED) && mapNum == MAP_NUM(UNDEFINED))
|
||||
if (mapGroup == MAP_GROUP(MAP_UNDEFINED) && mapNum == MAP_NUM(MAP_UNDEFINED))
|
||||
SetWarpDestinationToFixedHoleWarp(x - MAP_OFFSET, y - MAP_OFFSET);
|
||||
else
|
||||
SetWarpDestination(mapGroup, mapNum, WARP_ID_NONE, x - MAP_OFFSET, y - MAP_OFFSET);
|
||||
@@ -1020,7 +1020,7 @@ bool8 ScrCmd_waitmovement(struct ScriptContext *ctx)
|
||||
{
|
||||
u16 localId = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
if (localId != 0)
|
||||
if (localId != LOCALID_NONE)
|
||||
sMovingNpcId = localId;
|
||||
sMovingNpcMapGroup = gSaveBlock1Ptr->location.mapGroup;
|
||||
sMovingNpcMapNum = gSaveBlock1Ptr->location.mapNum;
|
||||
@@ -1034,7 +1034,7 @@ bool8 ScrCmd_waitmovementat(struct ScriptContext *ctx)
|
||||
u8 mapGroup;
|
||||
u8 mapNum;
|
||||
|
||||
if (localId != 0)
|
||||
if (localId != LOCALID_NONE)
|
||||
sMovingNpcId = localId;
|
||||
mapGroup = ScriptReadByte(ctx);
|
||||
mapNum = ScriptReadByte(ctx);
|
||||
@@ -1241,7 +1241,7 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx)
|
||||
u8 playerObjectId;
|
||||
|
||||
HideFieldMessageBox();
|
||||
playerObjectId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
|
||||
playerObjectId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0);
|
||||
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]);
|
||||
ScriptMovement_UnfreezeObjectEvents();
|
||||
UnfreezeObjectEvents();
|
||||
@@ -1255,7 +1255,7 @@ bool8 ScrCmd_release(struct ScriptContext *ctx)
|
||||
HideFieldMessageBox();
|
||||
if (gObjectEvents[gSelectedObjectEvent].active)
|
||||
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gSelectedObjectEvent]);
|
||||
playerObjectId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
|
||||
playerObjectId = GetObjectEventIdByLocalIdAndMap(LOCALID_PLAYER, 0, 0);
|
||||
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]);
|
||||
ScriptMovement_UnfreezeObjectEvents();
|
||||
UnfreezeObjectEvents();
|
||||
|
||||
24
src/script.c
24
src/script.c
@@ -378,7 +378,7 @@ void ClearRamScript(void)
|
||||
CpuFill32(0, &gSaveBlock1Ptr->ramScript, sizeof(struct RamScript));
|
||||
}
|
||||
|
||||
bool8 InitRamScript(const u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId)
|
||||
bool8 InitRamScript(const u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 localId)
|
||||
{
|
||||
struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data;
|
||||
|
||||
@@ -390,13 +390,13 @@ bool8 InitRamScript(const u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8
|
||||
scriptData->magic = RAM_SCRIPT_MAGIC;
|
||||
scriptData->mapGroup = mapGroup;
|
||||
scriptData->mapNum = mapNum;
|
||||
scriptData->objectId = objectId;
|
||||
scriptData->localId = localId;
|
||||
memcpy(scriptData->script, script, scriptSize);
|
||||
gSaveBlock1Ptr->ramScript.checksum = CalculateRamScriptChecksum();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
const u8 *GetRamScript(u8 objectId, const u8 *script)
|
||||
const u8 *GetRamScript(u8 localId, const u8 *script)
|
||||
{
|
||||
struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data;
|
||||
gRamScriptRetAddr = NULL;
|
||||
@@ -406,7 +406,7 @@ const u8 *GetRamScript(u8 objectId, const u8 *script)
|
||||
return script;
|
||||
if (scriptData->mapNum != gSaveBlock1Ptr->location.mapNum)
|
||||
return script;
|
||||
if (scriptData->objectId != objectId)
|
||||
if (scriptData->localId != localId)
|
||||
return script;
|
||||
if (CalculateRamScriptChecksum() != gSaveBlock1Ptr->ramScript.checksum)
|
||||
{
|
||||
@@ -420,18 +420,18 @@ const u8 *GetRamScript(u8 objectId, const u8 *script)
|
||||
}
|
||||
}
|
||||
|
||||
#define NO_OBJECT OBJ_EVENT_ID_PLAYER
|
||||
#define NO_OBJECT LOCALID_PLAYER
|
||||
|
||||
bool32 ValidateSavedRamScript(void)
|
||||
{
|
||||
struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data;
|
||||
if (scriptData->magic != RAM_SCRIPT_MAGIC)
|
||||
return FALSE;
|
||||
if (scriptData->mapGroup != MAP_GROUP(UNDEFINED))
|
||||
if (scriptData->mapGroup != MAP_GROUP(MAP_UNDEFINED))
|
||||
return FALSE;
|
||||
if (scriptData->mapNum != MAP_NUM(UNDEFINED))
|
||||
if (scriptData->mapNum != MAP_NUM(MAP_UNDEFINED))
|
||||
return FALSE;
|
||||
if (scriptData->objectId != NO_OBJECT)
|
||||
if (scriptData->localId != NO_OBJECT)
|
||||
return FALSE;
|
||||
if (CalculateRamScriptChecksum() != gSaveBlock1Ptr->ramScript.checksum)
|
||||
return FALSE;
|
||||
@@ -445,11 +445,11 @@ u8 *GetSavedRamScriptIfValid(void)
|
||||
return NULL;
|
||||
if (scriptData->magic != RAM_SCRIPT_MAGIC)
|
||||
return NULL;
|
||||
if (scriptData->mapGroup != MAP_GROUP(UNDEFINED))
|
||||
if (scriptData->mapGroup != MAP_GROUP(MAP_UNDEFINED))
|
||||
return NULL;
|
||||
if (scriptData->mapNum != MAP_NUM(UNDEFINED))
|
||||
if (scriptData->mapNum != MAP_NUM(MAP_UNDEFINED))
|
||||
return NULL;
|
||||
if (scriptData->objectId != NO_OBJECT)
|
||||
if (scriptData->localId != NO_OBJECT)
|
||||
return NULL;
|
||||
if (CalculateRamScriptChecksum() != gSaveBlock1Ptr->ramScript.checksum)
|
||||
{
|
||||
@@ -466,5 +466,5 @@ void InitRamScript_NoObjectEvent(u8 *script, u16 scriptSize)
|
||||
{
|
||||
if (scriptSize > sizeof(gSaveBlock1Ptr->ramScript.data.script))
|
||||
scriptSize = sizeof(gSaveBlock1Ptr->ramScript.data.script);
|
||||
InitRamScript(script, scriptSize, MAP_GROUP(UNDEFINED), MAP_NUM(UNDEFINED), NO_OBJECT);
|
||||
InitRamScript(script, scriptSize, MAP_GROUP(MAP_UNDEFINED), MAP_NUM(MAP_UNDEFINED), NO_OBJECT);
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ static bool8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 objEventId, const u8
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
moveScrId = GetMovementScriptIdFromObjectEventId(taskId, OBJ_EVENT_ID_PLAYER);
|
||||
moveScrId = GetMovementScriptIdFromObjectEventId(taskId, LOCALID_PLAYER);
|
||||
if (moveScrId == OBJECT_EVENTS_COUNT)
|
||||
{
|
||||
return TRUE;
|
||||
|
||||
@@ -110,30 +110,30 @@ static const struct SecretBaseEntranceMetatiles sSecretBaseEntranceMetatiles[] =
|
||||
// x, y positions are for when the player warps in for the first time (in front of the computer)
|
||||
static const u8 sSecretBaseEntrancePositions[NUM_SECRET_BASE_GROUPS * 4] =
|
||||
{
|
||||
[SECRET_BASE_RED_CAVE1] = MAP_NUM(SECRET_BASE_RED_CAVE1), 0, 1, 3,
|
||||
[SECRET_BASE_RED_CAVE2] = MAP_NUM(SECRET_BASE_RED_CAVE2), 0, 5, 9,
|
||||
[SECRET_BASE_RED_CAVE3] = MAP_NUM(SECRET_BASE_RED_CAVE3), 0, 1, 3,
|
||||
[SECRET_BASE_RED_CAVE4] = MAP_NUM(SECRET_BASE_RED_CAVE4), 0, 7, 13,
|
||||
[SECRET_BASE_BROWN_CAVE1] = MAP_NUM(SECRET_BASE_BROWN_CAVE1), 0, 2, 3,
|
||||
[SECRET_BASE_BROWN_CAVE2] = MAP_NUM(SECRET_BASE_BROWN_CAVE2), 0, 9, 2,
|
||||
[SECRET_BASE_BROWN_CAVE3] = MAP_NUM(SECRET_BASE_BROWN_CAVE3), 0, 13, 4,
|
||||
[SECRET_BASE_BROWN_CAVE4] = MAP_NUM(SECRET_BASE_BROWN_CAVE4), 0, 1, 2,
|
||||
[SECRET_BASE_BLUE_CAVE1] = MAP_NUM(SECRET_BASE_BLUE_CAVE1), 0, 1, 3,
|
||||
[SECRET_BASE_BLUE_CAVE2] = MAP_NUM(SECRET_BASE_BLUE_CAVE2), 0, 1, 2,
|
||||
[SECRET_BASE_BLUE_CAVE3] = MAP_NUM(SECRET_BASE_BLUE_CAVE3), 0, 3, 15,
|
||||
[SECRET_BASE_BLUE_CAVE4] = MAP_NUM(SECRET_BASE_BLUE_CAVE4), 0, 3, 14,
|
||||
[SECRET_BASE_YELLOW_CAVE1] = MAP_NUM(SECRET_BASE_YELLOW_CAVE1), 0, 9, 3,
|
||||
[SECRET_BASE_YELLOW_CAVE2] = MAP_NUM(SECRET_BASE_YELLOW_CAVE2), 0, 8, 7,
|
||||
[SECRET_BASE_YELLOW_CAVE3] = MAP_NUM(SECRET_BASE_YELLOW_CAVE3), 0, 3, 6,
|
||||
[SECRET_BASE_YELLOW_CAVE4] = MAP_NUM(SECRET_BASE_YELLOW_CAVE4), 0, 5, 9,
|
||||
[SECRET_BASE_TREE1] = MAP_NUM(SECRET_BASE_TREE1), 0, 2, 3,
|
||||
[SECRET_BASE_TREE2] = MAP_NUM(SECRET_BASE_TREE2), 0, 5, 6,
|
||||
[SECRET_BASE_TREE3] = MAP_NUM(SECRET_BASE_TREE3), 0, 15, 3,
|
||||
[SECRET_BASE_TREE4] = MAP_NUM(SECRET_BASE_TREE4), 0, 4, 10,
|
||||
[SECRET_BASE_SHRUB1] = MAP_NUM(SECRET_BASE_SHRUB1), 0, 3, 3,
|
||||
[SECRET_BASE_SHRUB2] = MAP_NUM(SECRET_BASE_SHRUB2), 0, 1, 2,
|
||||
[SECRET_BASE_SHRUB3] = MAP_NUM(SECRET_BASE_SHRUB3), 0, 7, 8,
|
||||
[SECRET_BASE_SHRUB4] = MAP_NUM(SECRET_BASE_SHRUB4), 0, 9, 6,
|
||||
[SECRET_BASE_RED_CAVE1] = MAP_NUM(MAP_SECRET_BASE_RED_CAVE1), 0, 1, 3,
|
||||
[SECRET_BASE_RED_CAVE2] = MAP_NUM(MAP_SECRET_BASE_RED_CAVE2), 0, 5, 9,
|
||||
[SECRET_BASE_RED_CAVE3] = MAP_NUM(MAP_SECRET_BASE_RED_CAVE3), 0, 1, 3,
|
||||
[SECRET_BASE_RED_CAVE4] = MAP_NUM(MAP_SECRET_BASE_RED_CAVE4), 0, 7, 13,
|
||||
[SECRET_BASE_BROWN_CAVE1] = MAP_NUM(MAP_SECRET_BASE_BROWN_CAVE1), 0, 2, 3,
|
||||
[SECRET_BASE_BROWN_CAVE2] = MAP_NUM(MAP_SECRET_BASE_BROWN_CAVE2), 0, 9, 2,
|
||||
[SECRET_BASE_BROWN_CAVE3] = MAP_NUM(MAP_SECRET_BASE_BROWN_CAVE3), 0, 13, 4,
|
||||
[SECRET_BASE_BROWN_CAVE4] = MAP_NUM(MAP_SECRET_BASE_BROWN_CAVE4), 0, 1, 2,
|
||||
[SECRET_BASE_BLUE_CAVE1] = MAP_NUM(MAP_SECRET_BASE_BLUE_CAVE1), 0, 1, 3,
|
||||
[SECRET_BASE_BLUE_CAVE2] = MAP_NUM(MAP_SECRET_BASE_BLUE_CAVE2), 0, 1, 2,
|
||||
[SECRET_BASE_BLUE_CAVE3] = MAP_NUM(MAP_SECRET_BASE_BLUE_CAVE3), 0, 3, 15,
|
||||
[SECRET_BASE_BLUE_CAVE4] = MAP_NUM(MAP_SECRET_BASE_BLUE_CAVE4), 0, 3, 14,
|
||||
[SECRET_BASE_YELLOW_CAVE1] = MAP_NUM(MAP_SECRET_BASE_YELLOW_CAVE1), 0, 9, 3,
|
||||
[SECRET_BASE_YELLOW_CAVE2] = MAP_NUM(MAP_SECRET_BASE_YELLOW_CAVE2), 0, 8, 7,
|
||||
[SECRET_BASE_YELLOW_CAVE3] = MAP_NUM(MAP_SECRET_BASE_YELLOW_CAVE3), 0, 3, 6,
|
||||
[SECRET_BASE_YELLOW_CAVE4] = MAP_NUM(MAP_SECRET_BASE_YELLOW_CAVE4), 0, 5, 9,
|
||||
[SECRET_BASE_TREE1] = MAP_NUM(MAP_SECRET_BASE_TREE1), 0, 2, 3,
|
||||
[SECRET_BASE_TREE2] = MAP_NUM(MAP_SECRET_BASE_TREE2), 0, 5, 6,
|
||||
[SECRET_BASE_TREE3] = MAP_NUM(MAP_SECRET_BASE_TREE3), 0, 15, 3,
|
||||
[SECRET_BASE_TREE4] = MAP_NUM(MAP_SECRET_BASE_TREE4), 0, 4, 10,
|
||||
[SECRET_BASE_SHRUB1] = MAP_NUM(MAP_SECRET_BASE_SHRUB1), 0, 3, 3,
|
||||
[SECRET_BASE_SHRUB2] = MAP_NUM(MAP_SECRET_BASE_SHRUB2), 0, 1, 2,
|
||||
[SECRET_BASE_SHRUB3] = MAP_NUM(MAP_SECRET_BASE_SHRUB3), 0, 7, 8,
|
||||
[SECRET_BASE_SHRUB4] = MAP_NUM(MAP_SECRET_BASE_SHRUB4), 0, 9, 6,
|
||||
};
|
||||
|
||||
#define GET_BASE_MAP_NUM(group) (sSecretBaseEntrancePositions[(group) + 0])
|
||||
@@ -412,7 +412,7 @@ void SetOccupiedSecretBaseEntranceMetatiles(struct MapEvents const *events)
|
||||
static void SetSecretBaseWarpDestination(void)
|
||||
{
|
||||
s8 secretBaseGroup = SECRET_BASE_ID_TO_GROUP(sCurSecretBaseId);
|
||||
SetWarpDestinationToMapWarp(MAP_GROUP(SECRET_BASE_RED_CAVE1), GET_BASE_MAP_NUM(secretBaseGroup), GET_BASE_WARP_ID(secretBaseGroup));
|
||||
SetWarpDestinationToMapWarp(MAP_GROUP(MAP_SECRET_BASE_RED_CAVE1), GET_BASE_MAP_NUM(secretBaseGroup), GET_BASE_WARP_ID(secretBaseGroup));
|
||||
}
|
||||
|
||||
#define tState data[0]
|
||||
@@ -509,8 +509,8 @@ void EnterNewlyCreatedSecretBase(void)
|
||||
|
||||
bool8 CurMapIsSecretBase(void)
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SECRET_BASE_RED_CAVE1)
|
||||
&& (u8)gSaveBlock1Ptr->location.mapNum <= MAP_NUM(SECRET_BASE_SHRUB4))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_SECRET_BASE_RED_CAVE1)
|
||||
&& (u8)gSaveBlock1Ptr->location.mapNum <= MAP_NUM(MAP_SECRET_BASE_SHRUB4))
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
|
||||
@@ -259,10 +259,10 @@ static const struct ObjectEventTemplate sTrainerObjectEventTemplate =
|
||||
|
||||
static const u32 sNextFloorMapNum[NUM_TRAINER_HILL_FLOORS] =
|
||||
{
|
||||
[TRAINER_HILL_1F - 1] = MAP_NUM(TRAINER_HILL_2F),
|
||||
[TRAINER_HILL_2F - 1] = MAP_NUM(TRAINER_HILL_3F),
|
||||
[TRAINER_HILL_3F - 1] = MAP_NUM(TRAINER_HILL_4F),
|
||||
[TRAINER_HILL_4F - 1] = MAP_NUM(TRAINER_HILL_ROOF)
|
||||
[TRAINER_HILL_1F - 1] = MAP_NUM(MAP_TRAINER_HILL_2F),
|
||||
[TRAINER_HILL_2F - 1] = MAP_NUM(MAP_TRAINER_HILL_3F),
|
||||
[TRAINER_HILL_3F - 1] = MAP_NUM(MAP_TRAINER_HILL_4F),
|
||||
[TRAINER_HILL_4F - 1] = MAP_NUM(MAP_TRAINER_HILL_ROOF)
|
||||
};
|
||||
static const u8 sTrainerPartySlots[HILL_TRAINERS_PER_FLOOR][PARTY_SIZE / 2] =
|
||||
{
|
||||
@@ -366,13 +366,13 @@ static void FreeDataStruct(void)
|
||||
TRY_FREE_AND_SET_NULL(sHillData);
|
||||
}
|
||||
|
||||
void CopyTrainerHillTrainerText(u8 which, u16 trainerId)
|
||||
void CopyTrainerHillTrainerText(u8 which, u16 localId)
|
||||
{
|
||||
u8 id, floorId;
|
||||
|
||||
SetUpDataStruct();
|
||||
floorId = GetFloorId();
|
||||
id = trainerId - 1;
|
||||
id = localId - 1;
|
||||
|
||||
switch (which)
|
||||
{
|
||||
@@ -783,7 +783,7 @@ static bool32 UNUSED OnTrainerHillRoof(void)
|
||||
|
||||
const struct WarpEvent* SetWarpDestinationTrainerHill4F(void)
|
||||
{
|
||||
const struct MapHeader *header = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(TRAINER_HILL_4F), MAP_NUM(TRAINER_HILL_4F));
|
||||
const struct MapHeader *header = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(MAP_TRAINER_HILL_4F), MAP_NUM(MAP_TRAINER_HILL_4F));
|
||||
|
||||
return &header->events->warps[1];
|
||||
}
|
||||
@@ -802,7 +802,7 @@ const struct WarpEvent* SetWarpDestinationTrainerHillFinalFloor(u8 warpEventId)
|
||||
if (numFloors == 0 || numFloors > NUM_TRAINER_HILL_FLOORS)
|
||||
numFloors = NUM_TRAINER_HILL_FLOORS;
|
||||
|
||||
header = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(TRAINER_HILL_4F), sNextFloorMapNum[numFloors - 1]);
|
||||
header = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(MAP_TRAINER_HILL_4F), sNextFloorMapNum[numFloors - 1]);
|
||||
return &header->events->warps[0];
|
||||
}
|
||||
|
||||
|
||||
@@ -800,15 +800,15 @@ void PlayerFaceTrainerAfterBattle(void)
|
||||
objEvent = &gObjectEvents[gApproachingTrainers[gWhichTrainerToFaceAfterBattle].objectEventId];
|
||||
gPostBattleMovementScript[0] = GetFaceDirectionMovementAction(GetOppositeDirection(objEvent->facingDirection));
|
||||
gPostBattleMovementScript[1] = MOVEMENT_ACTION_STEP_END;
|
||||
ScriptMovement_StartObjectMovementScript(OBJ_EVENT_ID_PLAYER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gPostBattleMovementScript);
|
||||
ScriptMovement_StartObjectMovementScript(LOCALID_PLAYER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gPostBattleMovementScript);
|
||||
}
|
||||
else
|
||||
{
|
||||
objEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
gPostBattleMovementScript[0] = GetFaceDirectionMovementAction(objEvent->facingDirection);
|
||||
gPostBattleMovementScript[1] = MOVEMENT_ACTION_STEP_END;
|
||||
ScriptMovement_StartObjectMovementScript(OBJ_EVENT_ID_PLAYER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gPostBattleMovementScript);
|
||||
ScriptMovement_StartObjectMovementScript(LOCALID_PLAYER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gPostBattleMovementScript);
|
||||
}
|
||||
|
||||
SetMovingNpcId(OBJ_EVENT_ID_PLAYER);
|
||||
SetMovingNpcId(LOCALID_PLAYER);
|
||||
}
|
||||
|
||||
74
src/tv.c
74
src/tv.c
@@ -199,31 +199,31 @@ static const struct {
|
||||
.species = SPECIES_SEEDOT,
|
||||
.moves = {MOVE_BIDE, MOVE_HARDEN, MOVE_LEECH_SEED},
|
||||
.level = 3,
|
||||
.location = MAP_NUM(ROUTE102)
|
||||
.location = MAP_NUM(MAP_ROUTE102)
|
||||
},
|
||||
{
|
||||
.species = SPECIES_NUZLEAF,
|
||||
.moves = {MOVE_HARDEN, MOVE_GROWTH, MOVE_NATURE_POWER, MOVE_LEECH_SEED},
|
||||
.level = 15,
|
||||
.location = MAP_NUM(ROUTE114),
|
||||
.location = MAP_NUM(MAP_ROUTE114),
|
||||
},
|
||||
{
|
||||
.species = SPECIES_SEEDOT,
|
||||
.moves = {MOVE_HARDEN, MOVE_GROWTH, MOVE_NATURE_POWER, MOVE_LEECH_SEED},
|
||||
.level = 13,
|
||||
.location = MAP_NUM(ROUTE117),
|
||||
.location = MAP_NUM(MAP_ROUTE117),
|
||||
},
|
||||
{
|
||||
.species = SPECIES_SEEDOT,
|
||||
.moves = {MOVE_GIGA_DRAIN, MOVE_FRUSTRATION, MOVE_SOLAR_BEAM, MOVE_LEECH_SEED},
|
||||
.level = 25,
|
||||
.location = MAP_NUM(ROUTE120),
|
||||
.location = MAP_NUM(MAP_ROUTE120),
|
||||
},
|
||||
{
|
||||
.species = SPECIES_SKITTY,
|
||||
.moves = {MOVE_GROWL, MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_ATTRACT},
|
||||
.level = 8,
|
||||
.location = MAP_NUM(ROUTE116),
|
||||
.location = MAP_NUM(MAP_ROUTE116),
|
||||
}
|
||||
};
|
||||
|
||||
@@ -836,8 +836,8 @@ void UpdateTVScreensOnMap(int width, int height)
|
||||
break;
|
||||
// case PLAYERS_HOUSE_TV_NONE:
|
||||
default:
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(LILYCOVE_CITY_COVE_LILY_MOTEL_1F)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(LILYCOVE_CITY_COVE_LILY_MOTEL_1F))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F))
|
||||
{
|
||||
// NPC in Lilycove Hotel is always watching TV
|
||||
SetTVMetatilesOnMap(width, height, METATILE_Building_TV_On);
|
||||
@@ -992,6 +992,7 @@ static void TakeGabbyAndTyOffTheAir(void)
|
||||
gSaveBlock1Ptr->gabbyAndTyData.onAir = FALSE;
|
||||
}
|
||||
|
||||
// See gabby_and_ty.inc for details
|
||||
u8 GabbyAndTyGetBattleNum(void)
|
||||
{
|
||||
if (gSaveBlock1Ptr->gabbyAndTyData.battleNum > 5)
|
||||
@@ -1033,41 +1034,42 @@ u8 GabbyAndTyGetLastBattleTrivia(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
// See gabby_and_ty.inc for details
|
||||
void GetGabbyAndTyLocalIds(void)
|
||||
{
|
||||
switch (GabbyAndTyGetBattleNum())
|
||||
{
|
||||
case 1:
|
||||
gSpecialVar_0x8004 = 14;
|
||||
gSpecialVar_0x8005 = 13;
|
||||
gSpecialVar_0x8004 = LOCALID_ROUTE111_GABBY_1;
|
||||
gSpecialVar_0x8005 = LOCALID_ROUTE111_TY_1;
|
||||
break;
|
||||
case 2:
|
||||
gSpecialVar_0x8004 = 5;
|
||||
gSpecialVar_0x8005 = 6;
|
||||
gSpecialVar_0x8004 = LOCALID_ROUTE118_GABBY_1;
|
||||
gSpecialVar_0x8005 = LOCALID_ROUTE118_TY_1;
|
||||
break;
|
||||
case 3:
|
||||
gSpecialVar_0x8004 = 18;
|
||||
gSpecialVar_0x8005 = 17;
|
||||
gSpecialVar_0x8004 = LOCALID_ROUTE120_GABBY_1;
|
||||
gSpecialVar_0x8005 = LOCALID_ROUTE120_TY_1;
|
||||
break;
|
||||
case 4:
|
||||
gSpecialVar_0x8004 = 21;
|
||||
gSpecialVar_0x8005 = 22;
|
||||
gSpecialVar_0x8004 = LOCALID_ROUTE111_GABBY_2;
|
||||
gSpecialVar_0x8005 = LOCALID_ROUTE111_TY_2;
|
||||
break;
|
||||
case 5:
|
||||
gSpecialVar_0x8004 = 8;
|
||||
gSpecialVar_0x8005 = 9;
|
||||
gSpecialVar_0x8004 = LOCALID_ROUTE118_GABBY_2;
|
||||
gSpecialVar_0x8005 = LOCALID_ROUTE118_TY_2;
|
||||
break;
|
||||
case 6:
|
||||
gSpecialVar_0x8004 = 19;
|
||||
gSpecialVar_0x8005 = 20;
|
||||
gSpecialVar_0x8004 = LOCALID_ROUTE120_GABBY_2;
|
||||
gSpecialVar_0x8005 = LOCALID_ROUTE120_TY_2;
|
||||
break;
|
||||
case 7:
|
||||
gSpecialVar_0x8004 = 23;
|
||||
gSpecialVar_0x8005 = 24;
|
||||
gSpecialVar_0x8004 = LOCALID_ROUTE111_GABBY_3;
|
||||
gSpecialVar_0x8005 = LOCALID_ROUTE111_TY_3;
|
||||
break;
|
||||
case 8:
|
||||
gSpecialVar_0x8004 = 10;
|
||||
gSpecialVar_0x8005 = 11;
|
||||
gSpecialVar_0x8004 = LOCALID_ROUTE118_GABBY_3;
|
||||
gSpecialVar_0x8005 = LOCALID_ROUTE118_TY_3;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1503,8 +1505,8 @@ void TryPutSmartShopperOnAir(void)
|
||||
TVShow *show;
|
||||
u8 i;
|
||||
|
||||
if (!(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRAINER_HILL_ENTRANCE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_HILL_ENTRANCE))
|
||||
&& !(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_MART) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_MART))
|
||||
if (!(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_TRAINER_HILL_ENTRANCE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_TRAINER_HILL_ENTRANCE))
|
||||
&& !(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_BATTLE_FRONTIER_MART) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_BATTLE_FRONTIER_MART))
|
||||
&& !rbernoulli(1, 3))
|
||||
{
|
||||
sCurTVShowSlot = FindFirstEmptyRecordMixTVShowSlot(gSaveBlock1Ptr->tvShows);
|
||||
@@ -2678,14 +2680,14 @@ static bool8 ShouldApplyPokeNewsEffect(u8 newsKind)
|
||||
switch (newsKind)
|
||||
{
|
||||
case POKENEWS_SLATEPORT:
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SLATEPORT_CITY)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(SLATEPORT_CITY)
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_SLATEPORT_CITY)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_SLATEPORT_CITY)
|
||||
&& gSpecialVar_LastTalked == LOCALID_SLATEPORT_ENERGY_GURU)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
case POKENEWS_LILYCOVE:
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP))
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -3357,18 +3359,18 @@ u32 GetPlayerIDAsU32(void)
|
||||
u8 CheckForPlayersHouseNews(void)
|
||||
{
|
||||
// Check if not in Littleroot house map group
|
||||
if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F))
|
||||
if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F))
|
||||
return PLAYERS_HOUSE_TV_NONE;
|
||||
|
||||
// Check if not in player's house (dependent on gender)
|
||||
if (gSaveBlock2Ptr->playerGender == MALE)
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapNum != MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F))
|
||||
if (gSaveBlock1Ptr->location.mapNum != MAP_NUM(MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F))
|
||||
return PLAYERS_HOUSE_TV_NONE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapNum != MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_1F))
|
||||
if (gSaveBlock1Ptr->location.mapNum != MAP_NUM(MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F))
|
||||
return PLAYERS_HOUSE_TV_NONE;
|
||||
}
|
||||
|
||||
@@ -3384,11 +3386,11 @@ u8 CheckForPlayersHouseNews(void)
|
||||
void GetMomOrDadStringForTVMessage(void)
|
||||
{
|
||||
// If the player is checking the TV in their house it will only refer to their Mom.
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F))
|
||||
{
|
||||
if (gSaveBlock2Ptr->playerGender == MALE)
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F))
|
||||
if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F))
|
||||
{
|
||||
StringCopy(gStringVar1, gText_Mom);
|
||||
VarSet(VAR_TEMP_3, 1);
|
||||
@@ -3396,7 +3398,7 @@ void GetMomOrDadStringForTVMessage(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_1F))
|
||||
if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F))
|
||||
{
|
||||
StringCopy(gStringVar1, gText_Mom);
|
||||
VarSet(VAR_TEMP_3, 1);
|
||||
@@ -3440,7 +3442,7 @@ void GetMomOrDadStringForTVMessage(void)
|
||||
void HideBattleTowerReporter(void)
|
||||
{
|
||||
VarSet(VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0);
|
||||
RemoveObjectEventByLocalIdAndMap(LOCALID_BATTLE_TOWER_LOBBY_REPORTER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
|
||||
RemoveObjectEventByLocalIdAndMap(LOCALID_TOWER_LOBBY_REPORTER, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
|
||||
FlagSet(FLAG_HIDE_BATTLE_TOWER_REPORTER);
|
||||
}
|
||||
|
||||
|
||||
@@ -1672,7 +1672,7 @@ static void Task_StartActivity(u8 taskId)
|
||||
HealPlayerParty();
|
||||
SavePlayerParty();
|
||||
LoadPlayerBag();
|
||||
WarpForCableClubActivity(MAP_GROUP(BATTLE_COLOSSEUM_2P), MAP_NUM(BATTLE_COLOSSEUM_2P), 6, 8, USING_SINGLE_BATTLE);
|
||||
WarpForCableClubActivity(MAP_GROUP(MAP_BATTLE_COLOSSEUM_2P), MAP_NUM(MAP_BATTLE_COLOSSEUM_2P), 6, 8, USING_SINGLE_BATTLE);
|
||||
SetMainCallback2(CB2_TransitionToCableClub);
|
||||
break;
|
||||
case ACTIVITY_BATTLE_DOUBLE:
|
||||
@@ -1681,7 +1681,7 @@ static void Task_StartActivity(u8 taskId)
|
||||
SavePlayerParty();
|
||||
LoadPlayerBag();
|
||||
CreateTrainerCardInBuffer(gBlockSendBuffer, TRUE);
|
||||
WarpForCableClubActivity(MAP_GROUP(BATTLE_COLOSSEUM_2P), MAP_NUM(BATTLE_COLOSSEUM_2P), 6, 8, USING_DOUBLE_BATTLE);
|
||||
WarpForCableClubActivity(MAP_GROUP(MAP_BATTLE_COLOSSEUM_2P), MAP_NUM(MAP_BATTLE_COLOSSEUM_2P), 6, 8, USING_DOUBLE_BATTLE);
|
||||
SetMainCallback2(CB2_TransitionToCableClub);
|
||||
break;
|
||||
case ACTIVITY_BATTLE_MULTI:
|
||||
@@ -1690,19 +1690,19 @@ static void Task_StartActivity(u8 taskId)
|
||||
SavePlayerParty();
|
||||
LoadPlayerBag();
|
||||
CreateTrainerCardInBuffer(gBlockSendBuffer, TRUE);
|
||||
WarpForCableClubActivity(MAP_GROUP(BATTLE_COLOSSEUM_4P), MAP_NUM(BATTLE_COLOSSEUM_4P), 5, 8, USING_MULTI_BATTLE);
|
||||
WarpForCableClubActivity(MAP_GROUP(MAP_BATTLE_COLOSSEUM_4P), MAP_NUM(MAP_BATTLE_COLOSSEUM_4P), 5, 8, USING_MULTI_BATTLE);
|
||||
SetMainCallback2(CB2_TransitionToCableClub);
|
||||
break;
|
||||
case ACTIVITY_TRADE:
|
||||
CreateTrainerCardInBuffer(gBlockSendBuffer, TRUE);
|
||||
CleanupOverworldWindowsAndTilemaps();
|
||||
WarpForCableClubActivity(MAP_GROUP(TRADE_CENTER), MAP_NUM(TRADE_CENTER), 5, 8, USING_TRADE_CENTER);
|
||||
WarpForCableClubActivity(MAP_GROUP(MAP_TRADE_CENTER), MAP_NUM(MAP_TRADE_CENTER), 5, 8, USING_TRADE_CENTER);
|
||||
SetMainCallback2(CB2_TransitionToCableClub);
|
||||
break;
|
||||
case ACTIVITY_RECORD_CORNER:
|
||||
CreateTrainerCardInBuffer(gBlockSendBuffer, TRUE);
|
||||
CleanupOverworldWindowsAndTilemaps();
|
||||
WarpForCableClubActivity(MAP_GROUP(RECORD_CORNER), MAP_NUM(RECORD_CORNER), 8, 9, USING_RECORD_CORNER);
|
||||
WarpForCableClubActivity(MAP_GROUP(MAP_RECORD_CORNER), MAP_NUM(MAP_RECORD_CORNER), 8, 9, USING_RECORD_CORNER);
|
||||
SetMainCallback2(CB2_TransitionToCableClub);
|
||||
break;
|
||||
case ACTIVITY_TRADE | IN_UNION_ROOM:
|
||||
@@ -4306,8 +4306,8 @@ static bool32 PollPartnerYesNoResponse(struct WirelessLink_URoom *data)
|
||||
|
||||
bool32 InUnionRoom(void)
|
||||
{
|
||||
return gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNION_ROOM)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(UNION_ROOM)
|
||||
return gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_UNION_ROOM)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_UNION_ROOM)
|
||||
? TRUE : FALSE;
|
||||
}
|
||||
|
||||
|
||||
@@ -118,8 +118,8 @@ static bool8 CheckFeebas(void)
|
||||
u8 route119Section = 0;
|
||||
u16 spotId;
|
||||
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE119)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE119))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ROUTE119)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ROUTE119))
|
||||
{
|
||||
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
|
||||
x -= MAP_OFFSET;
|
||||
@@ -309,14 +309,14 @@ static u16 GetCurrentMapWildMonHeaderId(void)
|
||||
for (i = 0; ; i++)
|
||||
{
|
||||
const struct WildPokemonHeader *wildHeader = &gWildMonHeaders[i];
|
||||
if (wildHeader->mapGroup == MAP_GROUP(UNDEFINED))
|
||||
if (wildHeader->mapGroup == MAP_GROUP(MAP_UNDEFINED))
|
||||
break;
|
||||
|
||||
if (gWildMonHeaders[i].mapGroup == gSaveBlock1Ptr->location.mapGroup &&
|
||||
gWildMonHeaders[i].mapNum == gSaveBlock1Ptr->location.mapNum)
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ALTERING_CAVE) &&
|
||||
gSaveBlock1Ptr->location.mapNum == MAP_NUM(ALTERING_CAVE))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ALTERING_CAVE) &&
|
||||
gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ALTERING_CAVE))
|
||||
{
|
||||
u16 alteringCaveId = VarGet(VAR_ALTERING_CAVE_WILD_SET);
|
||||
if (alteringCaveId >= NUM_ALTERING_CAVE_TABLES)
|
||||
@@ -540,8 +540,8 @@ static bool8 AllowWildCheckOnNewMetatile(void)
|
||||
|
||||
static bool8 AreLegendariesInSootopolisPreventingEncounters(void)
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(SOOTOPOLIS_CITY)
|
||||
|| gSaveBlock1Ptr->location.mapNum != MAP_NUM(SOOTOPOLIS_CITY))
|
||||
if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(MAP_SOOTOPOLIS_CITY)
|
||||
|| gSaveBlock1Ptr->location.mapNum != MAP_NUM(MAP_SOOTOPOLIS_CITY))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user