From d1cf55e9ac36178ceb3fe2d5697abaaecdcb4d15 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Thu, 2 Apr 2020 15:14:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=95=E5=AE=9D=E9=87=8D=E5=81=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/GameGM/GMRequestHandler.java | 8 -- .../jieling/handler/UpHeroStarHandler.java | 2 +- .../handler/UseAndPriceItemHandler.java | 2 - .../jieling/handler/map/TemporaryItems.java | 2 - .../ljsd/jieling/logic/dao/EquipManager.java | 30 ------- .../ljsd/jieling/logic/dao/EspecialEquip.java | 32 ------- .../java/com/ljsd/jieling/logic/dao/Hero.java | 13 ++- .../ljsd/jieling/logic/hero/HeroLogic.java | 70 ++++++--------- .../ljsd/jieling/logic/item/ItemLogic.java | 90 ++++--------------- .../jieling/logic/player/PlayerLogic.java | 4 - .../com/ljsd/jieling/util/CBean2Proto.java | 10 +-- .../java/com/ljsd/jieling/util/ItemUtil.java | 56 +----------- tablemanager/src/main/java/config/SCHero.java | 6 ++ 13 files changed, 62 insertions(+), 263 deletions(-) delete mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/dao/EspecialEquip.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java index 6aefde2fc..a5cc4939b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java @@ -286,14 +286,6 @@ public class GMRequestHandler extends BaseHandler{ break; case GlobalGm.MISSION_LEAD: break; - case GlobalGm.ESPECIAL_EQUIP: - int itemType = SItem.getsItemMap().get(prarm1).getItemType(); - if(itemType==GlobalItemType.ESPECIAL_EQUIP){ - EspecialEquip especialEquip = new EspecialEquip(cUser.getId(),prarm1); - especialEquip.setStar(prarm2); - cUser.getEquipManager().addEspecialEquip(cUser,especialEquip); - } - break; case GlobalGm.TREASURE_FINISH: Set doingMissionIds = cUser.getUserMissionManager().getTreasureMissionIdsType().getDoingMissionIds(); if(doingMissionIds.contains(prarm2)){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/UpHeroStarHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/UpHeroStarHandler.java index abd070f72..9fd2cd4b0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/UpHeroStarHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/UpHeroStarHandler.java @@ -26,7 +26,7 @@ public class UpHeroStarHandler extends BaseHandler{ if(upHeroStarRequest.getType()==1){ HeroLogic.getInstance().upHeroStar(iSession,heroId,consumeMaterialsList); }else{ - ItemLogic.getInstance().especialEquipUpStar(iSession,heroId,consumeMaterialsList); + ItemLogic.getInstance().especialEquipUpStar(iSession,heroId); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/UseAndPriceItemHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/UseAndPriceItemHandler.java index 2278313ba..79239e016 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/UseAndPriceItemHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/UseAndPriceItemHandler.java @@ -38,8 +38,6 @@ public class UseAndPriceItemHandler extends BaseHandler equips = new HashSet<>(); - public Set especialEquips = new HashSet<>(); - public Set soulEquips = new HashSet<>(); 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 07b629d23..bd2e75523 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,8 +13,6 @@ public class EquipManager extends MongoBase { private Map equipMap; - private Map especialEquipMap; - private Map soulEquipMap; private Equip unDetermined; @@ -27,7 +25,6 @@ public class EquipManager extends MongoBase { this.equipHandBook = new HashMap<>(); this.equipMap = new HashMap<>(); - this.especialEquipMap = new HashMap<>(); this.soulEquipMap = new HashMap<>(); this.soulEquipPool = 1; this.setRootCollection(User._COLLECTION_NAME); @@ -42,20 +39,6 @@ public class EquipManager extends MongoBase { Poster.getPoster().dispatchEvent(new EquipEvent(user.getId(),equip.getEquipId())); } - public void addEspecialEquip(User user,EspecialEquip especialEquip){ - especialEquip.init(this.getRootId(),getMongoKey() + ".especialEquipMap." + especialEquip.getId()); - updateString("especialEquipMap." + especialEquip.getId(), especialEquip); - addEquipHandBook(especialEquip.getEquipId()); - especialEquipMap.put(especialEquip.getId(), especialEquip); - } - - public void removeEspecialEquip(String equip){ - if(especialEquipMap.containsKey(equip)){ - removeString(getMongoKey()+".especialEquipMap."+equip); - especialEquipMap.remove(equip); - } - } - public void remove(String equipId){ if (equipMap.containsKey(equipId)){ removeString(getMongoKey()+".equipMap." + equipId); @@ -80,10 +63,6 @@ public class EquipManager extends MongoBase { return equipMap; } - public Map getEspecialEquipMap() { - return especialEquipMap; - } - public Map getSoulEquipMap() { return soulEquipMap; } @@ -119,13 +98,4 @@ public class EquipManager extends MongoBase { return equipHandBook; } - public void upStarEspecialEquip(String equipId) throws Exception { - EspecialEquip especialEquip = especialEquipMap.get(equipId); - if(especialEquip ==null){ - return; - } - updateString("especialEquipMap."+equipId+".star",especialEquip.getStar()+1); - especialEquip.setStar(especialEquip.getStar()+1); - especialEquipMap.put(equipId,especialEquip); - } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/EspecialEquip.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/EspecialEquip.java deleted file mode 100644 index 7b162c74e..000000000 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/EspecialEquip.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.ljsd.jieling.logic.dao; - -import config.SItem; -import com.ljsd.jieling.logic.dao.root.User; -import com.ljsd.jieling.util.KeyGenUtils; -import com.ljsd.jieling.util.UUIDEnum; - -public class EspecialEquip extends PropertyItem { - - private int star; - - public EspecialEquip(int uid,int equipTid) { - super(); - super.setId(KeyGenUtils.produceIdByModule(UUIDEnum.ESPECIAL_EQUIP, uid)); - super.setEquipId(equipTid); - SItem item = SItem.getsItemMap().get(equipTid); - this.star = item.getQuantity(); - } - public EspecialEquip() { - this.setRootCollection(User._COLLECTION_NAME); - } - - - public int getStar() { - return star; - } - - public void setStar(int star) { - updateString("star",star); - this.star = star; - } -} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Hero.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Hero.java index 0a5748e54..196ebc9f5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Hero.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Hero.java @@ -42,7 +42,7 @@ public class Hero extends MongoBase { private int speed; - private String especialEquip; + private int especialEquipLevel; private int isLock; @@ -61,7 +61,6 @@ public class Hero extends MongoBase { this.star = initStar; this.equipByPositionMap = new HashMap<>(); this.soulEquipByPositionMap = new HashMap<>(); - this.especialEquip = ""; if(initStar!=scHero.getStar()){ Map scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.UP_STAR_TYPE,scHero.getStar()); @@ -207,9 +206,9 @@ public class Hero extends MongoBase { updateString("starBreakId",starBreakId); this.starBreakId = starBreakId; } - public void updateEspecial(String especialEquip){ - this.especialEquip = especialEquip; - updateString("especialEquip",especialEquip); + public void updateEspecial(int especialEquipLevel){ + this.especialEquipLevel = especialEquipLevel; + updateString("especialEquipLevel",especialEquipLevel); } @@ -222,7 +221,7 @@ public class Hero extends MongoBase { this.isLock = isLock; } - public String getEspecialEquip() { - return especialEquip; + public int getEspecialEquipLevel() { + return especialEquipLevel; } } 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 63b803c88..75e5e722d 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 @@ -127,11 +127,6 @@ public class HeroLogic{ for(Equip equipInfo: equipMap.values()){ equipList.add(CBean2Proto.getEquipProto(equipInfo)); } - }else if(type==2){ - Map especialEquipMap = user.getEquipManager().getEspecialEquipMap(); - for(EspecialEquip especialEquipInfo: especialEquipMap.values()){ - equipList.add(CBean2Proto.getEquipProto(especialEquipInfo)); - } }else if(type==3){ //魂印 Map stringSoulEquipMap = user.getEquipManager().getSoulEquipMap(); @@ -797,7 +792,7 @@ public class HeroLogic{ //删除hero CommonProto.Drop.Builder baseBuilder = ItemLogic.getInstance().decomposeHero(session,new LinkedList<>(removeHeroIds),Collections.singleton(26),MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE); // recyleHeroBySystem(user,removeHeroIds); - targetHero.upStar( 1 ); + rankUpHeroExecute(targetHero,1,8); Poster.getPoster().dispatchEvent(new HeroUpStarEvent(user.getId(),targetHero.getTemplateId(),targetHero.getStar())); if(targetHero.getStar()>=5&&targetHero.getStar()!=15){ if(SItem.getsItemMap().get(scHero.getId()).getQuantity()>=5) @@ -815,6 +810,13 @@ public class HeroLogic{ ChatLogic.getInstance().sendSysChatMessage(message,Global.DILIGENT,targetHero.getTemplateId(),0,0,0,0,0); } } + private void rankUpHeroExecute(Hero hero,int starCount,int unlockEspecialEquipStar) throws Exception { + //是否解锁法宝 + if(hero.getStar()=unlockEspecialEquipStar){ + hero.updateEspecial(0); + } + hero.upStar( 1 ); + } //初始属性*(1+化境增长)*等级系数 + 初始属性*突破系数 @@ -986,24 +988,10 @@ public class HeroLogic{ } } //法宝技能 - String especialEquipId = hero.getEspecialEquip(); - if(!StringUtil.isEmpty(especialEquipId)){ - EspecialEquip especialEquip = user.getEquipManager().getEspecialEquipMap().get(especialEquipId); - SEquipTalismana sEquipTalismana = SEquipTalismana.equipTalismanaStarMap.get(especialEquip.getEquipId()).get(especialEquip.getStar()); - for(int skill:sEquipTalismana.getOpenSkillRules()){ - sb.append(skill).append(DIVISION); - } + int especialEquip = hero.getEspecialEquipLevel(); + if(especialEquip>=0){ - int[][] specialSkill = sEquipTalismana.getSpecialSkill(); - for(int i = 0 ; i < specialSkill.length;i++){ - if(tempHero.getProfession()==specialSkill[i][0]){ - sb.append(specialSkill[i][1]).append(DIVISION); - } - } } - - - return sb; } @@ -1257,26 +1245,22 @@ public class HeroLogic{ } //法宝加成 - String especialEquip = hero.getEspecialEquip(); - if(!StringUtil.isEmpty(especialEquip)){ - Map especialEquipMap = user.getEquipManager().getEspecialEquipMap(); - EspecialEquip myEspecial = especialEquipMap.get(especialEquip); - if(myEspecial!=null){ - int equipTempId = myEspecial.getEquipId(); - int tempStar = myEspecial.getStar(); - Map> equipTalismanaMap = SEquipTalismana.equipTalismanaStarMap; - SEquipTalismana equipTali = equipTalismanaMap.get(equipTempId).get(tempStar); - combinedAttribute(equipTali.getProperty(),heroAllAttribute); - //法宝职业额外加成 - SCHero tempHero = SCHero.getsCHero().get(hero.getTemplateId()); - int[][] specialProperty = equipTali.getSpecialProperty(); - for(int i = 0 ; i < specialProperty.length;i++){ - if(tempHero.getProfession()==specialProperty[i][0]){ - int [][] property = new int[1][]; - property[0] = new int[]{specialProperty[i][1],specialProperty[i][2]}; - combinedAttribute(property, heroAllAttribute); - } + int heroStar = hero.getStar(); + if(scHero.getEquipTalismana()!=null&&scHero.getEquipTalismana().length>0&&heroStar>=scHero.getEquipTalismana()[0]){//判断是否解锁法宝 + int equipTempId = scHero.getEquipTalismana()[1]; + int tempStar = hero.getEspecialEquipLevel(); + Map> equipTalismanaMap = SEquipTalismana.equipTalismanaStarMap; + SEquipTalismana equipTali = equipTalismanaMap.get(equipTempId).get(tempStar); + combinedAttribute(equipTali.getProperty(),heroAllAttribute); + //法宝职业额外加成 + SCHero tempHero = SCHero.getsCHero().get(hero.getTemplateId()); + int[][] specialProperty = equipTali.getSpecialProperty(); + for(int i = 0 ; i < specialProperty.length;i++){ + if(tempHero.getProfession()==specialProperty[i][0]){ + int [][] property = new int[1][]; + property[0] = new int[]{specialProperty[i][1],specialProperty[i][2]}; + combinedAttribute(property, heroAllAttribute); } } } @@ -1534,7 +1518,7 @@ public class HeroLogic{ throw new ErrorCodeException(ErrorCode.HERO_LEVE_LOW); } } - hero.updateEspecial(equipIds.get(0)); +// hero.updateEspecial(equipIds.get(0)); } } @@ -1700,7 +1684,7 @@ public class HeroLogic{ hero.removeEquip(position); } }else if(type==2){ - hero.updateEspecial(""); +// hero.updateEspecial(""); } //发送成功消息 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 73b5865c8..faece47ab 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 @@ -186,24 +186,12 @@ public class ItemLogic { * @param equipIdsList * @throws Exception */ - public void decomposeEspecialEquip(ISession iSession, List equipIdsList) throws Exception { + private void decomposeEspecialEquip(ISession iSession, List equipIdsList) throws Exception { int msgId = MessageTypeProto.MessageType.USER_AND_PRICE_ITEM_RESPONSE_VALUE; int uid = iSession.getUid(); User user = UserManager.getUser(uid); EquipManager equipManager = user.getEquipManager(); Map reward = new HashMap<>(); - for (String equipId : equipIdsList) { - EspecialEquip equip= equipManager.getEspecialEquipMap().get(equipId); - int[][] resolve = SEquipTalismana.equipTalismanaStarMap.get(equip.getEquipId()).get(equip.getStar()).getResolve(); - for(int i = 0;i materials) throws Exception { + public void especialEquipUpStar(ISession session, String heroId) throws Exception { User user = UserManager.getUser(session.getUid()); - EspecialEquip especialEquip = user.getEquipManager().getEspecialEquipMap().get(equipId); - if(especialEquip == null){ - throw new ErrorCodeException(ErrorCode.newDefineCode("not exists")); + Hero hero = user.getHeroManager().getHero(heroId); + if(hero==null){ + throw new ErrorCodeException(ErrorCode.newDefineCode("当前法宝不存在")); } - SEquipTalismana sEquipTalismana = SEquipTalismana.equipTalismanaStarMap.get(especialEquip.getEquipId()).get(especialEquip.getStar()); - Map equipTalismanaRankupMap = STableManager.getConfig(SEquipTalismanaRankup.class); - boolean success = true; - //按槽位遍历所需材料 - if(sEquipTalismana.getRankupConsumeMaterial().length != materials.size()){ - throw new ErrorCodeException(ErrorCode.newDefineCode("卡槽数量不对")); + SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId()); + if(scHero.getEquipTalismana()==null && hero.getStar() heroIdsList = material.getHeroIdsList(); - Iterator iterator = heroIdsList.iterator(); - while (iterator.hasNext()){ - user.getEquipManager().removeEspecialEquip(iterator.next()); - } - } - user.getEquipManager().upStarEspecialEquip(equipId); - Poster.getPoster().dispatchEvent(new EspecialEquipUpEvent(user.getId(),0, user.getEquipManager().getEspecialEquipMap().get(equipId).getStar())); - user.getUserMissionManager().onGameEvent(user, GameEvent.ESPECIAL_EQUIP,especialEquip.getStar()); + if(b){ + hero.updateEspecial(hero.getEspecialEquipLevel()+1); + Poster.getPoster().dispatchEvent(new EspecialEquipUpEvent(user.getId(),especialEquipId, hero.getEspecialEquipLevel())); + user.getUserMissionManager().onGameEvent(user, GameEvent.ESPECIAL_EQUIP,hero.getEspecialEquipLevel()); MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,null,true); - if(especialEquip.getStar()>=SSpecialConfig.getIntegerValue(SSpecialConfig.lamp_rankup_equiptalisman_content_parm)){ - SItem sItem = SItem.getsItemMap().get(especialEquip.getEquipId()); + if(hero.getEspecialEquipLevel()>=SSpecialConfig.getIntegerValue(SSpecialConfig.lamp_rankup_equiptalisman_content_parm)){ + SItem sItem = SItem.getsItemMap().get(especialEquipId); if(sItem.getQuantity()<5){ return; } - String message = SErrorCodeEerverConfig.getI18NMessage("lamp_rankup_equiptalisman_content", new Object[]{user.getPlayerInfoManager().getNickName(), sItem.getName(),especialEquip.getStar()}); + String message = SErrorCodeEerverConfig.getI18NMessage("lamp_rankup_equiptalisman_content", new Object[]{user.getPlayerInfoManager().getNickName(), sItem.getName(),hero.getEspecialEquipLevel()}); ChatLogic.getInstance().sendSysChatMessage(message,Global.DILIGENT,sItem.getId(),0,0,0,0,0); } }else{ 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 da9ce2946..0ea2b5296 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 @@ -631,10 +631,6 @@ public class PlayerLogic { for(String equipId : hero.getSoulEquipByPositionMap().values()){ builder.addEquip(CBean2Proto.getEquipProto(soulEquipMap.get(equipId))); } - String especialEquip = hero.getEspecialEquip(); - if(!StringUtil.isEmpty(especialEquip)){ - builder.addEquip(CBean2Proto.getEquipProto(equipManager.getEspecialEquipMap().get(especialEquip))); - } builder.setForce(HeroLogic.getInstance().calForce(heroNotBufferAttribute)); builder.setHero(CBean2Proto.getHero(hero)); MessageUtil.sendMessage(session,1,resMsgId,builder.build(),true); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java index cba165b18..062672ee5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -79,7 +79,7 @@ public class CBean2Proto { return itemProto; } - public static CommonProto.Hero getHero(Hero hero) throws Exception { Map equipByPositionMap = hero.getEquipByPositionMap(); + public static CommonProto.Hero getHero(Hero hero){ Map equipByPositionMap = hero.getEquipByPositionMap(); List equipList = new ArrayList<>(); if(equipByPositionMap!=null && !equipByPositionMap.isEmpty()){ equipList.addAll(equipByPositionMap.values()); @@ -103,8 +103,8 @@ public class CBean2Proto { .setBreakId(hero.getBreakId()) .setStarBreakId(hero.getStarBreakId()) .setCreateTime(hero.getCreateTime()) - .addAllEquipIdList(equipList) - .addEspecialEquip(hero.getEspecialEquip()) + .addAllEquipIdList(equipList) + .setEspecialEquipLevel(hero.getEspecialEquipLevel()) .addAllSoulPos(soulPoss) .setLockState(hero.getIsLock()) .build(); @@ -154,10 +154,6 @@ public class CBean2Proto { .setRebuildLevel(tempEquip.getRebuildLevel()) .setSkillId(tempEquip.getSkill()); } - if(equip instanceof EspecialEquip){ - EspecialEquip tempEquip =(EspecialEquip)equip; - equipProto.setRebuildLevel(tempEquip.getStar()); - } if(equip instanceof SoulEquip){ equipProto.setRebuildLevel(((SoulEquip) equip).getLevel()); equipProto.setExp(((SoulEquip) equip).getExp()); 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 305010f06..9057d2d36 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -710,7 +710,6 @@ public class ItemUtil { public static void addItemToTemporaryBag(User user, Map itemMap, Map equipMap, CommonProto.Drop.Builder dropBuilder) throws Exception { List itemProtoList = new ArrayList<>(); List equipProtoList = new ArrayList<>(); - List especialEquip = new ArrayList<>(); List soulEquiplist = new ArrayList<>(); MapManager mapManager = user.getMapManager(); TemporaryItems temporaryItems = mapManager.getTemporaryItems(); @@ -736,7 +735,6 @@ public class ItemUtil { LOGGER.info("the uid={},the curMapId={},add item={},addItemNum={},totalItemNum={}",user.getId(),user.getMapManager().getCurMapId(),entry.getKey(),entry.getValue(),item.getItemNum()); } Set equips = temporaryItems.equips; - Set especialEquips = temporaryItems.especialEquips; Set soulEquips = temporaryItems.soulEquips; for (Map.Entry entry : equipMap.entrySet()) { SEquipConfig sEquipConfig = STableManager.getConfig(SEquipConfig.class).get(entry.getKey()); @@ -751,19 +749,6 @@ public class ItemUtil { } LOGGER.info("the uid={},the curMapId={},add equip={},equipNum={},totalEquipNum={}",user.getId(),user.getMapManager().getCurMapId(),entry.getKey(),nums,equips.size()); } - for (Map.Entry entry : equipMap.entrySet()) { - Map sEquipTalismanaMap = SEquipTalismana.equipTalismanaStarMap.get(entry.getKey()); - if (sEquipTalismanaMap==null||sEquipTalismanaMap.isEmpty()) { - continue; - } - Integer nums = entry.getValue(); - for(int i=0;i entry : equipMap.entrySet()) { SEquipSign sEquipSign = SEquipSign.getsEquipSignMap().get(entry.getKey()*100+1); @@ -783,7 +768,6 @@ public class ItemUtil { if (dropBuilder != null) { dropBuilder.addAllItemlist(itemProtoList); dropBuilder.addAllEquipId(equipProtoList); - dropBuilder.addAllEspecialEquipId(especialEquip); dropBuilder.addAllSoulEquip(soulEquiplist); } @@ -801,9 +785,8 @@ public class ItemUtil { public static void addTemporaryItemToBag(User user, TemporaryItems temporaryItems, boolean isVictory) throws Exception { Map items = temporaryItems.items; Set equips = temporaryItems.equips; - Set especialEquips = temporaryItems.especialEquips; Set soulEquips= temporaryItems.soulEquips; - if (items.isEmpty() && equips.isEmpty() && especialEquips.isEmpty()&&soulEquips.isEmpty()) { + if (items.isEmpty() && equips.isEmpty()&&soulEquips.isEmpty()) { return; } Map itemMap = user.getItemManager().getItemMap(); @@ -851,9 +834,6 @@ public class ItemUtil { for(Equip equip:equips){ equipsToBag(user,isVictory,equip,rewardStr); } - for(EspecialEquip especialEquip:especialEquips){ - equipsToBag(user,isVictory,especialEquip,rewardStr); - } for(SoulEquip soulEquip:soulEquips){ equipsToBag(user,isVictory,soulEquip,rewardStr); } @@ -887,8 +867,6 @@ public class ItemUtil { } if(equip instanceof Equip){ equipManager.addEquip(user,(Equip)equip); - }else if(equip instanceof EspecialEquip){ - equipManager.addEspecialEquip(user,(EspecialEquip) equip); }else if(equip instanceof SoulEquip){ equipManager.addSoulEquip((SoulEquip)equip); } @@ -1023,25 +1001,6 @@ public class ItemUtil { StringBuilder reward = new StringBuilder(); List equipList = new CopyOnWriteArrayList<>(); List especialEquip = new CopyOnWriteArrayList<>(); - int limit = SSpecialConfig.getIntegerValue(SSpecialConfig.EquipTalismana_limit); - int especialNum = equipMap.entrySet().stream().filter(k ->{ - int itemType = SItem.getsItemMap().get(k.getKey()).getItemType(); - if(itemType==GlobalItemType.ESPECIAL_EQUIP){ - return true; - } - return false; - }).collect(Collectors.toSet()).size(); - if(especialNum>0){ - if (user.getEquipManager().getEspecialEquipMap().size() +especialNum>=limit){ - String bagTitle = SErrorCodeEerverConfig.getI18NMessage("EquipTalismana_bag_limit_title"); - String bagContent = SErrorCodeEerverConfig.getI18NMessage("EquipTalismana_bag_limit_txt"); - String bagReward = getLimitReward(equipMap,filter); - int nowTime =(int) (TimeUtils.now()/1000); - MailLogic.getInstance().sendMail(user.getId(),bagTitle,bagContent,bagReward,nowTime,Global.MAIL_EFFECTIVE_TIME); - MessageUtil.nofityBagIsFull(user); - return; - } - } for (Map.Entry entry : equipMap.entrySet()) { int itemType = SItem.getsItemMap().get(entry.getKey()).getItemType(); if(!filter.contains(itemType)){ @@ -1151,13 +1110,6 @@ public class ItemUtil { equipManager.addEquip(user,equip); equipList.add(CBean2Proto.getEquipProto(equip)); msgTem="lamp_lottery_equip_content"; - }else if(itemType==GlobalItemType.ESPECIAL_EQUIP){ - EspecialEquip especialEquip = new EspecialEquip(user.getId(),equipId); - especialEquip.setStar(item.getQuantity()); - especialEquipList.add(CBean2Proto.getEquipProto(especialEquip)); - equipManager.addEspecialEquip(user,especialEquip); - user.getUserMissionManager().onGameEvent(user, GameEvent.ESPECIAL_EQUIP, especialEquip.getStar()); - msgTem="lamp_lottery_equiptalisman_content"; }else if(itemType==GlobalItemType.SOUL_MARK){ SoulEquip soulEquip = new SoulEquip(user.getId(),equipId); equipManager.addSoulEquip(soulEquip); @@ -1495,12 +1447,6 @@ public class ItemUtil { return true; } break; - case GlobalItemType.ESPECIAL_EQUIP: - int especialLimit = SSpecialConfig.getIntegerValue(SSpecialConfig.EquipTalismana_limit); - if (user.getEquipManager().getEspecialEquipMap().size()+entry.getValue() >=especialLimit){ - return true; - } - break; default: break; } diff --git a/tablemanager/src/main/java/config/SCHero.java b/tablemanager/src/main/java/config/SCHero.java index f1b98a09e..c1d9c9723 100644 --- a/tablemanager/src/main/java/config/SCHero.java +++ b/tablemanager/src/main/java/config/SCHero.java @@ -47,6 +47,8 @@ public class SCHero implements BaseConfig{ private int[][] openPassiveSkillRules; + private int[] equipTalismana; + private int[][] secondaryFactor; private int quality; @@ -276,4 +278,8 @@ public class SCHero implements BaseConfig{ public int[] getGrowthSwitch() { return growthSwitch; } + + public int[] getEquipTalismana() { + return equipTalismana; + } }