forked from SoDOff-Project/sodoff
fix Cogs/Incredible Machines achievement rewards
This commit is contained in:
parent
a5cda2b906
commit
9508af4199
@ -160,6 +160,20 @@ public class AchievementController : Controller {
|
||||
return Ok(new ArrayOfAchievementTaskSetResponse { AchievementTaskSetResponse = response.ToArray() });
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Produces("application/xml")]
|
||||
[Route("AchievementWebService.asmx/ApplyPayout")]
|
||||
[VikingSession]
|
||||
public IActionResult ApplyPayout(Viking viking, string ModuleName, int points) {
|
||||
// TODO: use args (ModuleName and points) to calculate reward
|
||||
return Ok(new AchievementReward[]{
|
||||
achievementService.AddAchievementPointsAndGetReward(viking, AchievementPointTypes.PlayerXP, 10),
|
||||
achievementService.AddAchievementPointsAndGetReward(viking, AchievementPointTypes.GameCurrency, 5),
|
||||
achievementService.AddAchievementPointsAndGetReward(viking, AchievementPointTypes.DragonXP, 6),
|
||||
achievementService.AddAchievementPointsAndGetReward(viking, AchievementPointTypes.UDTPoints, 6),
|
||||
});
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Produces("application/xml")]
|
||||
[Route("AchievementWebService.asmx/SetAchievementByEntityIDs")]
|
||||
|
@ -44,7 +44,7 @@ namespace sodoff.Services {
|
||||
}
|
||||
|
||||
public void SetAchievementPoints(Viking viking, AchievementPointTypes type, int value) {
|
||||
if (type == AchievementPointTypes.DragonXP) {
|
||||
if (type == AchievementPointTypes.DragonXP && viking.SelectedDragon != null) {
|
||||
viking.SelectedDragon.PetXP = value;
|
||||
} else if (type != null) {
|
||||
AchievementPoints xpPoints = viking.AchievementPoints.FirstOrDefault(a => a.Type == (int)type);
|
||||
@ -59,7 +59,7 @@ namespace sodoff.Services {
|
||||
}
|
||||
|
||||
public void AddAchievementPoints(Viking viking, AchievementPointTypes? type, int? value) {
|
||||
if (type == AchievementPointTypes.DragonXP) {
|
||||
if (type == AchievementPointTypes.DragonXP && viking.SelectedDragon != null) {
|
||||
viking.SelectedDragon.PetXP = (viking.SelectedDragon.PetXP ?? 0) + (value ?? 0);
|
||||
} else if (type != null) {
|
||||
AchievementPoints xpPoints = viking.AchievementPoints.FirstOrDefault(a => a.Type == (int)type);
|
||||
|
Loading…
x
Reference in New Issue
Block a user