From 7189f049e8baabc7415eb2a90b043c939252cbed Mon Sep 17 00:00:00 2001 From: Robert Paciorek Date: Sat, 9 Sep 2023 00:04:16 +0000 Subject: [PATCH] SetRaisedPetInactive -> support for releasing pet --- src/Controllers/Common/ContentController.cs | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/Controllers/Common/ContentController.cs b/src/Controllers/Common/ContentController.cs index 0ea302b..e249c31 100644 --- a/src/Controllers/Common/ContentController.cs +++ b/src/Controllers/Common/ContentController.cs @@ -571,6 +571,17 @@ public class ContentController : Controller { }); } + [HttpPost] + [Produces("application/xml")] + [Route("ContentWebService.asmx/SetRaisedPetInactive")] // used by World Of Jumpstart + [VikingSession] + public IActionResult SetRaisedPetInactive(Viking viking, [FromForm] int raisedPetID) { + viking.SelectedDragonId = null; + ctx.SaveChanges(); + + return Ok(true); + } + [HttpPost] [Produces("application/xml")] [Route("ContentWebService.asmx/SetSelectedPet")] @@ -665,6 +676,7 @@ public class ContentController : Controller { return new RaisedPetData[0]; } + // NOTE: returned dragon PetTypeID should be equal value of pair 1967 → CurrentRaisedPetType return new RaisedPetData[] {GetRaisedPetDataFromDragon(dragon)}; } @@ -685,10 +697,15 @@ public class ContentController : Controller { [HttpPost] [Produces("application/xml")] - [Route("ContentWebService.asmx/GetInactiveRaisedPet")] // used by World Of Jumpstart + [Route("ContentWebService.asmx/GetInactiveRaisedPet")] // used by World Of Jumpstart 1.1 [VikingSession(UseLock=false)] public RaisedPetData[] GetInactiveRaisedPet(Viking viking) { - return new RaisedPetData[0]; // FIXME should return real inactive pets list + RaisedPetData[] dragons = viking.Dragons + .Where(d => d.RaisedPetData is not null && d.Id != viking.SelectedDragonId) + .Select(d => GetRaisedPetDataFromDragon(d, viking.SelectedDragonId)) + .ToArray(); + + return dragons; } [HttpPost]