Skip to content
Merged
12 changes: 9 additions & 3 deletions worlds/mmbn6/BN6RomUtils.py

Large diffs are not rendered by default.

209 changes: 164 additions & 45 deletions worlds/mmbn6/Client.py

Large diffs are not rendered by default.

293 changes: 293 additions & 0 deletions worlds/mmbn6/FalzarLocations.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,293 @@
import typing

from .Names.LocationName import LocationName

falzar_update_addresses: typing.Dict[str, int] = {
LocationName.Robot_Control_Comp_1_BMD_1: 0x09FF48,
LocationName.Robot_Control_Comp_1_BMD_2: 0x09FF54,
LocationName.Robot_Control_Comp_2_BMD_1: 0x0A004C,
LocationName.Robot_Control_Comp_2_BMD_2: 0x0A0058,
LocationName.Aquarium_Comp_1_BMD_1: 0x0A0194,
LocationName.Aquarium_Comp_1_BMD_2: 0x0A01A0,
LocationName.Aquarium_Comp_2_BMD_1: 0x0A0298,
LocationName.Aquarium_Comp_2_BMD_2: 0x0A02A4,
LocationName.Aquarium_Comp_3_BMD_1: 0x0A039C,
LocationName.Aquarium_Comp_3_BMD_2: 0x0A03A8,
LocationName.JudgeTree_Comp_1_BMD_1: 0x0A04E4,
LocationName.JudgeTree_Comp_1_BMD_2: 0x0A04F0,
LocationName.JudgeTree_Comp_2_BMD_1: 0x0A05E8,
LocationName.JudgeTree_Comp_2_BMD_2: 0x0A05F4,
LocationName.JudgeTree_Comp_3_BMD_1: 0x0A06EC,
LocationName.JudgeTree_Comp_3_BMD_2: 0x0A06F8,
LocationName.Mr_Weather_Comp_1_BMD_1: 0x0A0834,
LocationName.Mr_Weather_Comp_1_BMD_2: 0x0A0840,
LocationName.Mr_Weather_Comp_2_BMD_1: 0x0A0938,
LocationName.Mr_Weather_Comp_2_BMD_2: 0x0A0944,
LocationName.Mr_Weather_Comp_3_BMD_1: 0x0A0A3C,
LocationName.Mr_Weather_Comp_3_BMD_2: 0x0A0A48,
LocationName.Pavilion_Comp_1_BMD_1: 0x0A0B84,
LocationName.Pavilion_Comp_1_BMD_2: 0x0A0B90,
LocationName.Pavilion_Comp_2_BMD_1: 0x0A0C88,
LocationName.Pavilion_Comp_2_BMD_2: 0x0A0C94,
LocationName.Pavilion_Comp_3_BMD_1: 0x0A0D8C,
LocationName.Pavilion_Comp_3_BMD_2: 0x0A0D98,
LocationName.Pavilion_Comp_4_BMD_1: 0x0A0E90,
LocationName.Pavilion_Comp_4_BMD_2: 0x0A0E9C,
LocationName.ACDC_HP_BMD: 0x0A0FAC,
LocationName.Aquarium_HP_BMD: 0x0A0FF8,
LocationName.Green_HP_BMD: 0x0A1044,
LocationName.Sky_HP_BMD: 0x0A1090,
LocationName.RoboDog_Comp_BMD: 0x0A1108,
LocationName.Labs_Comp_1_BMD_1: 0x0A1148,
LocationName.Labs_Comp_1_BMD_2: 0x0A1154,
LocationName.Class_6_1_Comp_BMD_1: 0x0A1194,
LocationName.Class_6_1_Comp_BMD_2: 0x0A11A0,
LocationName.Class_6_2_Comp_BMD: 0x0A11E0,
LocationName.Class_1_1_Comp_BMD_1: 0x0A122C,
LocationName.Class_1_1_Comp_BMD_2: 0x0A1238,
LocationName.Class_1_2_Comp_BMD_1: 0x0A1278,
LocationName.Class_1_2_Comp_BMD_2: 0x0A1284,
LocationName.Bathroom_Comp_BMD: 0x0A12AC,
LocationName.Elevator_Comp_BMD: 0x0A12D4,
LocationName.Fish_Stick_Shop_Comp_BMD_1: 0x0A1314,
LocationName.Fish_Stick_Shop_Comp_BMD_2: 0x0A1320,
LocationName.Security_Camera_Comp_BMD_1: 0x0A1360,
LocationName.Security_Camera_Comp_BMD_2: 0x0A136C,
LocationName.Book_Comp_BMD_1: 0x0A13AC,
LocationName.Book_Comp_BMD_2: 0x0A13B8,
LocationName.Fan_Comp_BMD_1: 0x0A13F8,
LocationName.Fan_Comp_BMD_2: 0x0A1404,
LocationName.Air_Conditioner_Comp_BMD_1: 0x0A1444,
LocationName.Air_Conditioner_Comp_BMD_2: 0x0A1450,
LocationName.Heater_Comp_BMD_1: 0x0A1490,
LocationName.Heater_Comp_BMD_2: 0x0A149C,
LocationName.Shower_Comp_BMD_1: 0x0A14DC,
LocationName.Shower_Comp_BMD_2: 0x0A14E8,
LocationName.Heliport_Comp_BMD_1: 0x0A1528,
LocationName.Heliport_Comp_BMD_2: 0x0A1534,
LocationName.Labs_Comp_2_BMD: 0x0A15B8,
LocationName.Vending_Machine_Comp_BMD_1: 0x0A1604,
LocationName.Vending_Machine_Comp_BMD_2: 0x0A1610,
LocationName.Punish_Chair_Comp_BMD: 0x0A1650,
LocationName.Water_Machine_Comp_BMD: 0x0A1684,
LocationName.Symbol_Comp_BMD_1: 0x0A16C4,
LocationName.Symbol_Comp_BMD_2: 0x0A16D0,
LocationName.Monitor_Comp_BMD: 0x0A16F8,
LocationName.Popcorn_Shop_Comp_BMD: 0x0A1720,
LocationName.Teachers_Room_Comp_BMD_1: 0x0A1760,
LocationName.Teachers_Room_Comp_BMD_2: 0x0A176C,
LocationName.Pipe_Comp_BMD: 0x0A1794,
LocationName.Observation_Comp_BMD_1: 0x0A17D4,
LocationName.Observation_Comp_BMD_2: 0x0A17E0,
LocationName.Oxygen_Tank_Comp_BMD: 0x0A1820,
LocationName.Principals_Office_Comp_BMD_1: 0x0A186C,
LocationName.Principals_Office_Comp_BMD_2: 0x0A1878,
LocationName.Mascot_Comp_BMD_1: 0x0A18B8,
LocationName.Mascot_Comp_BMD_2: 0x0A18C4,
LocationName.Stuffed_Toy_Shop_Comp_BMD_1: 0x0A1904,
LocationName.Stuffed_Toy_Shop_Comp_BMD_2: 0x0A1910,
LocationName.Dog_House_Comp_BMD_1: 0x0A1950,
LocationName.Dog_House_Comp_BMD_2: 0x0A195C,
LocationName.Guide_Panel_Comp_BMD: 0x0A1984,
LocationName.Central_Area_1_BMD_1: 0x0A1A48,
LocationName.Central_Area_1_BMD_2: 0x0A1A54,
LocationName.Central_Area_2_BMD_1: 0x0A1B5C,
LocationName.Central_Area_2_BMD_2: 0x0A1B68,
LocationName.Central_Area_3_BMD: 0x0A1C70,
LocationName.Seaside_Area_1_BMD_1: 0x0A1DE0,
LocationName.Seaside_Area_1_BMD_2: 0x0A1DEC,
LocationName.Seaside_Area_1_BMD_3: 0x0A1E80,
LocationName.Seaside_Area_2_BMD_1: 0x0A1F18,
LocationName.Seaside_Area_2_BMD_2: 0x0A1F24,
LocationName.Seaside_Area_2_BMD_3: 0x0A1FB8,
LocationName.Seaside_Area_3_BMD: 0x0A2038,
LocationName.Green_Area_1_BMD_1: 0x0A21A8,
LocationName.Green_Area_1_BMD_2: 0x0A2248,
LocationName.Green_Area_2_BMD_1: 0x0A22E0,
LocationName.Green_Area_2_BMD_2: 0x0A22EC,
LocationName.Green_Area_2_BMD_3: 0x0A2380,
LocationName.Underground_2_BMD_1: 0x0A2558,
LocationName.Underground_2_BMD_2: 0x0A25EC,
LocationName.Sky_Area_1_BMD_1: 0x0A26C8,
LocationName.Sky_Area_1_BMD_2: 0x0A2768,
LocationName.Sky_Area_2_BMD_1: 0x0A2800,
LocationName.Sky_Area_2_BMD_2: 0x0A280C,
LocationName.Sky_Area_2_BMD_3: 0x0A28A0,
LocationName.ACDC_Area_BMD_1: 0x0A2938,
LocationName.ACDC_Area_BMD_2: 0x0A29D8,
LocationName.Undernet_1_BMD: 0x0A2A9C,
LocationName.Undernet_Zero_BMD_1: 0x0A2BC8,
LocationName.Undernet_Zero_BMD_2: 0x0A2BD4,
LocationName.Undernet_Zero_BMD_3: 0x0A2BE0,
LocationName.Undernet_2_BMD: 0x0A2CE8,
LocationName.Graveyard_BMD_1: 0x0A314C,
LocationName.Graveyard_BMD_2: 0x0A3158,
LocationName.Graveyard_BMD_3: 0x0A3170,
LocationName.Graveyard_BMD_4: 0x0A317C,
LocationName.Graveyard_BMD_5: 0x0A321C,

LocationName.ACDC_HP_PMD: 0x0A0FB8,
LocationName.Aquarium_HP_PMD: 0x0A1004,
LocationName.Green_HP_PMD: 0x0A1050,
LocationName.Sky_HP_PMD: 0x0A109C,
LocationName.Class_6_2_Comp_PMD: 0x0A11EC,
LocationName.Labs_Comp_2_PMD: 0x0A15C4,
LocationName.Punish_Chair_Comp_PMD: 0x0A165C,
LocationName.Oxygen_Tank_Comp_PMD: 0x0A182C,
LocationName.Central_Area_3_PMD: 0x0A1C7C,
LocationName.Seaside_Area_3_PMD: 0x0A2044,
LocationName.Green_Area_1_PMD: 0x0A21B4,
LocationName.Underground_1_PMD_1: 0x0A2444,
LocationName.Underground_1_PMD_2: 0x0A2450,
LocationName.Sky_Area_1_PMD: 0x0A26D4,
LocationName.ACDC_Area_PMD: 0x0A2944,
LocationName.Undernet_1_PMD: 0x0A2AA8,
LocationName.Undernet_2_PMD: 0x0A2CF4,
LocationName.Graveyard_PMD_1: 0x0A3164,
LocationName.Graveyard_PMD_2: 0x0A3188,

LocationName.School_Mr_Quiz: 0x76E900,
LocationName.Aquarium_Quiz_Master: 0x7792DC,
LocationName.Green_Quiz_King: 0x77E620,
LocationName.Central_Barr100_H_Trade: 0x766BFC,
LocationName.Aquarium_PnlRetrn_star_Trade: 0x79B2B4,
LocationName.Green_HolyPnl_S_Trade: 0x77C94C,
LocationName.AirCon_AuraHed1_B_Trade: 0x7A07DC,
LocationName.Class_1_2_EnergBom_K_Trade: 0x76D618,
LocationName.Aquarium_DublShot_C_Trade: 0x775E00,
LocationName.WatrMchn_HiBoomer_V_Trade: 0x7A15A0,
LocationName.Sky_GrabRvng_I_Trade: 0x781564,
LocationName.ACDC_BigBomb_O_Trade: 0x79AACC,
LocationName.Class_6_1_Grid: 0x75752C,
LocationName.Seaside_Auditorium_Trash_Can: 0x75B064,
LocationName.Seaside_Control_Room_Ladder: 0x75B30C,
LocationName.Green_Foyer_Flowers: 0x75B934,
LocationName.Sky_Air_Tank: 0x75C4B8,
LocationName.ACDC_Dexs_Door: 0x7558D8,
LocationName.Principals_Coffee_Table: 0x759480,
LocationName.Seaside_Pavilion_Waterfall: 0x75CFC4,
LocationName.Central_1_Net_Cafe: 0x784908,
LocationName.Green_2_Net_Cafe: 0x79073C,
LocationName.Sky_1_Net_Cafe: 0x792478,
LocationName.Central_2_Heel_Navi: 0x786EA0,
LocationName.Class_1_2_Heel_Navi: 0x79F1B8,
LocationName.Seaside_Auditorium_Man: 0x778B40,
LocationName.Aquarium_Comp_1_Navi: 0x797E94,
LocationName.Green_1_Heel_Navi: 0x78F364,
LocationName.Undernet_Zero_Heel_Navi: 0x7964C8,
LocationName.Green_Punishment_Room_Prog: 0x77E3DC,
LocationName.Sky_1_Brown_Navi: 0x792478,
LocationName.Bass: 0x7D82E4,
LocationName.Bass_SP: 0x7D8938,
LocationName.Talk_To_Mayl: 0x768EEC,
LocationName.TomahawkMan_Class: 0x7C13B4,
LocationName.TenguMan_Class: 0x7BC660,
LocationName.GroundMan_Class: 0x7CC1E4,
LocationName.DustMan_Class: 0x7CB1C0,
LocationName.RoboDog_Comp_Virus_Battler: 0x79DA74,
LocationName.Water_Machine_Comp_Virus_Battler: 0x7A15A0,
LocationName.Punish_Chair_Comp_Virus_Battler: 0x7A1144,
LocationName.Oxygen_Tank_Comp_Virus_Battler: 0x7A3180,
LocationName.Central_1_Virus_Battler: 0x784908,

LocationName.Virus_Deletion: 0x76C2A8,
LocationName.Find_Keepsake: 0x766BFC,
LocationName.Errand_Request: 0x770EC0,
LocationName.For_Victory: 0x784908,
LocationName.JuvenileDiv: 0x7A1F18,
LocationName.Somebody_Help: 0x7974B0,
LocationName.Get_The_Chip: 0x78DE08,
LocationName.Stock_Up: 0x775E00,
LocationName.StandIn_Recruit: 0x79B2B4,
LocationName.PenguinsRanAway: 0x775E00,
LocationName.Daughter_Worry: 0x77A7FC,
LocationName.Stop_Him: 0x77DAB4,
LocationName.Loan_Collection: 0x79C728,
LocationName.Lumber_Merchant: 0x79073C,
LocationName.TimeCpsl: 0x77A7FC,
LocationName.DietGood_Money: 0x76E144,
LocationName.Find_The_Virus: 0x766BFC,
LocationName.Got_A_Problem: 0x778B40,
LocationName.Songwriter: 0x792478,
LocationName.Buy_Whch_Stock: 0x792478,
LocationName.Cant_Open_Safe: 0x7A2460,
LocationName.Get_The_Bad_Guy: 0x766BFC,
LocationName.Update_Help: 0x775E00,
LocationName.Do_Something: 0x774530,
LocationName.Want_Meet_Dghtr: 0x79D158,
LocationName.Not_Engh_Member: 0x79E65C,
LocationName.Track_The_Crmnl_1: 0x7792DC,
LocationName.Track_The_Crmnl_2: 0x7792DC,
LocationName.Track_The_Crmnl_3: 0x7792DC,
LocationName.Self_Research: 0x79EBA8,
LocationName.OfficialRequest_1: 0x7A2C04,
LocationName.OfficialRequest_2: 0x7A2C04,
LocationName.OfficialRequest_3: 0x7A2C04,
LocationName.Wheres_My_Navi: 0x76CE60,
LocationName.One_More_Time: 0x766BFC,
LocationName.SupportChip_Pls: 0x7808D0,
LocationName.Negotiate: 0x7808D0,
LocationName.An_Experiment_1: 0x77767C,
LocationName.An_Experiment_2: 0x77767C,
LocationName.An_Experiment_3: 0x77767C,
LocationName.RoadToSoulBtlr: 0x79C728,

LocationName.Lotto_Code_01: 0x756C9C,
LocationName.Lotto_Code_02: 0x756C9C,
LocationName.Lotto_Code_03: 0x756C9C,
LocationName.Lotto_Code_04: 0x756C9C,
LocationName.Lotto_Code_05: 0x756C9C,
LocationName.Lotto_Code_06: 0x756C9C,
LocationName.Lotto_Code_07: 0x756C9C,
LocationName.Lotto_Code_08: 0x756C9C,
LocationName.Lotto_Code_09: 0x756C9C,
LocationName.Lotto_Code_10: 0x756C9C,
LocationName.Lotto_Code_11: 0x756C9C,
LocationName.Lotto_Code_12: 0x756C9C,
LocationName.Lotto_Code_13: 0x756C9C,
LocationName.Lotto_Code_14: 0x756C9C,
LocationName.Lotto_Code_15: 0x756C9C,
LocationName.Lotto_Code_16: 0x756C9C,
LocationName.Lotto_Code_17: 0x756C9C,
LocationName.Lotto_Code_18: 0x756C9C,
LocationName.Lotto_Code_19: 0x756C9C,
LocationName.Lotto_Code_20: 0x756C9C,
LocationName.Lotto_Code_21: 0x756C9C,
LocationName.Lotto_Code_22: 0x756C9C,
LocationName.Lotto_Code_23: 0x756C9C,
LocationName.Lotto_Code_24: 0x756C9C,
LocationName.Lotto_Code_25: 0x756C9C,
LocationName.Lotto_Code_26: 0x756C9C,
LocationName.Lotto_Code_27: 0x756C9C,
LocationName.Lotto_Code_28: 0x756C9C,
LocationName.Lotto_Code_29: 0x756C9C,
LocationName.Lotto_Code_30: 0x756C9C,
LocationName.Lotto_Code_31: 0x756C9C,
LocationName.Lotto_Code_32: 0x756C9C,
LocationName.Lotto_Code_33: 0x756C9C,
LocationName.Lotto_Code_34: 0x756C9C,
LocationName.Lotto_Code_35: 0x756C9C,
LocationName.Lotto_Code_36: 0x756C9C,
LocationName.Lotto_Code_37: 0x756C9C,
LocationName.Lotto_Code_38: 0x756C9C,
LocationName.Lotto_Code_39: 0x756C9C,
LocationName.Lotto_Code_40: 0x756C9C,
LocationName.Lotto_Code_41: 0x756C9C,
LocationName.Lotto_Code_42: 0x756C9C,
LocationName.Lotto_Code_43: 0x756C9C,
LocationName.Lotto_Code_44: 0x756C9C,
LocationName.Lotto_Code_45: 0x756C9C,
LocationName.Lotto_Code_46: 0x756C9C,
LocationName.Lotto_Code_47: 0x756C9C,
LocationName.Lotto_Code_48: 0x756C9C,
LocationName.Lotto_Code_49: 0x756C9C,
LocationName.Lotto_Code_50: 0x756C9C,
LocationName.Lotto_Code_51: 0x756C9C,
LocationName.Lotto_Code_52: 0x756C9C,
LocationName.Lotto_Code_53: 0x756C9C,
LocationName.Lotto_Code_54: 0x756C9C,
LocationName.Lotto_Code_55: 0x756C9C,
LocationName.Lotto_Code_56: 0x756C9C,
LocationName.Lotto_Code_57: 0x756C9C,
LocationName.Lotto_Code_58: 0x756C9C
}
Loading
Loading