forked from SoDOff-Project/sodoff
stub achievements to progress in missions
This commit is contained in:
parent
535cfc418c
commit
f821a0b1cb
@ -54,7 +54,9 @@ methods = [
|
||||
'GetAchievementsByUserID',
|
||||
'PurchaseItems',
|
||||
'AcceptMission',
|
||||
'GetUserMissionState'
|
||||
'GetUserMissionState',
|
||||
'SetAchievementAndGetReward',
|
||||
'SetUserAchievementTask'
|
||||
]
|
||||
|
||||
def routable(path):
|
||||
|
@ -1,6 +1,7 @@
|
||||
using System.Reflection;
|
||||
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using sodoff.Attributes;
|
||||
using sodoff.Model;
|
||||
using sodoff.Schema;
|
||||
using sodoff.Util;
|
||||
@ -63,4 +64,48 @@ public class AchievementController : Controller {
|
||||
|
||||
return Ok(arrAchievements);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Produces("application/xml")]
|
||||
[Route("AchievementWebService.asmx/SetAchievementAndGetReward")]
|
||||
public IActionResult SetAchievementAndGetReward([FromForm] string apiToken, [FromForm] int achievementID) {
|
||||
// TODO: This is a placeholder; returns 5 gems
|
||||
Viking? viking = ctx.Sessions.FirstOrDefault(x => x.ApiToken == apiToken).Viking;
|
||||
return Ok(new AchievementReward[1] {
|
||||
new AchievementReward {
|
||||
Amount = 5,
|
||||
PointTypeID = 5,
|
||||
EntityID = Guid.Parse(viking.Id),
|
||||
EntityTypeID = 1,
|
||||
RewardID = 552
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Produces("application/xml")]
|
||||
[Route("V2/AchievementWebService.asmx/SetUserAchievementTask")]
|
||||
[DecryptRequest("achievementTaskSetRequest")]
|
||||
public IActionResult SetUserAchievementTask([FromForm] string apiToken, [FromForm] int achievementID) {
|
||||
// TODO: This is a placeholder
|
||||
string xml = Request.Form["achievementTaskSetRequest"];
|
||||
AchievementTaskSetResponse response = new AchievementTaskSetResponse {
|
||||
Success = true,
|
||||
UserMessage = true,
|
||||
AchievementName = "Placeholder Achievement",
|
||||
Level = 1,
|
||||
AchievementTaskGroupID = 1279,
|
||||
LastLevelCompleted = true,
|
||||
AchievementInfoID = 1279,
|
||||
AchievementRewards = new AchievementReward[1] {
|
||||
new AchievementReward {
|
||||
Amount = 25,
|
||||
PointTypeID = 1,
|
||||
RewardID = 910,
|
||||
EntityTypeID =1
|
||||
}
|
||||
}
|
||||
};
|
||||
return Ok(new ArrayOfAchievementTaskSetResponse { AchievementTaskSetResponse = new AchievementTaskSetResponse[1] { response } });
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ public class ChallengeController : Controller {
|
||||
|
||||
[HttpPost]
|
||||
[Produces("application/xml")]
|
||||
[Route("ContentWebService.asmx/ChallengeWebService.asmx/GetActiveChallenges")]
|
||||
[Route("ChallengeWebService.asmx/GetActiveChallenges")]
|
||||
public IActionResult GetActiveChallenges() {
|
||||
// TODO: this is a placeholder
|
||||
return Ok(new ChallengeInfo[0]);
|
||||
|
38
src/Schema/AchievementTaskSetResponse.cs
Normal file
38
src/Schema/AchievementTaskSetResponse.cs
Normal file
@ -0,0 +1,38 @@
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace sodoff.Schema;
|
||||
|
||||
// Token: 0x020008AB RID: 2219
|
||||
[XmlRoot(ElementName = "ATSR", Namespace = "")]
|
||||
[Serializable]
|
||||
public class AchievementTaskSetResponse
|
||||
{
|
||||
public AchievementTaskSetResponse()
|
||||
{
|
||||
this.AchievementRewards = null;
|
||||
}
|
||||
|
||||
[XmlElement(ElementName = "s")]
|
||||
public bool Success;
|
||||
|
||||
[XmlElement(ElementName = "u")]
|
||||
public bool UserMessage;
|
||||
|
||||
[XmlElement(ElementName = "a")]
|
||||
public string AchievementName;
|
||||
|
||||
[XmlElement(ElementName = "l")]
|
||||
public int Level;
|
||||
|
||||
[XmlElement(ElementName = "AR", IsNullable = true)]
|
||||
public AchievementReward[] AchievementRewards;
|
||||
|
||||
[XmlElement(ElementName = "aid", IsNullable = true)]
|
||||
public int? AchievementTaskGroupID;
|
||||
|
||||
[XmlElement(ElementName = "LL", IsNullable = true)]
|
||||
public bool? LastLevelCompleted;
|
||||
|
||||
[XmlElement(ElementName = "aiid", IsNullable = true)]
|
||||
public int? AchievementInfoID;
|
||||
}
|
11
src/Schema/ArrayOfAchievementTaskSetResponse.cs
Normal file
11
src/Schema/ArrayOfAchievementTaskSetResponse.cs
Normal file
@ -0,0 +1,11 @@
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace sodoff.Schema;
|
||||
|
||||
[XmlRoot(ElementName = "ArrayOfAchievementTaskSetResponse", Namespace = "http://api.jumpstart.com/")]
|
||||
[Serializable]
|
||||
public class ArrayOfAchievementTaskSetResponse
|
||||
{
|
||||
[XmlElement(ElementName = "AchievementTaskSetResponse")]
|
||||
public AchievementTaskSetResponse[] AchievementTaskSetResponse;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user