From 6bcd55ef646ee2123fd9e783f6dff97cbcd2cf5c Mon Sep 17 00:00:00 2001 From: h2o-DS Date: Sun, 17 Nov 2024 19:01:07 -0500 Subject: [PATCH] Merged Directories and Renamed Encounter Files Removed encounters_ex directory, moving/merging files to encounters Renamed encounter files to match the location name created an order file for pl_enc_data.narc Moved move_tutors.json from res/field to res/pokemon --- include/tutor_movesets.h | 2 +- platinum.us/filesys.sha1 | 4 +- platinum.us/rom.rsf | 4 +- res/field/encounters/022.json | 213 ----- res/field/encounters/encounters.order | 183 +++++ ....json => encounters_acuity_lakefront.json} | 0 ...000.json => encounters_canalave_city.json} | 0 ...177.json => encounters_celestic_town.json} | 0 .../{001.json => encounters_eterna_city.json} | 0 ...008.json => encounters_eterna_forest.json} | 0 ...> encounters_fuego_ironworks_outside.json} | 0 ...023.json => encounters_great_marsh_1.json} | 0 ...024.json => encounters_great_marsh_2.json} | 0 ...025.json => encounters_great_marsh_3.json} | 0 ...026.json => encounters_great_marsh_4.json} | 0 ...027.json => encounters_great_marsh_5.json} | 0 ...028.json => encounters_great_marsh_6.json} | 0 .../encounters_great_marsh_lookout.json} | 68 ++ .../encounters/encounters_honey_tree.json | 26 + .../{118.json => encounters_iron_island.json} | 0 ...19.json => encounters_iron_island_1f.json} | 0 ...encounters_iron_island_b1f_left_room.json} | 0 ...ncounters_iron_island_b1f_right_room.json} | 0 ...encounters_iron_island_b2f_left_room.json} | 0 ...ncounters_iron_island_b2f_right_room.json} | 0 ...4.json => encounters_iron_island_b3f.json} | 0 .../{137.json => encounters_lake_acuity.json} | 0 .../{136.json => encounters_lake_valor.json} | 0 .../{135.json => encounters_lake_verity.json} | 0 ... => encounters_lake_verity_low_water.json} | 0 ...116.json => encounters_maniac_tunnel.json} | 0 ...ncounters_mt_coronet_1f_north_room_1.json} | 0 ...ncounters_mt_coronet_1f_north_room_2.json} | 0 ...on => encounters_mt_coronet_1f_south.json} | 0 ...encounters_mt_coronet_1f_tunnel_room.json} | 0 ...011.json => encounters_mt_coronet_2f.json} | 0 ...012.json => encounters_mt_coronet_3f.json} | 0 ...n => encounters_mt_coronet_4f_room_3.json} | 0 ...counters_mt_coronet_4f_rooms_1_and_2.json} | 0 ...017.json => encounters_mt_coronet_5f.json} | 0 ...018.json => encounters_mt_coronet_6f.json} | 0 .../encounters/encounters_mt_coronet_b1f.json | 750 ++++++++++++++++++ ... encounters_mt_coronet_outside_north.json} | 0 ... encounters_mt_coronet_outside_south.json} | 0 .../{125.json => encounters_old_chateau.json} | 0 ...ncounters_old_chateau_back_east_room.json} | 0 ...rs_old_chateau_back_middle_east_room.json} | 0 ...ounters_old_chateau_back_middle_room.json} | 0 ...rs_old_chateau_back_middle_west_room.json} | 0 ...ncounters_old_chateau_back_west_room.json} | 0 ...n => encounters_old_chateau_corridor.json} | 0 ...> encounters_old_chateau_dining_area.json} | 0 ...=> encounters_old_chateau_side_rooms.json} | 0 ....json => encounters_oreburgh_gate_1f.json} | 0 ...json => encounters_oreburgh_gate_b1f.json} | 0 ...json => encounters_oreburgh_mine_b1f.json} | 0 ...json => encounters_oreburgh_mine_b2f.json} | 0 ...002.json => encounters_pastoria_city.json} | 0 ...04.json => encounters_pokemon_league.json} | 0 ...{053.json => encounters_ravaged_path.json} | 0 .../{178.json => encounters_resort_area.json} | 0 .../{140.json => encounters_route_201.json} | 0 .../{141.json => encounters_route_202.json} | 0 .../{142.json => encounters_route_203.json} | 0 ...4.json => encounters_route_204_north.json} | 0 ...3.json => encounters_route_204_south.json} | 0 ...6.json => encounters_route_205_north.json} | 0 ...5.json => encounters_route_205_south.json} | 0 .../{147.json => encounters_route_206.json} | 0 .../{148.json => encounters_route_207.json} | 0 .../{149.json => encounters_route_208.json} | 0 .../{150.json => encounters_route_209.json} | 0 ...> encounters_route_209_lost_tower_1f.json} | 0 ...> encounters_route_209_lost_tower_2f.json} | 0 ...> encounters_route_209_lost_tower_3f.json} | 0 ...> encounters_route_209_lost_tower_4f.json} | 0 ...> encounters_route_209_lost_tower_5f.json} | 0 ...7.json => encounters_route_210_north.json} | 0 ...6.json => encounters_route_210_south.json} | 0 ...59.json => encounters_route_211_east.json} | 0 ...58.json => encounters_route_211_west.json} | 0 ...0.json => encounters_route_212_north.json} | 0 ...1.json => encounters_route_212_south.json} | 0 .../{162.json => encounters_route_213.json} | 0 .../{163.json => encounters_route_214.json} | 0 .../{164.json => encounters_route_215.json} | 0 .../{165.json => encounters_route_216.json} | 0 .../{166.json => encounters_route_217.json} | 0 .../{167.json => encounters_route_218.json} | 0 .../{168.json => encounters_route_219.json} | 0 .../{179.json => encounters_route_220.json} | 0 .../{169.json => encounters_route_221.json} | 0 .../{170.json => encounters_route_222.json} | 0 .../{180.json => encounters_route_223.json} | 0 .../{171.json => encounters_route_224.json} | 0 .../{172.json => encounters_route_225.json} | 0 .../{181.json => encounters_route_226.json} | 0 .../{173.json => encounters_route_227.json} | 0 .../{174.json => encounters_route_228.json} | 0 .../{175.json => encounters_route_229.json} | 0 .../{182.json => encounters_route_230.json} | 0 ... => encounters_ruin_maniac_cave_long.json} | 0 ...=> encounters_ruin_maniac_cave_short.json} | 0 ...59.json => encounters_sendoff_spring.json} | 0 ...on => encounters_snowpoint_temple_1f.json} | 0 ...n => encounters_snowpoint_temple_b1f.json} | 0 ...n => encounters_snowpoint_temple_b2f.json} | 0 ...n => encounters_snowpoint_temple_b3f.json} | 0 ...n => encounters_snowpoint_temple_b4f.json} | 0 ...n => encounters_snowpoint_temple_b5f.json} | 0 ...rs_solaceon_ruins_maniac_tunnel_room.json} | 0 ...ceon_ruins_room_1_northwest_dead_end.json} | 0 ...ceon_ruins_room_1_southeast_dead_end.json} | 0 ... => encounters_solaceon_ruins_room_2.json} | 0 ...ceon_ruins_room_2_northeast_dead_end.json} | 0 ...ceon_ruins_room_2_southeast_dead_end.json} | 0 ... => encounters_solaceon_ruins_room_3.json} | 0 ...ceon_ruins_room_3_northwest_dead_end.json} | 0 ...ceon_ruins_room_3_southwest_dead_end.json} | 0 ... => encounters_solaceon_ruins_room_4.json} | 0 ...ceon_ruins_room_4_southeast_dead_end.json} | 0 ... => encounters_solaceon_ruins_room_5.json} | 0 ...aceon_ruins_room_5_southeast_deadend.json} | 0 ...ceon_ruins_room_5_southwest_dead_end.json} | 0 ... => encounters_solaceon_ruins_room_6.json} | 0 ...ceon_ruins_room_6_northwest_dead_end.json} | 0 ...ceon_ruins_room_6_southeast_dead_end.json} | 0 ... => encounters_solaceon_ruins_room_7.json} | 0 ...=> encounters_stark_mountain_outside.json} | 0 ... => encounters_stark_mountain_room_1.json} | 0 ... => encounters_stark_mountain_room_2.json} | 0 ...03.json => encounters_sunyshore_city.json} | 0 ...117.json => encounters_trophy_garden.json} | 18 + ...=> encounters_turnback_cave_entrance.json} | 0 ...counters_turnback_cave_giratina_room.json} | 0 ...unters_turnback_cave_pillar_1_room_1.json} | 0 ...unters_turnback_cave_pillar_1_room_2.json} | 0 ...unters_turnback_cave_pillar_1_room_3.json} | 0 ...unters_turnback_cave_pillar_1_room_4.json} | 0 ...unters_turnback_cave_pillar_1_room_5.json} | 0 ...unters_turnback_cave_pillar_1_room_6.json} | 0 ...unters_turnback_cave_pillar_2_room_1.json} | 0 ...unters_turnback_cave_pillar_2_room_2.json} | 0 ...unters_turnback_cave_pillar_2_room_3.json} | 0 ...unters_turnback_cave_pillar_2_room_4.json} | 0 ...unters_turnback_cave_pillar_2_room_5.json} | 0 ...unters_turnback_cave_pillar_2_room_6.json} | 0 ...unters_turnback_cave_pillar_3_room_1.json} | 0 ...unters_turnback_cave_pillar_3_room_2.json} | 0 ...unters_turnback_cave_pillar_3_room_3.json} | 0 ...unters_turnback_cave_pillar_3_room_4.json} | 0 ...unters_turnback_cave_pillar_3_room_5.json} | 0 ...unters_turnback_cave_pillar_3_room_6.json} | 0 ...encounters_turnback_cave_pillar_room.json} | 0 ...176.json => encounters_twinleaf_town.json} | 0 .../{081.json => encounters_unknown_533.json} | 0 .../{082.json => encounters_unknown_534.json} | 0 .../{083.json => encounters_unknown_535.json} | 0 .../{084.json => encounters_unknown_536.json} | 0 .../{085.json => encounters_unknown_537.json} | 0 .../{086.json => encounters_unknown_538.json} | 0 .../{087.json => encounters_unknown_539.json} | 0 .../{088.json => encounters_unknown_540.json} | 0 .../{089.json => encounters_unknown_541.json} | 0 .../{090.json => encounters_unknown_542.json} | 0 .../{091.json => encounters_unknown_543.json} | 0 .../{092.json => encounters_unknown_544.json} | 0 .../{093.json => encounters_unknown_545.json} | 0 .../{094.json => encounters_unknown_546.json} | 0 .../{095.json => encounters_unknown_547.json} | 0 .../{096.json => encounters_unknown_548.json} | 0 .../{097.json => encounters_unknown_549.json} | 0 .../{098.json => encounters_unknown_550.json} | 0 .../{099.json => encounters_unknown_551.json} | 0 .../{100.json => encounters_unknown_552.json} | 0 .../{101.json => encounters_unknown_553.json} | 0 .../{102.json => encounters_unknown_554.json} | 0 .../{103.json => encounters_unknown_555.json} | 0 .../{104.json => encounters_unknown_556.json} | 0 .../{105.json => encounters_unknown_557.json} | 0 ... encounters_valley_windworks_outside.json} | 0 ...8.json => encounters_valor_lakefront.json} | 0 ...7.json => encounters_victory_road_1f.json} | 0 ...=> encounters_victory_road_1f_room_1.json} | 0 ...=> encounters_victory_road_1f_room_2.json} | 0 ...=> encounters_victory_road_1f_room_3.json} | 0 ...8.json => encounters_victory_road_2f.json} | 0 ....json => encounters_victory_road_b1f.json} | 0 ...2.json => encounters_wayward_cave_1f.json} | 0 ....json => encounters_wayward_cave_b1f.json} | 0 res/field/encounters/meson.build | 421 +++++----- .../encounters_ex/great_marsh_dailies.json | 36 - .../great_marsh_dailies_natdex.json | 36 - .../encounters_ex/honey_tree_common.json | 10 - res/field/encounters_ex/honey_tree_rare.json | 10 - .../encounters_ex/honey_tree_uncommon.json | 10 - res/field/encounters_ex/meson.build | 26 - res/field/encounters_ex/mt_coronet_lake.json | 537 ------------- .../encounters_ex/trophy_garden_dailies.json | 20 - res/field/meson.build | 223 ------ res/meson.build | 3 +- res/pokemon/meson.build | 12 + res/{field => pokemon}/move_tutors.json | 0 res/text/meson.build | 507 +----------- tools/scripts/make_encdata_ex.py | 115 +-- tools/scripts/make_pokedex_enc_platinum.py | 391 +++++---- 206 files changed, 1559 insertions(+), 2066 deletions(-) delete mode 100644 res/field/encounters/022.json create mode 100644 res/field/encounters/encounters.order rename res/field/encounters/{139.json => encounters_acuity_lakefront.json} (100%) rename res/field/encounters/{000.json => encounters_canalave_city.json} (100%) rename res/field/encounters/{177.json => encounters_celestic_town.json} (100%) rename res/field/encounters/{001.json => encounters_eterna_city.json} (100%) rename res/field/encounters/{008.json => encounters_eterna_forest.json} (100%) rename res/field/encounters/{009.json => encounters_fuego_ironworks_outside.json} (100%) rename res/field/encounters/{023.json => encounters_great_marsh_1.json} (100%) rename res/field/encounters/{024.json => encounters_great_marsh_2.json} (100%) rename res/field/encounters/{025.json => encounters_great_marsh_3.json} (100%) rename res/field/encounters/{026.json => encounters_great_marsh_4.json} (100%) rename res/field/encounters/{027.json => encounters_great_marsh_5.json} (100%) rename res/field/encounters/{028.json => encounters_great_marsh_6.json} (100%) rename res/field/{encounters_ex/great_marsh_binocular_coords.json => encounters/encounters_great_marsh_lookout.json} (55%) create mode 100644 res/field/encounters/encounters_honey_tree.json rename res/field/encounters/{118.json => encounters_iron_island.json} (100%) rename res/field/encounters/{119.json => encounters_iron_island_1f.json} (100%) rename res/field/encounters/{120.json => encounters_iron_island_b1f_left_room.json} (100%) rename res/field/encounters/{121.json => encounters_iron_island_b1f_right_room.json} (100%) rename res/field/encounters/{122.json => encounters_iron_island_b2f_left_room.json} (100%) rename res/field/encounters/{123.json => encounters_iron_island_b2f_right_room.json} (100%) rename res/field/encounters/{124.json => encounters_iron_island_b3f.json} (100%) rename res/field/encounters/{137.json => encounters_lake_acuity.json} (100%) rename res/field/encounters/{136.json => encounters_lake_valor.json} (100%) rename res/field/encounters/{135.json => encounters_lake_verity.json} (100%) rename res/field/encounters/{134.json => encounters_lake_verity_low_water.json} (100%) rename res/field/encounters/{116.json => encounters_maniac_tunnel.json} (100%) rename res/field/encounters/{021.json => encounters_mt_coronet_1f_north_room_1.json} (100%) rename res/field/encounters/{020.json => encounters_mt_coronet_1f_north_room_2.json} (100%) rename res/field/encounters/{010.json => encounters_mt_coronet_1f_south.json} (100%) rename res/field/encounters/{019.json => encounters_mt_coronet_1f_tunnel_room.json} (100%) rename res/field/encounters/{011.json => encounters_mt_coronet_2f.json} (100%) rename res/field/encounters/{012.json => encounters_mt_coronet_3f.json} (100%) rename res/field/encounters/{016.json => encounters_mt_coronet_4f_room_3.json} (100%) rename res/field/encounters/{015.json => encounters_mt_coronet_4f_rooms_1_and_2.json} (100%) rename res/field/encounters/{017.json => encounters_mt_coronet_5f.json} (100%) rename res/field/encounters/{018.json => encounters_mt_coronet_6f.json} (100%) create mode 100644 res/field/encounters/encounters_mt_coronet_b1f.json rename res/field/encounters/{013.json => encounters_mt_coronet_outside_north.json} (100%) rename res/field/encounters/{014.json => encounters_mt_coronet_outside_south.json} (100%) rename res/field/encounters/{125.json => encounters_old_chateau.json} (100%) rename res/field/encounters/{126.json => encounters_old_chateau_back_east_room.json} (100%) rename res/field/encounters/{132.json => encounters_old_chateau_back_middle_east_room.json} (100%) rename res/field/encounters/{127.json => encounters_old_chateau_back_middle_room.json} (100%) rename res/field/encounters/{128.json => encounters_old_chateau_back_middle_west_room.json} (100%) rename res/field/encounters/{129.json => encounters_old_chateau_back_west_room.json} (100%) rename res/field/encounters/{130.json => encounters_old_chateau_corridor.json} (100%) rename res/field/encounters/{131.json => encounters_old_chateau_dining_area.json} (100%) rename res/field/encounters/{133.json => encounters_old_chateau_side_rooms.json} (100%) rename res/field/encounters/{054.json => encounters_oreburgh_gate_1f.json} (100%) rename res/field/encounters/{055.json => encounters_oreburgh_gate_b1f.json} (100%) rename res/field/encounters/{005.json => encounters_oreburgh_mine_b1f.json} (100%) rename res/field/encounters/{006.json => encounters_oreburgh_mine_b2f.json} (100%) rename res/field/encounters/{002.json => encounters_pastoria_city.json} (100%) rename res/field/encounters/{004.json => encounters_pokemon_league.json} (100%) rename res/field/encounters/{053.json => encounters_ravaged_path.json} (100%) rename res/field/encounters/{178.json => encounters_resort_area.json} (100%) rename res/field/encounters/{140.json => encounters_route_201.json} (100%) rename res/field/encounters/{141.json => encounters_route_202.json} (100%) rename res/field/encounters/{142.json => encounters_route_203.json} (100%) rename res/field/encounters/{144.json => encounters_route_204_north.json} (100%) rename res/field/encounters/{143.json => encounters_route_204_south.json} (100%) rename res/field/encounters/{146.json => encounters_route_205_north.json} (100%) rename res/field/encounters/{145.json => encounters_route_205_south.json} (100%) rename res/field/encounters/{147.json => encounters_route_206.json} (100%) rename res/field/encounters/{148.json => encounters_route_207.json} (100%) rename res/field/encounters/{149.json => encounters_route_208.json} (100%) rename res/field/encounters/{150.json => encounters_route_209.json} (100%) rename res/field/encounters/{151.json => encounters_route_209_lost_tower_1f.json} (100%) rename res/field/encounters/{152.json => encounters_route_209_lost_tower_2f.json} (100%) rename res/field/encounters/{153.json => encounters_route_209_lost_tower_3f.json} (100%) rename res/field/encounters/{154.json => encounters_route_209_lost_tower_4f.json} (100%) rename res/field/encounters/{155.json => encounters_route_209_lost_tower_5f.json} (100%) rename res/field/encounters/{157.json => encounters_route_210_north.json} (100%) rename res/field/encounters/{156.json => encounters_route_210_south.json} (100%) rename res/field/encounters/{159.json => encounters_route_211_east.json} (100%) rename res/field/encounters/{158.json => encounters_route_211_west.json} (100%) rename res/field/encounters/{160.json => encounters_route_212_north.json} (100%) rename res/field/encounters/{161.json => encounters_route_212_south.json} (100%) rename res/field/encounters/{162.json => encounters_route_213.json} (100%) rename res/field/encounters/{163.json => encounters_route_214.json} (100%) rename res/field/encounters/{164.json => encounters_route_215.json} (100%) rename res/field/encounters/{165.json => encounters_route_216.json} (100%) rename res/field/encounters/{166.json => encounters_route_217.json} (100%) rename res/field/encounters/{167.json => encounters_route_218.json} (100%) rename res/field/encounters/{168.json => encounters_route_219.json} (100%) rename res/field/encounters/{179.json => encounters_route_220.json} (100%) rename res/field/encounters/{169.json => encounters_route_221.json} (100%) rename res/field/encounters/{170.json => encounters_route_222.json} (100%) rename res/field/encounters/{180.json => encounters_route_223.json} (100%) rename res/field/encounters/{171.json => encounters_route_224.json} (100%) rename res/field/encounters/{172.json => encounters_route_225.json} (100%) rename res/field/encounters/{181.json => encounters_route_226.json} (100%) rename res/field/encounters/{173.json => encounters_route_227.json} (100%) rename res/field/encounters/{174.json => encounters_route_228.json} (100%) rename res/field/encounters/{175.json => encounters_route_229.json} (100%) rename res/field/encounters/{182.json => encounters_route_230.json} (100%) rename res/field/encounters/{115.json => encounters_ruin_maniac_cave_long.json} (100%) rename res/field/encounters/{114.json => encounters_ruin_maniac_cave_short.json} (100%) rename res/field/encounters/{059.json => encounters_sendoff_spring.json} (100%) rename res/field/encounters/{106.json => encounters_snowpoint_temple_1f.json} (100%) rename res/field/encounters/{107.json => encounters_snowpoint_temple_b1f.json} (100%) rename res/field/encounters/{108.json => encounters_snowpoint_temple_b2f.json} (100%) rename res/field/encounters/{109.json => encounters_snowpoint_temple_b3f.json} (100%) rename res/field/encounters/{110.json => encounters_snowpoint_temple_b4f.json} (100%) rename res/field/encounters/{111.json => encounters_snowpoint_temple_b5f.json} (100%) rename res/field/encounters/{029.json => encounters_solaceon_ruins_maniac_tunnel_room.json} (100%) rename res/field/encounters/{030.json => encounters_solaceon_ruins_room_1_northwest_dead_end.json} (100%) rename res/field/encounters/{031.json => encounters_solaceon_ruins_room_1_southeast_dead_end.json} (100%) rename res/field/encounters/{032.json => encounters_solaceon_ruins_room_2.json} (100%) rename res/field/encounters/{033.json => encounters_solaceon_ruins_room_2_northeast_dead_end.json} (100%) rename res/field/encounters/{035.json => encounters_solaceon_ruins_room_2_southeast_dead_end.json} (100%) rename res/field/encounters/{034.json => encounters_solaceon_ruins_room_3.json} (100%) rename res/field/encounters/{036.json => encounters_solaceon_ruins_room_3_northwest_dead_end.json} (100%) rename res/field/encounters/{037.json => encounters_solaceon_ruins_room_3_southwest_dead_end.json} (100%) rename res/field/encounters/{040.json => encounters_solaceon_ruins_room_4.json} (100%) rename res/field/encounters/{038.json => encounters_solaceon_ruins_room_4_southeast_dead_end.json} (100%) rename res/field/encounters/{042.json => encounters_solaceon_ruins_room_5.json} (100%) rename res/field/encounters/{039.json => encounters_solaceon_ruins_room_5_southeast_deadend.json} (100%) rename res/field/encounters/{044.json => encounters_solaceon_ruins_room_5_southwest_dead_end.json} (100%) rename res/field/encounters/{041.json => encounters_solaceon_ruins_room_6.json} (100%) rename res/field/encounters/{045.json => encounters_solaceon_ruins_room_6_northwest_dead_end.json} (100%) rename res/field/encounters/{046.json => encounters_solaceon_ruins_room_6_southeast_dead_end.json} (100%) rename res/field/encounters/{043.json => encounters_solaceon_ruins_room_7.json} (100%) rename res/field/encounters/{056.json => encounters_stark_mountain_outside.json} (100%) rename res/field/encounters/{057.json => encounters_stark_mountain_room_1.json} (100%) rename res/field/encounters/{058.json => encounters_stark_mountain_room_2.json} (100%) rename res/field/encounters/{003.json => encounters_sunyshore_city.json} (100%) rename res/field/encounters/{117.json => encounters_trophy_garden.json} (90%) rename res/field/encounters/{060.json => encounters_turnback_cave_entrance.json} (100%) rename res/field/encounters/{062.json => encounters_turnback_cave_giratina_room.json} (100%) rename res/field/encounters/{063.json => encounters_turnback_cave_pillar_1_room_1.json} (100%) rename res/field/encounters/{064.json => encounters_turnback_cave_pillar_1_room_2.json} (100%) rename res/field/encounters/{065.json => encounters_turnback_cave_pillar_1_room_3.json} (100%) rename res/field/encounters/{066.json => encounters_turnback_cave_pillar_1_room_4.json} (100%) rename res/field/encounters/{067.json => encounters_turnback_cave_pillar_1_room_5.json} (100%) rename res/field/encounters/{068.json => encounters_turnback_cave_pillar_1_room_6.json} (100%) rename res/field/encounters/{069.json => encounters_turnback_cave_pillar_2_room_1.json} (100%) rename res/field/encounters/{070.json => encounters_turnback_cave_pillar_2_room_2.json} (100%) rename res/field/encounters/{071.json => encounters_turnback_cave_pillar_2_room_3.json} (100%) rename res/field/encounters/{072.json => encounters_turnback_cave_pillar_2_room_4.json} (100%) rename res/field/encounters/{073.json => encounters_turnback_cave_pillar_2_room_5.json} (100%) rename res/field/encounters/{074.json => encounters_turnback_cave_pillar_2_room_6.json} (100%) rename res/field/encounters/{061.json => encounters_turnback_cave_pillar_3_room_1.json} (100%) rename res/field/encounters/{075.json => encounters_turnback_cave_pillar_3_room_2.json} (100%) rename res/field/encounters/{076.json => encounters_turnback_cave_pillar_3_room_3.json} (100%) rename res/field/encounters/{077.json => encounters_turnback_cave_pillar_3_room_4.json} (100%) rename res/field/encounters/{078.json => encounters_turnback_cave_pillar_3_room_5.json} (100%) rename res/field/encounters/{079.json => encounters_turnback_cave_pillar_3_room_6.json} (100%) rename res/field/encounters/{080.json => encounters_turnback_cave_pillar_room.json} (100%) rename res/field/encounters/{176.json => encounters_twinleaf_town.json} (100%) rename res/field/encounters/{081.json => encounters_unknown_533.json} (100%) rename res/field/encounters/{082.json => encounters_unknown_534.json} (100%) rename res/field/encounters/{083.json => encounters_unknown_535.json} (100%) rename res/field/encounters/{084.json => encounters_unknown_536.json} (100%) rename res/field/encounters/{085.json => encounters_unknown_537.json} (100%) rename res/field/encounters/{086.json => encounters_unknown_538.json} (100%) rename res/field/encounters/{087.json => encounters_unknown_539.json} (100%) rename res/field/encounters/{088.json => encounters_unknown_540.json} (100%) rename res/field/encounters/{089.json => encounters_unknown_541.json} (100%) rename res/field/encounters/{090.json => encounters_unknown_542.json} (100%) rename res/field/encounters/{091.json => encounters_unknown_543.json} (100%) rename res/field/encounters/{092.json => encounters_unknown_544.json} (100%) rename res/field/encounters/{093.json => encounters_unknown_545.json} (100%) rename res/field/encounters/{094.json => encounters_unknown_546.json} (100%) rename res/field/encounters/{095.json => encounters_unknown_547.json} (100%) rename res/field/encounters/{096.json => encounters_unknown_548.json} (100%) rename res/field/encounters/{097.json => encounters_unknown_549.json} (100%) rename res/field/encounters/{098.json => encounters_unknown_550.json} (100%) rename res/field/encounters/{099.json => encounters_unknown_551.json} (100%) rename res/field/encounters/{100.json => encounters_unknown_552.json} (100%) rename res/field/encounters/{101.json => encounters_unknown_553.json} (100%) rename res/field/encounters/{102.json => encounters_unknown_554.json} (100%) rename res/field/encounters/{103.json => encounters_unknown_555.json} (100%) rename res/field/encounters/{104.json => encounters_unknown_556.json} (100%) rename res/field/encounters/{105.json => encounters_unknown_557.json} (100%) rename res/field/encounters/{007.json => encounters_valley_windworks_outside.json} (100%) rename res/field/encounters/{138.json => encounters_valor_lakefront.json} (100%) rename res/field/encounters/{047.json => encounters_victory_road_1f.json} (100%) rename res/field/encounters/{051.json => encounters_victory_road_1f_room_1.json} (100%) rename res/field/encounters/{050.json => encounters_victory_road_1f_room_2.json} (100%) rename res/field/encounters/{052.json => encounters_victory_road_1f_room_3.json} (100%) rename res/field/encounters/{048.json => encounters_victory_road_2f.json} (100%) rename res/field/encounters/{049.json => encounters_victory_road_b1f.json} (100%) rename res/field/encounters/{112.json => encounters_wayward_cave_1f.json} (100%) rename res/field/encounters/{113.json => encounters_wayward_cave_b1f.json} (100%) delete mode 100644 res/field/encounters_ex/great_marsh_dailies.json delete mode 100644 res/field/encounters_ex/great_marsh_dailies_natdex.json delete mode 100644 res/field/encounters_ex/honey_tree_common.json delete mode 100644 res/field/encounters_ex/honey_tree_rare.json delete mode 100644 res/field/encounters_ex/honey_tree_uncommon.json delete mode 100644 res/field/encounters_ex/meson.build delete mode 100644 res/field/encounters_ex/mt_coronet_lake.json delete mode 100644 res/field/encounters_ex/trophy_garden_dailies.json rename res/{field => pokemon}/move_tutors.json (100%) diff --git a/include/tutor_movesets.h b/include/tutor_movesets.h index 615f46633f..5d7ff4f618 100644 --- a/include/tutor_movesets.h +++ b/include/tutor_movesets.h @@ -18,7 +18,7 @@ typedef struct TeachableMove { enum TutorLocation location; } TeachableMove; -#include "res/field/tutorable_moves.h" +#include "res/pokemon/tutorable_moves.h" #define MOVESET_MASK_SIZE (s32)((NELEMS(sTeachableMoves) + 7) / 8) diff --git a/platinum.us/filesys.sha1 b/platinum.us/filesys.sha1 index 4bcecfc290..1f3be382c6 100644 --- a/platinum.us/filesys.sha1 +++ b/platinum.us/filesys.sha1 @@ -288,7 +288,7 @@ afd2be309c09733b33ec9b73b793518b41153828 *res/prebuilt/arc/bm_anime_list.narc 6a403c707b8737e4f19644ffe51606838fe43456 *res/prebuilt/arc/codein_gra.narc f1ef036922af5a593650d6a52f56fb3ec59d3d83 *res/prebuilt/arc/demo_tengan_gra.narc adcb9634923530fd7f217a131a3949f556f4f324 *res/prebuilt/arc/email_gra.narc -0832d441d7e543e14d68e9df7e9118b472d67833 *res/field/encounters_ex/encdata_ex.narc +0832d441d7e543e14d68e9df7e9118b472d67833 *res/field/encounters/encdata_ex.narc d534f791217a311610812b18ef674a326ecdd2ac *res/prebuilt/arc/manene.narc ad5fefc4758eba86f6f647e506531d6cfe9c9ce5 *res/prebuilt/arc/plgym_ghost.narc 89b24d0c67f2cb089800613d5a0254a124d98ba6 *res/prebuilt/arc/ppark.narc @@ -309,7 +309,7 @@ e5b1a6b28919a947ae2d2e73306abdaf91499aff *res/prebuilt/battle/b_tower/btdpm.narc b0344401b36411ecad92e706059cc9a0d8fc2365 *res/prebuilt/battle/b_tower/btdtr.narc 2bc5d3a3f60966591593cc441ab6bd2eb9cfcaa1 *res/prebuilt/application/zukanlist/zkn_data/zukan_enc_diamond.narc ebb8d95aa9e03304b587861e9f912b8f2304fd48 *res/prebuilt/application/zukanlist/zkn_data/zukan_enc_pearl.narc -00d042c278d7a76bff49d4f317dd522604887368 *res/field/zukan_enc_platinum.narc +00d042c278d7a76bff49d4f317dd522604887368 *res/field/encounters/zukan_enc_platinum.narc 231228a02a80612dbe2036e2296a59e2c5a8b681 *res/pokemon/pl_poke_data.narc fdded15baac71b1bcfc285a6b7d6008336873e12 *res/prebuilt/debug/cb_edit/d_test.narc 8088363d46d621357a33956f8e03cb4e5c779734 *res/prebuilt/application/custom_ball/edit/pl_cb_data.narc diff --git a/platinum.us/rom.rsf b/platinum.us/rom.rsf index a647579a78..c9d1a0dd51 100644 --- a/platinum.us/rom.rsf +++ b/platinum.us/rom.rsf @@ -434,7 +434,7 @@ RomSpec File arc/email_gra.narc Root /arc - HostRoot res/field/encounters_ex + HostRoot res/field/encounters File encdata_ex.narc Root / @@ -467,7 +467,7 @@ RomSpec File application/zukanlist/zkn_data/zukan_enc_pearl.narc Root /application/zukanlist/zkn_data - HostRoot res/field + HostRoot res/field/encounters File zukan_enc_platinum.narc Root /poketool/poke_edit diff --git a/res/field/encounters/022.json b/res/field/encounters/022.json deleted file mode 100644 index 986081beb6..0000000000 --- a/res/field/encounters/022.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "land_rate": 10, - "land_encounters": [ - { - "level": 33, - "species": "SPECIES_BRONZOR" - }, - { - "level": 34, - "species": "SPECIES_GRAVELER" - }, - { - "level": 33, - "species": "SPECIES_MEDITITE" - }, - { - "level": 32, - "species": "SPECIES_CLEFAIRY" - }, - { - "level": 35, - "species": "SPECIES_MACHOKE" - }, - { - "level": 35, - "species": "SPECIES_MEDITITE" - }, - { - "level": 32, - "species": "SPECIES_CHINGLING" - }, - { - "level": 33, - "species": "SPECIES_NOSEPASS" - }, - { - "level": 34, - "species": "SPECIES_GOLBAT" - }, - { - "level": 34, - "species": "SPECIES_CHINGLING" - }, - { - "level": 34, - "species": "SPECIES_GOLBAT" - }, - { - "level": 34, - "species": "SPECIES_CHINGLING" - } - ], - "swarms": [ - "SPECIES_BRONZOR", - "SPECIES_GRAVELER" - ], - "morning": [ - "SPECIES_MEDITITE", - "SPECIES_GRAVELER" - ], - "night": [ - "SPECIES_GOLBAT", - "SPECIES_CLEFAIRY" - ], - "radar": [ - "SPECIES_MACHOKE", - "SPECIES_MEDITITE", - "SPECIES_GOLBAT", - "SPECIES_CHINGLING" - ], - "rate_form0": 0, - "rate_form1": 0, - "rate_form2": 0, - "rate_form3": 0, - "rate_form4": 0, - "unown_table": 0, - "ruby": [ - "SPECIES_GOLBAT", - "SPECIES_CHINGLING" - ], - "sapphire": [ - "SPECIES_GOLBAT", - "SPECIES_CHINGLING" - ], - "emerald": [ - "SPECIES_GOLBAT", - "SPECIES_CHINGLING" - ], - "firered": [ - "SPECIES_GOLBAT", - "SPECIES_CHINGLING" - ], - "leafgreen": [ - "SPECIES_GOLBAT", - "SPECIES_CHINGLING" - ], - "surf_rate": 10, - "surf_encounters": [ - { - "level_max": 30, - "level_min": 20, - "species": "SPECIES_ZUBAT" - }, - { - "level_max": 30, - "level_min": 20, - "species": "SPECIES_ZUBAT" - }, - { - "level_max": 40, - "level_min": 20, - "species": "SPECIES_GOLBAT" - }, - { - "level_max": 40, - "level_min": 20, - "species": "SPECIES_GOLBAT" - }, - { - "level_max": 40, - "level_min": 20, - "species": "SPECIES_GOLBAT" - } - ], - "old_rod_rate": 25, - "old_rod_encounters": [ - { - "level_max": 6, - "level_min": 3, - "species": "SPECIES_MAGIKARP" - }, - { - "level_max": 7, - "level_min": 4, - "species": "SPECIES_MAGIKARP" - }, - { - "level_max": 10, - "level_min": 5, - "species": "SPECIES_MAGIKARP" - }, - { - "level_max": 10, - "level_min": 5, - "species": "SPECIES_MAGIKARP" - }, - { - "level_max": 15, - "level_min": 5, - "species": "SPECIES_MAGIKARP" - } - ], - "good_rod_rate": 50, - "good_rod_encounters": [ - { - "level_max": 20, - "level_min": 15, - "species": "SPECIES_MAGIKARP" - }, - { - "level_max": 20, - "level_min": 15, - "species": "SPECIES_BARBOACH" - }, - { - "level_max": 25, - "level_min": 10, - "species": "SPECIES_MAGIKARP" - }, - { - "level_max": 25, - "level_min": 10, - "species": "SPECIES_BARBOACH" - }, - { - "level_max": 25, - "level_min": 10, - "species": "SPECIES_BARBOACH" - } - ], - "super_rod_rate": 75, - "super_rod_encounters": [ - { - "level_max": 40, - "level_min": 30, - "species": "SPECIES_GYARADOS" - }, - { - "level_max": 40, - "level_min": 30, - "species": "SPECIES_WHISCASH" - }, - { - "level_max": 55, - "level_min": 40, - "species": "SPECIES_GYARADOS" - }, - { - "level_max": 55, - "level_min": 40, - "species": "SPECIES_WHISCASH" - }, - { - "level_max": 55, - "level_min": 40, - "species": "SPECIES_WHISCASH" - } - ], - "map_category": { - "map_type": "dungeon", - "map_number": 3 - } -} \ No newline at end of file diff --git a/res/field/encounters/encounters.order b/res/field/encounters/encounters.order new file mode 100644 index 0000000000..8acae89fe3 --- /dev/null +++ b/res/field/encounters/encounters.order @@ -0,0 +1,183 @@ +encounters_canalave_city.bin +encounters_eterna_city.bin +encounters_pastoria_city.bin +encounters_sunyshore_city.bin +encounters_pokemon_league.bin +encounters_oreburgh_mine_b1f.bin +encounters_oreburgh_mine_b2f.bin +encounters_valley_windworks_outside.bin +encounters_eterna_forest.bin +encounters_fuego_ironworks_outside.bin +encounters_mt_coronet_1f_south.bin +encounters_mt_coronet_2f.bin +encounters_mt_coronet_3f.bin +encounters_mt_coronet_outside_north.bin +encounters_mt_coronet_outside_south.bin +encounters_mt_coronet_4f_rooms_1_and_2.bin +encounters_mt_coronet_4f_room_3.bin +encounters_mt_coronet_5f.bin +encounters_mt_coronet_6f.bin +encounters_mt_coronet_1f_tunnel_room.bin +encounters_mt_coronet_1f_north_room_2.bin +encounters_mt_coronet_1f_north_room_1.bin +encounters_mt_coronet_b1f.bin +encounters_great_marsh_1.bin +encounters_great_marsh_2.bin +encounters_great_marsh_3.bin +encounters_great_marsh_4.bin +encounters_great_marsh_5.bin +encounters_great_marsh_6.bin +encounters_solaceon_ruins_maniac_tunnel_room.bin +encounters_solaceon_ruins_room_2_northeast_dead_end.bin +encounters_solaceon_ruins_room_1_northwest_dead_end.bin +encounters_solaceon_ruins_room_2.bin +encounters_solaceon_ruins_room_1_southeast_dead_end.bin +encounters_solaceon_ruins_room_3.bin +encounters_solaceon_ruins_room_2_southeast_dead_end.bin +encounters_solaceon_ruins_room_6_southeast_dead_end.bin +encounters_solaceon_ruins_room_5_southwest_dead_end.bin +encounters_solaceon_ruins_room_3_northwest_dead_end.bin +encounters_solaceon_ruins_room_3_southwest_dead_end.bin +encounters_solaceon_ruins_room_4.bin +encounters_solaceon_ruins_room_6.bin +encounters_solaceon_ruins_room_5.bin +encounters_solaceon_ruins_room_7.bin +encounters_solaceon_ruins_room_4_southeast_dead_end.bin +encounters_solaceon_ruins_room_6_northwest_dead_end.bin +encounters_solaceon_ruins_room_5_southeast_deadend.bin +encounters_victory_road_1f.bin +encounters_victory_road_2f.bin +encounters_victory_road_b1f.bin +encounters_victory_road_1f_room_2.bin +encounters_victory_road_1f_room_1.bin +encounters_victory_road_1f_room_3.bin +encounters_ravaged_path.bin +encounters_oreburgh_gate_1f.bin +encounters_oreburgh_gate_b1f.bin +encounters_stark_mountain_outside.bin +encounters_stark_mountain_room_1.bin +encounters_stark_mountain_room_2.bin +encounters_sendoff_spring.bin +encounters_turnback_cave_entrance.bin +encounters_turnback_cave_pillar_room.bin +encounters_turnback_cave_giratina_room.bin +encounters_turnback_cave_pillar_1_room_1.bin +encounters_turnback_cave_pillar_1_room_2.bin +encounters_turnback_cave_pillar_1_room_3.bin +encounters_turnback_cave_pillar_1_room_4.bin +encounters_turnback_cave_pillar_1_room_5.bin +encounters_turnback_cave_pillar_1_room_6.bin +encounters_turnback_cave_pillar_2_room_1.bin +encounters_turnback_cave_pillar_2_room_2.bin +encounters_turnback_cave_pillar_2_room_3.bin +encounters_turnback_cave_pillar_2_room_4.bin +encounters_turnback_cave_pillar_2_room_5.bin +encounters_turnback_cave_pillar_2_room_6.bin +encounters_turnback_cave_pillar_3_room_1.bin +encounters_turnback_cave_pillar_3_room_2.bin +encounters_turnback_cave_pillar_3_room_3.bin +encounters_turnback_cave_pillar_3_room_4.bin +encounters_turnback_cave_pillar_3_room_5.bin +encounters_turnback_cave_pillar_3_room_6.bin +encounters_unknown_533.bin +encounters_unknown_534.bin +encounters_unknown_535.bin +encounters_unknown_536.bin +encounters_unknown_537.bin +encounters_unknown_538.bin +encounters_unknown_539.bin +encounters_unknown_540.bin +encounters_unknown_541.bin +encounters_unknown_542.bin +encounters_unknown_543.bin +encounters_unknown_544.bin +encounters_unknown_545.bin +encounters_unknown_546.bin +encounters_unknown_547.bin +encounters_unknown_548.bin +encounters_unknown_549.bin +encounters_unknown_550.bin +encounters_unknown_551.bin +encounters_unknown_552.bin +encounters_unknown_553.bin +encounters_unknown_554.bin +encounters_unknown_555.bin +encounters_unknown_556.bin +encounters_unknown_557.bin +encounters_snowpoint_temple_1f.bin +encounters_snowpoint_temple_b1f.bin +encounters_snowpoint_temple_b2f.bin +encounters_snowpoint_temple_b3f.bin +encounters_snowpoint_temple_b4f.bin +encounters_snowpoint_temple_b5f.bin +encounters_wayward_cave_1f.bin +encounters_wayward_cave_b1f.bin +encounters_ruin_maniac_cave_short.bin +encounters_ruin_maniac_cave_long.bin +encounters_maniac_tunnel.bin +encounters_trophy_garden.bin +encounters_iron_island.bin +encounters_iron_island_1f.bin +encounters_iron_island_b1f_left_room.bin +encounters_iron_island_b1f_right_room.bin +encounters_iron_island_b2f_right_room.bin +encounters_iron_island_b2f_left_room.bin +encounters_iron_island_b3f.bin +encounters_old_chateau.bin +encounters_old_chateau_dining_area.bin +encounters_old_chateau_side_rooms.bin +encounters_old_chateau_corridor.bin +encounters_old_chateau_back_west_room.bin +encounters_old_chateau_back_middle_west_room.bin +encounters_old_chateau_back_middle_room.bin +encounters_old_chateau_back_middle_east_room.bin +encounters_old_chateau_back_east_room.bin +encounters_lake_verity_low_water.bin +encounters_lake_verity.bin +encounters_lake_valor.bin +encounters_lake_acuity.bin +encounters_valor_lakefront.bin +encounters_acuity_lakefront.bin +encounters_route_201.bin +encounters_route_202.bin +encounters_route_203.bin +encounters_route_204_south.bin +encounters_route_204_north.bin +encounters_route_205_south.bin +encounters_route_205_north.bin +encounters_route_206.bin +encounters_route_207.bin +encounters_route_208.bin +encounters_route_209.bin +encounters_route_209_lost_tower_1f.bin +encounters_route_209_lost_tower_2f.bin +encounters_route_209_lost_tower_3f.bin +encounters_route_209_lost_tower_4f.bin +encounters_route_209_lost_tower_5f.bin +encounters_route_210_south.bin +encounters_route_210_north.bin +encounters_route_211_west.bin +encounters_route_211_east.bin +encounters_route_212_north.bin +encounters_route_212_south.bin +encounters_route_213.bin +encounters_route_214.bin +encounters_route_215.bin +encounters_route_216.bin +encounters_route_217.bin +encounters_route_218.bin +encounters_route_219.bin +encounters_route_221.bin +encounters_route_222.bin +encounters_route_224.bin +encounters_route_225.bin +encounters_route_227.bin +encounters_route_228.bin +encounters_route_229.bin +encounters_twinleaf_town.bin +encounters_celestic_town.bin +encounters_resort_area.bin +encounters_route_220.bin +encounters_route_223.bin +encounters_route_226.bin +encounters_route_230.bin diff --git a/res/field/encounters/139.json b/res/field/encounters/encounters_acuity_lakefront.json similarity index 100% rename from res/field/encounters/139.json rename to res/field/encounters/encounters_acuity_lakefront.json diff --git a/res/field/encounters/000.json b/res/field/encounters/encounters_canalave_city.json similarity index 100% rename from res/field/encounters/000.json rename to res/field/encounters/encounters_canalave_city.json diff --git a/res/field/encounters/177.json b/res/field/encounters/encounters_celestic_town.json similarity index 100% rename from res/field/encounters/177.json rename to res/field/encounters/encounters_celestic_town.json diff --git a/res/field/encounters/001.json b/res/field/encounters/encounters_eterna_city.json similarity index 100% rename from res/field/encounters/001.json rename to res/field/encounters/encounters_eterna_city.json diff --git a/res/field/encounters/008.json b/res/field/encounters/encounters_eterna_forest.json similarity index 100% rename from res/field/encounters/008.json rename to res/field/encounters/encounters_eterna_forest.json diff --git a/res/field/encounters/009.json b/res/field/encounters/encounters_fuego_ironworks_outside.json similarity index 100% rename from res/field/encounters/009.json rename to res/field/encounters/encounters_fuego_ironworks_outside.json diff --git a/res/field/encounters/023.json b/res/field/encounters/encounters_great_marsh_1.json similarity index 100% rename from res/field/encounters/023.json rename to res/field/encounters/encounters_great_marsh_1.json diff --git a/res/field/encounters/024.json b/res/field/encounters/encounters_great_marsh_2.json similarity index 100% rename from res/field/encounters/024.json rename to res/field/encounters/encounters_great_marsh_2.json diff --git a/res/field/encounters/025.json b/res/field/encounters/encounters_great_marsh_3.json similarity index 100% rename from res/field/encounters/025.json rename to res/field/encounters/encounters_great_marsh_3.json diff --git a/res/field/encounters/026.json b/res/field/encounters/encounters_great_marsh_4.json similarity index 100% rename from res/field/encounters/026.json rename to res/field/encounters/encounters_great_marsh_4.json diff --git a/res/field/encounters/027.json b/res/field/encounters/encounters_great_marsh_5.json similarity index 100% rename from res/field/encounters/027.json rename to res/field/encounters/encounters_great_marsh_5.json diff --git a/res/field/encounters/028.json b/res/field/encounters/encounters_great_marsh_6.json similarity index 100% rename from res/field/encounters/028.json rename to res/field/encounters/encounters_great_marsh_6.json diff --git a/res/field/encounters_ex/great_marsh_binocular_coords.json b/res/field/encounters/encounters_great_marsh_lookout.json similarity index 55% rename from res/field/encounters_ex/great_marsh_binocular_coords.json rename to res/field/encounters/encounters_great_marsh_lookout.json index fec3a7ae67..becb1f644d 100644 --- a/res/field/encounters_ex/great_marsh_binocular_coords.json +++ b/res/field/encounters/encounters_great_marsh_lookout.json @@ -1,4 +1,72 @@ { + "before_national_dex": [ + "SPECIES_WOOPER", + "SPECIES_WOOPER", + "SPECIES_WOOPER", + "SPECIES_CARNIVINE", + "SPECIES_SKORUPI", + "SPECIES_CROAGUNK", + "SPECIES_QUAGSIRE", + "SPECIES_WOOPER", + "SPECIES_SKORUPI", + "SPECIES_CROAGUNK", + "SPECIES_QUAGSIRE", + "SPECIES_WOOPER", + "SPECIES_WOOPER", + "SPECIES_WOOPER", + "SPECIES_WOOPER", + "SPECIES_WOOPER", + "SPECIES_SKORUPI", + "SPECIES_CROAGUNK", + "SPECIES_SKORUPI", + "SPECIES_CARNIVINE", + "SPECIES_YANMA", + "SPECIES_WOOPER", + "SPECIES_WOOPER", + "SPECIES_WOOPER", + "SPECIES_WOOPER", + "SPECIES_TROPIUS", + "SPECIES_WOOPER", + "SPECIES_WOOPER", + "SPECIES_SKORUPI", + "SPECIES_CARNIVINE", + "SPECIES_CROAGUNK", + "SPECIES_TANGELA" + ], + "after_national_dex": [ + "SPECIES_TOXICROAK", + "SPECIES_KECLEON", + "SPECIES_KECLEON", + "SPECIES_CARNIVINE", + "SPECIES_SKORUPI", + "SPECIES_CROAGUNK", + "SPECIES_QUAGSIRE", + "SPECIES_DRAPION", + "SPECIES_SKORUPI", + "SPECIES_CROAGUNK", + "SPECIES_QUAGSIRE", + "SPECIES_KANGASKHAN", + "SPECIES_PARAS", + "SPECIES_DRAPION", + "SPECIES_EXEGGCUTE", + "SPECIES_EXEGGCUTE", + "SPECIES_SKORUPI", + "SPECIES_CROAGUNK", + "SPECIES_SKORUPI", + "SPECIES_CARNIVINE", + "SPECIES_YANMA", + "SPECIES_SHROOMISH", + "SPECIES_PARAS", + "SPECIES_KANGASKHAN", + "SPECIES_GULPIN", + "SPECIES_TROPIUS", + "SPECIES_GULPIN", + "SPECIES_SHROOMISH", + "SPECIES_SKORUPI", + "SPECIES_CARNIVINE", + "SPECIES_CROAGUNK", + "SPECIES_TANGELA" + ], "binocular_coords": [ { "x": 81, diff --git a/res/field/encounters/encounters_honey_tree.json b/res/field/encounters/encounters_honey_tree.json new file mode 100644 index 0000000000..12d953651b --- /dev/null +++ b/res/field/encounters/encounters_honey_tree.json @@ -0,0 +1,26 @@ +{ + "common": [ + "SPECIES_COMBEE", + "SPECIES_WURMPLE", + "SPECIES_BURMY", + "SPECIES_CHERUBI", + "SPECIES_AIPOM", + "SPECIES_AIPOM" + ], + "uncommon": [ + "SPECIES_BURMY", + "SPECIES_CHERUBI", + "SPECIES_COMBEE", + "SPECIES_AIPOM", + "SPECIES_AIPOM", + "SPECIES_HERACROSS" + ], + "rare": [ + "SPECIES_MUNCHLAX", + "SPECIES_MUNCHLAX", + "SPECIES_MUNCHLAX", + "SPECIES_MUNCHLAX", + "SPECIES_MUNCHLAX", + "SPECIES_MUNCHLAX" + ] +} \ No newline at end of file diff --git a/res/field/encounters/118.json b/res/field/encounters/encounters_iron_island.json similarity index 100% rename from res/field/encounters/118.json rename to res/field/encounters/encounters_iron_island.json diff --git a/res/field/encounters/119.json b/res/field/encounters/encounters_iron_island_1f.json similarity index 100% rename from res/field/encounters/119.json rename to res/field/encounters/encounters_iron_island_1f.json diff --git a/res/field/encounters/120.json b/res/field/encounters/encounters_iron_island_b1f_left_room.json similarity index 100% rename from res/field/encounters/120.json rename to res/field/encounters/encounters_iron_island_b1f_left_room.json diff --git a/res/field/encounters/121.json b/res/field/encounters/encounters_iron_island_b1f_right_room.json similarity index 100% rename from res/field/encounters/121.json rename to res/field/encounters/encounters_iron_island_b1f_right_room.json diff --git a/res/field/encounters/122.json b/res/field/encounters/encounters_iron_island_b2f_left_room.json similarity index 100% rename from res/field/encounters/122.json rename to res/field/encounters/encounters_iron_island_b2f_left_room.json diff --git a/res/field/encounters/123.json b/res/field/encounters/encounters_iron_island_b2f_right_room.json similarity index 100% rename from res/field/encounters/123.json rename to res/field/encounters/encounters_iron_island_b2f_right_room.json diff --git a/res/field/encounters/124.json b/res/field/encounters/encounters_iron_island_b3f.json similarity index 100% rename from res/field/encounters/124.json rename to res/field/encounters/encounters_iron_island_b3f.json diff --git a/res/field/encounters/137.json b/res/field/encounters/encounters_lake_acuity.json similarity index 100% rename from res/field/encounters/137.json rename to res/field/encounters/encounters_lake_acuity.json diff --git a/res/field/encounters/136.json b/res/field/encounters/encounters_lake_valor.json similarity index 100% rename from res/field/encounters/136.json rename to res/field/encounters/encounters_lake_valor.json diff --git a/res/field/encounters/135.json b/res/field/encounters/encounters_lake_verity.json similarity index 100% rename from res/field/encounters/135.json rename to res/field/encounters/encounters_lake_verity.json diff --git a/res/field/encounters/134.json b/res/field/encounters/encounters_lake_verity_low_water.json similarity index 100% rename from res/field/encounters/134.json rename to res/field/encounters/encounters_lake_verity_low_water.json diff --git a/res/field/encounters/116.json b/res/field/encounters/encounters_maniac_tunnel.json similarity index 100% rename from res/field/encounters/116.json rename to res/field/encounters/encounters_maniac_tunnel.json diff --git a/res/field/encounters/021.json b/res/field/encounters/encounters_mt_coronet_1f_north_room_1.json similarity index 100% rename from res/field/encounters/021.json rename to res/field/encounters/encounters_mt_coronet_1f_north_room_1.json diff --git a/res/field/encounters/020.json b/res/field/encounters/encounters_mt_coronet_1f_north_room_2.json similarity index 100% rename from res/field/encounters/020.json rename to res/field/encounters/encounters_mt_coronet_1f_north_room_2.json diff --git a/res/field/encounters/010.json b/res/field/encounters/encounters_mt_coronet_1f_south.json similarity index 100% rename from res/field/encounters/010.json rename to res/field/encounters/encounters_mt_coronet_1f_south.json diff --git a/res/field/encounters/019.json b/res/field/encounters/encounters_mt_coronet_1f_tunnel_room.json similarity index 100% rename from res/field/encounters/019.json rename to res/field/encounters/encounters_mt_coronet_1f_tunnel_room.json diff --git a/res/field/encounters/011.json b/res/field/encounters/encounters_mt_coronet_2f.json similarity index 100% rename from res/field/encounters/011.json rename to res/field/encounters/encounters_mt_coronet_2f.json diff --git a/res/field/encounters/012.json b/res/field/encounters/encounters_mt_coronet_3f.json similarity index 100% rename from res/field/encounters/012.json rename to res/field/encounters/encounters_mt_coronet_3f.json diff --git a/res/field/encounters/016.json b/res/field/encounters/encounters_mt_coronet_4f_room_3.json similarity index 100% rename from res/field/encounters/016.json rename to res/field/encounters/encounters_mt_coronet_4f_room_3.json diff --git a/res/field/encounters/015.json b/res/field/encounters/encounters_mt_coronet_4f_rooms_1_and_2.json similarity index 100% rename from res/field/encounters/015.json rename to res/field/encounters/encounters_mt_coronet_4f_rooms_1_and_2.json diff --git a/res/field/encounters/017.json b/res/field/encounters/encounters_mt_coronet_5f.json similarity index 100% rename from res/field/encounters/017.json rename to res/field/encounters/encounters_mt_coronet_5f.json diff --git a/res/field/encounters/018.json b/res/field/encounters/encounters_mt_coronet_6f.json similarity index 100% rename from res/field/encounters/018.json rename to res/field/encounters/encounters_mt_coronet_6f.json diff --git a/res/field/encounters/encounters_mt_coronet_b1f.json b/res/field/encounters/encounters_mt_coronet_b1f.json new file mode 100644 index 0000000000..219f68281f --- /dev/null +++ b/res/field/encounters/encounters_mt_coronet_b1f.json @@ -0,0 +1,750 @@ +{ + "land_rate": 10, + "land_encounters": [ + { + "level": 33, + "species": "SPECIES_BRONZOR" + }, + { + "level": 34, + "species": "SPECIES_GRAVELER" + }, + { + "level": 33, + "species": "SPECIES_MEDITITE" + }, + { + "level": 32, + "species": "SPECIES_CLEFAIRY" + }, + { + "level": 35, + "species": "SPECIES_MACHOKE" + }, + { + "level": 35, + "species": "SPECIES_MEDITITE" + }, + { + "level": 32, + "species": "SPECIES_CHINGLING" + }, + { + "level": 33, + "species": "SPECIES_NOSEPASS" + }, + { + "level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "level": 34, + "species": "SPECIES_CHINGLING" + }, + { + "level": 34, + "species": "SPECIES_GOLBAT" + }, + { + "level": 34, + "species": "SPECIES_CHINGLING" + } + ], + "swarms": [ + "SPECIES_BRONZOR", + "SPECIES_GRAVELER" + ], + "morning": [ + "SPECIES_MEDITITE", + "SPECIES_GRAVELER" + ], + "night": [ + "SPECIES_GOLBAT", + "SPECIES_CLEFAIRY" + ], + "radar": [ + "SPECIES_MACHOKE", + "SPECIES_MEDITITE", + "SPECIES_GOLBAT", + "SPECIES_CHINGLING" + ], + "rate_form0": 0, + "rate_form1": 0, + "rate_form2": 0, + "rate_form3": 0, + "rate_form4": 0, + "unown_table": 0, + "ruby": [ + "SPECIES_GOLBAT", + "SPECIES_CHINGLING" + ], + "sapphire": [ + "SPECIES_GOLBAT", + "SPECIES_CHINGLING" + ], + "emerald": [ + "SPECIES_GOLBAT", + "SPECIES_CHINGLING" + ], + "firered": [ + "SPECIES_GOLBAT", + "SPECIES_CHINGLING" + ], + "leafgreen": [ + "SPECIES_GOLBAT", + "SPECIES_CHINGLING" + ], + "surf_rate": 10, + "surf_encounters": [ + { + "level_max": 30, + "level_min": 20, + "species": "SPECIES_ZUBAT" + }, + { + "level_max": 30, + "level_min": 20, + "species": "SPECIES_ZUBAT" + }, + { + "level_max": 40, + "level_min": 20, + "species": "SPECIES_GOLBAT" + }, + { + "level_max": 40, + "level_min": 20, + "species": "SPECIES_GOLBAT" + }, + { + "level_max": 40, + "level_min": 20, + "species": "SPECIES_GOLBAT" + } + ], + "old_rod_rate": 25, + "old_rod_encounters": [ + { + "level_max": 6, + "level_min": 3, + "species": "SPECIES_MAGIKARP" + }, + { + "level_max": 7, + "level_min": 4, + "species": "SPECIES_MAGIKARP" + }, + { + "level_max": 10, + "level_min": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "level_max": 10, + "level_min": 5, + "species": "SPECIES_MAGIKARP" + }, + { + "level_max": 15, + "level_min": 5, + "species": "SPECIES_MAGIKARP" + } + ], + "good_rod_rate": 50, + "good_rod_encounters": [ + { + "level_max": 20, + "level_min": 15, + "species": "SPECIES_MAGIKARP" + }, + { + "level_max": 20, + "level_min": 15, + "species": "SPECIES_BARBOACH" + }, + { + "level_max": 25, + "level_min": 10, + "species": "SPECIES_MAGIKARP" + }, + { + "level_max": 25, + "level_min": 10, + "species": "SPECIES_BARBOACH" + }, + { + "level_max": 25, + "level_min": 10, + "species": "SPECIES_BARBOACH" + } + ], + "super_rod_rate": 75, + "super_rod_encounters": [ + { + "level_max": 40, + "level_min": 30, + "species": "SPECIES_GYARADOS" + }, + { + "level_max": 40, + "level_min": 30, + "species": "SPECIES_WHISCASH" + }, + { + "level_max": 55, + "level_min": 40, + "species": "SPECIES_GYARADOS" + }, + { + "level_max": 55, + "level_min": 40, + "species": "SPECIES_WHISCASH" + }, + { + "level_max": 55, + "level_min": 40, + "species": "SPECIES_WHISCASH" + } + ], + "elusive_rod_encounter": { + "species": "SPECIES_FEEBAS", + "map_dimensions": [ + 228, + 300 + ], + "tiles": [ + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 665, + 666, + 681, + 682, + 683, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 873, + 874, + 875, + 876, + 877, + 878, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 952, + 953, + 954, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 984, + 985, + 986, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1016, + 1017, + 1018, + 1033, + 1034, + 1037, + 1038, + 1039, + 1040, + 1048, + 1049, + 1050, + 1065, + 1066, + 1069, + 1070, + 1071, + 1072, + 1080, + 1081, + 1082, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1112, + 1113, + 1114, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136, + 1144, + 1145, + 1146, + 1161, + 1162, + 1163, + 1164, + 1165, + 1166, + 1167, + 1168, + 1169, + 1170, + 1171, + 1172, + 1175, + 1176, + 1177, + 1178, + 1193, + 1194, + 1195, + 1196, + 1197, + 1198, + 1199, + 1200, + 1201, + 1202, + 1203, + 1204, + 1207, + 1208, + 1209, + 1210, + 1225, + 1226, + 1227, + 1228, + 1229, + 1230, + 1231, + 1232, + 1233, + 1234, + 1235, + 1236, + 1237, + 1238, + 1239, + 1240, + 1241, + 1242, + 1257, + 1258, + 1259, + 1260, + 1261, + 1262, + 1263, + 1264, + 1265, + 1266, + 1267, + 1268, + 1269, + 1270, + 1271, + 1272, + 1273, + 1274, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295, + 1296, + 1297, + 1298, + 1299, + 1300, + 1301, + 1305, + 1306, + 1321, + 1322, + 1323, + 1324, + 1325, + 1326, + 1327, + 1328, + 1329, + 1330, + 1331, + 1332, + 1333, + 1337, + 1338, + 1353, + 1354, + 1355, + 1356, + 1357, + 1358, + 1359, + 1360, + 1361, + 1362, + 1363, + 1364, + 1365, + 1369, + 1370, + 1385, + 1386, + 1387, + 1388, + 1389, + 1390, + 1391, + 1392, + 1393, + 1394, + 1395, + 1396, + 1397, + 1398, + 1399, + 1400, + 1401, + 1402, + 1417, + 1418, + 1419, + 1420, + 1421, + 1422, + 1423, + 1424, + 1425, + 1426, + 1428, + 1429, + 1430, + 1431, + 1432, + 1433, + 1434, + 1449, + 1450, + 1451, + 1455, + 1456, + 1457, + 1458, + 1459, + 1460, + 1461, + 1462, + 1463, + 1464, + 1465, + 1466, + 1481, + 1482, + 1483, + 1487, + 1488, + 1489, + 1490, + 1491, + 1492, + 1493, + 1494, + 1495, + 1496, + 1497, + 1498, + 1513, + 1514, + 1515, + 1519, + 1520, + 1521, + 1522, + 1523, + 1524, + 1527, + 1528, + 1529, + 1530, + 1545, + 1546, + 1547, + 1548, + 1549, + 1550, + 1551, + 1552, + 1553, + 1554, + 1555, + 1556, + 1559, + 1560, + 1561, + 1562, + 1577, + 1578, + 1580, + 1581, + 1582, + 1583, + 1584, + 1585, + 1586, + 1587, + 1588, + 1589, + 1590, + 1591, + 1592, + 1593, + 1594, + 1609, + 1610, + 1611, + 1612, + 1613, + 1614, + 1615, + 1616, + 1617, + 1618, + 1619, + 1620, + 1621, + 1622, + 1623, + 1624, + 1625, + 1626, + 1641, + 1642, + 1643, + 1644, + 1645, + 1646, + 1647, + 1648, + 1649, + 1650, + 1651, + 1652, + 1653, + 1654, + 1655, + 1656, + 1657, + 1658 + ] + }, + "map_category": { + "map_type": "dungeon", + "map_number": 3 + } +} \ No newline at end of file diff --git a/res/field/encounters/013.json b/res/field/encounters/encounters_mt_coronet_outside_north.json similarity index 100% rename from res/field/encounters/013.json rename to res/field/encounters/encounters_mt_coronet_outside_north.json diff --git a/res/field/encounters/014.json b/res/field/encounters/encounters_mt_coronet_outside_south.json similarity index 100% rename from res/field/encounters/014.json rename to res/field/encounters/encounters_mt_coronet_outside_south.json diff --git a/res/field/encounters/125.json b/res/field/encounters/encounters_old_chateau.json similarity index 100% rename from res/field/encounters/125.json rename to res/field/encounters/encounters_old_chateau.json diff --git a/res/field/encounters/126.json b/res/field/encounters/encounters_old_chateau_back_east_room.json similarity index 100% rename from res/field/encounters/126.json rename to res/field/encounters/encounters_old_chateau_back_east_room.json diff --git a/res/field/encounters/132.json b/res/field/encounters/encounters_old_chateau_back_middle_east_room.json similarity index 100% rename from res/field/encounters/132.json rename to res/field/encounters/encounters_old_chateau_back_middle_east_room.json diff --git a/res/field/encounters/127.json b/res/field/encounters/encounters_old_chateau_back_middle_room.json similarity index 100% rename from res/field/encounters/127.json rename to res/field/encounters/encounters_old_chateau_back_middle_room.json diff --git a/res/field/encounters/128.json b/res/field/encounters/encounters_old_chateau_back_middle_west_room.json similarity index 100% rename from res/field/encounters/128.json rename to res/field/encounters/encounters_old_chateau_back_middle_west_room.json diff --git a/res/field/encounters/129.json b/res/field/encounters/encounters_old_chateau_back_west_room.json similarity index 100% rename from res/field/encounters/129.json rename to res/field/encounters/encounters_old_chateau_back_west_room.json diff --git a/res/field/encounters/130.json b/res/field/encounters/encounters_old_chateau_corridor.json similarity index 100% rename from res/field/encounters/130.json rename to res/field/encounters/encounters_old_chateau_corridor.json diff --git a/res/field/encounters/131.json b/res/field/encounters/encounters_old_chateau_dining_area.json similarity index 100% rename from res/field/encounters/131.json rename to res/field/encounters/encounters_old_chateau_dining_area.json diff --git a/res/field/encounters/133.json b/res/field/encounters/encounters_old_chateau_side_rooms.json similarity index 100% rename from res/field/encounters/133.json rename to res/field/encounters/encounters_old_chateau_side_rooms.json diff --git a/res/field/encounters/054.json b/res/field/encounters/encounters_oreburgh_gate_1f.json similarity index 100% rename from res/field/encounters/054.json rename to res/field/encounters/encounters_oreburgh_gate_1f.json diff --git a/res/field/encounters/055.json b/res/field/encounters/encounters_oreburgh_gate_b1f.json similarity index 100% rename from res/field/encounters/055.json rename to res/field/encounters/encounters_oreburgh_gate_b1f.json diff --git a/res/field/encounters/005.json b/res/field/encounters/encounters_oreburgh_mine_b1f.json similarity index 100% rename from res/field/encounters/005.json rename to res/field/encounters/encounters_oreburgh_mine_b1f.json diff --git a/res/field/encounters/006.json b/res/field/encounters/encounters_oreburgh_mine_b2f.json similarity index 100% rename from res/field/encounters/006.json rename to res/field/encounters/encounters_oreburgh_mine_b2f.json diff --git a/res/field/encounters/002.json b/res/field/encounters/encounters_pastoria_city.json similarity index 100% rename from res/field/encounters/002.json rename to res/field/encounters/encounters_pastoria_city.json diff --git a/res/field/encounters/004.json b/res/field/encounters/encounters_pokemon_league.json similarity index 100% rename from res/field/encounters/004.json rename to res/field/encounters/encounters_pokemon_league.json diff --git a/res/field/encounters/053.json b/res/field/encounters/encounters_ravaged_path.json similarity index 100% rename from res/field/encounters/053.json rename to res/field/encounters/encounters_ravaged_path.json diff --git a/res/field/encounters/178.json b/res/field/encounters/encounters_resort_area.json similarity index 100% rename from res/field/encounters/178.json rename to res/field/encounters/encounters_resort_area.json diff --git a/res/field/encounters/140.json b/res/field/encounters/encounters_route_201.json similarity index 100% rename from res/field/encounters/140.json rename to res/field/encounters/encounters_route_201.json diff --git a/res/field/encounters/141.json b/res/field/encounters/encounters_route_202.json similarity index 100% rename from res/field/encounters/141.json rename to res/field/encounters/encounters_route_202.json diff --git a/res/field/encounters/142.json b/res/field/encounters/encounters_route_203.json similarity index 100% rename from res/field/encounters/142.json rename to res/field/encounters/encounters_route_203.json diff --git a/res/field/encounters/144.json b/res/field/encounters/encounters_route_204_north.json similarity index 100% rename from res/field/encounters/144.json rename to res/field/encounters/encounters_route_204_north.json diff --git a/res/field/encounters/143.json b/res/field/encounters/encounters_route_204_south.json similarity index 100% rename from res/field/encounters/143.json rename to res/field/encounters/encounters_route_204_south.json diff --git a/res/field/encounters/146.json b/res/field/encounters/encounters_route_205_north.json similarity index 100% rename from res/field/encounters/146.json rename to res/field/encounters/encounters_route_205_north.json diff --git a/res/field/encounters/145.json b/res/field/encounters/encounters_route_205_south.json similarity index 100% rename from res/field/encounters/145.json rename to res/field/encounters/encounters_route_205_south.json diff --git a/res/field/encounters/147.json b/res/field/encounters/encounters_route_206.json similarity index 100% rename from res/field/encounters/147.json rename to res/field/encounters/encounters_route_206.json diff --git a/res/field/encounters/148.json b/res/field/encounters/encounters_route_207.json similarity index 100% rename from res/field/encounters/148.json rename to res/field/encounters/encounters_route_207.json diff --git a/res/field/encounters/149.json b/res/field/encounters/encounters_route_208.json similarity index 100% rename from res/field/encounters/149.json rename to res/field/encounters/encounters_route_208.json diff --git a/res/field/encounters/150.json b/res/field/encounters/encounters_route_209.json similarity index 100% rename from res/field/encounters/150.json rename to res/field/encounters/encounters_route_209.json diff --git a/res/field/encounters/151.json b/res/field/encounters/encounters_route_209_lost_tower_1f.json similarity index 100% rename from res/field/encounters/151.json rename to res/field/encounters/encounters_route_209_lost_tower_1f.json diff --git a/res/field/encounters/152.json b/res/field/encounters/encounters_route_209_lost_tower_2f.json similarity index 100% rename from res/field/encounters/152.json rename to res/field/encounters/encounters_route_209_lost_tower_2f.json diff --git a/res/field/encounters/153.json b/res/field/encounters/encounters_route_209_lost_tower_3f.json similarity index 100% rename from res/field/encounters/153.json rename to res/field/encounters/encounters_route_209_lost_tower_3f.json diff --git a/res/field/encounters/154.json b/res/field/encounters/encounters_route_209_lost_tower_4f.json similarity index 100% rename from res/field/encounters/154.json rename to res/field/encounters/encounters_route_209_lost_tower_4f.json diff --git a/res/field/encounters/155.json b/res/field/encounters/encounters_route_209_lost_tower_5f.json similarity index 100% rename from res/field/encounters/155.json rename to res/field/encounters/encounters_route_209_lost_tower_5f.json diff --git a/res/field/encounters/157.json b/res/field/encounters/encounters_route_210_north.json similarity index 100% rename from res/field/encounters/157.json rename to res/field/encounters/encounters_route_210_north.json diff --git a/res/field/encounters/156.json b/res/field/encounters/encounters_route_210_south.json similarity index 100% rename from res/field/encounters/156.json rename to res/field/encounters/encounters_route_210_south.json diff --git a/res/field/encounters/159.json b/res/field/encounters/encounters_route_211_east.json similarity index 100% rename from res/field/encounters/159.json rename to res/field/encounters/encounters_route_211_east.json diff --git a/res/field/encounters/158.json b/res/field/encounters/encounters_route_211_west.json similarity index 100% rename from res/field/encounters/158.json rename to res/field/encounters/encounters_route_211_west.json diff --git a/res/field/encounters/160.json b/res/field/encounters/encounters_route_212_north.json similarity index 100% rename from res/field/encounters/160.json rename to res/field/encounters/encounters_route_212_north.json diff --git a/res/field/encounters/161.json b/res/field/encounters/encounters_route_212_south.json similarity index 100% rename from res/field/encounters/161.json rename to res/field/encounters/encounters_route_212_south.json diff --git a/res/field/encounters/162.json b/res/field/encounters/encounters_route_213.json similarity index 100% rename from res/field/encounters/162.json rename to res/field/encounters/encounters_route_213.json diff --git a/res/field/encounters/163.json b/res/field/encounters/encounters_route_214.json similarity index 100% rename from res/field/encounters/163.json rename to res/field/encounters/encounters_route_214.json diff --git a/res/field/encounters/164.json b/res/field/encounters/encounters_route_215.json similarity index 100% rename from res/field/encounters/164.json rename to res/field/encounters/encounters_route_215.json diff --git a/res/field/encounters/165.json b/res/field/encounters/encounters_route_216.json similarity index 100% rename from res/field/encounters/165.json rename to res/field/encounters/encounters_route_216.json diff --git a/res/field/encounters/166.json b/res/field/encounters/encounters_route_217.json similarity index 100% rename from res/field/encounters/166.json rename to res/field/encounters/encounters_route_217.json diff --git a/res/field/encounters/167.json b/res/field/encounters/encounters_route_218.json similarity index 100% rename from res/field/encounters/167.json rename to res/field/encounters/encounters_route_218.json diff --git a/res/field/encounters/168.json b/res/field/encounters/encounters_route_219.json similarity index 100% rename from res/field/encounters/168.json rename to res/field/encounters/encounters_route_219.json diff --git a/res/field/encounters/179.json b/res/field/encounters/encounters_route_220.json similarity index 100% rename from res/field/encounters/179.json rename to res/field/encounters/encounters_route_220.json diff --git a/res/field/encounters/169.json b/res/field/encounters/encounters_route_221.json similarity index 100% rename from res/field/encounters/169.json rename to res/field/encounters/encounters_route_221.json diff --git a/res/field/encounters/170.json b/res/field/encounters/encounters_route_222.json similarity index 100% rename from res/field/encounters/170.json rename to res/field/encounters/encounters_route_222.json diff --git a/res/field/encounters/180.json b/res/field/encounters/encounters_route_223.json similarity index 100% rename from res/field/encounters/180.json rename to res/field/encounters/encounters_route_223.json diff --git a/res/field/encounters/171.json b/res/field/encounters/encounters_route_224.json similarity index 100% rename from res/field/encounters/171.json rename to res/field/encounters/encounters_route_224.json diff --git a/res/field/encounters/172.json b/res/field/encounters/encounters_route_225.json similarity index 100% rename from res/field/encounters/172.json rename to res/field/encounters/encounters_route_225.json diff --git a/res/field/encounters/181.json b/res/field/encounters/encounters_route_226.json similarity index 100% rename from res/field/encounters/181.json rename to res/field/encounters/encounters_route_226.json diff --git a/res/field/encounters/173.json b/res/field/encounters/encounters_route_227.json similarity index 100% rename from res/field/encounters/173.json rename to res/field/encounters/encounters_route_227.json diff --git a/res/field/encounters/174.json b/res/field/encounters/encounters_route_228.json similarity index 100% rename from res/field/encounters/174.json rename to res/field/encounters/encounters_route_228.json diff --git a/res/field/encounters/175.json b/res/field/encounters/encounters_route_229.json similarity index 100% rename from res/field/encounters/175.json rename to res/field/encounters/encounters_route_229.json diff --git a/res/field/encounters/182.json b/res/field/encounters/encounters_route_230.json similarity index 100% rename from res/field/encounters/182.json rename to res/field/encounters/encounters_route_230.json diff --git a/res/field/encounters/115.json b/res/field/encounters/encounters_ruin_maniac_cave_long.json similarity index 100% rename from res/field/encounters/115.json rename to res/field/encounters/encounters_ruin_maniac_cave_long.json diff --git a/res/field/encounters/114.json b/res/field/encounters/encounters_ruin_maniac_cave_short.json similarity index 100% rename from res/field/encounters/114.json rename to res/field/encounters/encounters_ruin_maniac_cave_short.json diff --git a/res/field/encounters/059.json b/res/field/encounters/encounters_sendoff_spring.json similarity index 100% rename from res/field/encounters/059.json rename to res/field/encounters/encounters_sendoff_spring.json diff --git a/res/field/encounters/106.json b/res/field/encounters/encounters_snowpoint_temple_1f.json similarity index 100% rename from res/field/encounters/106.json rename to res/field/encounters/encounters_snowpoint_temple_1f.json diff --git a/res/field/encounters/107.json b/res/field/encounters/encounters_snowpoint_temple_b1f.json similarity index 100% rename from res/field/encounters/107.json rename to res/field/encounters/encounters_snowpoint_temple_b1f.json diff --git a/res/field/encounters/108.json b/res/field/encounters/encounters_snowpoint_temple_b2f.json similarity index 100% rename from res/field/encounters/108.json rename to res/field/encounters/encounters_snowpoint_temple_b2f.json diff --git a/res/field/encounters/109.json b/res/field/encounters/encounters_snowpoint_temple_b3f.json similarity index 100% rename from res/field/encounters/109.json rename to res/field/encounters/encounters_snowpoint_temple_b3f.json diff --git a/res/field/encounters/110.json b/res/field/encounters/encounters_snowpoint_temple_b4f.json similarity index 100% rename from res/field/encounters/110.json rename to res/field/encounters/encounters_snowpoint_temple_b4f.json diff --git a/res/field/encounters/111.json b/res/field/encounters/encounters_snowpoint_temple_b5f.json similarity index 100% rename from res/field/encounters/111.json rename to res/field/encounters/encounters_snowpoint_temple_b5f.json diff --git a/res/field/encounters/029.json b/res/field/encounters/encounters_solaceon_ruins_maniac_tunnel_room.json similarity index 100% rename from res/field/encounters/029.json rename to res/field/encounters/encounters_solaceon_ruins_maniac_tunnel_room.json diff --git a/res/field/encounters/030.json b/res/field/encounters/encounters_solaceon_ruins_room_1_northwest_dead_end.json similarity index 100% rename from res/field/encounters/030.json rename to res/field/encounters/encounters_solaceon_ruins_room_1_northwest_dead_end.json diff --git a/res/field/encounters/031.json b/res/field/encounters/encounters_solaceon_ruins_room_1_southeast_dead_end.json similarity index 100% rename from res/field/encounters/031.json rename to res/field/encounters/encounters_solaceon_ruins_room_1_southeast_dead_end.json diff --git a/res/field/encounters/032.json b/res/field/encounters/encounters_solaceon_ruins_room_2.json similarity index 100% rename from res/field/encounters/032.json rename to res/field/encounters/encounters_solaceon_ruins_room_2.json diff --git a/res/field/encounters/033.json b/res/field/encounters/encounters_solaceon_ruins_room_2_northeast_dead_end.json similarity index 100% rename from res/field/encounters/033.json rename to res/field/encounters/encounters_solaceon_ruins_room_2_northeast_dead_end.json diff --git a/res/field/encounters/035.json b/res/field/encounters/encounters_solaceon_ruins_room_2_southeast_dead_end.json similarity index 100% rename from res/field/encounters/035.json rename to res/field/encounters/encounters_solaceon_ruins_room_2_southeast_dead_end.json diff --git a/res/field/encounters/034.json b/res/field/encounters/encounters_solaceon_ruins_room_3.json similarity index 100% rename from res/field/encounters/034.json rename to res/field/encounters/encounters_solaceon_ruins_room_3.json diff --git a/res/field/encounters/036.json b/res/field/encounters/encounters_solaceon_ruins_room_3_northwest_dead_end.json similarity index 100% rename from res/field/encounters/036.json rename to res/field/encounters/encounters_solaceon_ruins_room_3_northwest_dead_end.json diff --git a/res/field/encounters/037.json b/res/field/encounters/encounters_solaceon_ruins_room_3_southwest_dead_end.json similarity index 100% rename from res/field/encounters/037.json rename to res/field/encounters/encounters_solaceon_ruins_room_3_southwest_dead_end.json diff --git a/res/field/encounters/040.json b/res/field/encounters/encounters_solaceon_ruins_room_4.json similarity index 100% rename from res/field/encounters/040.json rename to res/field/encounters/encounters_solaceon_ruins_room_4.json diff --git a/res/field/encounters/038.json b/res/field/encounters/encounters_solaceon_ruins_room_4_southeast_dead_end.json similarity index 100% rename from res/field/encounters/038.json rename to res/field/encounters/encounters_solaceon_ruins_room_4_southeast_dead_end.json diff --git a/res/field/encounters/042.json b/res/field/encounters/encounters_solaceon_ruins_room_5.json similarity index 100% rename from res/field/encounters/042.json rename to res/field/encounters/encounters_solaceon_ruins_room_5.json diff --git a/res/field/encounters/039.json b/res/field/encounters/encounters_solaceon_ruins_room_5_southeast_deadend.json similarity index 100% rename from res/field/encounters/039.json rename to res/field/encounters/encounters_solaceon_ruins_room_5_southeast_deadend.json diff --git a/res/field/encounters/044.json b/res/field/encounters/encounters_solaceon_ruins_room_5_southwest_dead_end.json similarity index 100% rename from res/field/encounters/044.json rename to res/field/encounters/encounters_solaceon_ruins_room_5_southwest_dead_end.json diff --git a/res/field/encounters/041.json b/res/field/encounters/encounters_solaceon_ruins_room_6.json similarity index 100% rename from res/field/encounters/041.json rename to res/field/encounters/encounters_solaceon_ruins_room_6.json diff --git a/res/field/encounters/045.json b/res/field/encounters/encounters_solaceon_ruins_room_6_northwest_dead_end.json similarity index 100% rename from res/field/encounters/045.json rename to res/field/encounters/encounters_solaceon_ruins_room_6_northwest_dead_end.json diff --git a/res/field/encounters/046.json b/res/field/encounters/encounters_solaceon_ruins_room_6_southeast_dead_end.json similarity index 100% rename from res/field/encounters/046.json rename to res/field/encounters/encounters_solaceon_ruins_room_6_southeast_dead_end.json diff --git a/res/field/encounters/043.json b/res/field/encounters/encounters_solaceon_ruins_room_7.json similarity index 100% rename from res/field/encounters/043.json rename to res/field/encounters/encounters_solaceon_ruins_room_7.json diff --git a/res/field/encounters/056.json b/res/field/encounters/encounters_stark_mountain_outside.json similarity index 100% rename from res/field/encounters/056.json rename to res/field/encounters/encounters_stark_mountain_outside.json diff --git a/res/field/encounters/057.json b/res/field/encounters/encounters_stark_mountain_room_1.json similarity index 100% rename from res/field/encounters/057.json rename to res/field/encounters/encounters_stark_mountain_room_1.json diff --git a/res/field/encounters/058.json b/res/field/encounters/encounters_stark_mountain_room_2.json similarity index 100% rename from res/field/encounters/058.json rename to res/field/encounters/encounters_stark_mountain_room_2.json diff --git a/res/field/encounters/003.json b/res/field/encounters/encounters_sunyshore_city.json similarity index 100% rename from res/field/encounters/003.json rename to res/field/encounters/encounters_sunyshore_city.json diff --git a/res/field/encounters/117.json b/res/field/encounters/encounters_trophy_garden.json similarity index 90% rename from res/field/encounters/117.json rename to res/field/encounters/encounters_trophy_garden.json index 0ed4319256..e344874f2a 100644 --- a/res/field/encounters/117.json +++ b/res/field/encounters/encounters_trophy_garden.json @@ -206,6 +206,24 @@ "species": "SPECIES_NONE" } ], + "daily_encounters": [ + "SPECIES_EEVEE", + "SPECIES_BONSLY", + "SPECIES_HAPPINY", + "SPECIES_MEOWTH", + "SPECIES_CLEFFA", + "SPECIES_CLEFAIRY", + "SPECIES_IGGLYBUFF", + "SPECIES_PLUSLE", + "SPECIES_JIGGLYPUFF", + "SPECIES_DITTO", + "SPECIES_CASTFORM", + "SPECIES_MINUN", + "SPECIES_MIME_JR", + "SPECIES_MARILL", + "SPECIES_CHANSEY", + "SPECIES_AZURILL" + ], "map_category": { "map_type": "dungeon", "map_number": 14 diff --git a/res/field/encounters/060.json b/res/field/encounters/encounters_turnback_cave_entrance.json similarity index 100% rename from res/field/encounters/060.json rename to res/field/encounters/encounters_turnback_cave_entrance.json diff --git a/res/field/encounters/062.json b/res/field/encounters/encounters_turnback_cave_giratina_room.json similarity index 100% rename from res/field/encounters/062.json rename to res/field/encounters/encounters_turnback_cave_giratina_room.json diff --git a/res/field/encounters/063.json b/res/field/encounters/encounters_turnback_cave_pillar_1_room_1.json similarity index 100% rename from res/field/encounters/063.json rename to res/field/encounters/encounters_turnback_cave_pillar_1_room_1.json diff --git a/res/field/encounters/064.json b/res/field/encounters/encounters_turnback_cave_pillar_1_room_2.json similarity index 100% rename from res/field/encounters/064.json rename to res/field/encounters/encounters_turnback_cave_pillar_1_room_2.json diff --git a/res/field/encounters/065.json b/res/field/encounters/encounters_turnback_cave_pillar_1_room_3.json similarity index 100% rename from res/field/encounters/065.json rename to res/field/encounters/encounters_turnback_cave_pillar_1_room_3.json diff --git a/res/field/encounters/066.json b/res/field/encounters/encounters_turnback_cave_pillar_1_room_4.json similarity index 100% rename from res/field/encounters/066.json rename to res/field/encounters/encounters_turnback_cave_pillar_1_room_4.json diff --git a/res/field/encounters/067.json b/res/field/encounters/encounters_turnback_cave_pillar_1_room_5.json similarity index 100% rename from res/field/encounters/067.json rename to res/field/encounters/encounters_turnback_cave_pillar_1_room_5.json diff --git a/res/field/encounters/068.json b/res/field/encounters/encounters_turnback_cave_pillar_1_room_6.json similarity index 100% rename from res/field/encounters/068.json rename to res/field/encounters/encounters_turnback_cave_pillar_1_room_6.json diff --git a/res/field/encounters/069.json b/res/field/encounters/encounters_turnback_cave_pillar_2_room_1.json similarity index 100% rename from res/field/encounters/069.json rename to res/field/encounters/encounters_turnback_cave_pillar_2_room_1.json diff --git a/res/field/encounters/070.json b/res/field/encounters/encounters_turnback_cave_pillar_2_room_2.json similarity index 100% rename from res/field/encounters/070.json rename to res/field/encounters/encounters_turnback_cave_pillar_2_room_2.json diff --git a/res/field/encounters/071.json b/res/field/encounters/encounters_turnback_cave_pillar_2_room_3.json similarity index 100% rename from res/field/encounters/071.json rename to res/field/encounters/encounters_turnback_cave_pillar_2_room_3.json diff --git a/res/field/encounters/072.json b/res/field/encounters/encounters_turnback_cave_pillar_2_room_4.json similarity index 100% rename from res/field/encounters/072.json rename to res/field/encounters/encounters_turnback_cave_pillar_2_room_4.json diff --git a/res/field/encounters/073.json b/res/field/encounters/encounters_turnback_cave_pillar_2_room_5.json similarity index 100% rename from res/field/encounters/073.json rename to res/field/encounters/encounters_turnback_cave_pillar_2_room_5.json diff --git a/res/field/encounters/074.json b/res/field/encounters/encounters_turnback_cave_pillar_2_room_6.json similarity index 100% rename from res/field/encounters/074.json rename to res/field/encounters/encounters_turnback_cave_pillar_2_room_6.json diff --git a/res/field/encounters/061.json b/res/field/encounters/encounters_turnback_cave_pillar_3_room_1.json similarity index 100% rename from res/field/encounters/061.json rename to res/field/encounters/encounters_turnback_cave_pillar_3_room_1.json diff --git a/res/field/encounters/075.json b/res/field/encounters/encounters_turnback_cave_pillar_3_room_2.json similarity index 100% rename from res/field/encounters/075.json rename to res/field/encounters/encounters_turnback_cave_pillar_3_room_2.json diff --git a/res/field/encounters/076.json b/res/field/encounters/encounters_turnback_cave_pillar_3_room_3.json similarity index 100% rename from res/field/encounters/076.json rename to res/field/encounters/encounters_turnback_cave_pillar_3_room_3.json diff --git a/res/field/encounters/077.json b/res/field/encounters/encounters_turnback_cave_pillar_3_room_4.json similarity index 100% rename from res/field/encounters/077.json rename to res/field/encounters/encounters_turnback_cave_pillar_3_room_4.json diff --git a/res/field/encounters/078.json b/res/field/encounters/encounters_turnback_cave_pillar_3_room_5.json similarity index 100% rename from res/field/encounters/078.json rename to res/field/encounters/encounters_turnback_cave_pillar_3_room_5.json diff --git a/res/field/encounters/079.json b/res/field/encounters/encounters_turnback_cave_pillar_3_room_6.json similarity index 100% rename from res/field/encounters/079.json rename to res/field/encounters/encounters_turnback_cave_pillar_3_room_6.json diff --git a/res/field/encounters/080.json b/res/field/encounters/encounters_turnback_cave_pillar_room.json similarity index 100% rename from res/field/encounters/080.json rename to res/field/encounters/encounters_turnback_cave_pillar_room.json diff --git a/res/field/encounters/176.json b/res/field/encounters/encounters_twinleaf_town.json similarity index 100% rename from res/field/encounters/176.json rename to res/field/encounters/encounters_twinleaf_town.json diff --git a/res/field/encounters/081.json b/res/field/encounters/encounters_unknown_533.json similarity index 100% rename from res/field/encounters/081.json rename to res/field/encounters/encounters_unknown_533.json diff --git a/res/field/encounters/082.json b/res/field/encounters/encounters_unknown_534.json similarity index 100% rename from res/field/encounters/082.json rename to res/field/encounters/encounters_unknown_534.json diff --git a/res/field/encounters/083.json b/res/field/encounters/encounters_unknown_535.json similarity index 100% rename from res/field/encounters/083.json rename to res/field/encounters/encounters_unknown_535.json diff --git a/res/field/encounters/084.json b/res/field/encounters/encounters_unknown_536.json similarity index 100% rename from res/field/encounters/084.json rename to res/field/encounters/encounters_unknown_536.json diff --git a/res/field/encounters/085.json b/res/field/encounters/encounters_unknown_537.json similarity index 100% rename from res/field/encounters/085.json rename to res/field/encounters/encounters_unknown_537.json diff --git a/res/field/encounters/086.json b/res/field/encounters/encounters_unknown_538.json similarity index 100% rename from res/field/encounters/086.json rename to res/field/encounters/encounters_unknown_538.json diff --git a/res/field/encounters/087.json b/res/field/encounters/encounters_unknown_539.json similarity index 100% rename from res/field/encounters/087.json rename to res/field/encounters/encounters_unknown_539.json diff --git a/res/field/encounters/088.json b/res/field/encounters/encounters_unknown_540.json similarity index 100% rename from res/field/encounters/088.json rename to res/field/encounters/encounters_unknown_540.json diff --git a/res/field/encounters/089.json b/res/field/encounters/encounters_unknown_541.json similarity index 100% rename from res/field/encounters/089.json rename to res/field/encounters/encounters_unknown_541.json diff --git a/res/field/encounters/090.json b/res/field/encounters/encounters_unknown_542.json similarity index 100% rename from res/field/encounters/090.json rename to res/field/encounters/encounters_unknown_542.json diff --git a/res/field/encounters/091.json b/res/field/encounters/encounters_unknown_543.json similarity index 100% rename from res/field/encounters/091.json rename to res/field/encounters/encounters_unknown_543.json diff --git a/res/field/encounters/092.json b/res/field/encounters/encounters_unknown_544.json similarity index 100% rename from res/field/encounters/092.json rename to res/field/encounters/encounters_unknown_544.json diff --git a/res/field/encounters/093.json b/res/field/encounters/encounters_unknown_545.json similarity index 100% rename from res/field/encounters/093.json rename to res/field/encounters/encounters_unknown_545.json diff --git a/res/field/encounters/094.json b/res/field/encounters/encounters_unknown_546.json similarity index 100% rename from res/field/encounters/094.json rename to res/field/encounters/encounters_unknown_546.json diff --git a/res/field/encounters/095.json b/res/field/encounters/encounters_unknown_547.json similarity index 100% rename from res/field/encounters/095.json rename to res/field/encounters/encounters_unknown_547.json diff --git a/res/field/encounters/096.json b/res/field/encounters/encounters_unknown_548.json similarity index 100% rename from res/field/encounters/096.json rename to res/field/encounters/encounters_unknown_548.json diff --git a/res/field/encounters/097.json b/res/field/encounters/encounters_unknown_549.json similarity index 100% rename from res/field/encounters/097.json rename to res/field/encounters/encounters_unknown_549.json diff --git a/res/field/encounters/098.json b/res/field/encounters/encounters_unknown_550.json similarity index 100% rename from res/field/encounters/098.json rename to res/field/encounters/encounters_unknown_550.json diff --git a/res/field/encounters/099.json b/res/field/encounters/encounters_unknown_551.json similarity index 100% rename from res/field/encounters/099.json rename to res/field/encounters/encounters_unknown_551.json diff --git a/res/field/encounters/100.json b/res/field/encounters/encounters_unknown_552.json similarity index 100% rename from res/field/encounters/100.json rename to res/field/encounters/encounters_unknown_552.json diff --git a/res/field/encounters/101.json b/res/field/encounters/encounters_unknown_553.json similarity index 100% rename from res/field/encounters/101.json rename to res/field/encounters/encounters_unknown_553.json diff --git a/res/field/encounters/102.json b/res/field/encounters/encounters_unknown_554.json similarity index 100% rename from res/field/encounters/102.json rename to res/field/encounters/encounters_unknown_554.json diff --git a/res/field/encounters/103.json b/res/field/encounters/encounters_unknown_555.json similarity index 100% rename from res/field/encounters/103.json rename to res/field/encounters/encounters_unknown_555.json diff --git a/res/field/encounters/104.json b/res/field/encounters/encounters_unknown_556.json similarity index 100% rename from res/field/encounters/104.json rename to res/field/encounters/encounters_unknown_556.json diff --git a/res/field/encounters/105.json b/res/field/encounters/encounters_unknown_557.json similarity index 100% rename from res/field/encounters/105.json rename to res/field/encounters/encounters_unknown_557.json diff --git a/res/field/encounters/007.json b/res/field/encounters/encounters_valley_windworks_outside.json similarity index 100% rename from res/field/encounters/007.json rename to res/field/encounters/encounters_valley_windworks_outside.json diff --git a/res/field/encounters/138.json b/res/field/encounters/encounters_valor_lakefront.json similarity index 100% rename from res/field/encounters/138.json rename to res/field/encounters/encounters_valor_lakefront.json diff --git a/res/field/encounters/047.json b/res/field/encounters/encounters_victory_road_1f.json similarity index 100% rename from res/field/encounters/047.json rename to res/field/encounters/encounters_victory_road_1f.json diff --git a/res/field/encounters/051.json b/res/field/encounters/encounters_victory_road_1f_room_1.json similarity index 100% rename from res/field/encounters/051.json rename to res/field/encounters/encounters_victory_road_1f_room_1.json diff --git a/res/field/encounters/050.json b/res/field/encounters/encounters_victory_road_1f_room_2.json similarity index 100% rename from res/field/encounters/050.json rename to res/field/encounters/encounters_victory_road_1f_room_2.json diff --git a/res/field/encounters/052.json b/res/field/encounters/encounters_victory_road_1f_room_3.json similarity index 100% rename from res/field/encounters/052.json rename to res/field/encounters/encounters_victory_road_1f_room_3.json diff --git a/res/field/encounters/048.json b/res/field/encounters/encounters_victory_road_2f.json similarity index 100% rename from res/field/encounters/048.json rename to res/field/encounters/encounters_victory_road_2f.json diff --git a/res/field/encounters/049.json b/res/field/encounters/encounters_victory_road_b1f.json similarity index 100% rename from res/field/encounters/049.json rename to res/field/encounters/encounters_victory_road_b1f.json diff --git a/res/field/encounters/112.json b/res/field/encounters/encounters_wayward_cave_1f.json similarity index 100% rename from res/field/encounters/112.json rename to res/field/encounters/encounters_wayward_cave_1f.json diff --git a/res/field/encounters/113.json b/res/field/encounters/encounters_wayward_cave_b1f.json similarity index 100% rename from res/field/encounters/113.json rename to res/field/encounters/encounters_wayward_cave_b1f.json diff --git a/res/field/encounters/meson.build b/res/field/encounters/meson.build index 5dea283ec8..0109710761 100644 --- a/res/field/encounters/meson.build +++ b/res/field/encounters/meson.build @@ -5,200 +5,253 @@ enc_bin_gen = generator( ) pl_enc_data_srcs = files( - '000.json', - '001.json', - '002.json', - '003.json', - '004.json', - '005.json', - '006.json', - '007.json', - '008.json', - '009.json', - '010.json', - '011.json', - '012.json', - '013.json', - '014.json', - '015.json', - '016.json', - '017.json', - '018.json', - '019.json', - '020.json', - '021.json', - '022.json', - '023.json', - '024.json', - '025.json', - '026.json', - '027.json', - '028.json', - '029.json', - '030.json', - '031.json', - '032.json', - '033.json', - '034.json', - '035.json', - '036.json', - '037.json', - '038.json', - '039.json', - '040.json', - '041.json', - '042.json', - '043.json', - '044.json', - '045.json', - '046.json', - '047.json', - '048.json', - '049.json', - '050.json', - '051.json', - '052.json', - '053.json', - '054.json', - '055.json', - '056.json', - '057.json', - '058.json', - '059.json', - '060.json', - '061.json', - '062.json', - '063.json', - '064.json', - '065.json', - '066.json', - '067.json', - '068.json', - '069.json', - '070.json', - '071.json', - '072.json', - '073.json', - '074.json', - '075.json', - '076.json', - '077.json', - '078.json', - '079.json', - '080.json', - '081.json', - '082.json', - '083.json', - '084.json', - '085.json', - '086.json', - '087.json', - '088.json', - '089.json', - '090.json', - '091.json', - '092.json', - '093.json', - '094.json', - '095.json', - '096.json', - '097.json', - '098.json', - '099.json', - '100.json', - '101.json', - '102.json', - '103.json', - '104.json', - '105.json', - '106.json', - '107.json', - '108.json', - '109.json', - '110.json', - '111.json', - '112.json', - '113.json', - '114.json', - '115.json', - '116.json', - '117.json', - '118.json', - '119.json', - '120.json', - '121.json', - '122.json', - '123.json', - '124.json', - '125.json', - '126.json', - '127.json', - '128.json', - '129.json', - '130.json', - '131.json', - '132.json', - '133.json', - '134.json', - '135.json', - '136.json', - '137.json', - '138.json', - '139.json', - '140.json', - '141.json', - '142.json', - '143.json', - '144.json', - '145.json', - '146.json', - '147.json', - '148.json', - '149.json', - '150.json', - '151.json', - '152.json', - '153.json', - '154.json', - '155.json', - '156.json', - '157.json', - '158.json', - '159.json', - '160.json', - '161.json', - '162.json', - '163.json', - '164.json', - '165.json', - '166.json', - '167.json', - '168.json', - '169.json', - '170.json', - '171.json', - '172.json', - '173.json', - '174.json', - '175.json', - '176.json', - '177.json', - '178.json', - '179.json', - '180.json', - '181.json', - '182.json', + 'encounters_canalave_city.json', + 'encounters_eterna_city.json', + 'encounters_pastoria_city.json', + 'encounters_sunyshore_city.json', + 'encounters_pokemon_league.json', + 'encounters_oreburgh_mine_b1f.json', + 'encounters_oreburgh_mine_b2f.json', + 'encounters_valley_windworks_outside.json', + 'encounters_eterna_forest.json', + 'encounters_fuego_ironworks_outside.json', + 'encounters_mt_coronet_1f_south.json', + 'encounters_mt_coronet_2f.json', + 'encounters_mt_coronet_3f.json', + 'encounters_mt_coronet_outside_north.json', + 'encounters_mt_coronet_outside_south.json', + 'encounters_mt_coronet_4f_rooms_1_and_2.json', + 'encounters_mt_coronet_4f_room_3.json', + 'encounters_mt_coronet_5f.json', + 'encounters_mt_coronet_6f.json', + 'encounters_mt_coronet_1f_tunnel_room.json', + 'encounters_mt_coronet_1f_north_room_2.json', + 'encounters_mt_coronet_1f_north_room_1.json', + 'encounters_mt_coronet_b1f.json', + 'encounters_great_marsh_1.json', + 'encounters_great_marsh_2.json', + 'encounters_great_marsh_3.json', + 'encounters_great_marsh_4.json', + 'encounters_great_marsh_5.json', + 'encounters_great_marsh_6.json', + 'encounters_solaceon_ruins_maniac_tunnel_room.json', + 'encounters_solaceon_ruins_room_2_northeast_dead_end.json', + 'encounters_solaceon_ruins_room_1_northwest_dead_end.json', + 'encounters_solaceon_ruins_room_2.json', + 'encounters_solaceon_ruins_room_1_southeast_dead_end.json', + 'encounters_solaceon_ruins_room_3.json', + 'encounters_solaceon_ruins_room_2_southeast_dead_end.json', + 'encounters_solaceon_ruins_room_6_southeast_dead_end.json', + 'encounters_solaceon_ruins_room_5_southwest_dead_end.json', + 'encounters_solaceon_ruins_room_3_northwest_dead_end.json', + 'encounters_solaceon_ruins_room_3_southwest_dead_end.json', + 'encounters_solaceon_ruins_room_4.json', + 'encounters_solaceon_ruins_room_6.json', + 'encounters_solaceon_ruins_room_5.json', + 'encounters_solaceon_ruins_room_7.json', + 'encounters_solaceon_ruins_room_4_southeast_dead_end.json', + 'encounters_solaceon_ruins_room_6_northwest_dead_end.json', + 'encounters_solaceon_ruins_room_5_southeast_deadend.json', + 'encounters_victory_road_1f.json', + 'encounters_victory_road_2f.json', + 'encounters_victory_road_b1f.json', + 'encounters_victory_road_1f_room_2.json', + 'encounters_victory_road_1f_room_1.json', + 'encounters_victory_road_1f_room_3.json', + 'encounters_ravaged_path.json', + 'encounters_oreburgh_gate_1f.json', + 'encounters_oreburgh_gate_b1f.json', + 'encounters_stark_mountain_outside.json', + 'encounters_stark_mountain_room_1.json', + 'encounters_stark_mountain_room_2.json', + 'encounters_sendoff_spring.json', + 'encounters_turnback_cave_entrance.json', + 'encounters_turnback_cave_pillar_room.json', + 'encounters_turnback_cave_giratina_room.json', + 'encounters_turnback_cave_pillar_1_room_1.json', + 'encounters_turnback_cave_pillar_1_room_2.json', + 'encounters_turnback_cave_pillar_1_room_3.json', + 'encounters_turnback_cave_pillar_1_room_4.json', + 'encounters_turnback_cave_pillar_1_room_5.json', + 'encounters_turnback_cave_pillar_1_room_6.json', + 'encounters_turnback_cave_pillar_2_room_1.json', + 'encounters_turnback_cave_pillar_2_room_2.json', + 'encounters_turnback_cave_pillar_2_room_3.json', + 'encounters_turnback_cave_pillar_2_room_4.json', + 'encounters_turnback_cave_pillar_2_room_5.json', + 'encounters_turnback_cave_pillar_2_room_6.json', + 'encounters_turnback_cave_pillar_3_room_1.json', + 'encounters_turnback_cave_pillar_3_room_2.json', + 'encounters_turnback_cave_pillar_3_room_3.json', + 'encounters_turnback_cave_pillar_3_room_4.json', + 'encounters_turnback_cave_pillar_3_room_5.json', + 'encounters_turnback_cave_pillar_3_room_6.json', + 'encounters_unknown_533.json', + 'encounters_unknown_534.json', + 'encounters_unknown_535.json', + 'encounters_unknown_536.json', + 'encounters_unknown_537.json', + 'encounters_unknown_538.json', + 'encounters_unknown_539.json', + 'encounters_unknown_540.json', + 'encounters_unknown_541.json', + 'encounters_unknown_542.json', + 'encounters_unknown_543.json', + 'encounters_unknown_544.json', + 'encounters_unknown_545.json', + 'encounters_unknown_546.json', + 'encounters_unknown_547.json', + 'encounters_unknown_548.json', + 'encounters_unknown_549.json', + 'encounters_unknown_550.json', + 'encounters_unknown_551.json', + 'encounters_unknown_552.json', + 'encounters_unknown_553.json', + 'encounters_unknown_554.json', + 'encounters_unknown_555.json', + 'encounters_unknown_556.json', + 'encounters_unknown_557.json', + 'encounters_snowpoint_temple_1f.json', + 'encounters_snowpoint_temple_b1f.json', + 'encounters_snowpoint_temple_b2f.json', + 'encounters_snowpoint_temple_b3f.json', + 'encounters_snowpoint_temple_b4f.json', + 'encounters_snowpoint_temple_b5f.json', + 'encounters_wayward_cave_1f.json', + 'encounters_wayward_cave_b1f.json', + 'encounters_ruin_maniac_cave_short.json', + 'encounters_ruin_maniac_cave_long.json', + 'encounters_maniac_tunnel.json', + 'encounters_trophy_garden.json', + 'encounters_iron_island.json', + 'encounters_iron_island_1f.json', + 'encounters_iron_island_b1f_left_room.json', + 'encounters_iron_island_b1f_right_room.json', + 'encounters_iron_island_b2f_right_room.json', + 'encounters_iron_island_b2f_left_room.json', + 'encounters_iron_island_b3f.json', + 'encounters_old_chateau.json', + 'encounters_old_chateau_dining_area.json', + 'encounters_old_chateau_side_rooms.json', + 'encounters_old_chateau_corridor.json', + 'encounters_old_chateau_back_west_room.json', + 'encounters_old_chateau_back_middle_west_room.json', + 'encounters_old_chateau_back_middle_room.json', + 'encounters_old_chateau_back_middle_east_room.json', + 'encounters_old_chateau_back_east_room.json', + 'encounters_lake_verity_low_water.json', + 'encounters_lake_verity.json', + 'encounters_lake_valor.json', + 'encounters_lake_acuity.json', + 'encounters_valor_lakefront.json', + 'encounters_acuity_lakefront.json', + 'encounters_route_201.json', + 'encounters_route_202.json', + 'encounters_route_203.json', + 'encounters_route_204_south.json', + 'encounters_route_204_north.json', + 'encounters_route_205_south.json', + 'encounters_route_205_north.json', + 'encounters_route_206.json', + 'encounters_route_207.json', + 'encounters_route_208.json', + 'encounters_route_209.json', + 'encounters_route_209_lost_tower_1f.json', + 'encounters_route_209_lost_tower_2f.json', + 'encounters_route_209_lost_tower_3f.json', + 'encounters_route_209_lost_tower_4f.json', + 'encounters_route_209_lost_tower_5f.json', + 'encounters_route_210_south.json', + 'encounters_route_210_north.json', + 'encounters_route_211_west.json', + 'encounters_route_211_east.json', + 'encounters_route_212_north.json', + 'encounters_route_212_south.json', + 'encounters_route_213.json', + 'encounters_route_214.json', + 'encounters_route_215.json', + 'encounters_route_216.json', + 'encounters_route_217.json', + 'encounters_route_218.json', + 'encounters_route_219.json', + 'encounters_route_221.json', + 'encounters_route_222.json', + 'encounters_route_224.json', + 'encounters_route_225.json', + 'encounters_route_227.json', + 'encounters_route_228.json', + 'encounters_route_229.json', + 'encounters_twinleaf_town.json', + 'encounters_celestic_town.json', + 'encounters_resort_area.json', + 'encounters_route_220.json', + 'encounters_route_223.json', + 'encounters_route_226.json', + 'encounters_route_230.json', ) +pl_enc_data_order = files('encounters.order') + pl_enc_tbl_narc = custom_target('pl_enc_data.narc', output: 'pl_enc_data.narc', - input: enc_bin_gen.process(pl_enc_data_srcs, env: json2bin_env), + input: [ + enc_bin_gen.process(pl_enc_data_srcs, env: json2bin_env), + pl_enc_data_order + ], depends: [ py_consts_generators ], command: [ knarc_exe, '-d', '@PRIVATE_DIR@', '-p', '@OUTPUT@', + '-o', pl_enc_data_order, + ] +) + +endata_ex_srcs = files( + 'encounters_mt_coronet_b1f.json', + 'encounters_honey_tree.json', + 'encounters_trophy_garden.json', + 'encounters_great_marsh_lookout.json' +) + +encdata_ex_narc = custom_target('encdata_ex.narc', + output: 'encdata_ex.narc', + input: endata_ex_srcs, + env: json2bin_env, + depends: [ py_consts_generators ], + command: [ + make_encdata_ex_py, + '--knarc', knarc_exe, + '--source-dir', '@CURRENT_SOURCE_DIR@', + '--private-dir', '@PRIVATE_DIR@', + '--output-dir', '@OUTDIR@', + '--coronet-file', '@INPUT0@', + '--honey-file', '@INPUT1@', + '--trophy-file', '@INPUT2@', + '--marsh-file', '@INPUT3@', + ] +) + +zukan_enc_platinum_srcs = pl_enc_data_srcs +zukan_enc_platinum_srcs += files( + 'encounters_honey_tree.json', + 'encounters_great_marsh_lookout.json' +) + +pokedex_enc_platinum_narc = custom_target('zukan_enc_platinum.narc', + output: 'zukan_enc_platinum.narc', + input: zukan_enc_platinum_srcs, + env: json2bin_env, + depends: [ py_consts_generators ], + command: [ + make_pokedex_enc_platinum_py, + '--knarc', knarc_exe, + '--source-dir', '@CURRENT_SOURCE_DIR@', + '--private-dir', '@PRIVATE_DIR@', + '--output-dir', '@OUTDIR@' ] ) nitrofs_files += pl_enc_tbl_narc +nitrofs_files += encdata_ex_narc +nitrofs_files += pokedex_enc_platinum_narc diff --git a/res/field/encounters_ex/great_marsh_dailies.json b/res/field/encounters_ex/great_marsh_dailies.json deleted file mode 100644 index d151e3a929..0000000000 --- a/res/field/encounters_ex/great_marsh_dailies.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "daily_encounters": [ - "SPECIES_WOOPER", - "SPECIES_WOOPER", - "SPECIES_WOOPER", - "SPECIES_CARNIVINE", - "SPECIES_SKORUPI", - "SPECIES_CROAGUNK", - "SPECIES_QUAGSIRE", - "SPECIES_WOOPER", - "SPECIES_SKORUPI", - "SPECIES_CROAGUNK", - "SPECIES_QUAGSIRE", - "SPECIES_WOOPER", - "SPECIES_WOOPER", - "SPECIES_WOOPER", - "SPECIES_WOOPER", - "SPECIES_WOOPER", - "SPECIES_SKORUPI", - "SPECIES_CROAGUNK", - "SPECIES_SKORUPI", - "SPECIES_CARNIVINE", - "SPECIES_YANMA", - "SPECIES_WOOPER", - "SPECIES_WOOPER", - "SPECIES_WOOPER", - "SPECIES_WOOPER", - "SPECIES_TROPIUS", - "SPECIES_WOOPER", - "SPECIES_WOOPER", - "SPECIES_SKORUPI", - "SPECIES_CARNIVINE", - "SPECIES_CROAGUNK", - "SPECIES_TANGELA" - ] -} \ No newline at end of file diff --git a/res/field/encounters_ex/great_marsh_dailies_natdex.json b/res/field/encounters_ex/great_marsh_dailies_natdex.json deleted file mode 100644 index 441235b07a..0000000000 --- a/res/field/encounters_ex/great_marsh_dailies_natdex.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "daily_encounters": [ - "SPECIES_TOXICROAK", - "SPECIES_KECLEON", - "SPECIES_KECLEON", - "SPECIES_CARNIVINE", - "SPECIES_SKORUPI", - "SPECIES_CROAGUNK", - "SPECIES_QUAGSIRE", - "SPECIES_DRAPION", - "SPECIES_SKORUPI", - "SPECIES_CROAGUNK", - "SPECIES_QUAGSIRE", - "SPECIES_KANGASKHAN", - "SPECIES_PARAS", - "SPECIES_DRAPION", - "SPECIES_EXEGGCUTE", - "SPECIES_EXEGGCUTE", - "SPECIES_SKORUPI", - "SPECIES_CROAGUNK", - "SPECIES_SKORUPI", - "SPECIES_CARNIVINE", - "SPECIES_YANMA", - "SPECIES_SHROOMISH", - "SPECIES_PARAS", - "SPECIES_KANGASKHAN", - "SPECIES_GULPIN", - "SPECIES_TROPIUS", - "SPECIES_GULPIN", - "SPECIES_SHROOMISH", - "SPECIES_SKORUPI", - "SPECIES_CARNIVINE", - "SPECIES_CROAGUNK", - "SPECIES_TANGELA" - ] -} \ No newline at end of file diff --git a/res/field/encounters_ex/honey_tree_common.json b/res/field/encounters_ex/honey_tree_common.json deleted file mode 100644 index 7060dc33cf..0000000000 --- a/res/field/encounters_ex/honey_tree_common.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "honey_tree_encounters": [ - "SPECIES_COMBEE", - "SPECIES_WURMPLE", - "SPECIES_BURMY", - "SPECIES_CHERUBI", - "SPECIES_AIPOM", - "SPECIES_AIPOM" - ] -} \ No newline at end of file diff --git a/res/field/encounters_ex/honey_tree_rare.json b/res/field/encounters_ex/honey_tree_rare.json deleted file mode 100644 index 67242ce383..0000000000 --- a/res/field/encounters_ex/honey_tree_rare.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "honey_tree_encounters": [ - "SPECIES_MUNCHLAX", - "SPECIES_MUNCHLAX", - "SPECIES_MUNCHLAX", - "SPECIES_MUNCHLAX", - "SPECIES_MUNCHLAX", - "SPECIES_MUNCHLAX" - ] -} \ No newline at end of file diff --git a/res/field/encounters_ex/honey_tree_uncommon.json b/res/field/encounters_ex/honey_tree_uncommon.json deleted file mode 100644 index 5b55592e12..0000000000 --- a/res/field/encounters_ex/honey_tree_uncommon.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "honey_tree_encounters": [ - "SPECIES_BURMY", - "SPECIES_CHERUBI", - "SPECIES_COMBEE", - "SPECIES_AIPOM", - "SPECIES_AIPOM", - "SPECIES_HERACROSS" - ] -} \ No newline at end of file diff --git a/res/field/encounters_ex/meson.build b/res/field/encounters_ex/meson.build deleted file mode 100644 index d163447a36..0000000000 --- a/res/field/encounters_ex/meson.build +++ /dev/null @@ -1,26 +0,0 @@ -endata_ex_srcs = files( - 'mt_coronet_lake.json', - 'honey_tree_common.json', - 'honey_tree_uncommon.json', - 'honey_tree_rare.json', - 'trophy_garden_dailies.json', - 'great_marsh_dailies_natdex.json', - 'great_marsh_dailies.json', - 'great_marsh_binocular_coords.json', -) - -encdata_ex_narc = custom_target('encdata_ex.narc', - output: 'encdata_ex.narc', - input: endata_ex_srcs, - env: json2bin_env, - depends: [ py_consts_generators ], - command: [ - make_encdata_ex_py, - '--knarc', knarc_exe, - '--source-dir', '@CURRENT_SOURCE_DIR@', - '--private-dir', '@PRIVATE_DIR@', - '--output-dir', '@OUTDIR@' - ] -) - -nitrofs_files += encdata_ex_narc \ No newline at end of file diff --git a/res/field/encounters_ex/mt_coronet_lake.json b/res/field/encounters_ex/mt_coronet_lake.json deleted file mode 100644 index a3f71a201d..0000000000 --- a/res/field/encounters_ex/mt_coronet_lake.json +++ /dev/null @@ -1,537 +0,0 @@ -{ - "species": "SPECIES_FEEBAS", - "map_dimensions": [ - 228, - 300 - ], - "tiles": [ - 585, - 586, - 587, - 588, - 589, - 590, - 591, - 592, - 593, - 594, - 595, - 596, - 597, - 598, - 599, - 600, - 601, - 602, - 617, - 618, - 619, - 620, - 621, - 622, - 623, - 624, - 625, - 626, - 627, - 628, - 629, - 630, - 631, - 632, - 633, - 634, - 649, - 650, - 651, - 652, - 653, - 654, - 655, - 656, - 657, - 658, - 659, - 660, - 661, - 662, - 663, - 665, - 666, - 681, - 682, - 683, - 685, - 686, - 687, - 688, - 689, - 690, - 691, - 692, - 693, - 694, - 695, - 696, - 697, - 698, - 713, - 714, - 715, - 716, - 717, - 718, - 719, - 720, - 721, - 722, - 723, - 724, - 725, - 726, - 727, - 728, - 729, - 730, - 745, - 746, - 747, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, - 756, - 757, - 758, - 759, - 760, - 761, - 762, - 777, - 778, - 779, - 780, - 781, - 782, - 783, - 784, - 785, - 786, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, - 818, - 819, - 820, - 821, - 822, - 823, - 824, - 825, - 826, - 841, - 842, - 843, - 844, - 845, - 846, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 857, - 858, - 873, - 874, - 875, - 876, - 877, - 878, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 888, - 889, - 890, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, - 916, - 917, - 918, - 919, - 920, - 921, - 922, - 937, - 938, - 939, - 940, - 941, - 942, - 943, - 944, - 952, - 953, - 954, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 984, - 985, - 986, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1016, - 1017, - 1018, - 1033, - 1034, - 1037, - 1038, - 1039, - 1040, - 1048, - 1049, - 1050, - 1065, - 1066, - 1069, - 1070, - 1071, - 1072, - 1080, - 1081, - 1082, - 1097, - 1098, - 1099, - 1100, - 1101, - 1102, - 1103, - 1104, - 1112, - 1113, - 1114, - 1129, - 1130, - 1131, - 1132, - 1133, - 1134, - 1135, - 1136, - 1144, - 1145, - 1146, - 1161, - 1162, - 1163, - 1164, - 1165, - 1166, - 1167, - 1168, - 1169, - 1170, - 1171, - 1172, - 1175, - 1176, - 1177, - 1178, - 1193, - 1194, - 1195, - 1196, - 1197, - 1198, - 1199, - 1200, - 1201, - 1202, - 1203, - 1204, - 1207, - 1208, - 1209, - 1210, - 1225, - 1226, - 1227, - 1228, - 1229, - 1230, - 1231, - 1232, - 1233, - 1234, - 1235, - 1236, - 1237, - 1238, - 1239, - 1240, - 1241, - 1242, - 1257, - 1258, - 1259, - 1260, - 1261, - 1262, - 1263, - 1264, - 1265, - 1266, - 1267, - 1268, - 1269, - 1270, - 1271, - 1272, - 1273, - 1274, - 1289, - 1290, - 1291, - 1292, - 1293, - 1294, - 1295, - 1296, - 1297, - 1298, - 1299, - 1300, - 1301, - 1305, - 1306, - 1321, - 1322, - 1323, - 1324, - 1325, - 1326, - 1327, - 1328, - 1329, - 1330, - 1331, - 1332, - 1333, - 1337, - 1338, - 1353, - 1354, - 1355, - 1356, - 1357, - 1358, - 1359, - 1360, - 1361, - 1362, - 1363, - 1364, - 1365, - 1369, - 1370, - 1385, - 1386, - 1387, - 1388, - 1389, - 1390, - 1391, - 1392, - 1393, - 1394, - 1395, - 1396, - 1397, - 1398, - 1399, - 1400, - 1401, - 1402, - 1417, - 1418, - 1419, - 1420, - 1421, - 1422, - 1423, - 1424, - 1425, - 1426, - 1428, - 1429, - 1430, - 1431, - 1432, - 1433, - 1434, - 1449, - 1450, - 1451, - 1455, - 1456, - 1457, - 1458, - 1459, - 1460, - 1461, - 1462, - 1463, - 1464, - 1465, - 1466, - 1481, - 1482, - 1483, - 1487, - 1488, - 1489, - 1490, - 1491, - 1492, - 1493, - 1494, - 1495, - 1496, - 1497, - 1498, - 1513, - 1514, - 1515, - 1519, - 1520, - 1521, - 1522, - 1523, - 1524, - 1527, - 1528, - 1529, - 1530, - 1545, - 1546, - 1547, - 1548, - 1549, - 1550, - 1551, - 1552, - 1553, - 1554, - 1555, - 1556, - 1559, - 1560, - 1561, - 1562, - 1577, - 1578, - 1580, - 1581, - 1582, - 1583, - 1584, - 1585, - 1586, - 1587, - 1588, - 1589, - 1590, - 1591, - 1592, - 1593, - 1594, - 1609, - 1610, - 1611, - 1612, - 1613, - 1614, - 1615, - 1616, - 1617, - 1618, - 1619, - 1620, - 1621, - 1622, - 1623, - 1624, - 1625, - 1626, - 1641, - 1642, - 1643, - 1644, - 1645, - 1646, - 1647, - 1648, - 1649, - 1650, - 1651, - 1652, - 1653, - 1654, - 1655, - 1656, - 1657, - 1658 - ] -} \ No newline at end of file diff --git a/res/field/encounters_ex/trophy_garden_dailies.json b/res/field/encounters_ex/trophy_garden_dailies.json deleted file mode 100644 index 825bdbd13c..0000000000 --- a/res/field/encounters_ex/trophy_garden_dailies.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "daily_encounters": [ - "SPECIES_EEVEE", - "SPECIES_BONSLY", - "SPECIES_HAPPINY", - "SPECIES_MEOWTH", - "SPECIES_CLEFFA", - "SPECIES_CLEFAIRY", - "SPECIES_IGGLYBUFF", - "SPECIES_PLUSLE", - "SPECIES_JIGGLYPUFF", - "SPECIES_DITTO", - "SPECIES_CASTFORM", - "SPECIES_MINUN", - "SPECIES_MIME_JR", - "SPECIES_MARILL", - "SPECIES_CHANSEY", - "SPECIES_AZURILL" - ] -} \ No newline at end of file diff --git a/res/field/meson.build b/res/field/meson.build index ef8fd8cb99..632e993556 100644 --- a/res/field/meson.build +++ b/res/field/meson.build @@ -1,226 +1,3 @@ subdir('encounters') -subdir('encounters_ex') subdir('events') subdir('scripts') - -move_tutors_json = files('move_tutors.json') - -tutorable_moves_h = custom_target('tutorable_moves.h', - input: move_tutors_json, - output: 'tutorable_moves.h', - command: [ - make_tutorable_moves_py, - '--schema', move_tutors_json, - '--output-dir', meson.current_build_dir(), - ] -) - -zukan_enc_platinum_srcs = files( - './encounters/000.json', - './encounters/001.json', - './encounters/002.json', - './encounters/003.json', - './encounters/004.json', - './encounters/005.json', - './encounters/006.json', - './encounters/007.json', - './encounters/008.json', - './encounters/009.json', - './encounters/010.json', - './encounters/011.json', - './encounters/012.json', - './encounters/013.json', - './encounters/014.json', - './encounters/015.json', - './encounters/016.json', - './encounters/017.json', - './encounters/018.json', - './encounters/019.json', - './encounters/020.json', - './encounters/021.json', - './encounters/022.json', - './encounters/023.json', - './encounters/024.json', - './encounters/025.json', - './encounters/026.json', - './encounters/027.json', - './encounters/028.json', - './encounters/029.json', - './encounters/030.json', - './encounters/031.json', - './encounters/032.json', - './encounters/033.json', - './encounters/034.json', - './encounters/035.json', - './encounters/036.json', - './encounters/037.json', - './encounters/038.json', - './encounters/039.json', - './encounters/040.json', - './encounters/041.json', - './encounters/042.json', - './encounters/043.json', - './encounters/044.json', - './encounters/045.json', - './encounters/046.json', - './encounters/047.json', - './encounters/048.json', - './encounters/049.json', - './encounters/050.json', - './encounters/051.json', - './encounters/052.json', - './encounters/053.json', - './encounters/054.json', - './encounters/055.json', - './encounters/056.json', - './encounters/057.json', - './encounters/058.json', - './encounters/059.json', - './encounters/060.json', - './encounters/061.json', - './encounters/062.json', - './encounters/063.json', - './encounters/064.json', - './encounters/065.json', - './encounters/066.json', - './encounters/067.json', - './encounters/068.json', - './encounters/069.json', - './encounters/070.json', - './encounters/071.json', - './encounters/072.json', - './encounters/073.json', - './encounters/074.json', - './encounters/075.json', - './encounters/076.json', - './encounters/077.json', - './encounters/078.json', - './encounters/079.json', - './encounters/080.json', - './encounters/081.json', - './encounters/082.json', - './encounters/083.json', - './encounters/084.json', - './encounters/085.json', - './encounters/086.json', - './encounters/087.json', - './encounters/088.json', - './encounters/089.json', - './encounters/090.json', - './encounters/091.json', - './encounters/092.json', - './encounters/093.json', - './encounters/094.json', - './encounters/095.json', - './encounters/096.json', - './encounters/097.json', - './encounters/098.json', - './encounters/099.json', - './encounters/100.json', - './encounters/101.json', - './encounters/102.json', - './encounters/103.json', - './encounters/104.json', - './encounters/105.json', - './encounters/106.json', - './encounters/107.json', - './encounters/108.json', - './encounters/109.json', - './encounters/110.json', - './encounters/111.json', - './encounters/112.json', - './encounters/113.json', - './encounters/114.json', - './encounters/115.json', - './encounters/116.json', - './encounters/117.json', - './encounters/118.json', - './encounters/119.json', - './encounters/120.json', - './encounters/121.json', - './encounters/122.json', - './encounters/123.json', - './encounters/124.json', - './encounters/125.json', - './encounters/126.json', - './encounters/127.json', - './encounters/128.json', - './encounters/129.json', - './encounters/130.json', - './encounters/131.json', - './encounters/132.json', - './encounters/133.json', - './encounters/134.json', - './encounters/135.json', - './encounters/136.json', - './encounters/137.json', - './encounters/138.json', - './encounters/139.json', - './encounters/140.json', - './encounters/141.json', - './encounters/142.json', - './encounters/143.json', - './encounters/144.json', - './encounters/145.json', - './encounters/146.json', - './encounters/147.json', - './encounters/148.json', - './encounters/149.json', - './encounters/150.json', - './encounters/151.json', - './encounters/152.json', - './encounters/153.json', - './encounters/154.json', - './encounters/155.json', - './encounters/156.json', - './encounters/157.json', - './encounters/158.json', - './encounters/159.json', - './encounters/160.json', - './encounters/161.json', - './encounters/162.json', - './encounters/163.json', - './encounters/164.json', - './encounters/165.json', - './encounters/166.json', - './encounters/167.json', - './encounters/168.json', - './encounters/169.json', - './encounters/170.json', - './encounters/171.json', - './encounters/172.json', - './encounters/173.json', - './encounters/174.json', - './encounters/175.json', - './encounters/176.json', - './encounters/177.json', - './encounters/178.json', - './encounters/179.json', - './encounters/180.json', - './encounters/181.json', - './encounters/182.json', - './encounters_ex/mt_coronet_lake.json', - './encounters_ex/honey_tree_common.json', - './encounters_ex/honey_tree_uncommon.json', - './encounters_ex/honey_tree_rare.json', - './encounters_ex/trophy_garden_dailies.json', - './encounters_ex/great_marsh_dailies_natdex.json', - './encounters_ex/great_marsh_dailies.json', - './encounters_ex/great_marsh_binocular_coords.json', -) - -pokedex_enc_platinum_narc = custom_target('zukan_enc_platinum.narc', - output: 'zukan_enc_platinum.narc', - input: zukan_enc_platinum_srcs, - env: json2bin_env, - depends: [ py_consts_generators ], - command: [ - make_pokedex_enc_platinum_py, - '--knarc', knarc_exe, - '--source-dir', '@CURRENT_SOURCE_DIR@', - '--private-dir', '@PRIVATE_DIR@', - '--output-dir', '@OUTDIR@' - ] -) - -nitrofs_files += pokedex_enc_platinum_narc diff --git a/res/meson.build b/res/meson.build index 15948ab8ae..930d210e41 100644 --- a/res/meson.build +++ b/res/meson.build @@ -1,6 +1,8 @@ nitrofs_files = [] naix_headers = [] +subdir('pokemon') + ### PREBUILT FILES ### subdir('prebuilt') @@ -65,6 +67,5 @@ subdir('field') subdir('fonts') subdir('graphics') subdir('items') -subdir('pokemon') subdir('sound') subdir('trainers') diff --git a/res/pokemon/meson.build b/res/pokemon/meson.build index 293a2bfbd0..a21813ab3b 100644 --- a/res/pokemon/meson.build +++ b/res/pokemon/meson.build @@ -28,6 +28,18 @@ otherpoke_shared = files( sinnoh_pokedex = files('sinnoh_pokedex.json') +move_tutors_json = files('move_tutors.json') + +tutorable_moves_h = custom_target('tutorable_moves.h', + input: move_tutors_json, + output: 'tutorable_moves.h', + command: [ + make_tutorable_moves_py, + '--schema', move_tutors_json, + '--output-dir', meson.current_build_dir(), + ] +) + pl_growtbl_files = files('.shared/exp_tables.csv') # Process mons in national dex order diff --git a/res/field/move_tutors.json b/res/pokemon/move_tutors.json similarity index 100% rename from res/field/move_tutors.json rename to res/pokemon/move_tutors.json diff --git a/res/text/meson.build b/res/text/meson.build index bb67c7fde2..5d2a44c4c9 100644 --- a/res/text/meson.build +++ b/res/text/meson.build @@ -742,511 +742,6 @@ gmm_to_bin_gen = generator(msgenc_exe, output: '@BASENAME@' ) -# Process mons in national dex order -pokemon_subdirs = [ - '000', # Glitch pokemon "-----" aka DPBox, Invisible Shiny Bulbasau - 'bulbasaur', - 'ivysaur', - 'venusaur', - 'charmander', - 'charmeleon', - 'charizard', - 'squirtle', - 'wartortle', - 'blastoise', - 'caterpie', - 'metapod', - 'butterfree', - 'weedle', - 'kakuna', - 'beedrill', - 'pidgey', - 'pidgeotto', - 'pidgeot', - 'rattata', - 'raticate', - 'spearow', - 'fearow', - 'ekans', - 'arbok', - 'pikachu', - 'raichu', - 'sandshrew', - 'sandslash', - 'nidoran_f', - 'nidorina', - 'nidoqueen', - 'nidoran_m', - 'nidorino', - 'nidoking', - 'clefairy', - 'clefable', - 'vulpix', - 'ninetales', - 'jigglypuff', - 'wigglytuff', - 'zubat', - 'golbat', - 'oddish', - 'gloom', - 'vileplume', - 'paras', - 'parasect', - 'venonat', - 'venomoth', - 'diglett', - 'dugtrio', - 'meowth', - 'persian', - 'psyduck', - 'golduck', - 'mankey', - 'primeape', - 'growlithe', - 'arcanine', - 'poliwag', - 'poliwhirl', - 'poliwrath', - 'abra', - 'kadabra', - 'alakazam', - 'machop', - 'machoke', - 'machamp', - 'bellsprout', - 'weepinbell', - 'victreebel', - 'tentacool', - 'tentacruel', - 'geodude', - 'graveler', - 'golem', - 'ponyta', - 'rapidash', - 'slowpoke', - 'slowbro', - 'magnemite', - 'magneton', - 'farfetchd', - 'doduo', - 'dodrio', - 'seel', - 'dewgong', - 'grimer', - 'muk', - 'shellder', - 'cloyster', - 'gastly', - 'haunter', - 'gengar', - 'onix', - 'drowzee', - 'hypno', - 'krabby', - 'kingler', - 'voltorb', - 'electrode', - 'exeggcute', - 'exeggutor', - 'cubone', - 'marowak', - 'hitmonlee', - 'hitmonchan', - 'lickitung', - 'koffing', - 'weezing', - 'rhyhorn', - 'rhydon', - 'chansey', - 'tangela', - 'kangaskhan', - 'horsea', - 'seadra', - 'goldeen', - 'seaking', - 'staryu', - 'starmie', - 'mr_mime', - 'scyther', - 'jynx', - 'electabuzz', - 'magmar', - 'pinsir', - 'tauros', - 'magikarp', - 'gyarados', - 'lapras', - 'ditto', - 'eevee', - 'vaporeon', - 'jolteon', - 'flareon', - 'porygon', - 'omanyte', - 'omastar', - 'kabuto', - 'kabutops', - 'aerodactyl', - 'snorlax', - 'articuno', - 'zapdos', - 'moltres', - 'dratini', - 'dragonair', - 'dragonite', - 'mewtwo', - 'mew', - 'chikorita', - 'bayleef', - 'meganium', - 'cyndaquil', - 'quilava', - 'typhlosion', - 'totodile', - 'croconaw', - 'feraligatr', - 'sentret', - 'furret', - 'hoothoot', - 'noctowl', - 'ledyba', - 'ledian', - 'spinarak', - 'ariados', - 'crobat', - 'chinchou', - 'lanturn', - 'pichu', - 'cleffa', - 'igglybuff', - 'togepi', - 'togetic', - 'natu', - 'xatu', - 'mareep', - 'flaaffy', - 'ampharos', - 'bellossom', - 'marill', - 'azumarill', - 'sudowoodo', - 'politoed', - 'hoppip', - 'skiploom', - 'jumpluff', - 'aipom', - 'sunkern', - 'sunflora', - 'yanma', - 'wooper', - 'quagsire', - 'espeon', - 'umbreon', - 'murkrow', - 'slowking', - 'misdreavus', - 'unown', - 'wobbuffet', - 'girafarig', - 'pineco', - 'forretress', - 'dunsparce', - 'gligar', - 'steelix', - 'snubbull', - 'granbull', - 'qwilfish', - 'scizor', - 'shuckle', - 'heracross', - 'sneasel', - 'teddiursa', - 'ursaring', - 'slugma', - 'magcargo', - 'swinub', - 'piloswine', - 'corsola', - 'remoraid', - 'octillery', - 'delibird', - 'mantine', - 'skarmory', - 'houndour', - 'houndoom', - 'kingdra', - 'phanpy', - 'donphan', - 'porygon2', - 'stantler', - 'smeargle', - 'tyrogue', - 'hitmontop', - 'smoochum', - 'elekid', - 'magby', - 'miltank', - 'blissey', - 'raikou', - 'entei', - 'suicune', - 'larvitar', - 'pupitar', - 'tyranitar', - 'lugia', - 'ho_oh', - 'celebi', - 'treecko', - 'grovyle', - 'sceptile', - 'torchic', - 'combusken', - 'blaziken', - 'mudkip', - 'marshtomp', - 'swampert', - 'poochyena', - 'mightyena', - 'zigzagoon', - 'linoone', - 'wurmple', - 'silcoon', - 'beautifly', - 'cascoon', - 'dustox', - 'lotad', - 'lombre', - 'ludicolo', - 'seedot', - 'nuzleaf', - 'shiftry', - 'taillow', - 'swellow', - 'wingull', - 'pelipper', - 'ralts', - 'kirlia', - 'gardevoir', - 'surskit', - 'masquerain', - 'shroomish', - 'breloom', - 'slakoth', - 'vigoroth', - 'slaking', - 'nincada', - 'ninjask', - 'shedinja', - 'whismur', - 'loudred', - 'exploud', - 'makuhita', - 'hariyama', - 'azurill', - 'nosepass', - 'skitty', - 'delcatty', - 'sableye', - 'mawile', - 'aron', - 'lairon', - 'aggron', - 'meditite', - 'medicham', - 'electrike', - 'manectric', - 'plusle', - 'minun', - 'volbeat', - 'illumise', - 'roselia', - 'gulpin', - 'swalot', - 'carvanha', - 'sharpedo', - 'wailmer', - 'wailord', - 'numel', - 'camerupt', - 'torkoal', - 'spoink', - 'grumpig', - 'spinda', - 'trapinch', - 'vibrava', - 'flygon', - 'cacnea', - 'cacturne', - 'swablu', - 'altaria', - 'zangoose', - 'seviper', - 'lunatone', - 'solrock', - 'barboach', - 'whiscash', - 'corphish', - 'crawdaunt', - 'baltoy', - 'claydol', - 'lileep', - 'cradily', - 'anorith', - 'armaldo', - 'feebas', - 'milotic', - 'castform', - 'kecleon', - 'shuppet', - 'banette', - 'duskull', - 'dusclops', - 'tropius', - 'chimecho', - 'absol', - 'wynaut', - 'snorunt', - 'glalie', - 'spheal', - 'sealeo', - 'walrein', - 'clamperl', - 'huntail', - 'gorebyss', - 'relicanth', - 'luvdisc', - 'bagon', - 'shelgon', - 'salamence', - 'beldum', - 'metang', - 'metagross', - 'regirock', - 'regice', - 'registeel', - 'latias', - 'latios', - 'kyogre', - 'groudon', - 'rayquaza', - 'jirachi', - 'deoxys', - 'turtwig', - 'grotle', - 'torterra', - 'chimchar', - 'monferno', - 'infernape', - 'piplup', - 'prinplup', - 'empoleon', - 'starly', - 'staravia', - 'staraptor', - 'bidoof', - 'bibarel', - 'kricketot', - 'kricketune', - 'shinx', - 'luxio', - 'luxray', - 'budew', - 'roserade', - 'cranidos', - 'rampardos', - 'shieldon', - 'bastiodon', - 'burmy', - 'wormadam', - 'mothim', - 'combee', - 'vespiquen', - 'pachirisu', - 'buizel', - 'floatzel', - 'cherubi', - 'cherrim', - 'shellos', - 'gastrodon', - 'ambipom', - 'drifloon', - 'drifblim', - 'buneary', - 'lopunny', - 'mismagius', - 'honchkrow', - 'glameow', - 'purugly', - 'chingling', - 'stunky', - 'skuntank', - 'bronzor', - 'bronzong', - 'bonsly', - 'mime_jr', - 'happiny', - 'chatot', - 'spiritomb', - 'gible', - 'gabite', - 'garchomp', - 'munchlax', - 'riolu', - 'lucario', - 'hippopotas', - 'hippowdon', - 'skorupi', - 'drapion', - 'croagunk', - 'toxicroak', - 'carnivine', - 'finneon', - 'lumineon', - 'mantyke', - 'snover', - 'abomasnow', - 'weavile', - 'magnezone', - 'lickilicky', - 'rhyperior', - 'tangrowth', - 'electivire', - 'magmortar', - 'togekiss', - 'yanmega', - 'leafeon', - 'glaceon', - 'gliscor', - 'mamoswine', - 'porygon_z', - 'gallade', - 'probopass', - 'dusknoir', - 'froslass', - 'rotom', - 'uxie', - 'mesprit', - 'azelf', - 'dialga', - 'palkia', - 'heatran', - 'regigigas', - 'giratina', - 'cresselia', - 'phione', - 'manaphy', - 'darkrai', - 'shaymin', - 'arceus', - 'egg', - 'bad_egg' -] - -pokedex_message_banks_srcs = files() -foreach pokemon : pokemon_subdirs - pokedex_message_banks_srcs += files(meson.project_source_root() / 'res' / 'pokemon' / pokemon / 'data.json') -endforeach - pokedex_message_banks = custom_target('pokedex_message_banks', output: [ 'message_bank_species_names.gmm', @@ -1263,7 +758,7 @@ pokedex_message_banks = custom_target('pokedex_message_banks', ], input: [ message_banks_narc_order, - pokedex_message_banks_srcs + pokedex_data_srcs ], env: json2bin_env, depends: [ py_consts_generators ], diff --git a/tools/scripts/make_encdata_ex.py b/tools/scripts/make_encdata_ex.py index 7063b4f6a5..b849ac7595 100644 --- a/tools/scripts/make_encdata_ex.py +++ b/tools/scripts/make_encdata_ex.py @@ -23,6 +23,18 @@ argparser.add_argument('-p', '--private-dir', argparser.add_argument('-o', '--output-dir', required=True, help='Path to the output directory (where the NARC will be made)') +argparser.add_argument('-c', '--coronet-file', + required=True, + help='encounter file for MtCoronet B1F') +argparser.add_argument('-t', '--honey-file', + required=True, + help='encounter file for honey trees') +argparser.add_argument('-g', '--trophy-file', + required=True, + help='encounter file for the Trophy Garden') +argparser.add_argument('-m', '--marsh-file', + required=True, + help='encounter file for the Great Marsh Lookout') args = argparser.parse_args() source_dir = pathlib.Path(args.source_dir) @@ -35,63 +47,74 @@ private_dir.mkdir(parents=True, exist_ok=True) NUM_FILES = 12 -numDigits = len(str(NUM_FILES)) +NUM_DIGITS = len(str(NUM_FILES)) -def WriteBin(binData, fileNum): - target_fname = str(private_dir / output_name) + f'_{fileNum:0{numDigits}}.bin' +def Write_Binary(bin_data, fileNum): + target_fname = str(private_dir / output_name) + f'_{fileNum:0{NUM_DIGITS}}.bin' with open(target_fname, 'wb+') as target_file: - target_file.write(binData) + target_file.write(bin_data) + +def as_species(s: str) -> bytes: + return PokemonSpecies[s].value.to_bytes(4, 'little') -with open(source_dir / "mt_coronet_lake.json", encoding='utf-8') as encounter_ex_file: - encData = json.load(encounter_ex_file) +with open(args.coronet_file, encoding='utf-8') as encounter_file: + enc_data = json.load(encounter_file) +enc_data = enc_data["elusive_rod_encounter"] -species = PokemonSpecies[encData["species"]].value -binData = species.to_bytes(4, 'little') -WriteBin(binData, 0) +bin_data = as_species(enc_data["species"]) +Write_Binary(bin_data, 0) -mapDimensions = encData["map_dimensions"] -binData = len(mapDimensions).to_bytes(4, 'little') -for dim in mapDimensions: - binData = binData + dim.to_bytes(4, 'little') -for tile in encData["tiles"]: - binData = binData + tile.to_bytes(2, 'little') -WriteBin(binData, 1) +map_dimensions = enc_data["map_dimensions"] +bin_data = len(map_dimensions).to_bytes(4, 'little') +for dim in map_dimensions: + bin_data = bin_data + dim.to_bytes(4, 'little') +for tile in enc_data["tiles"]: + bin_data = bin_data + tile.to_bytes(2, 'little') +Write_Binary(bin_data, 1) -honeyTreeFiles = [ - "honey_tree_common", - "honey_tree_uncommon", - "honey_tree_rare" + +with open(args.honey_file, encoding='utf-8') as encounter_file: + enc_data = json.load(encounter_file) +honey_tree_types = [ + "common", + "uncommon", + "rare" ] -for i, sourceFile in enumerate(honeyTreeFiles): - with open(source_dir / (sourceFile + ".json"), encoding='utf-8') as encounter_ex_file: - encData = json.load(encounter_ex_file) - binData = bytes() - for species in encData["honey_tree_encounters"]: - binData = binData + PokemonSpecies[species].value.to_bytes(4, 'little') - WriteBin(binData, i+2) - WriteBin(binData, i+5) +for i, encounter_type in enumerate(honey_tree_types): + bin_data = bytes() + for species in enc_data[encounter_type]: + bin_data = bin_data + as_species(species) + Write_Binary(bin_data, i+2) + Write_Binary(bin_data, i+5) -dailyFiles = [ - "trophy_garden_dailies", - "great_marsh_dailies_natdex", - "great_marsh_dailies" + +with open(args.trophy_file, encoding='utf-8') as encounter_file: + enc_data = json.load(encounter_file) +bin_data = bytes() +for species in enc_data["daily_encounters"]: + bin_data = bin_data + as_species(species) +Write_Binary(bin_data, 8) + + +with open(args.marsh_file, encoding='utf-8') as encounter_file: + enc_data = json.load(encounter_file) + +daily_types = [ + "after_national_dex", + "before_national_dex" ] -for i, sourceFile in enumerate(dailyFiles): - with open(source_dir / (sourceFile + ".json"), encoding='utf-8') as encounter_ex_file: - encData = json.load(encounter_ex_file) - binData = bytes() - for species in encData["daily_encounters"]: - binData = binData + PokemonSpecies[species].value.to_bytes(4, 'little') - WriteBin(binData, i+8) +for i, encounter_type in enumerate(daily_types): + bin_data = bytes() + for species in enc_data[encounter_type]: + bin_data = bin_data + as_species(species) + Write_Binary(bin_data, i+9) -with open(source_dir / "great_marsh_binocular_coords.json", encoding='utf-8') as encounter_ex_file: - encData = json.load(encounter_ex_file) -binData = bytes() -for coordinates in encData["binocular_coords"]: - binData = binData + coordinates["x"].to_bytes(2, 'little') - binData = binData + coordinates["y"].to_bytes(2, 'little') -WriteBin(binData, 11) +bin_data = bytes() +for coordinates in enc_data["binocular_coords"]: + bin_data = bin_data + coordinates["x"].to_bytes(2, 'little') + bin_data = bin_data + coordinates["y"].to_bytes(2, 'little') +Write_Binary(bin_data, 11) subprocess.run([args.knarc, '-d', private_dir, '-p', str(output_dir / output_name) + '.narc']) diff --git a/tools/scripts/make_pokedex_enc_platinum.py b/tools/scripts/make_pokedex_enc_platinum.py index 49c592bf86..7680a373e6 100644 --- a/tools/scripts/make_pokedex_enc_platinum.py +++ b/tools/scripts/make_pokedex_enc_platinum.py @@ -28,8 +28,6 @@ args = argparser.parse_args() source_dir = pathlib.Path(args.source_dir) private_dir = pathlib.Path(args.private_dir) output_dir = pathlib.Path(args.output_dir) -encounter_dir = source_dir / "encounters" -encounter_ex_dir = source_dir / "encounters_ex" output_name = 'zukan_enc_platinum' @@ -192,158 +190,10 @@ file_3 = [ [202, 0, 0, 0] ] -NUM_POKEMON = len(PokemonSpecies) - 1 -NUM_FILES = NUM_POKEMON * 10 + 4 - -numDigits = len(str(NUM_FILES)) - -binData = bytes() -for dungeon in file_0: - for pos in dungeon: - binData = binData + pos.to_bytes(1, 'little') - -target_fname = str(private_dir / output_name) + f'_{0:0{numDigits}}.bin' -with open(target_fname, 'wb+') as target_file: - target_file.write(binData) - -binData = bytes() -for dungeon in file_1: - for pos in dungeon: - binData = binData + pos.to_bytes(1, 'little') - -target_fname = str(private_dir / output_name) + f'_{1:0{numDigits}}.bin' -with open(target_fname, 'wb+') as target_file: - target_file.write(binData) - -binData = bytes() -for field in file_2: - for pos in field: - binData = binData + pos.to_bytes(1, 'little') - -target_fname = str(private_dir / output_name) + f'_{2:0{numDigits}}.bin' -with open(target_fname, 'wb+') as target_file: - target_file.write(binData) - -binData = bytes() -for field in file_3: - for pos in field: - binData = binData + pos.to_bytes(1, 'little') - -target_fname = str(private_dir / output_name) + f'_{3:0{numDigits}}.bin' -with open(target_fname, 'wb+') as target_file: - target_file.write(binData) - -dungeonMorning = [set() for species in range(NUM_POKEMON)] -dungeonDay = [set() for species in range(NUM_POKEMON)] -dungeonNight = [set() for species in range(NUM_POKEMON)] -dungeonSpecial = [set() for species in range(NUM_POKEMON)] -dungeonSpecialNatDex = [set() for species in range(NUM_POKEMON)] -fieldMorning = [set() for species in range(NUM_POKEMON)] -fieldDay = [set() for species in range(NUM_POKEMON)] -fieldNight = [set() for species in range(NUM_POKEMON)] -fieldSpecial = [set() for species in range(NUM_POKEMON)] -fieldSpecialNatDex = [set() for species in range(NUM_POKEMON)] - -for file in encounter_dir.glob("*.json"): - with open(file, encoding='utf-8') as encounter_file: - encounterData = json.load(encounter_file) - - mapData = encounterData["map_category"] - mapType = mapData["map_type"] - mapNum = mapData["map_number"] - - if (mapType == 'dungeon'): - for i, slot in enumerate(encounterData["land_encounters"]): - species = slot["species"] - dungeonMorning[PokemonSpecies[species].value].add(mapNum) - - if ((i == 2) or (i == 3)): - species = encounterData["morning"][i - 2] - dungeonDay[PokemonSpecies[species].value].add(mapNum) - - species = encounterData["night"][i - 2] - dungeonNight[PokemonSpecies[species].value].add(mapNum) - else: - dungeonDay[PokemonSpecies[species].value].add(mapNum) - dungeonNight[PokemonSpecies[species].value].add(mapNum) - - for slot in encounterData["surf_encounters"]: - species = slot["species"] - dungeonMorning[PokemonSpecies[species].value].add(mapNum) - dungeonDay[PokemonSpecies[species].value].add(mapNum) - dungeonNight[PokemonSpecies[species].value].add(mapNum) - - for slot in encounterData["old_rod_encounters"]: - species = slot["species"] - dungeonMorning[PokemonSpecies[species].value].add(mapNum) - dungeonDay[PokemonSpecies[species].value].add(mapNum) - dungeonNight[PokemonSpecies[species].value].add(mapNum) - - for slot in encounterData["good_rod_encounters"]: - species = slot["species"] - dungeonMorning[PokemonSpecies[species].value].add(mapNum) - dungeonDay[PokemonSpecies[species].value].add(mapNum) - dungeonNight[PokemonSpecies[species].value].add(mapNum) - - for slot in encounterData["super_rod_encounters"]: - species = slot["species"] - dungeonMorning[PokemonSpecies[species].value].add(mapNum) - dungeonDay[PokemonSpecies[species].value].add(mapNum) - dungeonNight[PokemonSpecies[species].value].add(mapNum) - - dungeonSpecial[0].add(mapNum) - - for species in encounterData["radar"]: - dungeonSpecialNatDex[PokemonSpecies[species].value].add(mapNum) - - if (mapType == 'field'): - for i, slot in enumerate(encounterData["land_encounters"]): - species = slot["species"] - fieldMorning[PokemonSpecies[species].value].add(mapNum) - - if ((i == 2) or (i == 3)): - species = encounterData["morning"][i - 2] - fieldDay[PokemonSpecies[species].value].add(mapNum) - - species = encounterData["night"][i - 2] - fieldNight[PokemonSpecies[species].value].add(mapNum) - else: - fieldDay[PokemonSpecies[species].value].add(mapNum) - fieldNight[PokemonSpecies[species].value].add(mapNum) - - for slot in encounterData["surf_encounters"]: - species = slot["species"] - fieldMorning[PokemonSpecies[species].value].add(mapNum) - fieldDay[PokemonSpecies[species].value].add(mapNum) - fieldNight[PokemonSpecies[species].value].add(mapNum) - - for slot in encounterData["old_rod_encounters"]: - species = slot["species"] - fieldMorning[PokemonSpecies[species].value].add(mapNum) - fieldDay[PokemonSpecies[species].value].add(mapNum) - fieldNight[PokemonSpecies[species].value].add(mapNum) - - for slot in encounterData["good_rod_encounters"]: - species = slot["species"] - fieldMorning[PokemonSpecies[species].value].add(mapNum) - fieldDay[PokemonSpecies[species].value].add(mapNum) - fieldNight[PokemonSpecies[species].value].add(mapNum) - - for slot in encounterData["super_rod_encounters"]: - species = slot["species"] - fieldMorning[PokemonSpecies[species].value].add(mapNum) - fieldDay[PokemonSpecies[species].value].add(mapNum) - fieldNight[PokemonSpecies[species].value].add(mapNum) - - fieldSpecial[0].add(mapNum) - - for species in encounterData["radar"]: - fieldSpecialNatDex[PokemonSpecies[species].value].add(mapNum) - -honeyTreeDungeons = [ +honey_tree_dungeons = [ 21 ] -honeyTreeFields = [ +honey_tree_fields = [ 6, 7, 17, @@ -365,77 +215,212 @@ honeyTreeFields = [ 37, 50 ] +great_marsh_dungeon = 4 -with open(encounter_ex_dir / "honey_tree_common.json", encoding='utf-8') as encounter_file: - encounterData = json.load(encounter_file) -for species in encounterData["honey_tree_encounters"]: - for mapNum in honeyTreeDungeons: - dungeonSpecial[PokemonSpecies[species].value].add(mapNum) - dungeonSpecialNatDex[PokemonSpecies[species].value].add(mapNum) - for mapNum in honeyTreeFields: - fieldSpecial[PokemonSpecies[species].value].add(mapNum) - fieldSpecialNatDex[PokemonSpecies[species].value].add(mapNum) +NUM_POKEMON = len(PokemonSpecies) - 1 +NUM_FILES = NUM_POKEMON * 10 + 4 -with open(encounter_ex_dir / "honey_tree_uncommon.json", encoding='utf-8') as encounter_file: - encounterData = json.load(encounter_file) -for species in encounterData["honey_tree_encounters"]: - for mapNum in honeyTreeDungeons: - dungeonSpecial[PokemonSpecies[species].value].add(mapNum) - dungeonSpecialNatDex[PokemonSpecies[species].value].add(mapNum) - for mapNum in honeyTreeFields: - fieldSpecial[PokemonSpecies[species].value].add(mapNum) - fieldSpecialNatDex[PokemonSpecies[species].value].add(mapNum) +NUM_DIGITS = len(str(NUM_FILES)) -mtCoronetDungeon = 3 +bin_data = bytes() +for dungeon in file_0: + for pos in dungeon: + bin_data = bin_data + pos.to_bytes(1, 'little') -with open(encounter_ex_dir / "mt_coronet_lake.json", encoding='utf-8') as encounter_file: - encounterData = json.load(encounter_file) -dungeonSpecial[PokemonSpecies[encounterData["species"]].value].add(mtCoronetDungeon) -dungeonSpecialNatDex[PokemonSpecies[encounterData["species"]].value].add(mtCoronetDungeon) +target_fname = str(private_dir / output_name) + f'_{0:0{NUM_DIGITS}}.bin' +with open(target_fname, 'wb+') as target_file: + target_file.write(bin_data) -greatMarshDungeon = 4 +bin_data = bytes() +for dungeon in file_1: + for pos in dungeon: + bin_data = bin_data + pos.to_bytes(1, 'little') -with open(encounter_ex_dir / "great_marsh_dailies.json", encoding='utf-8') as encounter_file: - encounterData = json.load(encounter_file) -for species in encounterData["daily_encounters"]: - dungeonSpecial[PokemonSpecies[species].value].add(greatMarshDungeon) +target_fname = str(private_dir / output_name) + f'_{1:0{NUM_DIGITS}}.bin' +with open(target_fname, 'wb+') as target_file: + target_file.write(bin_data) -with open(encounter_ex_dir / "great_marsh_dailies_natdex.json", encoding='utf-8') as encounter_file: - encounterData = json.load(encounter_file) -for species in encounterData["daily_encounters"]: - dungeonSpecialNatDex[PokemonSpecies[species].value].add(greatMarshDungeon) +bin_data = bytes() +for field in file_2: + for pos in field: + bin_data = bin_data + pos.to_bytes(1, 'little') -trophyGardenDungeon = 14 +target_fname = str(private_dir / output_name) + f'_{2:0{NUM_DIGITS}}.bin' +with open(target_fname, 'wb+') as target_file: + target_file.write(bin_data) -with open(encounter_ex_dir / "trophy_garden_dailies.json", encoding='utf-8') as encounter_file: - encounterData = json.load(encounter_file) -for species in encounterData["daily_encounters"]: - dungeonSpecialNatDex[PokemonSpecies[species].value].add(trophyGardenDungeon) +bin_data = bytes() +for field in file_3: + for pos in field: + bin_data = bin_data + pos.to_bytes(1, 'little') + +target_fname = str(private_dir / output_name) + f'_{3:0{NUM_DIGITS}}.bin' +with open(target_fname, 'wb+') as target_file: + target_file.write(bin_data) + +dungeon_morning = [set() for species in range(NUM_POKEMON)] +dungeon_day = [set() for species in range(NUM_POKEMON)] +dungeon_night = [set() for species in range(NUM_POKEMON)] +dungeon_special = [set() for species in range(NUM_POKEMON)] +dungeon_special_natdex = [set() for species in range(NUM_POKEMON)] +field_morning = [set() for species in range(NUM_POKEMON)] +field_day = [set() for species in range(NUM_POKEMON)] +field_night = [set() for species in range(NUM_POKEMON)] +field_special = [set() for species in range(NUM_POKEMON)] +field_special_natdex = [set() for species in range(NUM_POKEMON)] + +for file in source_dir.glob('encounters_*.json'): + with open(file, encoding='utf-8') as encounter_file: + enc_data = json.load(encounter_file) + + if (file.stem == 'encounters_honey_tree'): + for species in enc_data['common']: + for map_num in honey_tree_dungeons: + dungeon_special[PokemonSpecies[species].value].add(map_num) + dungeon_special_natdex[PokemonSpecies[species].value].add(map_num) + for map_num in honey_tree_fields: + field_special[PokemonSpecies[species].value].add(map_num) + field_special_natdex[PokemonSpecies[species].value].add(map_num) + for species in enc_data['uncommon']: + for map_num in honey_tree_dungeons: + dungeon_special[PokemonSpecies[species].value].add(map_num) + dungeon_special_natdex[PokemonSpecies[species].value].add(map_num) + for map_num in honey_tree_fields: + field_special[PokemonSpecies[species].value].add(map_num) + field_special_natdex[PokemonSpecies[species].value].add(map_num) + + elif (file.stem == 'encounters_great_marsh_lookout'): + for species in enc_data['before_national_dex']: + dungeon_special[PokemonSpecies[species].value].add(great_marsh_dungeon) + for species in enc_data['after_national_dex']: + dungeon_special_natdex[PokemonSpecies[species].value].add(great_marsh_dungeon) + + else: + map_data = enc_data['map_category'] + map_type = map_data['map_type'] + map_num = map_data['map_number'] + + if (map_type == 'dungeon'): + for i, slot in enumerate(enc_data['land_encounters']): + species = slot['species'] + dungeon_morning[PokemonSpecies[species].value].add(map_num) + + if ((i == 2) or (i == 3)): + species = enc_data['morning'][i - 2] + dungeon_day[PokemonSpecies[species].value].add(map_num) + + species = enc_data['night'][i - 2] + dungeon_night[PokemonSpecies[species].value].add(map_num) + else: + dungeon_day[PokemonSpecies[species].value].add(map_num) + dungeon_night[PokemonSpecies[species].value].add(map_num) + + for slot in enc_data['surf_encounters']: + species = slot['species'] + dungeon_morning[PokemonSpecies[species].value].add(map_num) + dungeon_day[PokemonSpecies[species].value].add(map_num) + dungeon_night[PokemonSpecies[species].value].add(map_num) + + for slot in enc_data['old_rod_encounters']: + species = slot['species'] + dungeon_morning[PokemonSpecies[species].value].add(map_num) + dungeon_day[PokemonSpecies[species].value].add(map_num) + dungeon_night[PokemonSpecies[species].value].add(map_num) + + for slot in enc_data['good_rod_encounters']: + species = slot['species'] + dungeon_morning[PokemonSpecies[species].value].add(map_num) + dungeon_day[PokemonSpecies[species].value].add(map_num) + dungeon_night[PokemonSpecies[species].value].add(map_num) + + for slot in enc_data['super_rod_encounters']: + species = slot['species'] + dungeon_morning[PokemonSpecies[species].value].add(map_num) + dungeon_day[PokemonSpecies[species].value].add(map_num) + dungeon_night[PokemonSpecies[species].value].add(map_num) + + dungeon_special[0].add(map_num) + + for species in enc_data['radar']: + dungeon_special_natdex[PokemonSpecies[species].value].add(map_num) + + if (file.stem == 'encounters_mt_coronet_b1f'): + species = enc_data['elusive_rod_encounter']['species'] + dungeon_special[PokemonSpecies[species].value].add(map_num) + dungeon_special_natdex[PokemonSpecies[species].value].add(map_num) + + if (file.stem == 'encounters_trophy_garden'): + for species in enc_data['daily_encounters']: + dungeon_special_natdex[PokemonSpecies[species].value].add(map_num) + + if (map_type == 'field'): + for i, slot in enumerate(enc_data['land_encounters']): + species = slot['species'] + field_morning[PokemonSpecies[species].value].add(map_num) + + if ((i == 2) or (i == 3)): + species = enc_data['morning'][i - 2] + field_day[PokemonSpecies[species].value].add(map_num) + + species = enc_data['night'][i - 2] + field_night[PokemonSpecies[species].value].add(map_num) + else: + field_day[PokemonSpecies[species].value].add(map_num) + field_night[PokemonSpecies[species].value].add(map_num) + + for slot in enc_data['surf_encounters']: + species = slot['species'] + field_morning[PokemonSpecies[species].value].add(map_num) + field_day[PokemonSpecies[species].value].add(map_num) + field_night[PokemonSpecies[species].value].add(map_num) + + for slot in enc_data['old_rod_encounters']: + species = slot['species'] + field_morning[PokemonSpecies[species].value].add(map_num) + field_day[PokemonSpecies[species].value].add(map_num) + field_night[PokemonSpecies[species].value].add(map_num) + + for slot in enc_data['good_rod_encounters']: + species = slot['species'] + field_morning[PokemonSpecies[species].value].add(map_num) + field_day[PokemonSpecies[species].value].add(map_num) + field_night[PokemonSpecies[species].value].add(map_num) + + for slot in enc_data['super_rod_encounters']: + species = slot['species'] + field_morning[PokemonSpecies[species].value].add(map_num) + field_day[PokemonSpecies[species].value].add(map_num) + field_night[PokemonSpecies[species].value].add(map_num) + + field_special[0].add(map_num) + + for species in enc_data['radar']: + field_special_natdex[PokemonSpecies[species].value].add(map_num) for species in range(NUM_POKEMON): - speciesSets = [dungeonMorning[species], - dungeonDay[species], - dungeonNight[species], - dungeonSpecial[species], - dungeonSpecialNatDex[species], - fieldMorning[species], - fieldDay[species], - fieldNight[species], - fieldSpecial[species], - fieldSpecialNatDex[species]] + speciesSets = [dungeon_morning[species], + dungeon_day[species], + dungeon_night[species], + dungeon_special[species], + dungeon_special_natdex[species], + field_morning[species], + field_day[species], + field_night[species], + field_special[species], + field_special_natdex[species]] for i, mapSet in enumerate(speciesSets): - binData = bytes() + bin_data = bytes() mapList = list(mapSet) mapList.sort() mapList.append(0) for map in mapList: - binData = binData + map.to_bytes(4, 'little') + bin_data = bin_data + map.to_bytes(4, 'little') fileNum = 4 + species + NUM_POKEMON * i - target_fname = str(private_dir / output_name) + f'_{fileNum:0{numDigits}}.bin' + target_fname = str(private_dir / output_name) + f'_{fileNum:0{NUM_DIGITS}}.bin' with open(target_fname, 'wb+') as target_file: - target_file.write(binData) + target_file.write(bin_data) subprocess.run([args.knarc, '-d', private_dir, '-p', str(output_dir / output_name) + '.narc'])