cp礼物 0.7 活动礼物0.9处理

(cherry picked from commit 5eeb88129a8e2aac63b1126aef493a5b0958ab7d)
This commit is contained in:
tianfeng 2026-04-21 15:03:26 +08:00
parent fbdd3fc1c9
commit a3104d41fb
4 changed files with 30 additions and 5 deletions

View File

@ -525,12 +525,18 @@ public class GiveGiftsListener implements MessageListener {
targetAmount = giftValue.getGiftValue().multiply(luckyGiftRatio).setScale(0, RoundingMode.DOWN);
acceptAmount = targetAmount;
} else if (event.checkCpGift() || event.checkActivityGift()){
} else if (event.checkCpGift()){
// CP礼物
acceptAssistRatio = getAssistCpGiftGoldRatio(acceptRegion.getId());
targetAmount = giftValue.getGiftValue().multiply(acceptAssistRatio.multiply(new BigDecimal("10")).min(new BigDecimal("0.7"))).setScale(0, RoundingMode.DOWN);
acceptAmount = giftValue.getGiftValue().multiply(acceptAssistRatio).setScale(0, RoundingMode.DOWN);
} else if (event.checkActivityGift()){
// CP礼物
acceptAssistRatio = getAssistCpGiftGoldRatio(acceptRegion.getId());
targetAmount = giftValue.getGiftValue().multiply(acceptAssistRatio.multiply(new BigDecimal("10")).min(new BigDecimal("0.9"))).setScale(0, RoundingMode.DOWN);
acceptAmount = giftValue.getGiftValue().multiply(acceptAssistRatio).setScale(0, RoundingMode.DOWN);
} else if (event.checkMagicGift()) {
// 魔法礼物
acceptAssistRatio = new BigDecimal("0.1");
@ -817,11 +823,17 @@ public class GiveGiftsListener implements MessageListener {
// 幸运礼物比例
return gameLuckyGiftCommon.getLuckyGiftTargetRatio(event.getSysOrigin().name());
}
if (event.checkCpGift() || event.checkActivityGift()) {
if (event.checkCpGift()) {
BigDecimal multiply = getAssistCpGiftGoldRatio("").multiply(new BigDecimal("10"));
BigDecimal min = multiply.min(new BigDecimal("0.7"));
return getAssistCpGiftGoldRatio("").multiply(new BigDecimal("10")).min(new BigDecimal("0.7"));
}
if (event.checkActivityGift()) {
BigDecimal multiply = getAssistCpGiftGoldRatio("").multiply(new BigDecimal("10"));
BigDecimal min = multiply.min(new BigDecimal("0.9"));
return getAssistCpGiftGoldRatio("").multiply(new BigDecimal("10")).min(new BigDecimal("0.9"));
}
if (event.checkMagicGift()) {
return new BigDecimal("0.1");

View File

@ -716,11 +716,16 @@ public class GiftCountStrategy implements GiftStrategy {
return acceptAmount.multiply(ratio).setScale(0, RoundingMode.DOWN).longValue();
}
if (isActivityGift(giftValue) || isCpGift(giftValue)) {
if (isCpGift(giftValue)) {
BigDecimal ratio = new BigDecimal("0.7");
return acceptAmount.multiply(ratio).setScale(0, RoundingMode.DOWN).longValue();
}
if (isActivityGift(giftValue)) {
BigDecimal ratio = new BigDecimal("0.9");
return acceptAmount.multiply(ratio).setScale(0, RoundingMode.DOWN).longValue();
}
return acceptAmount.longValue();
}

View File

@ -117,10 +117,14 @@ public class GiftRocketListener implements GiftStrategy {
return new BigDecimal("0.1");
}
if (isActivityGift(giftValue) || isCpGift(giftValue)) {
if (isCpGift(giftValue)) {
return new BigDecimal("0.7");
}
if (isActivityGift(giftValue)) {
return new BigDecimal("0.9");
}
return BigDecimal.ONE;
}

View File

@ -169,10 +169,14 @@ public class RankCountStrategy implements GiftStrategy {
return new BigDecimal("0.1");
}
if (isActivityGift(giftValue) || isCpGift(giftValue)) {
if (isCpGift(giftValue)) {
return new BigDecimal("0.7");
}
if (isActivityGift(giftValue)) {
return new BigDecimal("0.9");
}
return BigDecimal.ONE;
}