From 7c14f87a042557470528355f59928235fda7b9fc Mon Sep 17 00:00:00 2001 From: whb <15647141185@163.com> Date: Thu, 25 Mar 2021 16:05:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E9=89=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/globals/BIReason.java | 5 ++ .../jieling/handler/GetPlayerInfoHandler.java | 4 ++ .../handler/pokemon/AllBookEnableHandler.java | 4 +- .../ljsd/jieling/logic/dao/EquipManager.java | 9 ++- .../ljsd/jieling/logic/hero/HeroLogic.java | 71 +++++++++++++------ .../ljsd/jieling/logic/item/ItemLogic.java | 1 + .../java/com/ljsd/jieling/util/ItemUtil.java | 7 ++ 7 files changed, 78 insertions(+), 23 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java index c599497e6..48ded7989 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java @@ -168,6 +168,11 @@ public interface BIReason { int GOOD_LUCK_DROP = 96;//扭转乾坤获得 + int ACTIVATION_HERO_FETTER = 97; //激活神将羁绊获得 + int ACTIVATION_EQUIP_FETTER = 98; //激活魂印羁绊获得 + int ACTIVATION_POKEMON_FETTER = 99; //激活灵兽羁绊获得 + + int ADVENTURE_UPLEVEL_CONSUME = 1000;//秘境升级 int SECRETBOX_CONSUME = 1001;//秘盒抽卡 int DECOMPOSE_ITEM_CONSUME = 1002;//分解道具消耗 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index 9a05c5dee..7b9290704 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -144,6 +144,10 @@ public class GetPlayerInfoHandler extends BaseHandler{ } //图鉴信息 Map heroHandBook = heroManager.getHeroHandBook(); + for (Map.Entry entry:heroHandBook.entrySet()){ + System.out.println(entry.getKey()+":"+entry.getValue()+"神将图鉴"); + + } List heroHandBookList = new ArrayList<>(); heroHandBook.forEach((k,v)->heroHandBookList.add(CommonProto.EveryHeroHandBook.newBuilder().setHeroId(k).setMaxStar(v).build())); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/pokemon/AllBookEnableHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/pokemon/AllBookEnableHandler.java index f8fd595f1..47de7395d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/pokemon/AllBookEnableHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/pokemon/AllBookEnableHandler.java @@ -16,11 +16,11 @@ import org.springframework.stereotype.Component; public class AllBookEnableHandler extends BaseHandler { @Override public MessageTypeProto.MessageType getMessageCode() { - return MessageTypeProto.MessageType.POKEMON_BOOK_ENABLE_REQUEST; + return MessageTypeProto.MessageType.ALL_BOOK_ENABLE_REQUEST; } @Override public void processWithProto(ISession iSession, HeroInfoProto.AllBookEnableRequest proto) throws Exception { - HeroLogic.getInstance().AllBookEnable(iSession,proto.getBookId(),MessageTypeProto.MessageType.POKEMON_BOOK_ENABLE_REPONSE); + HeroLogic.getInstance().AllBookEnable(iSession,proto.getBookId(),MessageTypeProto.MessageType.ALL_BOOK_ENABLE_REPONSE); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/EquipManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/EquipManager.java index 4137e88e1..68c1e6a43 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/EquipManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/EquipManager.java @@ -13,7 +13,7 @@ public class EquipManager extends MongoBase { private Map equipMap; private Set equipBookEnabled = new HashSet<>(); - private Set equipList; + private Set equipList = new HashSet<>(); private Equip unDetermined; @@ -93,4 +93,11 @@ public class EquipManager extends MongoBase { } + public Set getEquipList() { + return equipList; + } + public void addEquipList(int equipId){ + equipList.add(equipId); + updateString("equipList",equipList); + } } 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 9a738010a..687aac216 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 @@ -37,10 +37,7 @@ import config.*; import manager.STableManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import rpc.protocols.CommonProto; -import rpc.protocols.HeroInfoProto; -import rpc.protocols.MapInfoProto; -import rpc.protocols.MessageTypeProto; +import rpc.protocols.*; import util.MathUtils; import util.StringUtil; import util.TimeUtils; @@ -1614,6 +1611,16 @@ public class HeroLogic{ return pokenSkillPassiveResult.toString(); } + //图鉴属性加成 + public void bonuses(Set bookEnabled,Map heroAllAttribute){ + if (!bookEnabled.isEmpty()){ + Map config = STableManager.getConfig(SSpiritAnimalBook.class); + for(int bootId:bookEnabled){ + int[][] activePara = config.get(bootId).getActivePara(); + combinedAttribute(activePara,heroAllAttribute); + } + } + } public Map calHeroNotBufferAttribute(User user, Hero hero,boolean isForce,int teamId){ Map heroAllAttribute = calHeroAllAttribute(user, hero,isForce); heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(),heroAllAttribute.get(GlobalsDef.HP_TYPE)); @@ -1621,6 +1628,9 @@ public class HeroLogic{ Map equipMap = hero.getCreateType()==1?user.getExpeditionManager().getEquipMap():user.getEquipManager().getEquipMap(); PokemonManager pokemonManager = user.getPokemonManager(); + HeroManager heroManager=user.getHeroManager(); + EquipManager equipManager=user.getEquipManager(); + SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId()); if(teamId!=0){ int heroNum = user.getTeamPosManager().getTeamPosForHero().get(teamId).size(); @@ -1635,13 +1645,13 @@ public class HeroLogic{ } //灵兽图鉴加成 Set pokemonBookEnabled = pokemonManager.getPokemonBookEnabled(); - if(!pokemonBookEnabled.isEmpty()){ - Map config = STableManager.getConfig(SSpiritAnimalBook.class); - for(int bootId:pokemonBookEnabled){ - int[][] activePara = config.get(bootId).getActivePara(); - combinedAttribute(activePara,heroAllAttribute); - } - } + bonuses(pokemonBookEnabled,heroAllAttribute); + //神将羁绊加成 + Set heroBookEnabled = heroManager.getHeroHandBookEnabled(); + bonuses(heroBookEnabled,heroAllAttribute); + //魂印图鉴加成 + Set equipBookEnabled = equipManager.getEquipBookEnabled(); + bonuses(equipBookEnabled,heroAllAttribute); //英雄皮肤加成 记得判断皮肤过期 int skin = hero.getSkin(); if(skin!=0){ @@ -3087,17 +3097,17 @@ public class HeroLogic{ for (int enabled:user.getHeroManager().getHeroHandBookEnabled()){ builder.addAllBookEnabled(enabled); } + //添加魂印羁绊 for (int enabled:user.getEquipManager().getEquipBookEnabled()){ builder.addAllBookEnabled(enabled); } - for (Map.Entry entry:equipHandBook.entrySet()){ - if (entry.getValue()!=0){ - builder.addEquipGot(entry.getKey()); - } - } - MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.GET_ALL_PROPERTY_INFO_RESPONSE_VALUE,builder.build(),true); + for (Integer equip:equipManager.getEquipList()) { + builder.addEquipGot(equip); + } + System.out.println(builder.getAllBookEnabledList()+"羁绊"); + MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.GET_ALL_PROPERTY_INFO_RESPONSE_VALUE,builder.build(),true); } /** * 激活所有图鉴 @@ -3112,10 +3122,13 @@ public class HeroLogic{ if(bookConfig==null){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } + System.out.println(user.getPlayerInfoManager().getLevel()+":"+bookConfig.getOpenLevel()); if(user.getPlayerInfoManager().getLevel() itemProtoList = new CopyOnWriteArrayList<>(); ItemManager itemManager = user.getItemManager(); List sendToFront = new CopyOnWriteArrayList<>(); @@ -575,6 +576,12 @@ public class ItemUtil { Map extraItem = new HashMap<>(itemMap.size()); for (Map.Entry entry : itemMap.entrySet()) { + SItem itemConfig = STableManager.getConfig(SItem.class).get(entry.getKey()); + if (itemConfig.getItemBaseType()==6){ + equipManager.addEquipList(entry.getKey()); + System.out.println(entry.getKey() + "魂印id"); + } + SItem sItem = SItem.getsItemMap().get (entry.getKey()); long itemNumlimit = sItem.getItemNumlimit(); long itemNum = entry.getValue().intValue();