fix: keep starter pack rewards client-side
This commit is contained in:
@@ -1,7 +1,14 @@
|
||||
/** Use the order's offer for delivery; missing snapshots retain legacy rewards. */
|
||||
export function starterPackReward(offer?: any) {
|
||||
if (offer?.reward) return { ...offer.reward };
|
||||
return { coin: 3000, hammer: 3, freeze: 3, magic_wand: 3, infinite_health: 30 * 60 };
|
||||
const STARTER_PACK_REWARDS = {
|
||||
starter_pack: { coin: 3000, hammer: 1, freeze: 1, magic_wand: 1, infinite_health: 30 * 60 },
|
||||
starter_pack_2: { coin: 3000, hammer: 1, freeze: 1, magic_wand: 1, infinite_health: 30 * 60 },
|
||||
starter_pack_3: { coin: 4500, hammer: 3, freeze: 3, magic_wand: 3, infinite_health: 45 * 60 },
|
||||
starter_pack_4: { coin: 5000, hammer: 5, freeze: 5, magic_wand: 5, infinite_health: 60 * 60 },
|
||||
starter_pack_5: { coin: 8000, hammer: 8, freeze: 8, magic_wand: 8, infinite_health: 180 * 60 },
|
||||
};
|
||||
|
||||
/** Rewards are fixed by the client SKU; the server only selects the offer tier. */
|
||||
export function starterPackReward(productId = "starter_pack") {
|
||||
return { ...(STARTER_PACK_REWARDS[productId] || STARTER_PACK_REWARDS.starter_pack) };
|
||||
}
|
||||
|
||||
export function starterPackNow(): number {
|
||||
|
||||
@@ -1003,7 +1003,6 @@ var GameTool = {
|
||||
|
||||
//商城购买
|
||||
shopBuy(productId, compensate, orderContext: any = null) {
|
||||
if (/^starter_pack_[2-5]$/.test(productId) && !orderContext?.starterPackOffer?.reward) return false;
|
||||
const newProduct = getNewShopProduct(productId);
|
||||
const newOrderKey = newProduct && orderContext?.outTradeNo
|
||||
? "ShopBGranted_" + cc.fx.GameConfig.GM_INFO.uid + "_" + orderContext.outTradeNo : "";
|
||||
@@ -1304,7 +1303,7 @@ var GameTool = {
|
||||
case "starter_pack_3":
|
||||
case "starter_pack_4":
|
||||
case "starter_pack_5": {
|
||||
const reward = starterPackReward(orderContext?.starterPackOffer);
|
||||
const reward = starterPackReward(productId);
|
||||
coin = reward.coin;
|
||||
price = orderContext?.starterPackOffer?.priceFen || 300;
|
||||
cc.fx.GameTool.changeCoin(coin);
|
||||
|
||||
Reference in New Issue
Block a user