From 8c86bb20f7cf331d9c6e0ee036483ed2fd13e6fd Mon Sep 17 00:00:00 2001 From: duhui Date: Thu, 8 Sep 2022 15:40:52 +0800 Subject: [PATCH] =?UTF-8?q?bt=EF=BC=9A=E6=96=B0=E5=A2=9E=E7=89=B9=E6=9D=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/core/VipPrivilegeType.java | 6 ++ .../ljsd/jieling/globals/GlobalItemType.java | 2 + .../ljsd/jieling/handler/map/MapLogic.java | 5 -- .../java/com/ljsd/jieling/util/ItemUtil.java | 90 +++++++++++++++---- .../src/main/java/config/SSpecialConfig.java | 2 +- 5 files changed, 80 insertions(+), 25 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/core/VipPrivilegeType.java b/serverlogic/src/main/java/com/ljsd/jieling/core/VipPrivilegeType.java index a1254d692..4f8eb4296 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/core/VipPrivilegeType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/core/VipPrivilegeType.java @@ -55,4 +55,10 @@ public interface VipPrivilegeType { int HOME_DAY_TIME_NUM = 4021;//每日浮生特权秒时间次数% int HOME_ADD_EARNINGS = 4022;//浮生特权增加浮生门产出建筑产量 + int CHALLENGE_MAINLINE_ADD_USER_EXP = 2402;//挑战关卡主角经验产出提升% + + int CHALLENGE_MAINLINE_ADD_ONE_RECHARGE_NUM = 2501;//挑战关卡掉落一元直充卡数量增加% + + int HANGUP_ADD_ONE_RECHARGE_NUM = 2201;//挂机掉落GM直充卡提升% + } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalItemType.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalItemType.java index 3abcf9d90..4b30c5c0c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalItemType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalItemType.java @@ -45,6 +45,8 @@ public interface GlobalItemType { int LIKABILITY_CHIP = 35;//好感度碎片 int EQUIP_CHIP = 36;//装备碎片 + int ONE_RECHARGE_CARD = 000;//一元直充卡 + //物品使用类型 int NO_USE = 0 ; //不使用 int RANDOM_USE = 1; // 随机使用 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index f7f7b73eb..8dc21c33d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -1829,11 +1829,6 @@ public class MapLogic { FightInfoProto.MainLevelFightUpdateIndication build = FightInfoProto.MainLevelFightUpdateIndication.newBuilder().setState(mainLevelManager.getState()).setFightId(mainLevelManager.getFightId()).build(); MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.MAIN_LEVEL_FIGHT_UPDATE_INDICATION_VALUE, build, true); MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true); - - int integerValue = SSpecialConfig.getIntegerValue(SSpecialConfig.DISCOUNT_MAIN); - -// String rankKey = RedisKey.getKey(RedisKey.MAINLEVEL_RANK, "", false); -// RedisUtil.getInstence().zsetAddOne(rankKey, String.valueOf(user.getId()), sMainLevelConfig.getVirtureId()); RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()).addRank(uid, "", sMainLevelConfig.getVirtureId(), user.getPlayerInfoManager().getMaxForce()); ReportUtil.onReportEvent(user, ReportEventEnum.PASS_STAGE.getType(), String.valueOf(fightId), "", sMainLevelConfig.getReward(), new Date()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java index d231609e5..06fd79435 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -1829,29 +1829,82 @@ public class ItemUtil { return itemTypeMap; } - //特权加成收益计算 - public static long privilegeAdd(User user,int reason,int itemType,long sourceNum){ -// int vipLevel = user.getPlayerInfoManager().getVipLevel(); -// SVipLevelConfig sVipLevelConfig = SVipLevelConfig.getsVipLevelConfigMap().get(vipLevel); -// Map privilegeMap = sVipLevelConfig.getPrivilegeMap(); + /** + * 特权加成收益计算 + * @param user + * @param reason + * @param itemType + * @param sourceNum + * @return + */ + public static long privilegeAdd(User user,int reason,int itemType,long sourceNum){ + // 基础奖励,挑战 if(reason == BIReason.ADVENTURE_BASE_REWARD){ - if(itemType == Global.EXP){ - sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_EXP_REWARD); - return sourceNum; - } - if(itemType!=Global.MISSING_ROOM_ITEM){ - sourceNum = parseTheValueByPrivilegeMap(user,sourceNum, VipPrivilegeType.ADVENTURE_BASE_REWARD); - } + sourceNum = baseReward(user, itemType, sourceNum); } - if(reason == BIReason.ADVENTURE_BASE_REWARD || reason == BIReason.ADVENTURE_RANDOM_REWARDD ){ - if(itemType == GlobalItemType.MINERAL){ - sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_MINERAL_REWARD); - }else if(itemType == GlobalItemType.RUNNE){ - sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_RUNNE_REWARD); - } + // 随机奖励,挂机 + if(reason == BIReason.ADVENTURE_RANDOM_REWARDD){ + sourceNum = randomReward(user, itemType, sourceNum); } return sourceNum; } + + /** + * 挑战奖励加成 + * @param user + * @param itemType + * @param sourceNum + * @return + */ + private static long baseReward(User user,int itemType,long sourceNum){ + switch (itemType){ + case Global.EXP: + sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_EXP_REWARD); + sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.CHALLENGE_MAINLINE_ADD_USER_EXP); + break; + case Global.MISSING_ROOM_ITEM: + sourceNum = parseTheValueByPrivilegeMap(user,sourceNum, VipPrivilegeType.ADVENTURE_BASE_REWARD); + break; + case GlobalItemType.MINERAL: + sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_MINERAL_REWARD); + break; + case GlobalItemType.RUNNE: + sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_RUNNE_REWARD); + break; + case GlobalItemType.ONE_RECHARGE_CARD: + sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.CHALLENGE_MAINLINE_ADD_ONE_RECHARGE_NUM); + break; + default: + break; + } + return sourceNum; + } + + /** + * 挂机奖励加成 + * @param user + * @param reason + * @param itemType + * @param sourceNum + * @return + */ + private static long randomReward(User user,int itemType,long sourceNum){ + switch (itemType){ + case GlobalItemType.MINERAL: + sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_MINERAL_REWARD); + break; + case GlobalItemType.RUNNE: + sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_RUNNE_REWARD); + break; + case GlobalItemType.ONE_RECHARGE_CARD: + sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.HANGUP_ADD_ONE_RECHARGE_NUM); + break; + default: + break; + } + return sourceNum; + } + public static int[][] mapToArray(Map map){ int[][] itemArray = new int[map.size()][]; @@ -1888,7 +1941,6 @@ public class ItemUtil { private static long parseTheValueByPrivilegeMap(User user,long sourceNum,int privigeId){ int privigeValue = PlayerLogic.getInstance().getMaxCountByPrivilegeType(user,privigeId); -// Integer privigeValue = privilegeMap.get(privigeId); if(privigeValue!=0){ SPrivilegeTypeConfig sPrivilegeTypeConfig = SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(privigeId); int dataType = sPrivilegeTypeConfig.getIfFloat(); diff --git a/tablemanager/src/main/java/config/SSpecialConfig.java b/tablemanager/src/main/java/config/SSpecialConfig.java index f7615c9e3..1b7e14e90 100644 --- a/tablemanager/src/main/java/config/SSpecialConfig.java +++ b/tablemanager/src/main/java/config/SSpecialConfig.java @@ -133,8 +133,8 @@ public class SSpecialConfig implements BaseConfig { public static final String GodSignOpenStar = "GodSignOpenStar";//神印格子开启所需神将星级 public static final String ChangingPosUnlock = "ChangingPosUnlock";//3个变身卡化身位解锁所需的化身之力等级 public static final String EquipTalismanaUpperLimit = "EquipTalismanaUpperLimit ";//法宝等级上限 - public static final String EquipRankResetCost = "EquipRankResetCost";//摘星阁装备强化精炼重置消耗 + public static final String ShenZhunTeQuan = "ShenZhunTeQuan";//神尊特权加个兑换10仙晶兑换1神尊经验 @Override public void init() throws Exception {