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 fbb24f9a2..5c03e0c4d 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 @@ -1687,7 +1687,6 @@ public class MapLogic { FightInfoProto.FightStartResponse.Builder fightStartResponse = FightInfoProto.FightStartResponse.newBuilder(); BehaviorUtil.getLevelDifficultyifficuFightInfo(user, FightType.StoryFight, sMainLevelConfig.getMonsterGroup(), teamId, sMainLevelConfig.getRankTime(), fightStartResponse, RedisKey.LEVE_DIFFICULTY_FIGHT); MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightStartResponse.build(), true); - } /** @@ -1820,7 +1819,7 @@ public class MapLogic { return; } } - CommonProto.Drop.Builder drop = ItemUtil.drop(user, sMainLevelConfig.getReward(), 1, 0, BIReason.LEVELDIFFICULTY_FIGHT_REWARD); + CommonProto.Drop.Builder drop = ItemUtil.dropToPrivilege(user, sMainLevelConfig.getReward(), BIReason.LEVELDIFFICULTY_FIGHT_REWARD); openNextMainLevel(session, user, fightId); FightInfoProto.FightEndResponse.Builder fightEndResponse = FightInfoProto.FightEndResponse.newBuilder(); fightEndResponse.setEnventDrop(drop); @@ -1828,9 +1827,10 @@ public class MapLogic { fightEndResponse.build(); MainLevelManager mainLevelManager = user.getMainLevelManager(); FightInfoProto.MainLevelFightUpdateIndication build = FightInfoProto.MainLevelFightUpdateIndication.newBuilder().setState(mainLevelManager.getState()).setFightId(mainLevelManager.getFightId()).build(); + RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()).addRank(uid, "", sMainLevelConfig.getVirtureId(), user.getPlayerInfoManager().getMaxForce()); MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.MAIN_LEVEL_FIGHT_UPDATE_INDICATION_VALUE, build, true); MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true); - 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/handler/map/mapHandler/FightEndRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/FightEndRequestHandler.java index 1f7ac7139..88530f456 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/FightEndRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/FightEndRequestHandler.java @@ -38,7 +38,7 @@ public class FightEndRequestHandler extends BaseHandler { case 5: MapLogic.getInstance().endMonsterAttackFight(iSession, frames,MessageTypeProto.MessageType.FIGHT_END_RESPONSE); break; - case 6: + case 6://主线 MapLogic.getInstance().endMainLevelFight(iSession, frames, fightEndRequest.getFightId(), MessageTypeProto.MessageType.FIGHT_END_RESPONSE); break; case 7: diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/StartFightRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/StartFightRequestHandler.java index afc352e84..72916ea7e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/StartFightRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/StartFightRequestHandler.java @@ -36,7 +36,7 @@ public class StartFightRequestHandler extends BaseHandler map = new HashMap<>(); + // 基础奖励,挂机 + for (Map.Entry entry : itemMap.getItemMap().entrySet()) { + long num = challengeRewardNum(user, entry.getKey(), entry.getValue()); + map.put(entry.getKey(),num); } - // 随机奖励,挂机 - if(reason == BIReason.ADVENTURE_RANDOM_REWARDD){ - sourceNum = randomReward(user, itemType, sourceNum); - } - return sourceNum; + itemMap.setItemMap(map); } /** * 挑战奖励加成 * @param user - * @param itemType + * @param itemId * @param sourceNum * @return */ - private static long baseReward(User user,int itemType,long sourceNum){ - switch (itemType){ + private static long challengeRewardNum(User user,int itemId,long sourceNum){ + switch (itemId){ 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_RMB_RECHARGE_CARD: sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.CHALLENGE_MAINLINE_ADD_ONE_RECHARGE_NUM); break; @@ -1915,7 +1914,54 @@ public class ItemUtil { } /** - * 挂机奖励加成 + * 特权加成收益计算 + * @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){ + sourceNum = baseReward(user, itemType, sourceNum); + } + // 随机奖励,挂机 + 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); + 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; + default: + break; + } + return sourceNum; + } + + /** + * 挂机随机奖励加成 * @param user * @param itemType * @param sourceNum @@ -1929,9 +1975,6 @@ public class ItemUtil { case GlobalItemType.RUNNE: sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.ADVENTURE_RUNNE_REWARD); break; - case GlobalItemType.ONE_RMB_RECHARGE_CARD: - sourceNum = parseTheValueByPrivilegeMap(user,sourceNum,VipPrivilegeType.HANGUP_ADD_ONE_RECHARGE_NUM); - break; default: break; }