From e5570f7c918b575c053f6f34edbf6bc25671d4d6 Mon Sep 17 00:00:00 2001 From: Robert Paciorek Date: Sat, 9 Dec 2023 21:23:45 +0000 Subject: [PATCH] Magic and Mythies fixes: - add fake missions for unlock fishing and mythie grow up - add games to store --- src/Resources/defaultmissionlistmam.xml | 12 ++ src/Resources/missions.xml | 186 +++++++++++++++++++++++- src/Resources/store.xml | 2 + src/Services/MissionService.cs | 6 + src/Services/MissionStoreSingleton.cs | 14 +- src/Util/ClientVersion.cs | 4 + src/sodoff.csproj | 4 + 7 files changed, 225 insertions(+), 3 deletions(-) create mode 100644 src/Resources/defaultmissionlistmam.xml diff --git a/src/Resources/defaultmissionlistmam.xml b/src/Resources/defaultmissionlistmam.xml new file mode 100644 index 0000000..b71746b --- /dev/null +++ b/src/Resources/defaultmissionlistmam.xml @@ -0,0 +1,12 @@ + + + + + 1750 + 2298 + 1044 + 1074 + + + + diff --git a/src/Resources/missions.xml b/src/Resources/missions.xml index f049698..39610f5 100644 --- a/src/Resources/missions.xml +++ b/src/Resources/missions.xml @@ -2,7 +2,7 @@ 1000 - Quest 1 + Unlock Fishing 3 false @@ -27,7 +27,7 @@ 0 1 - 999 + 1000 1000 1 @@ -125774,4 +125774,186 @@ false + + 1750 + Unlock Fishing + 3 + + false + 1 + + + 2 + False + 0 + false + + + 1 + False + 0 + false + + + all + true + 1 + 0 + + 1 + 1750 + 1000 + 1 + + + + 1 + 0 + 0 + + 1000 + Unlock Fishing + + 1 + false + + false + + + 2298 + Unlock Fishing + 3 + + false + 1 + + + 2 + False + 0 + false + + + 1 + False + 0 + false + + + all + true + 1 + 0 + + 1 + 2298 + 1000 + 1 + + + + 1 + 0 + 0 + + 1000 + Unlock Fishing + + 1 + false + + false + + + 11044 + + Unlock Grow Up + 3 + + false + 0 + + + 1 + False + 0 + false + + + 4 + 8,5 + 0 + true + + + all + true + 1 + 1 + + 1 + 1044 + 11044 + 0 + + + + 1 + 0 + 0 + + 11044 + Unlock Grow Up + <Data><Objective><Pair><Key>Name</Key><Value>GrowDragon</Value></Pair></Objective><Type>Action</Type></Data> + 0 + false + + true + + + 11074 + + Unlock Grow Up + 3 + + false + 0 + + + 1 + False + 0 + false + + + 4 + 8,10 + 0 + true + + + all + true + 1 + 1 + + 1 + 1074 + 11074 + 0 + + + + 1 + 0 + 0 + + 11074 + Unlock Grow Up + <Data><Objective><Pair><Key>Name</Key><Value>GrowDragon</Value></Pair></Objective><Type>Action</Type></Data> + 0 + false + + true + diff --git a/src/Resources/store.xml b/src/Resources/store.xml index 7aaf108..3ecb7fe 100644 --- a/src/Resources/store.xml +++ b/src/Resources/store.xml @@ -17100,6 +17100,8 @@ SoD 3.31 main store section and subsection filtering: 2013-01-01T00:00:00 2030-12-31T00:00:00 + 12732 + 12721 12238 12239 12016 diff --git a/src/Services/MissionService.cs b/src/Services/MissionService.cs index 82583c6..c2d65bf 100644 --- a/src/Services/MissionService.cs +++ b/src/Services/MissionService.cs @@ -29,6 +29,12 @@ public class MissionService { mission = missionStore.GetMission(10999); } mission.MissionID = 999; + } else if (missionId == 1044 && ClientVersion.IsMaM(apiKey)) { + mission = missionStore.GetMission(11044); + mission.MissionID = 1044; + } else if (missionId == 1074 && ClientVersion.IsMaM(apiKey)) { + mission = missionStore.GetMission(11074); + mission.MissionID = 1074; } if (mission is null) { diff --git a/src/Services/MissionStoreSingleton.cs b/src/Services/MissionStoreSingleton.cs index e44a6b7..6e294db 100644 --- a/src/Services/MissionStoreSingleton.cs +++ b/src/Services/MissionStoreSingleton.cs @@ -10,6 +10,8 @@ public class MissionStoreSingleton { private int[] upcomingMissions; private int[] activeMissionsV1; private int[] upcomingMissionsV1; + private int[] activeMissionsMaM; + private int[] upcomingMissionsMaM; public MissionStoreSingleton() { ServerMissionArray missionArray = XmlUtil.DeserializeXml(XmlUtil.ReadResourceXmlString("missions")); @@ -19,10 +21,14 @@ public class MissionStoreSingleton { } activeMissions = defaultMissions.Active; upcomingMissions = defaultMissions.Upcoming; - + defaultMissions = XmlUtil.DeserializeXml(XmlUtil.ReadResourceXmlString("defaultmissionlistv1")); activeMissionsV1 = defaultMissions.Active; upcomingMissionsV1 = defaultMissions.Upcoming; + + defaultMissions = XmlUtil.DeserializeXml(XmlUtil.ReadResourceXmlString("defaultmissionlistmam")); + activeMissionsMaM = defaultMissions.Active; + upcomingMissionsMaM = defaultMissions.Upcoming; } public Mission GetMission(int missionID) { @@ -33,6 +39,9 @@ public class MissionStoreSingleton { if (ClientVersion.Use2013SoDTutorial(apiKey)) { return activeMissionsV1; } + if (ClientVersion.IsMaM(apiKey)) { + return activeMissionsMaM; + } return activeMissions; } @@ -40,6 +49,9 @@ public class MissionStoreSingleton { if (ClientVersion.Use2013SoDTutorial(apiKey)) { return upcomingMissionsV1; } + if (ClientVersion.IsMaM(apiKey)) { + return upcomingMissionsMaM; + } return upcomingMissions; } diff --git a/src/Util/ClientVersion.cs b/src/Util/ClientVersion.cs index 24f65c6..88e1697 100644 --- a/src/Util/ClientVersion.cs +++ b/src/Util/ClientVersion.cs @@ -27,4 +27,8 @@ public class ClientVersion { public static bool Use2021SoDTutorial(string apiKey) { return !IsOldSoD(apiKey); } + + public static bool IsMaM(string apiKey) { + return apiKey == "e20150cc-ff70-435c-90fd-341dc9161cc3"; + } } diff --git a/src/sodoff.csproj b/src/sodoff.csproj index 069b2df..5bded66 100644 --- a/src/sodoff.csproj +++ b/src/sodoff.csproj @@ -25,6 +25,7 @@ + @@ -89,5 +90,8 @@ PreserveNewest + + PreserveNewest +