Skip to content

Commit 8c5592e

Browse files
authored
KH2: Fix determinism by using tuples instead of sets (#4548)
1 parent 41055cd commit 8c5592e

File tree

1 file changed

+88
-88
lines changed

1 file changed

+88
-88
lines changed

worlds/kh2/Regions.py

Lines changed: 88 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,99 +1032,99 @@ def connect_regions(self):
10321032
multiworld = self.multiworld
10331033
player = self.player
10341034
# connecting every first visit to the GoA
1035-
KH2RegionConnections: typing.Dict[str, typing.Set[str]] = {
1036-
"Menu": {RegionName.GoA},
1037-
RegionName.GoA: {RegionName.Sp, RegionName.Pr, RegionName.Tt, RegionName.Oc, RegionName.Ht,
1035+
KH2RegionConnections: typing.Dict[str, typing.Tuple[str]] = {
1036+
"Menu": (RegionName.GoA,),
1037+
RegionName.GoA: (RegionName.Sp, RegionName.Pr, RegionName.Tt, RegionName.Oc, RegionName.Ht,
10381038
RegionName.LoD,
10391039
RegionName.Twtnw, RegionName.Bc, RegionName.Ag, RegionName.Pl, RegionName.Hb,
10401040
RegionName.Dc, RegionName.Stt,
10411041
RegionName.Ha1, RegionName.Keyblade, RegionName.LevelsVS1,
10421042
RegionName.Valor, RegionName.Wisdom, RegionName.Limit, RegionName.Master,
1043-
RegionName.Final, RegionName.Summon, RegionName.AtlanticaSongOne},
1044-
RegionName.LoD: {RegionName.ShanYu},
1045-
RegionName.ShanYu: {RegionName.LoD2},
1046-
RegionName.LoD2: {RegionName.AnsemRiku},
1047-
RegionName.AnsemRiku: {RegionName.StormRider},
1048-
RegionName.StormRider: {RegionName.DataXigbar},
1049-
RegionName.Ag: {RegionName.TwinLords},
1050-
RegionName.TwinLords: {RegionName.Ag2},
1051-
RegionName.Ag2: {RegionName.GenieJafar},
1052-
RegionName.GenieJafar: {RegionName.DataLexaeus},
1053-
RegionName.Dc: {RegionName.Tr},
1054-
RegionName.Tr: {RegionName.OldPete},
1055-
RegionName.OldPete: {RegionName.FuturePete},
1056-
RegionName.FuturePete: {RegionName.Terra, RegionName.DataMarluxia},
1057-
RegionName.Ha1: {RegionName.Ha2},
1058-
RegionName.Ha2: {RegionName.Ha3},
1059-
RegionName.Ha3: {RegionName.Ha4},
1060-
RegionName.Ha4: {RegionName.Ha5},
1061-
RegionName.Ha5: {RegionName.Ha6},
1062-
RegionName.Pr: {RegionName.Barbosa},
1063-
RegionName.Barbosa: {RegionName.Pr2},
1064-
RegionName.Pr2: {RegionName.GrimReaper1},
1065-
RegionName.GrimReaper1: {RegionName.GrimReaper2},
1066-
RegionName.GrimReaper2: {RegionName.DataLuxord},
1067-
RegionName.Oc: {RegionName.Cerberus},
1068-
RegionName.Cerberus: {RegionName.OlympusPete},
1069-
RegionName.OlympusPete: {RegionName.Hydra},
1070-
RegionName.Hydra: {RegionName.OcPainAndPanicCup, RegionName.OcCerberusCup, RegionName.Oc2},
1071-
RegionName.Oc2: {RegionName.Hades},
1072-
RegionName.Hades: {RegionName.Oc2TitanCup, RegionName.Oc2GofCup, RegionName.DataZexion},
1073-
RegionName.Oc2GofCup: {RegionName.HadesCups},
1074-
RegionName.Bc: {RegionName.Thresholder},
1075-
RegionName.Thresholder: {RegionName.Beast},
1076-
RegionName.Beast: {RegionName.DarkThorn},
1077-
RegionName.DarkThorn: {RegionName.Bc2},
1078-
RegionName.Bc2: {RegionName.Xaldin},
1079-
RegionName.Xaldin: {RegionName.DataXaldin},
1080-
RegionName.Sp: {RegionName.HostileProgram},
1081-
RegionName.HostileProgram: {RegionName.Sp2},
1082-
RegionName.Sp2: {RegionName.Mcp},
1083-
RegionName.Mcp: {RegionName.DataLarxene},
1084-
RegionName.Ht: {RegionName.PrisonKeeper},
1085-
RegionName.PrisonKeeper: {RegionName.OogieBoogie},
1086-
RegionName.OogieBoogie: {RegionName.Ht2},
1087-
RegionName.Ht2: {RegionName.Experiment},
1088-
RegionName.Experiment: {RegionName.DataVexen},
1089-
RegionName.Hb: {RegionName.Hb2},
1090-
RegionName.Hb2: {RegionName.CoR, RegionName.HBDemyx},
1091-
RegionName.HBDemyx: {RegionName.ThousandHeartless},
1092-
RegionName.ThousandHeartless: {RegionName.Mushroom13, RegionName.DataDemyx, RegionName.Sephi},
1093-
RegionName.CoR: {RegionName.CorFirstFight},
1094-
RegionName.CorFirstFight: {RegionName.CorSecondFight},
1095-
RegionName.CorSecondFight: {RegionName.Transport},
1096-
RegionName.Pl: {RegionName.Scar},
1097-
RegionName.Scar: {RegionName.Pl2},
1098-
RegionName.Pl2: {RegionName.GroundShaker},
1099-
RegionName.GroundShaker: {RegionName.DataSaix},
1100-
RegionName.Stt: {RegionName.TwilightThorn},
1101-
RegionName.TwilightThorn: {RegionName.Axel1},
1102-
RegionName.Axel1: {RegionName.Axel2},
1103-
RegionName.Axel2: {RegionName.DataRoxas},
1104-
RegionName.Tt: {RegionName.Tt2},
1105-
RegionName.Tt2: {RegionName.Tt3},
1106-
RegionName.Tt3: {RegionName.DataAxel},
1107-
RegionName.Twtnw: {RegionName.Roxas},
1108-
RegionName.Roxas: {RegionName.Xigbar},
1109-
RegionName.Xigbar: {RegionName.Luxord},
1110-
RegionName.Luxord: {RegionName.Saix},
1111-
RegionName.Saix: {RegionName.Twtnw2},
1112-
RegionName.Twtnw2: {RegionName.Xemnas},
1113-
RegionName.Xemnas: {RegionName.ArmoredXemnas, RegionName.DataXemnas},
1114-
RegionName.ArmoredXemnas: {RegionName.ArmoredXemnas2},
1115-
RegionName.ArmoredXemnas2: {RegionName.FinalXemnas},
1116-
RegionName.LevelsVS1: {RegionName.LevelsVS3},
1117-
RegionName.LevelsVS3: {RegionName.LevelsVS6},
1118-
RegionName.LevelsVS6: {RegionName.LevelsVS9},
1119-
RegionName.LevelsVS9: {RegionName.LevelsVS12},
1120-
RegionName.LevelsVS12: {RegionName.LevelsVS15},
1121-
RegionName.LevelsVS15: {RegionName.LevelsVS18},
1122-
RegionName.LevelsVS18: {RegionName.LevelsVS21},
1123-
RegionName.LevelsVS21: {RegionName.LevelsVS24},
1124-
RegionName.LevelsVS24: {RegionName.LevelsVS26},
1125-
RegionName.AtlanticaSongOne: {RegionName.AtlanticaSongTwo},
1126-
RegionName.AtlanticaSongTwo: {RegionName.AtlanticaSongThree},
1127-
RegionName.AtlanticaSongThree: {RegionName.AtlanticaSongFour},
1043+
RegionName.Final, RegionName.Summon, RegionName.AtlanticaSongOne),
1044+
RegionName.LoD: (RegionName.ShanYu,),
1045+
RegionName.ShanYu: (RegionName.LoD2,),
1046+
RegionName.LoD2: (RegionName.AnsemRiku,),
1047+
RegionName.AnsemRiku: (RegionName.StormRider,),
1048+
RegionName.StormRider: (RegionName.DataXigbar,),
1049+
RegionName.Ag: (RegionName.TwinLords,),
1050+
RegionName.TwinLords: (RegionName.Ag2,),
1051+
RegionName.Ag2: (RegionName.GenieJafar,),
1052+
RegionName.GenieJafar: (RegionName.DataLexaeus,),
1053+
RegionName.Dc: (RegionName.Tr,),
1054+
RegionName.Tr: (RegionName.OldPete,),
1055+
RegionName.OldPete: (RegionName.FuturePete,),
1056+
RegionName.FuturePete: (RegionName.Terra, RegionName.DataMarluxia),
1057+
RegionName.Ha1: (RegionName.Ha2,),
1058+
RegionName.Ha2: (RegionName.Ha3,),
1059+
RegionName.Ha3: (RegionName.Ha4,),
1060+
RegionName.Ha4: (RegionName.Ha5,),
1061+
RegionName.Ha5: (RegionName.Ha6,),
1062+
RegionName.Pr: (RegionName.Barbosa,),
1063+
RegionName.Barbosa: (RegionName.Pr2,),
1064+
RegionName.Pr2: (RegionName.GrimReaper1,),
1065+
RegionName.GrimReaper1: (RegionName.GrimReaper2,),
1066+
RegionName.GrimReaper2: (RegionName.DataLuxord,),
1067+
RegionName.Oc: (RegionName.Cerberus,),
1068+
RegionName.Cerberus: (RegionName.OlympusPete,),
1069+
RegionName.OlympusPete: (RegionName.Hydra,),
1070+
RegionName.Hydra: (RegionName.OcPainAndPanicCup, RegionName.OcCerberusCup, RegionName.Oc2),
1071+
RegionName.Oc2: (RegionName.Hades,),
1072+
RegionName.Hades: (RegionName.Oc2TitanCup, RegionName.Oc2GofCup, RegionName.DataZexion),
1073+
RegionName.Oc2GofCup: (RegionName.HadesCups,),
1074+
RegionName.Bc: (RegionName.Thresholder,),
1075+
RegionName.Thresholder: (RegionName.Beast,),
1076+
RegionName.Beast: (RegionName.DarkThorn,),
1077+
RegionName.DarkThorn: (RegionName.Bc2,),
1078+
RegionName.Bc2: (RegionName.Xaldin,),
1079+
RegionName.Xaldin: (RegionName.DataXaldin,),
1080+
RegionName.Sp: (RegionName.HostileProgram,),
1081+
RegionName.HostileProgram: (RegionName.Sp2,),
1082+
RegionName.Sp2: (RegionName.Mcp,),
1083+
RegionName.Mcp: (RegionName.DataLarxene,),
1084+
RegionName.Ht: (RegionName.PrisonKeeper,),
1085+
RegionName.PrisonKeeper: (RegionName.OogieBoogie,),
1086+
RegionName.OogieBoogie: (RegionName.Ht2,),
1087+
RegionName.Ht2: (RegionName.Experiment,),
1088+
RegionName.Experiment: (RegionName.DataVexen,),
1089+
RegionName.Hb: (RegionName.Hb2,),
1090+
RegionName.Hb2: (RegionName.CoR, RegionName.HBDemyx),
1091+
RegionName.HBDemyx: (RegionName.ThousandHeartless,),
1092+
RegionName.ThousandHeartless: (RegionName.Mushroom13, RegionName.DataDemyx, RegionName.Sephi),
1093+
RegionName.CoR: (RegionName.CorFirstFight,),
1094+
RegionName.CorFirstFight: (RegionName.CorSecondFight,),
1095+
RegionName.CorSecondFight: (RegionName.Transport,),
1096+
RegionName.Pl: (RegionName.Scar,),
1097+
RegionName.Scar: (RegionName.Pl2,),
1098+
RegionName.Pl2: (RegionName.GroundShaker,),
1099+
RegionName.GroundShaker: (RegionName.DataSaix,),
1100+
RegionName.Stt: (RegionName.TwilightThorn,),
1101+
RegionName.TwilightThorn: (RegionName.Axel1,),
1102+
RegionName.Axel1: (RegionName.Axel2,),
1103+
RegionName.Axel2: (RegionName.DataRoxas,),
1104+
RegionName.Tt: (RegionName.Tt2,),
1105+
RegionName.Tt2: (RegionName.Tt3,),
1106+
RegionName.Tt3: (RegionName.DataAxel,),
1107+
RegionName.Twtnw: (RegionName.Roxas,),
1108+
RegionName.Roxas: (RegionName.Xigbar,),
1109+
RegionName.Xigbar: (RegionName.Luxord,),
1110+
RegionName.Luxord: (RegionName.Saix,),
1111+
RegionName.Saix: (RegionName.Twtnw2,),
1112+
RegionName.Twtnw2: (RegionName.Xemnas,),
1113+
RegionName.Xemnas: (RegionName.ArmoredXemnas, RegionName.DataXemnas),
1114+
RegionName.ArmoredXemnas: (RegionName.ArmoredXemnas2,),
1115+
RegionName.ArmoredXemnas2: (RegionName.FinalXemnas,),
1116+
RegionName.LevelsVS1: (RegionName.LevelsVS3,),
1117+
RegionName.LevelsVS3: (RegionName.LevelsVS6,),
1118+
RegionName.LevelsVS6: (RegionName.LevelsVS9,),
1119+
RegionName.LevelsVS9: (RegionName.LevelsVS12,),
1120+
RegionName.LevelsVS12: (RegionName.LevelsVS15,),
1121+
RegionName.LevelsVS15: (RegionName.LevelsVS18,),
1122+
RegionName.LevelsVS18: (RegionName.LevelsVS21,),
1123+
RegionName.LevelsVS21: (RegionName.LevelsVS24,),
1124+
RegionName.LevelsVS24: (RegionName.LevelsVS26,),
1125+
RegionName.AtlanticaSongOne: (RegionName.AtlanticaSongTwo,),
1126+
RegionName.AtlanticaSongTwo: (RegionName.AtlanticaSongThree,),
1127+
RegionName.AtlanticaSongThree: (RegionName.AtlanticaSongFour,),
11281128
}
11291129

11301130
for source, target in KH2RegionConnections.items():

0 commit comments

Comments
 (0)