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
+