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 e80a3855b..516cc8b7b 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 @@ -1237,7 +1237,7 @@ public class MapLogic { String key = RedisKey.getKey(RedisKey.LEVE_DIFFICULTY_INFO, String.valueOf(uid), false); RedisUtil.getInstence().set(key, fightInfo, sLevelDifficultyConfig.getRankTime()+100); //扣除预先道具 - ItemUtil.fightItemCost(user,sLevelDifficultyConfig.getPreLevelCost()); + ItemUtil.itemCost(user,sLevelDifficultyConfig.getPreLevelCost()); FightInfoProto.FightStartResponse.Builder fightStartResponse = FightInfoProto.FightStartResponse.newBuilder(); BehaviorUtil.getLevelDifficultyifficuFightInfo(user,sLevelDifficultyConfig.getMonsterGroup(),teamId,fightStartResponse); MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightStartResponse.build(), true); @@ -1385,7 +1385,7 @@ public class MapLogic { /** * 玩家升级 - * @param playerInfoManager + * @param user * @param addExp */ public void userLevelUp(User user , int addExp) throws Exception { @@ -1408,8 +1408,6 @@ public class MapLogic { } while (curExp >= levelUpExp && curExp <= maxExp) { playerInfoManager.setLevel(playerInfoManager.getLevel() + 1); - SPlayerLevelConfig sPlayerLevelConfig1 = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(playerInfoManager.getLevel()); - MapManager.getEnergy(user, sPlayerLevelConfig1.getAddEnergy()); if (sPlayerLevelConfig == null) { levelUpExp = Integer.MAX_VALUE; } else { @@ -1420,11 +1418,18 @@ public class MapLogic { } } playerInfoManager.setExp(curExp); + int itemNum = 0; if (playerInfoManager.getLevel() > oldLevel) { for (int level = oldLevel + 1; level <= playerInfoManager.getLevel(); level++) { - sPlayerLevelConfig= SPlayerLevelConfig.getsPlayerLevelConfigMap().get(level); + sPlayerLevelConfig = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(level); playerInfoManager.setMaxStamina(sPlayerLevelConfig.getMaxEnergy()); + itemNum += sPlayerLevelConfig.getAddEnergy(); } } + if (itemNum > 0){ + String reward = Global.STAMINA +"#" +itemNum; + ItemUtil.drop(user,StringUtil.parseFiledInt2(reward)); + + } } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java index 10601a612..2094bfd16 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java @@ -193,16 +193,11 @@ public class MapManager extends MongoBase { } - public static void getEnergy(User user, int addEnergy) throws Exception { + public static void getEnergy(User user) throws Exception { PlayerManager playerInfoManager = user.getPlayerInfoManager(); Item item = user.getItemManager().getItemMap().get(Global.STAMINA); int itemNum = item.getItemNum(); - if (addEnergy != 0) { -// user.getItemManager().addItem(new Item(Global.STAMINA,addEnergy)); - item.setItemNum(itemNum + addEnergy); - return; - } int updateTime = (int) (System.currentTimeMillis() / 1000); int lastUpdateEnergyTime = item.getEndingTime(); int[] energyRecoverSpeed = SGameSetting.getGameSetting().getEnergyRecoverSpeed(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/SweepLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/SweepLogic.java index 41c109fe9..4b0106b95 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/SweepLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/SweepLogic.java @@ -79,7 +79,7 @@ public class SweepLogic { return; } //扣除道具 - ItemUtil.fightItemCost(user, cost); + ItemUtil.itemCost(user, cost); List dropList = new CopyOnWriteArrayList<>(); for (int i = 0 ; i < sweepTimes ;i++){ CommonProto.Drop.Builder drop = ItemUtil.drop(user, sLevelDifficultyConfig.getRandomReward(), 1, 0); 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 0067912e9..5fe8aae76 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -369,7 +369,7 @@ public class ItemUtil { } for (Map.Entry userItem : useItemMap.entrySet()) { if ((userItem.getKey() == Global.STAMINA)){ - MapManager.getEnergy(user,0); + MapManager.getEnergy(user); } Item temporaryItem = temporaryItemList.get(userItem.getKey()); int needCount = userItem.getValue(); @@ -403,7 +403,7 @@ public class ItemUtil { if (itemMap.size() !=0 ){ for (Map.Entry entry :itemMap.entrySet()){ if (entry.getKey() ==Global.STAMINA){ - MapManager.getEnergy(user,0); + MapManager.getEnergy(user); } itemList.add(CBean2Proto.getItem(entry.getValue(),-1)); } @@ -508,7 +508,7 @@ public class ItemUtil { Item temporaryItem = temporaryItemList.get(entry.getKey()); if (temporaryItem == null || temporaryItem.getItemNum() < entry.getValue()) { if ((entry.getKey() == Global.STAMINA)){ - MapManager.getEnergy(user,0); + MapManager.getEnergy(user); } Item item = user.getItemManager().getItem(entry.getKey()); if (item == null) {