From 8ac39917afc1daa275063af6be40739802d19477 Mon Sep 17 00:00:00 2001 From: yuanshuai <243578945@qq.com> Date: Thu, 30 Dec 2021 16:23:13 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E7=89=9B=E9=AD=94=E7=8E=8B4=E7=81=AB?= =?UTF-8?q?=E4=B8=8D=E7=94=9F=E6=95=88bug=E4=BF=AE=E6=94=B9=EF=BC=88?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E4=B8=80=E4=B8=AA=E8=A2=AB=E5=8A=A8?= =?UTF-8?q?=E6=8A=80=E8=83=BD=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PassiveSkillProcessor.java | 2 +- .../passiveSkillCal/PassiveskillCalEnum.java | 45 +++++++++++++++---- .../ljsd/jieling/logic/hero/HeroLogic.java | 4 +- 3 files changed, 39 insertions(+), 12 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/passiveSkillCal/PassiveSkillProcessor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/passiveSkillCal/PassiveSkillProcessor.java index ecbcfa76e..0c1939d35 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/passiveSkillCal/PassiveSkillProcessor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/passiveSkillCal/PassiveSkillProcessor.java @@ -7,5 +7,5 @@ import config.SPassiveSkillLogicConfig; import java.util.Map; public interface PassiveSkillProcessor { - void process(SPassiveSkillLogicConfig config, Hero hero, Map heroSkillAdMap); + void process(SPassiveSkillLogicConfig config, Hero hero, Map heroSkillAdMap,User user,int teamId); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/passiveSkillCal/PassiveskillCalEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/passiveSkillCal/PassiveskillCalEnum.java index 36d02c635..bc943b66f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/passiveSkillCal/PassiveskillCalEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/passiveSkillCal/PassiveskillCalEnum.java @@ -1,6 +1,8 @@ package com.ljsd.jieling.logic.fight.passiveSkillCal; import com.ljsd.jieling.core.GlobalsDef; +import com.ljsd.jieling.logic.dao.Hero; +import com.ljsd.jieling.logic.dao.TeamPosHeroInfo; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import config.SCHero; @@ -8,11 +10,12 @@ import config.SPropertyConfig; import java.util.Arrays; import java.util.HashMap; +import java.util.List; import java.util.Map; //90 94 171 public enum PassiveskillCalEnum { - SingleAdd(90,(config,hero,heroSkillAdMap)->{ + SingleAdd(90,(config,hero,heroSkillAdMap,user,teamId)->{ float[] value = config.getValue(); int battlePropertyId = (int) value[0]; SPropertyConfig sPropertyConfig = SPropertyConfig.getsPropertyConfigByBattlePID(battlePropertyId); @@ -32,7 +35,7 @@ public enum PassiveskillCalEnum { int extraValue = (int) cal(optCode, parm); heroSkillAdMap.put(sPropertyConfig.getPropertyId(),heroSkillAdMap.getOrDefault(sPropertyConfig.getPropertyId(), Long.valueOf(0))+extraValue); }), - AllAdd(94,(config,hero,heroSkillAdMap)->{ + AllAdd(94,(config,hero,heroSkillAdMap,user,teamId)->{ float[] value = config.getValue(); int battlePropertyId = (int) value[1]; SPropertyConfig sPropertyConfig = SPropertyConfig.getsPropertyConfigByBattlePID(battlePropertyId); @@ -53,12 +56,7 @@ public enum PassiveskillCalEnum { int extraValue = (int) cal(optCode, parm); heroSkillAdMap.put(sPropertyConfig.getPropertyId(),heroSkillAdMap.getOrDefault(sPropertyConfig.getPropertyId(), Long.valueOf(0))+extraValue); }), - HEROAFTER100ADD(171,(config,hero,heroSkillAdMap)->{ - int uid = Integer.parseInt(hero.getId().substring(0, 8)); - User user = UserManager.getUserInMem(uid); - if (user == null){ - return; - } + HEROAFTER100ADD(171,(config,hero,heroSkillAdMap,user,teamId)->{ float[] value = config.getValue(); int battlePropertyId = (int) value[0]; SPropertyConfig sPropertyConfig = SPropertyConfig.getsPropertyConfigByBattlePID(battlePropertyId); @@ -70,7 +68,7 @@ public enum PassiveskillCalEnum { int parm = (int) value[1]*times; heroSkillAdMap.put(sPropertyConfig.getPropertyId(),heroSkillAdMap.getOrDefault(sPropertyConfig.getPropertyId(), Long.valueOf(0))+parm); }),//武将100级后每升一级[c]额外增加[d] - HERO_PROFESSION_ADD(129,(config,hero,heroSkillAdMap)->{ + HERO_PROFESSION_ADD(129,(config,hero,heroSkillAdMap,user,teamId)->{ float[] value = config.getValue(); if(SCHero.getsCHero().get(hero.getTemplateId()).getPropertyName()!=value[0]){ @@ -93,6 +91,35 @@ public enum PassiveskillCalEnum { } int extraValue = (int) cal(optCode, parm); heroSkillAdMap.put(sPropertyConfig.getPropertyId(),heroSkillAdMap.getOrDefault(sPropertyConfig.getPropertyId(), Long.valueOf(0))+extraValue); + }), + HERO_HAVE_PROFESSION_ADD(413,(config,hero,heroSkillAdMap,user,teamId)->{ + float[] value = config.getValue(); + List teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(teamId); + int haveNum=0; + for (TeamPosHeroInfo teamPosHeroInfo : teamPosHeroInfos) { + Hero localHero=user.getHeroManager().getHero(teamPosHeroInfo.getHeroId()); + if(SCHero.getsCHero().get(localHero.getTemplateId()).getPropertyName()==value[0]){ + haveNum++; + } + } + + float parm = value[1]; + int optCode = (int) value[3]; + + SPropertyConfig sPropertyConfig = SPropertyConfig.getsPropertyConfigByBattlePID((int)(value[2])); + + if(optCode%2==0){ + if( sPropertyConfig.getStyle()!= GlobalsDef.PERCENT_TYPE){ + sPropertyConfig = SPropertyConfig.getsPropertyConfigByTargetPropertyId(sPropertyConfig.getPropertyId()); + } + parm = value[1]*10000*haveNum; + } + + if( sPropertyConfig.getStyle()== GlobalsDef.PERCENT_TYPE){ + parm = value[1]*10000*haveNum; + } + int extraValue = (int) cal(optCode, parm); + heroSkillAdMap.put(sPropertyConfig.getPropertyId(),heroSkillAdMap.getOrDefault(sPropertyConfig.getPropertyId(), Long.valueOf(0))+extraValue); }), ; private int type; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 89d343707..195e80ded 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -3037,7 +3037,7 @@ public class HeroLogic { if (null != config.getValue() && config.getValue().length > 2 && config.getValue()[2] != 4) { PassiveskillCalEnum passiveskillCalEnum = PassiveskillCalEnum.calEnumMap.get(config.getType()); if (null != passiveskillCalEnum) { - passiveskillCalEnum.getPassiveSkillProcessor().process(config, hero, heroSkillAdMap); + passiveskillCalEnum.getPassiveSkillProcessor().process(config, hero, heroSkillAdMap,user,teamId); } } } @@ -3077,7 +3077,7 @@ public class HeroLogic { if (null != configTmp.getValue() && configTmp.getValue().length > 2 && configTmp.getValue()[2] == 4) { PassiveskillCalEnum passiveskillCalEnum = PassiveskillCalEnum.calEnumMap.get(configTmp.getType()); if (null != passiveskillCalEnum) { - passiveskillCalEnum.getPassiveSkillProcessor().process(configTmp, hero, heroSkillAdMap); + passiveskillCalEnum.getPassiveSkillProcessor().process(configTmp, hero, heroSkillAdMap,user,teamId); } } }); From 6cbd8104e73f3d4d60ef9d020601ec1b888ec282 Mon Sep 17 00:00:00 2001 From: duhui Date: Thu, 30 Dec 2021 17:09:45 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BA=91=E6=B8=B8=E5=95=86=E4=BA=BA?= =?UTF-8?q?=EF=BC=8C=E8=A3=85=E5=A4=87=E5=8D=87=E7=BA=A7=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/item/ItemLogic.java | 26 ++++++------------- 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java index 7c9816047..96b2de1f6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java @@ -924,20 +924,10 @@ public class ItemLogic { PlayerInfoProto.EquipUpLevelResponse.Builder response = PlayerInfoProto.EquipUpLevelResponse.newBuilder(); response.setResult(false); User user = UserManager.getUser(session.getUid()); - int type = SComposeActivity.getTypeById(activityId,equipId); - if(type == -1){ - LOGGER.error("type找不到配置,活动id:{},装备id:{}",activityId,equipId); - throw new ErrorCodeException(ErrorCode.CFG_NULL); - } - SComposeBook config = SComposeBook.getBookById(type,equipId); - if(config == null){ - LOGGER.error("config找不到配置,type:{},装备id:{}",type,equipId); - throw new ErrorCodeException(ErrorCode.CFG_NULL); - } - int[][] itemC = config.getNeedCost(); - if(itemC[0][0] != itemId || itemC[0][1] != itemNum){ - LOGGER.error("itemCost不匹配,item:{},num:{},conItem:{},conNum:{}",itemId,itemNum,itemC[0],itemC[1]); - throw new ErrorCodeException(ErrorCode.CFG_NULL); + Map config = STableManager.getConfig(SComposeBook.class); + SComposeBook composeBook = config.get(equipId); + if(composeBook == null){ + throw new ErrorCodeException(ErrorCode.CFG_NULL,"云游商人,idkey配置不存在:"+equipId); } ActivityMission misson = user.getActivityManager().getActivityMissionMap().get(activityId); if(misson == null){ @@ -945,24 +935,24 @@ public class ItemLogic { throw new ErrorCodeException(ErrorCode.ACTIVITY_NOT_OPEN); } Map integerSComposeActivityMap = SComposeActivity.getConfigMap().get(activityId); - int typeId = integerSComposeActivityMap.get(type).getId(); + int typeId = integerSComposeActivityMap.get(composeBook.getType()).getId(); ActivityProgressInfo progress = misson.getActivityMissionMap().get(typeId); if(progress == null){ - LOGGER.error("progress为空,type:{}",type); + LOGGER.error("progress为空,type:{}",composeBook.getType()); throw new ErrorCodeException(ErrorCode.ACTIVITY_NOT_OPEN); } if(progress.getProgrss() <= 0){ LOGGER.error("progress次数不足,num:{}",progress.getProgrss()); throw new ErrorCodeException(ErrorCode.REFRESH_WHEL_TIME_NOT); } - boolean itemCost = ItemUtil.itemCost(user, new int[][]{{equipId, 1},{itemId, itemNum}}, BIReason.EQUIP_UPLEVEL_COST, equipId); + boolean itemCost = ItemUtil.itemCost(user, new int[][]{composeBook.getNeedItems()[0],composeBook.getNeedCost()[0]}, BIReason.EQUIP_UPLEVEL_COST, equipId); if(!itemCost){ LOGGER.error("item不足,equipId:{},itemId:{},itemNum:{}",equipId,itemId,itemNum); throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH); } progress.setProgrss(progress.getProgrss()-1); user.getActivityManager().getActivityMissionMap().put(activityId,misson); - CommonProto.Drop.Builder drop = ItemUtil.drop(user,new int[][]{{config.getGoalItems()[0][0],config.getGoalItems()[0][1]}},BIReason.EQUIP_UPLEVEL_REWARD); + CommonProto.Drop.Builder drop = ItemUtil.drop(user,new int[][]{composeBook.getGoalItems()[0]},BIReason.EQUIP_UPLEVEL_REWARD); response.setResult(true); response.setDrop(drop); MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true); From c3553579e253602abfb970058646077021031d72 Mon Sep 17 00:00:00 2001 From: yuanshuai <243578945@qq.com> Date: Thu, 30 Dec 2021 17:40:47 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=A2=AB=E5=8A=A8?= =?UTF-8?q?=E6=8A=80=E8=83=BD=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/fight/passiveSkillCal/PassiveskillCalEnum.java | 1 + 1 file changed, 1 insertion(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/passiveSkillCal/PassiveskillCalEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/passiveSkillCal/PassiveskillCalEnum.java index bc943b66f..6a9ada17c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/passiveSkillCal/PassiveskillCalEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/passiveSkillCal/PassiveskillCalEnum.java @@ -93,6 +93,7 @@ public enum PassiveskillCalEnum { heroSkillAdMap.put(sPropertyConfig.getPropertyId(),heroSkillAdMap.getOrDefault(sPropertyConfig.getPropertyId(), Long.valueOf(0))+extraValue); }), HERO_HAVE_PROFESSION_ADD(413,(config,hero,heroSkillAdMap,user,teamId)->{ + //被动技能,编队每增加一个同属性英雄属性额外增加一定数值 float[] value = config.getValue(); List teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(teamId); int haveNum=0; From 188ea389e6f1f8963edd50324b8bc1581ca77a38 Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Thu, 30 Dec 2021 18:19:24 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=A3=AE=E7=BD=97=E5=B9=BB=E5=A2=83?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=8C=82=E6=9C=BA=E5=A5=96=E5=8A=B1=E5=B1=95?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/handler/map/MapLogic.java | 4 ++ .../ljsd/jieling/handler/map/MapManager.java | 9 ++++ .../MapFastFightRequestHandler.java | 6 +++ .../TowerGetRewardInfoShowHandler.java | 48 +++++++++++++++++++ .../jieling/logic/player/PlayerLogic.java | 33 +++++++++++++ 5 files changed, 100 insertions(+) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/TowerGetRewardInfoShowHandler.java 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 82a22d74b..2883bc2ed 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 @@ -3335,6 +3335,8 @@ public class MapLogic { STrialConfig sTrialConfig = sTrialConfigMap.ceilingEntry(floor).getValue(); response = getBoxReward(sTrialConfig.getBoxPosition(), sTrialConfig.getBoxReward(), user, curXY, type); } + //森罗幻境自动挂机奖励展示 + PlayerLogic.TowerGetRewardInfoShow(response.getBoxDrop(),user); if (response == null) { throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } @@ -3461,6 +3463,8 @@ public class MapLogic { if (response == null) { throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } + //森罗幻境自动挂机奖励展示 + PlayerLogic.TowerGetRewardInfoShow(response.getDrop(),user); MessageUtil.sendMessage(session, 1, messageType.getNumber(), response, true); } 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 499a3bf6f..8c8eeee6d 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 @@ -128,6 +128,8 @@ public class MapManager extends MongoBase { private EndlessTreasureReward endlessTreasureReward = new EndlessTreasureReward(); + //森罗幻境自动挂机奖励展示 TODO 不入库 + private Map towerGetRewardInfoShowMap = new HashMap<>(); public MapManager() { this.setRootCollection(User._COLLECTION_NAME); } @@ -970,6 +972,13 @@ public class MapManager extends MongoBase { setTreasureIsBuy(0); } + public Map getTowerGetRewardInfoShowMap() { + return towerGetRewardInfoShowMap; + } + + public void setTowerGetRewardInfoShowMap(Map towerGetRewardInfoShowMap) { + this.towerGetRewardInfoShowMap = towerGetRewardInfoShowMap; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/MapFastFightRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/MapFastFightRequestHandler.java index a67c7e132..495f7029f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/MapFastFightRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/MapFastFightRequestHandler.java @@ -3,13 +3,17 @@ package com.ljsd.jieling.handler.map.mapHandler; import com.ljsd.jieling.handler.BaseHandler; import com.ljsd.jieling.handler.map.MapLogic; import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.logic.player.PlayerLogic; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; +import rpc.protocols.CommonProto; import rpc.protocols.FightInfoProto; import rpc.protocols.MessageTypeProto; import com.ljsd.jieling.util.MessageUtil; import org.springframework.stereotype.Component; +import java.util.Map; + @Component public class MapFastFightRequestHandler extends BaseHandler { @Override @@ -21,6 +25,8 @@ public class MapFastFightRequestHandler extends BaseHandler { public void process(ISession iSession, PacketNetData netData) throws Exception { FightInfoProto.FastFightResponse.Builder builder = FightInfoProto.FastFightResponse.newBuilder(); MapLogic.getInstance().getMap(UserManager.getUser(iSession.getUid())).fastFight(iSession.getUid(), builder); + //森罗幻境自动挂机奖励展示 + PlayerLogic.TowerGetRewardInfoShow(builder.getEnventDrop(),UserManager.getUser(iSession.getUid())); MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.MAP_FAST_FIGHT_RESPONSE.getNumber(), builder.build(), true); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/TowerGetRewardInfoShowHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/TowerGetRewardInfoShowHandler.java new file mode 100644 index 000000000..d9a4304c1 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/TowerGetRewardInfoShowHandler.java @@ -0,0 +1,48 @@ +package com.ljsd.jieling.handler.map.mapHandler; + +import com.google.protobuf.GeneratedMessage; +import com.ljsd.jieling.globals.BIReason; +import com.ljsd.jieling.handler.BaseHandler; +import com.ljsd.jieling.handler.map.MapLogic; +import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.netty.cocdex.PacketNetData; +import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.util.ItemUtil; +import org.springframework.stereotype.Component; +import rpc.protocols.ActivityProto; +import rpc.protocols.CommonProto; +import rpc.protocols.MapInfoProto; +import rpc.protocols.MessageTypeProto; + +import java.util.HashMap; +import java.util.Map; + +@Component +public class TowerGetRewardInfoShowHandler extends BaseHandler { + + @Override + public MessageTypeProto.MessageType getMessageCode() { + return MessageTypeProto.MessageType.TowerGetRewardInfoShowRequest; + } + @Override + public GeneratedMessage processWithProto(int uid, MapInfoProto.TowerGetRewardInfoShowRequest proto) throws Exception { + CommonProto.Drop.Builder drop = CommonProto.Drop.newBuilder(); + User user = UserManager.getUser(uid); + if(user == null){ + return MapInfoProto.TowerGetRewardInfoShowResponse.newBuilder().build(); + } + Map dropShow = user.getMapManager().getTowerGetRewardInfoShowMap(); + if(dropShow == null || dropShow.size() == 0){ + return MapInfoProto.TowerGetRewardInfoShowResponse.newBuilder().build(); + } + for(Map.Entry keyVal : dropShow.entrySet()){ + CommonProto.Item.Builder item = CommonProto.Item.newBuilder(); + item.setItemId(keyVal.getKey()); + item.setItemNum((long)keyVal.getValue()); + drop.addItemlist(item.build()); + } + dropShow.clear(); + return MapInfoProto.TowerGetRewardInfoShowResponse.newBuilder().setDrop(drop).build(); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java index 947a9876a..bfb3f2501 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java @@ -1784,4 +1784,37 @@ public class PlayerLogic { User user = gson.fromJson(userStr, User.class); return user; } + + //森罗幻境自动挂机奖励展示 + public static void TowerGetRewardInfoShow(CommonProto.Drop drop,User user){ + Map mapItemShow =user.getMapManager().getTowerGetRewardInfoShowMap(); + for(CommonProto.Item item :drop.getItemlistList()){ + if(mapItemShow.containsKey(item.getItemId())){ + mapItemShow.put(item.getItemId(),mapItemShow.get(item.getItemId())+(int)item.getItemNum()); + }else{ + mapItemShow.put(item.getItemId(),(int)item.getItemNum()); + } + } + for(CommonProto.Equip equip:drop.getEquipIdList()){ + if(mapItemShow.containsKey(equip.getEquipId())){ + mapItemShow.put(equip.getEquipId(),mapItemShow.get(equip.getEquipId())+1); + }else{ + mapItemShow.put(equip.getEquipId(),1); + } + } + for(CommonProto.Hero hero:drop.getHeroList()){ + if(mapItemShow.containsKey(hero.getHeroId())){ + mapItemShow.put(hero.getHeroId(),mapItemShow.get(hero.getHeroId())+1); + }else{ + mapItemShow.put(hero.getHeroId(),1); + } + } + for(CommonProto.PokemonInfo pokemonInfo:drop.getPokemonList()){ + if(mapItemShow.containsKey(pokemonInfo.getTempId())){ + mapItemShow.put(pokemonInfo.getTempId(),mapItemShow.get(pokemonInfo.getTempId())+1); + }else{ + mapItemShow.put(pokemonInfo.getTempId(),1); + } + } + } } From 82dde4cdb8f678f3856243cea14eb00f7594e2cf Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Fri, 31 Dec 2021 10:36:32 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=A3=AE=E7=BD=97=E5=B9=BB=E5=A2=83?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=8C=82=E6=9C=BA=E5=A5=96=E5=8A=B1=E5=B1=95?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../map/mapHandler/TowerGetRewardInfoShowHandler.java | 7 ------- .../com/ljsd/jieling/handler/map/mapType/TowerMap.java | 3 +++ .../jieling/logic/mission/data/GotSoulMarkManager.java | 4 ++-- .../java/com/ljsd/jieling/logic/player/PlayerLogic.java | 4 ++++ 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/TowerGetRewardInfoShowHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/TowerGetRewardInfoShowHandler.java index d9a4304c1..3907e1cde 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/TowerGetRewardInfoShowHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/TowerGetRewardInfoShowHandler.java @@ -1,21 +1,14 @@ package com.ljsd.jieling.handler.map.mapHandler; import com.google.protobuf.GeneratedMessage; -import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.handler.BaseHandler; -import com.ljsd.jieling.handler.map.MapLogic; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; -import com.ljsd.jieling.netty.cocdex.PacketNetData; -import com.ljsd.jieling.network.session.ISession; -import com.ljsd.jieling.util.ItemUtil; import org.springframework.stereotype.Component; -import rpc.protocols.ActivityProto; import rpc.protocols.CommonProto; import rpc.protocols.MapInfoProto; import rpc.protocols.MessageTypeProto; -import java.util.HashMap; import java.util.Map; @Component diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/TowerMap.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/TowerMap.java index 8551daf4a..34e675c9e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/TowerMap.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/TowerMap.java @@ -22,6 +22,7 @@ import com.ljsd.jieling.logic.fight.GameFightType; import com.ljsd.jieling.logic.fight.PVEFightEvent; import com.ljsd.jieling.logic.fight.result.FightResult; import com.ljsd.jieling.logic.hero.HeroAttributeEnum; +import com.ljsd.jieling.logic.player.PlayerLogic; import com.ljsd.jieling.logic.store.StoreLogic; import com.ljsd.jieling.network.session.ISession; import rpc.protocols.CommonProto; @@ -670,6 +671,8 @@ public class TowerMap extends AbstractMap { response.setEssenceValue(-1); response.setCell(CBean2Proto.getCell(cell)); response.setDrop(drop); + //森罗幻境自动挂机奖励展示 + PlayerLogic.TowerGetRewardInfoShow(response.getDrop(),user); response.setMonsterNum(monsterAmount); MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/GotSoulMarkManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/GotSoulMarkManager.java index 976e530bc..c4bcf94fd 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/GotSoulMarkManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/GotSoulMarkManager.java @@ -17,9 +17,9 @@ public class GotSoulMarkManager extends AbstractDataManager { public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { CumulationData.Result result = null; int itemId = (int)parm[0]; - int num = (int)parm[1]; + long num = (long)parm[1]; if(missionType == MissionType.GOT_SOUL_MARK){ - data.addQualitySoulMarkNum(STableManager.getConfig(SItem.class).get(itemId).getQuantity(),num); + data.addQualitySoulMarkNum(STableManager.getConfig(SItem.class).get(itemId).getQuantity(),(int)num); result = new CumulationData.Result(missionType); } return result; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java index bfb3f2501..4b9e7e400 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java @@ -1794,6 +1794,7 @@ public class PlayerLogic { }else{ mapItemShow.put(item.getItemId(),(int)item.getItemNum()); } + LOGGER.error("掉落1->{}->{}",item.getItemId(),item.getItemNum()); } for(CommonProto.Equip equip:drop.getEquipIdList()){ if(mapItemShow.containsKey(equip.getEquipId())){ @@ -1801,6 +1802,7 @@ public class PlayerLogic { }else{ mapItemShow.put(equip.getEquipId(),1); } + LOGGER.error("掉落2->{}->{}",equip.getEquipId(),1); } for(CommonProto.Hero hero:drop.getHeroList()){ if(mapItemShow.containsKey(hero.getHeroId())){ @@ -1808,6 +1810,7 @@ public class PlayerLogic { }else{ mapItemShow.put(hero.getHeroId(),1); } + LOGGER.error("掉落3->{}->{}",hero.getHeroId(),1); } for(CommonProto.PokemonInfo pokemonInfo:drop.getPokemonList()){ if(mapItemShow.containsKey(pokemonInfo.getTempId())){ @@ -1815,6 +1818,7 @@ public class PlayerLogic { }else{ mapItemShow.put(pokemonInfo.getTempId(),1); } + LOGGER.error("掉落4->{}->{}",pokemonInfo.getTempId(),1); } } }