XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFESpaceNinjaServer

chore: don't allow credits and platinum to underflow (#3844)

Re #3842 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3844 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>

5a5adb75
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

1 个文件 +12 -2
Modified src/services/inventoryService.ts +12 -2
@@ -1675,15 +1675,25 @@ export const updateCurrency = (
1675 1675 inventory.PremiumCreditsFree += premiumCreditsFreeDelta;
1676 1676 logger.debug(`spending ${-premiumCreditsFreeDelta} starter plat`);
1677 1677 }
1678 if (inventory.PremiumCredits - price < 0) {
1679 throw new Error(
1680 `Cannot subtract ${price} platinum, would be left with ${inventory.PremiumCredits - price}`
1681 );
1682 }
1678 1683 inventoryChanges.PremiumCredits ??= 0;
1679 1684 inventoryChanges.PremiumCredits -= price;
1680 1685 inventory.PremiumCredits -= price;
1681 logger.debug(`currency changes `, { PremiumCredits: -price });
1686 logger.debug(`currency changes`, { PremiumCredits: -price });
1682 1687 } else {
1688 if (inventory.RegularCredits - price < 0) {
1689 throw new Error(
1690 `Cannot subtract ${price} credits, would be left with ${inventory.RegularCredits - price}`
1691 );
1692 }
1683 1693 inventoryChanges.RegularCredits ??= 0;
1684 1694 inventoryChanges.RegularCredits -= price;
1685 1695 inventory.RegularCredits -= price;
1686 logger.debug(`currency changes `, { RegularCredits: -price });
1696 logger.debug(`currency changes`, { RegularCredits: -price });
1687 1697 }
1688 1698 }
1689 1699 return inventoryChanges;