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',
|
'GetAchievementsByUserID',
|
||||||
'PurchaseItems',
|
'PurchaseItems',
|
||||||
'AcceptMission',
|
'AcceptMission',
|
||||||
'GetUserMissionState'
|
'GetUserMissionState',
|
||||||
|
'SetAchievementAndGetReward',
|
||||||
|
'SetUserAchievementTask'
|
||||||
]
|
]
|
||||||
|
|
||||||
def routable(path):
|
def routable(path):
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using sodoff.Attributes;
|
||||||
using sodoff.Model;
|
using sodoff.Model;
|
||||||
using sodoff.Schema;
|
using sodoff.Schema;
|
||||||
using sodoff.Util;
|
using sodoff.Util;
|
||||||
@ -63,4 +64,48 @@ public class AchievementController : Controller {
|
|||||||
|
|
||||||
return Ok(arrAchievements);
|
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]
|
[HttpPost]
|
||||||
[Produces("application/xml")]
|
[Produces("application/xml")]
|
||||||
[Route("ContentWebService.asmx/ChallengeWebService.asmx/GetActiveChallenges")]
|
[Route("ChallengeWebService.asmx/GetActiveChallenges")]
|
||||||
public IActionResult GetActiveChallenges() {
|
public IActionResult GetActiveChallenges() {
|
||||||
// TODO: this is a placeholder
|
// TODO: this is a placeholder
|
||||||
return Ok(new ChallengeInfo[0]);
|
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