diff --git a/data/layouts/Route117South/map.bin b/data/layouts/Route117South/map.bin index 54e2ebac9..78fccfb30 100644 --- a/data/layouts/Route117South/map.bin +++ b/data/layouts/Route117South/map.bin @@ -1 +1 @@ -򋈀񄗸񄗸񄛲0000򶒂򶒂�0000000 1"100000000000000000򋈀񄗸񄗸񄝂񵨘񵨢򶒂򶒂�0000001!1"100000000000000000򋈀񄗸񄗸񄗸񄗸񄛲򶒂�00�000000 1!1*100000000000000000�0-0񄗸񄗸񄗸񄗸񄛲򶒂�00000000 1"10000000000000000000򶏶񄗸񄗸񄗸񄗸�00򶒂0000000 1"1000000000000000000򶒂򋈀񄗸񄗸񄗸񄛲0򶒂0000000 1"1000000000000000000򶒂򋈀񄗸񄗸񄗸񄛲00򶒂�000000 1"1000000000000000000򶒂򋈀񄗸񄗸񄗸񄛲00򶒂�000000 1"1000000000000000000�00000򋈀񄗸񄗸�00000000001!1!1100000000000000000�0 0 0 00򋈀񄗸񄗸�0000000001!1!1!1!111111111100000000�0 0 0 0 0򋈀񄗸񄗸�000000000 1!1)1)1)1)1)1)1)1)1)1)1!1!111100000�0 0 0 0 0򋈀񄗸񄗸�000000001!1"10000000000(1)1)1!1!111000�0 0 0 0 0򋈀񄗸񄗸�00000001!1!1*10000000000000(1)1!1!1100�000 0 0򋈀񄗸񄗸�0000011!1!1*10000000000000000(1!1!110򶒂�00000000000011!1!1)1*1000000000000000000(1)1*10򶒂򶒂0000111111!1!1)1*1000000000000000000000000򶒂򶒂򶒂�00(1)1)1)1)1)1)1*100000000000000000000000000򶒂򶒂򶒂򶒂0000000000000000000000000000000000򶒂򶒂򶒂򶒂0000000000000000000000000000000000򶒂򶒂򶒂򶒂0000000000000000000000000000000000 \ No newline at end of file +��������������������00 1"1���������������������������������2 1"100���000�����������������00 1"1 2000000000�-�������������000󏎉00000 1"1000000�����0000�������������0000��00001!1"1󏎉0000�000000������������0��0000��0001!1!1*1��0000�󏎉00���������������0���0000000 1!1*10��0022���00������������00���2000000 1"100��0022���0솫�2�2�000������� 000000000 1"100��0000�000����� 0 0 00������� 0 00000001111!1!111111111�000����� 0 0 0 0������� 0 0 002200 1!1)1)1)1)1)1)1)1)1)1)1!1!1111����� 0 0 0 0������� 0 0 002201!1"10000000000(1)1)1!1!111120� 0 0 0 0������� 0 000001!1!1*1000220000000�(1)1)1)1*100�00 0 0������� 000011!1!1*100󏎉000000220�000000����0000000000011!1!1)1*1200��000000220�222222�����0000111111!1!1)1*100000��000200000�222222��������0(1)1)1)1)1)1)1*1000000000000000000����������������0000 20000000000000��������0000000�������������000����00��������������00���������������������������������������������� \ No newline at end of file diff --git a/data/maps/Route117South/map.json b/data/maps/Route117South/map.json index 0287db4a1..a09300c08 100644 --- a/data/maps/Route117South/map.json +++ b/data/maps/Route117South/map.json @@ -20,7 +20,84 @@ } ], "object_events": [ - + { + "graphics_id": "OBJ_EVENT_GFX_POKEFAN_M", + "x": 8, + "y": 14, + "elevation": 0, + "movement_type": "MOVEMENT_TYPE_FACE_UP", + "movement_range_x": 0, + "movement_range_y": 0, + "trainer_type": "TRAINER_TYPE_NONE", + "trainer_sight_or_berry_tree_id": "0", + "script": "NULL", + "flag": "0" + }, + { + "graphics_id": "OBJ_EVENT_GFX_GIRL_3", + "x": 33, + "y": 8, + "elevation": 0, + "movement_type": "MOVEMENT_TYPE_FACE_DOWN", + "movement_range_x": 0, + "movement_range_y": 0, + "trainer_type": "TRAINER_TYPE_NORMAL", + "trainer_sight_or_berry_tree_id": "4", + "script": "Route117South_EventScript_Martina", + "flag": "0" + }, + { + "graphics_id": "OBJ_EVENT_GFX_GIRL_2", + "x": 33, + "y": 13, + "elevation": 0, + "movement_type": "MOVEMENT_TYPE_FACE_UP", + "movement_range_x": 0, + "movement_range_y": 0, + "trainer_type": "TRAINER_TYPE_NORMAL", + "trainer_sight_or_berry_tree_id": "4", + "script": "Route117South_EventScript_Marika", + "flag": "0" + }, + { + "graphics_id": "OBJ_EVENT_GFX_AZURILL", + "x": 39, + "y": 15, + "elevation": 0, + "movement_type": "MOVEMENT_TYPE_NONE", + "movement_range_x": 0, + "movement_range_y": 0, + "trainer_type": "TRAINER_TYPE_NONE", + "trainer_sight_or_berry_tree_id": "0", + "script": "NULL", + "flag": "0" + }, + { + "graphics_id": "OBJ_EVENT_GFX_ABRA", + "x": 17, + "y": 11, + "elevation": 0, + "movement_type": "MOVEMENT_TYPE_NONE", + "movement_range_x": 0, + "movement_range_y": 0, + "trainer_type": "TRAINER_TYPE_NONE", + "trainer_sight_or_berry_tree_id": "0", + "script": "NULL", + "flag": "0" + }, + { + "graphics_id": "OBJ_EVENT_GFX_RUNNING_TRIATHLETE_F", + "x": 22, + "y": 10, + "elevation": 0, + "movement_type": "MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT", + "movement_range_x": 9, + "movement_range_y": 0, + "trainer_type": "TRAINER_TYPE_NORMAL", + "trainer_sight_or_berry_tree_id": "3", + "script": "Route117South_EventScript_Philis", + "flag": "0" + } ], "warp_events": [ diff --git a/data/maps/Route117South/scripts.inc b/data/maps/Route117South/scripts.inc index b9319e490..8ad1f1696 100644 --- a/data/maps/Route117South/scripts.inc +++ b/data/maps/Route117South/scripts.inc @@ -1,2 +1,49 @@ Route117South_MapScripts:: .byte 0 + +Route117South_Text_PhilisIntro: + .string "Running electrifies my muscles!$" + +Route117South_Text_PhilisDefeat: + .string "I really need to work on my cardio more.$" + +Route117South_Text_PhilisPostBattle: + .string "Gotta keep charging for the next battle.$" + +Route117South_EventScript_Philis:: + trainerbattle_single TRAINER_PHILIS, Route117South_Text_PhilisIntro, Route117South_Text_PhilisDefeat + msgbox Route117South_Text_PhilisPostBattle, MSGBOX_AUTOCLOSE + end + + +Route117South_Text_MarikaIntro: + .string "Me and my girlfriend always battle\n" + .string "together.$" + +Route117South_Text_MarikaDefeat: + .string "We lost?!?.$" + +Route117South_Text_MarikaPostBattle: + .string "Battling together really tests our bond.$" + +Route117South_EventScript_Marika:: + trainerbattle_single TRAINER_MARIKA, Route117South_Text_MarikaIntro, Route117South_Text_MarikaDefeat + msgbox Route117South_Text_MarikaPostBattle, MSGBOX_AUTOCLOSE + end + + +Route117South_Text_MartinaIntro: + .string "Me and my girlfriend always battle\n" + .string "together.$" + +Route117South_Text_MartinaDefeat: + .string "We lost?!?.$" + +Route117South_Text_MartinaPostBattle: + .string "Battling together really tests our bond.$" + +Route117South_EventScript_Martina:: + trainerbattle_single TRAINER_MARTINA, Route117South_Text_MartinaIntro, Route117South_Text_MartinaDefeat + msgbox Route117South_Text_MartinaPostBattle, MSGBOX_AUTOCLOSE + end + diff --git a/include/constants/layouts.h b/include/constants/layouts.h index 39029ede7..8026cd0a1 100755 --- a/include/constants/layouts.h +++ b/include/constants/layouts.h @@ -465,5 +465,6 @@ #define LAYOUT_ROUTE116EXT 458 #define LAYOUT_ROUTE101WEST 459 #define LAYOUT_ROUTE117NORTH 460 +#define LAYOUT_ROUTE117SOUTH 461 #endif // GUARD_CONSTANTS_LAYOUTS_H diff --git a/include/constants/opponents.h b/include/constants/opponents.h index 943474e02..44dec18f4 100644 --- a/include/constants/opponents.h +++ b/include/constants/opponents.h @@ -866,6 +866,9 @@ #define TRAINER_KATE 872 #define TRAINER_KATE_2 873 #define TRAINER_COLEMAN_2 874 +#define TRAINER_MARTINA 875 +#define TRAINER_PHILIS 876 +#define TRAINER_MARIKA 877 // NOTE: Because each Trainer uses a flag to determine when they are defeated, there is only space for 9 additional trainers before trainer flag space overflows // More space can be made by shifting flags around in constants/flags.h or changing how trainer flags are handled diff --git a/src/data/map_group_count.h b/src/data/map_group_count.h index 886b21b3a..3fe54931d 100644 --- a/src/data/map_group_count.h +++ b/src/data/map_group_count.h @@ -1 +1 @@ -static const u8 MAP_GROUP_COUNT[] = {68, 5, 5, 6, 7, 8, 9, 7, 7, 14, 8, 19, 10, 23, 13, 15, 15, 2, 2, 2, 3, 1, 1, 1, 114, 61, 89, 2, 1, 13, 1, 1, 3, 1, 0}; +static const u8 MAP_GROUP_COUNT[] = {69, 5, 5, 6, 7, 8, 9, 7, 7, 14, 8, 19, 10, 23, 13, 15, 15, 2, 2, 2, 3, 1, 1, 1, 114, 61, 89, 2, 1, 13, 1, 1, 3, 1, 0}; diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h index ea2a3ca2f..c0ba73ad0 100644 --- a/src/data/trainer_parties.h +++ b/src/data/trainer_parties.h @@ -147,6 +147,45 @@ static const struct TrainerMonItemCustomMoves sParty_coleman[] = { } }; +static const struct TrainerMonNoItemDefaultMoves sParty_philis[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_PIKACHU, + }, + { + .iv = 50, + .lvl = 19, + .species = SPECIES_RAICHU, + } +}; + +static const struct TrainerMonNoItemDefaultMoves sParty_marika[] = { + { + .iv = 255, + .lvl = 21, + .species = SPECIES_PLUSLE, + }, + { + .iv = 255, + .lvl = 23, + .species = SPECIES_MINUN, + } +}; + +static const struct TrainerMonNoItemDefaultMoves sParty_martina[] = { + { + .iv = 255, + .lvl = 21, + .species = SPECIES_PICHU, + }, + { + .iv = 255, + .lvl = 23, + .species = SPECIES_ELEKID, + } +}; + static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer1[] = { { .iv = 0, diff --git a/src/data/trainers.h b/src/data/trainers.h index 9d27300d4..af1be5a45 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -10377,4 +10377,37 @@ const struct Trainer gTrainers[] = { .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, .party = ITEM_CUSTOM_MOVES(sParty_coleman2), }, + [TRAINER_MARTINA] = + { + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("MARTINA"), + .items = {}, + .doubleBattle = FALSE, + .aiFlags = 0, + .party = NO_ITEM_DEFAULT_MOVES(sParty_martina), + }, + [TRAINER_PHILIS] = + { + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, + .trainerName = _("PHILIS"), + .items = {}, + .doubleBattle = FALSE, + .aiFlags = 0, + .party = NO_ITEM_DEFAULT_MOVES(sParty_philis), + }, + [TRAINER_MARIKA] = + { + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("MARIKA"), + .items = {}, + .doubleBattle = FALSE, + .aiFlags = 0, + .party = NO_ITEM_DEFAULT_MOVES(sParty_marika), + }, };