add GetGameCurrency endpoint, add store 8 (empty)

also allowing create empty stores
This commit is contained in:
Robert Paciorek 2025-02-13 21:26:47 +00:00
parent b692abfbda
commit 806f09592e
3 changed files with 20 additions and 6 deletions

View File

@ -1679,10 +1679,17 @@ public class ContentController : Controller {
[Route("ContentWebService.asmx/GetUserGameCurrency")] [Route("ContentWebService.asmx/GetUserGameCurrency")]
[VikingSession] [VikingSession]
public IActionResult GetUserGameCurrency(Viking viking) { public IActionResult GetUserGameCurrency(Viking viking) {
// TODO: This is a placeholder
return Ok(achievementService.GetUserCurrency(viking)); return Ok(achievementService.GetUserCurrency(viking));
} }
[HttpPost]
[Produces("application/xml")]
[Route("ContentWebService.asmx/GetGameCurrency")]
[VikingSession]
public IActionResult GetGameCurrency(Viking viking) {
return Ok(achievementService.GetUserCurrency(viking).GameCurrency);
}
[HttpPost] [HttpPost]
[Produces("application/xml")] [Produces("application/xml")]
[Route("ContentWebService.asmx/SetGameCurrency")] // used by World Of Jumpstart [Route("ContentWebService.asmx/SetGameCurrency")] // used by World Of Jumpstart

View File

@ -1949,6 +1949,11 @@ SoD 3.31 main store section and subsection filtering:
<ii>1597</ii> <ii>1597</ii>
<ii>1627</ii> <ii>1627</ii>
</StoreData> </StoreData>
<StoreData>
<i>8</i>
<s>FL Avatar Default</s>
<d>The default avatar parts for Adventure Land -- empty</d>
</StoreData>
<StoreData> <StoreData>
<i>9</i> <i>9</i>
<s>Main Street_Threadz</s> <s>Main Street_Threadz</s>

View File

@ -19,12 +19,14 @@ public class StoreService {
List<ItemData> itemsList = new(); List<ItemData> itemsList = new();
IEnumerable<ItemsInStoreDataSale>? memberSales = s.SalesAtStore?.Where(x => x.ForMembers == true); IEnumerable<ItemsInStoreDataSale>? memberSales = s.SalesAtStore?.Where(x => x.ForMembers == true);
IEnumerable<ItemsInStoreDataSale>? normalSales = s.SalesAtStore?.Where(x => x.ForMembers == false || x.ForMembers == null); IEnumerable<ItemsInStoreDataSale>? normalSales = s.SalesAtStore?.Where(x => x.ForMembers == false || x.ForMembers == null);
if (s.ItemId != null) {
for (int i = 0; i < s.ItemId.Length; ++i) { for (int i = 0; i < s.ItemId.Length; ++i) {
ItemData item = itemService.GetItem(s.ItemId[i]); ItemData item = itemService.GetItem(s.ItemId[i]);
if (item is null) continue; // skip removed items if (item is null) continue; // skip removed items
itemsList.Add(item); itemsList.Add(item);
UpdateItemSaleModifier(item, memberSales, normalSales); UpdateItemSaleModifier(item, memberSales, normalSales);
} }
}
foreach (int itemID in moddingService.GetStoreItem(s.Id)) { foreach (int itemID in moddingService.GetStoreItem(s.Id)) {
ItemData item = itemService.GetItem(itemID); ItemData item = itemService.GetItem(itemID);
itemsList.Add(item); itemsList.Add(item);