From e98ff31de5cc44aefdfe37681504fe5933afdcbc Mon Sep 17 00:00:00 2001 From: "PC-202302260912\\Administrator" <1769111741@qq.com> Date: Tue, 17 Oct 2023 10:51:50 +0800 Subject: [PATCH] =?UTF-8?q?=E9=B8=BF=E8=92=99=E9=98=B5=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=85=B3=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/handler/HeroReturnHandler.java | 16 +- .../hero/HongmengGetInfoRequestHandler.java | 4 +- .../ljsd/jieling/logic/hero/HeroLogic.java | 499 +++++++++--------- .../ljsd/jieling/logic/item/ItemLogic.java | 8 +- .../jieling/logic/player/PlayerLogic.java | 2 +- .../com/ljsd/jieling/util/CBean2Proto.java | 39 +- 6 files changed, 279 insertions(+), 289 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/HeroReturnHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/HeroReturnHandler.java index ff1dcfa24..b83ece66f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/HeroReturnHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/HeroReturnHandler.java @@ -1,13 +1,10 @@ package com.ljsd.jieling.handler; -import com.ljsd.jieling.exception.ErrorCode; -import com.ljsd.jieling.exception.ErrorCodeException; import com.ljsd.jieling.logic.hero.HeroLogic; -import com.ljsd.jieling.logic.hero.HongMengFunctionEnum; import com.ljsd.jieling.network.session.ISession; +import org.springframework.stereotype.Component; import rpc.protocols.HeroInfoProto; import rpc.protocols.MessageTypeProto; -import org.springframework.stereotype.Component; /** * 神将归元 @@ -21,15 +18,6 @@ public class HeroReturnHandler extends BaseHandler { @Override public MessageTypeProto.MessageType getMessageCode() { @@ -16,6 +16,6 @@ public class HongmengGetInfoRequestHandler extends BaseHandler hongmengs = new HashMap<>(Integer.parseInt(openLevel[0])); - int defaultValue = 1000; - // 只要任意鸿蒙守卫中有未穿戴装备的部位,就不会触发装备共鸣,共鸣区域放入神将时不再自动卸下装备 -1:不用卸下装备,其他表示装备星级 - HongMengAddAttribute hongMengAddAttributeEquip = new HongMengAddAttribute(0, defaultValue); - // 只要任意鸿蒙守卫未穿戴魂宝/灵宝,或强化等级为0,便不会触发对应宝物的共鸣 - HongMengAddAttribute soulEquip = new HongMengAddAttribute(0, defaultValue); - HongMengAddAttribute spiritEquip = new HongMengAddAttribute(0, defaultValue); - - // 共鸣等级=鸿蒙守卫中最低的等级 - HongMengAddAttribute resonanceLevel = new HongMengAddAttribute(0, defaultValue); - - // 共鸣法宝=鸿蒙守卫中法宝强化最低等级 - HongMengAddAttribute especialEquipLevel = new HongMengAddAttribute(0, defaultValue); - - /** ========================== 开始处理玩家信息,更 =========================== **/ - HeroManager heroManager = user.getHeroManager(); - // 共鸣英雄池 - Map resonances = heroManager.getResonances(); - // 第一个格子免费开启 - if (!resonances.containsKey(1)) { - resonances.put(1, ""); - heroManager.setResonances(resonances); - // 成就任务 - user.getUserMissionManager().onGameEvent(user, GameEvent.ONE_MISSION_TYPE_CONSUME, MissionType.HONGMENG_RESONANCE_LATTICE, resonances.size()); - } - - // 获取玩家全部英雄 - Collection values = heroManager.getHeroMap().values(); - List heroes = new ArrayList<>(values); - - // 是否开启鸿蒙碑 - int tabletMax = 0; - // 是否为鸿蒙碑 - if (heroManager.getHongmengTablet() > 0) { - // 等级 - resonanceLevel.value = heroManager.getHongmengTablet(); - tabletMax = heroManager.getHongmengMaxLevelByInt(); - } else { - // 玩家英雄背包按等级排序 - Collections.sort(heroes); - - for (int i = 0; i < heroes.size(); i++) { - Hero hero = heroes.get(i); - resonances.forEach((k, v) -> { - if (v.equals(hero.getId())) { - try { - // 共鸣格子更新 - unLoadResonance(session, MessageTypeProto.MessageType.HONGMENG_RESONANCE_RESPONSE, k, 0); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - // 是否开启鸿蒙碑 - if (hero.getOriginalLevel() >= Integer.parseInt(openLevel[1])) { - tabletMax++; - } - // 等级 - hongmengLevel(resonanceLevel, hero); - hongmengs.put(i + 1, hero.getId()); - if (hongmengs.size() >= Integer.parseInt(openLevel[0])) { - break; - } - } - - // 更新鸿蒙使者 - heroManager.setHongmengGuards(hongmengs); - - // 鸿蒙碑,觉醒限制 - if (tabletMax >= Integer.parseInt(openLevel[0]) && heroManager.getHongmengTablet() == 0) { - // 开启鸿蒙碑 - heroManager.setHongmengTablet(Integer.parseInt(openLevel[1])); - for (String resetLevelId : heroManager.getHongmengGuards().values()) { - Hero hero = heroManager.getHero(resetLevelId); - if (hero == null) { - continue; - } - hero.setLevel(1); - hero.setBreakId(0); - } - // 初始化鸿蒙碑等级上限 - for (Hero hero : heroes) { - if (hero.getStar() >= SSpecialConfig.getIntegerValue(SSpecialConfig.lamp_awaken_hero_content_parm)) { - heroManager.addHongmengMaxLevel(hero.getTemplateId()); - } - } - tabletMax = heroManager.getHongmengMaxLevelByInt(); - resonanceLevel.heroTid = 0; - resonanceLevel.value = heroManager.getHongmengTablet(); - - // 鸿蒙碑新手引导推送 - HeroInfoProto.HongmengSteleNewHandIndication.Builder builder = HeroInfoProto.HongmengSteleNewHandIndication.newBuilder().setState(1); - MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.HONGMENG_STELE_NEW_HAND_INDICATION.getNumber(), builder.build(), true); - } - } - // 守卫/使者英雄池 - Map guards = heroManager.getHongmengGuards(); - // 英雄装备 - Map equipMap = user.getEquipManager().getEquipMap(); - - // if (guards.size() >= Integer.parseInt(openLevel[0])) { - // for (int i = 0; i < guards.size(); i++) { - // Hero hero = user.getHeroManager().getHero(guards.get(i + 1)); - // if (hero == null) { - // // 找不到英雄,不存在这些共鸣属性 - // hongMengAddAttributeEquip = new HongMengAddAttribute(0, defaultValue); - // soulEquip = new HongMengAddAttribute(0, defaultValue); - // spiritEquip = new HongMengAddAttribute(0, defaultValue); - // break; - // } - // // 装备 - // hongmengEquip(hongMengAddAttributeEquip, hero); - // // 魂宝 灵宝 - // soulOrSpirit(soulEquip, 1, equipMap, hero); - // soulOrSpirit(spiritEquip, 2, equipMap, hero); - // } - // } - - /*** ============================= 计算共鸣信息 ==================================== **/ - Map resonanceAddition = heroManager.getResonanceAddition(); - resonanceAddition.clear(); - if (resonanceLevel.value == defaultValue) { - resonanceLevel.value = -1; - } - // if (hongMengAddAttributeEquip.value == defaultValue) { - // hongMengAddAttributeEquip.value = -1; - // } - // if (soulEquip.value == defaultValue) { - // soulEquip.value = -1; - // } - // if (spiritEquip.value == defaultValue) { - // spiritEquip.value = -1; - // } - // if (especialEquipLevel.value == defaultValue) { - // especialEquipLevel.value = -1; - // } - resonanceAddition.put(HongMengAttributeEnum.LEVEL, resonanceLevel); - // resonanceAddition.put(HongMengAttributeEnum.EQUIP, hongMengAddAttributeEquip); - // resonanceAddition.put(HongMengAttributeEnum.SOUL_EQUIP, soulEquip); - // resonanceAddition.put(HongMengAttributeEnum.SPIRIT_EQUIP, spiritEquip); - heroManager.setResonanceAddition(resonanceAddition); - - /*** ============================= 开始组装鸿蒙阵信息 ==================================== **/ - // 当前时间,秒 - long now = TimeUtils.now() / 1000; - // 鸿蒙守卫 - List hongmengGuardsProto = new ArrayList<>(); - Map hongmengGuards = heroManager.getHongmengGuards(); - Map hongmengGuardTime = heroManager.getHongmengGuardTime(); - for (Map.Entry entry : hongmengGuards.entrySet()) { - HeroInfoProto.HongmengHeroInfo hongmengHeroInfo = HeroInfoProto.HongmengHeroInfo.newBuilder() - .setGridId(entry.getKey()) - .setHeroId(entry.getValue()) - .setTime(hongmengGuardTime.containsKey(entry.getKey()) ? (hongmengGuardTime.get(entry.getKey()) - now < 0 ? 0 : (hongmengGuardTime.get(entry.getKey()) - now)) : 0) - .build(); - hongmengGuardsProto.add(hongmengHeroInfo); - } - // 共鸣属性 - List hongmengAdditions = new ArrayList<>(); - for (Map.Entry entry : resonanceAddition.entrySet()) { - HeroInfoProto.HongmengAddition hongmengAddition = HeroInfoProto.HongmengAddition - .newBuilder() - .setAdditionType(entry.getKey().getPropertyId()) - .setValue(entry.getValue().value) - .setHeroTid(entry.getValue().heroTid) - .build(); - hongmengAdditions.add(hongmengAddition); - } - // 共鸣使者 - List hongmengResonancesProto = new ArrayList<>(); - Map hongmengResonances = heroManager.getResonances(); - Map hongmengResonanceTime = heroManager.getResonancesTime(); - for (Map.Entry entry : hongmengResonances.entrySet()) { - HeroInfoProto.HongmengHeroInfo hongmengHeroInfo = HeroInfoProto.HongmengHeroInfo.newBuilder() - .setGridId(entry.getKey()) - .setHeroId(entry.getValue()) - .setTime(hongmengResonanceTime.containsKey(entry.getKey()) ? (hongmengResonanceTime.get(entry.getKey()) - now < 0 ? 0 : (hongmengResonanceTime.get(entry.getKey()) - now)) : 0) - .build(); - hongmengResonancesProto.add(hongmengHeroInfo); - } - hongmengInfoIndication.addAllHongmengGuards(hongmengGuardsProto).addAllHongmengAdditions(hongmengAdditions) - .addAllHongmengResonacnes(hongmengResonancesProto).setHongmengTabletMax(tabletMax).build(); - } - // 返回协议 - if (judge) { - MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.HONGMENG_GET_INFO_RESPONSE_VALUE, hongmengInfoIndication.build(), true); - } else { - if (hongmengInfoIndication.getHongmengGuardsCount() > 0 || hongmengInfoIndication.getHongmengAdditionsCount() > 0 || hongmengInfoIndication.getHongmengResonacnesCount() > 0) { - MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.HONGMENG_INFO_INDICATION_VALUE, hongmengInfoIndication.build(), true); - } - } - } catch (Exception e) { - LOGGER.error("鸿蒙阵报错,{}",e.getMessage()); - } +// try { +// User user = UserManager.getUser(session.getUid()); +// // 鸿蒙阵逻辑 +// HeroInfoProto.HongmengInfoIndication.Builder hongmengInfoIndication = HeroInfoProto.HongmengInfoIndication.newBuilder(); +// +// SGlobalSystemConfig sGlobalSystemConfig = STableManager.getConfig(SGlobalSystemConfig.class).get(FunctionIdEnum.HongMeng.getFunctionType()); +// boolean open = GlobleSystemLogic.checkOpen(user, sGlobalSystemConfig); +// // 鸿蒙阵开启条件 +// if (open) { +// /** ========================== 共鸣信息初始化 =========================== **/ +// // 限制表 鸿蒙守卫数量#鸿蒙碑使者等级 +// String[] openLevel = SSpecialConfig.getStringValue(SSpecialConfig.HONGMENG_UPGRADE_LIMIT).split("#"); +// +// Map hongmengs = new HashMap<>(Integer.parseInt(openLevel[0])); +// int defaultValue = 1000; +// // 只要任意鸿蒙守卫中有未穿戴装备的部位,就不会触发装备共鸣,共鸣区域放入神将时不再自动卸下装备 -1:不用卸下装备,其他表示装备星级 +// HongMengAddAttribute hongMengAddAttributeEquip = new HongMengAddAttribute(0, defaultValue); +// // 只要任意鸿蒙守卫未穿戴魂宝/灵宝,或强化等级为0,便不会触发对应宝物的共鸣 +// HongMengAddAttribute soulEquip = new HongMengAddAttribute(0, defaultValue); +// HongMengAddAttribute spiritEquip = new HongMengAddAttribute(0, defaultValue); +// +// // 共鸣等级=鸿蒙守卫中最低的等级 +// HongMengAddAttribute resonanceLevel = new HongMengAddAttribute(0, defaultValue); +// +// // 共鸣法宝=鸿蒙守卫中法宝强化最低等级 +// HongMengAddAttribute especialEquipLevel = new HongMengAddAttribute(0, defaultValue); +// +// /** ========================== 开始处理玩家信息,更 =========================== **/ +// HeroManager heroManager = user.getHeroManager(); +// // 共鸣英雄池 +// Map resonances = heroManager.getResonances(); +// // 第一个格子免费开启 +// if (!resonances.containsKey(1)) { +// resonances.put(1, ""); +// heroManager.setResonances(resonances); +// // 成就任务 +// user.getUserMissionManager().onGameEvent(user, GameEvent.ONE_MISSION_TYPE_CONSUME, MissionType.HONGMENG_RESONANCE_LATTICE, resonances.size()); +// } +// +// // 获取玩家全部英雄 +// Collection values = heroManager.getHeroMap().values(); +// List heroes = new ArrayList<>(values); +// +// // 是否开启鸿蒙碑 +// int tabletMax = 0; +// // 是否为鸿蒙碑 +// if (heroManager.getHongmengTablet() > 0) { +// // 等级 +// resonanceLevel.value = heroManager.getHongmengTablet(); +// tabletMax = heroManager.getHongmengMaxLevelByInt(); +// } else { +// // 玩家英雄背包按等级排序 +// Collections.sort(heroes); +// +// for (int i = 0; i < heroes.size(); i++) { +// Hero hero = heroes.get(i); +// resonances.forEach((k, v) -> { +// if (v.equals(hero.getId())) { +// try { +// // 共鸣格子更新 +// unLoadResonance(session, MessageTypeProto.MessageType.HONGMENG_RESONANCE_RESPONSE, k, 0); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } +// }); +// // 是否开启鸿蒙碑 +// if (hero.getOriginalLevel() >= Integer.parseInt(openLevel[1])) { +// tabletMax++; +// } +// // 等级 +// hongmengLevel(resonanceLevel, hero); +// hongmengs.put(i + 1, hero.getId()); +// if (hongmengs.size() >= Integer.parseInt(openLevel[0])) { +// break; +// } +// } +// +// // 更新鸿蒙使者 +// heroManager.setHongmengGuards(hongmengs); +// +// // 鸿蒙碑,觉醒限制 +// if (tabletMax >= Integer.parseInt(openLevel[0]) && heroManager.getHongmengTablet() == 0) { +// // 开启鸿蒙碑 +// heroManager.setHongmengTablet(Integer.parseInt(openLevel[1])); +// for (String resetLevelId : heroManager.getHongmengGuards().values()) { +// Hero hero = heroManager.getHero(resetLevelId); +// if (hero == null) { +// continue; +// } +// hero.setLevel(1); +// hero.setBreakId(0); +// } +// // 初始化鸿蒙碑等级上限 +// for (Hero hero : heroes) { +// if (hero.getStar() >= SSpecialConfig.getIntegerValue(SSpecialConfig.lamp_awaken_hero_content_parm)) { +// heroManager.addHongmengMaxLevel(hero.getTemplateId()); +// } +// } +// tabletMax = heroManager.getHongmengMaxLevelByInt(); +// resonanceLevel.heroTid = 0; +// resonanceLevel.value = heroManager.getHongmengTablet(); +// +// // 鸿蒙碑新手引导推送 +// HeroInfoProto.HongmengSteleNewHandIndication.Builder builder = HeroInfoProto.HongmengSteleNewHandIndication.newBuilder().setState(1); +// MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.HONGMENG_STELE_NEW_HAND_INDICATION.getNumber(), builder.build(), true); +// } +// } +// // 守卫/使者英雄池 +// Map guards = heroManager.getHongmengGuards(); +// // 英雄装备 +// Map equipMap = user.getEquipManager().getEquipMap(); +// +// // if (guards.size() >= Integer.parseInt(openLevel[0])) { +// // for (int i = 0; i < guards.size(); i++) { +// // Hero hero = user.getHeroManager().getHero(guards.get(i + 1)); +// // if (hero == null) { +// // // 找不到英雄,不存在这些共鸣属性 +// // hongMengAddAttributeEquip = new HongMengAddAttribute(0, defaultValue); +// // soulEquip = new HongMengAddAttribute(0, defaultValue); +// // spiritEquip = new HongMengAddAttribute(0, defaultValue); +// // break; +// // } +// // // 装备 +// // hongmengEquip(hongMengAddAttributeEquip, hero); +// // // 魂宝 灵宝 +// // soulOrSpirit(soulEquip, 1, equipMap, hero); +// // soulOrSpirit(spiritEquip, 2, equipMap, hero); +// // } +// // } +// +// /*** ============================= 计算共鸣信息 ==================================== **/ +// Map resonanceAddition = heroManager.getResonanceAddition(); +// resonanceAddition.clear(); +// if (resonanceLevel.value == defaultValue) { +// resonanceLevel.value = -1; +// } +// // if (hongMengAddAttributeEquip.value == defaultValue) { +// // hongMengAddAttributeEquip.value = -1; +// // } +// // if (soulEquip.value == defaultValue) { +// // soulEquip.value = -1; +// // } +// // if (spiritEquip.value == defaultValue) { +// // spiritEquip.value = -1; +// // } +// // if (especialEquipLevel.value == defaultValue) { +// // especialEquipLevel.value = -1; +// // } +// resonanceAddition.put(HongMengAttributeEnum.LEVEL, resonanceLevel); +// // resonanceAddition.put(HongMengAttributeEnum.EQUIP, hongMengAddAttributeEquip); +// // resonanceAddition.put(HongMengAttributeEnum.SOUL_EQUIP, soulEquip); +// // resonanceAddition.put(HongMengAttributeEnum.SPIRIT_EQUIP, spiritEquip); +// heroManager.setResonanceAddition(resonanceAddition); +// +// /*** ============================= 开始组装鸿蒙阵信息 ==================================== **/ +// // 当前时间,秒 +// long now = TimeUtils.now() / 1000; +// // 鸿蒙守卫 +// List hongmengGuardsProto = new ArrayList<>(); +// Map hongmengGuards = heroManager.getHongmengGuards(); +// Map hongmengGuardTime = heroManager.getHongmengGuardTime(); +// for (Map.Entry entry : hongmengGuards.entrySet()) { +// HeroInfoProto.HongmengHeroInfo hongmengHeroInfo = HeroInfoProto.HongmengHeroInfo.newBuilder() +// .setGridId(entry.getKey()) +// .setHeroId(entry.getValue()) +// .setTime(hongmengGuardTime.containsKey(entry.getKey()) ? (hongmengGuardTime.get(entry.getKey()) - now < 0 ? 0 : (hongmengGuardTime.get(entry.getKey()) - now)) : 0) +// .build(); +// hongmengGuardsProto.add(hongmengHeroInfo); +// } +// // 共鸣属性 +// List hongmengAdditions = new ArrayList<>(); +// for (Map.Entry entry : resonanceAddition.entrySet()) { +// HeroInfoProto.HongmengAddition hongmengAddition = HeroInfoProto.HongmengAddition +// .newBuilder() +// .setAdditionType(entry.getKey().getPropertyId()) +// .setValue(entry.getValue().value) +// .setHeroTid(entry.getValue().heroTid) +// .build(); +// hongmengAdditions.add(hongmengAddition); +// } +// // 共鸣使者 +// List hongmengResonancesProto = new ArrayList<>(); +// Map hongmengResonances = heroManager.getResonances(); +// Map hongmengResonanceTime = heroManager.getResonancesTime(); +// for (Map.Entry entry : hongmengResonances.entrySet()) { +// HeroInfoProto.HongmengHeroInfo hongmengHeroInfo = HeroInfoProto.HongmengHeroInfo.newBuilder() +// .setGridId(entry.getKey()) +// .setHeroId(entry.getValue()) +// .setTime(hongmengResonanceTime.containsKey(entry.getKey()) ? (hongmengResonanceTime.get(entry.getKey()) - now < 0 ? 0 : (hongmengResonanceTime.get(entry.getKey()) - now)) : 0) +// .build(); +// hongmengResonancesProto.add(hongmengHeroInfo); +// } +// hongmengInfoIndication.addAllHongmengGuards(hongmengGuardsProto).addAllHongmengAdditions(hongmengAdditions) +// .addAllHongmengResonacnes(hongmengResonancesProto).setHongmengTabletMax(tabletMax).build(); +// } +// // 返回协议 +// if (judge) { +// MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.HONGMENG_GET_INFO_RESPONSE_VALUE, hongmengInfoIndication.build(), true); +// } else { +// if (hongmengInfoIndication.getHongmengGuardsCount() > 0 || hongmengInfoIndication.getHongmengAdditionsCount() > 0 || hongmengInfoIndication.getHongmengResonacnesCount() > 0) { +// MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.HONGMENG_INFO_INDICATION_VALUE, hongmengInfoIndication.build(), true); +// } +// } +// } catch (Exception e) { +// LOGGER.error("鸿蒙阵报错,{}",e.getMessage()); +// } } /** @@ -6050,45 +6050,46 @@ public class HeroLogic { * @throws Exception */ public boolean isUseFunction(int uid, int functionId, String... heroId) throws Exception { - User user = UserManager.getUser(uid); - HeroManager heroManager = user.getHeroManager(); - // 记录每个英雄 - Map heroMap = new HashMap<>(heroId.length); - - for (String s : heroId) { - // 属性初始化 - int[] value = null; - heroMap.put(s, false); - - if ("".equals(s) || s == null) { - heroMap.put(s, true); - continue; - } - // 鸿蒙守卫 - if (heroManager.getHongmengTablet() <= 0 && heroManager.getHongmengGuards().containsValue(s)) { - value = SSpecialConfig.getOnceArrayValue(SSpecialConfig.HONGMENG_GUARD_LIMIT); - } - // 鸿蒙使者 - if (heroManager.getHongmengTablet() > 0 && heroManager.getHongmengGuards().containsValue(s)) { - value = SSpecialConfig.getOnceArrayValue(SSpecialConfig.HONGMENG_MESSENGER_LIMIT); - } - // 共鸣神将 - if (heroManager.getResonances().containsValue(s)) { - value = SSpecialConfig.getOnceArrayValue(SSpecialConfig.HONGMENG_TAKE_LIMIT); - } - if (value == null) { - heroMap.put(s, true); - continue; - } - // 包含类型,返回false - for (int i : value) - if (i == functionId) { - heroMap.put(s, true); - break; - } - } - boolean contains = heroMap.containsValue(false); - return !contains; +// User user = UserManager.getUser(uid); +// HeroManager heroManager = user.getHeroManager(); +// // 记录每个英雄 +// Map heroMap = new HashMap<>(heroId.length); +// +// for (String s : heroId) { +// // 属性初始化 +// int[] value = null; +// heroMap.put(s, false); +// +// if ("".equals(s) || s == null) { +// heroMap.put(s, true); +// continue; +// } +// // 鸿蒙守卫 +// if (heroManager.getHongmengTablet() <= 0 && heroManager.getHongmengGuards().containsValue(s)) { +// value = SSpecialConfig.getOnceArrayValue(SSpecialConfig.HONGMENG_GUARD_LIMIT); +// } +// // 鸿蒙使者 +// if (heroManager.getHongmengTablet() > 0 && heroManager.getHongmengGuards().containsValue(s)) { +// value = SSpecialConfig.getOnceArrayValue(SSpecialConfig.HONGMENG_MESSENGER_LIMIT); +// } +// // 共鸣神将 +// if (heroManager.getResonances().containsValue(s)) { +// value = SSpecialConfig.getOnceArrayValue(SSpecialConfig.HONGMENG_TAKE_LIMIT); +// } +// if (value == null) { +// heroMap.put(s, true); +// continue; +// } +// // 包含类型,返回false +// for (int i : value) +// if (i == functionId) { +// heroMap.put(s, true); +// break; +// } +// } +// boolean contains = heroMap.containsValue(false); +// return !contains; + return true; } /** 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 720407ee2..144ff5371 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 @@ -493,10 +493,10 @@ public class ItemLogic { // 验证是否可以使用功能,恭送神将 String[] heroIds = new String[heroIdsList.size()]; heroIdsList.toArray(heroIds); - boolean useFunction = HeroLogic.getInstance().isUseFunction(iSession.getUid(), HongMengFunctionEnum.FAREWELL_HERO.getPropertyId(), heroIds); - if (!useFunction){ - throw new ErrorCodeException(ErrorCode.HONGMENG_ING); - } +// boolean useFunction = HeroLogic.getInstance().isUseFunction(iSession.getUid(), HongMengFunctionEnum.FAREWELL_HERO.getPropertyId(), heroIds); +// if (!useFunction){ +// throw new ErrorCodeException(ErrorCode.HONGMENG_ING); +// } // 逻辑 User user = UserManager.getUser(iSession.getUid()); HeroManager heroManager = user.getHeroManager(); 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 5fc3f0f96..411114131 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 @@ -1277,7 +1277,7 @@ public class PlayerLogic { builder.addEquip(CBean2Proto.getFaxiangEquipProto(faxiang)); } builder.setForce(HeroLogic.getInstance().calForce(heroNotBufferAttribute)); - builder.setHero(CBean2Proto.getHeroByHongMeng(hero, userInMem.getHeroManager())); + builder.setHero(CBean2Proto.getHero(hero)); builder.setPlayerGiftLv(HeroLogic.getInstance().getGiftPotentialLv(userInMem, heroId)); Map guildSkill = userInMem.getGuildMyInfo().getGuildSkill(); int profession = SCHero.getsCHero().get(hero.getTemplateId()).getProfession(); 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 65ac94824..49974291f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -364,18 +364,18 @@ public class CBean2Proto { .setFirstOrMini(function); } - public static CommonProto.Hero getHero(Hero hero,HeroManager heroManager){ - // 鸿蒙阵装备同步 - Collection equipList =hero.getEquipByPositionMap().values(); - if(equipList.isEmpty()){ - equipList = hero.getEquipByHongmengPositionMap(heroManager).values(); - } - - CommonProto.Hero hero1 = getHero(hero); - hero1.toBuilder().addAllEquipIdList(equipList); - - return hero1; - } +// public static CommonProto.Hero getHero(Hero hero,HeroManager heroManager){ +// // 鸿蒙阵装备同步 +// Collection equipList =hero.getEquipByPositionMap().values(); +// if(equipList.isEmpty()){ +// equipList = hero.getEquipByHongmengPositionMap(heroManager).values(); +// } +// +// CommonProto.Hero hero1 = getHero(hero); +// hero1.toBuilder().addAllEquipIdList(equipList); +// +// return hero1; +// } public static CommonProto.Hero getHero(Hero hero){ // 魂印 @@ -439,13 +439,13 @@ public class CBean2Proto { /*** * 获取鸿蒙阵英雄属性 */ - public static CommonProto.Hero getHeroByHongMeng(Hero hero,HeroManager heroManager){ - CommonProto.Hero hero1 = getHero(hero,heroManager); - CommonProto.Hero.Builder builder = hero1.toBuilder(); - builder.setLevel(hero.getLevel(heroManager)); - builder.setBreakId(hero.getBreakIdByHongMeng(heroManager)); - return builder.build(); - } +// public static CommonProto.Hero getHeroByHongMeng(Hero hero,HeroManager heroManager){ +// CommonProto.Hero hero1 = getHero(hero,heroManager); +// CommonProto.Hero.Builder builder = hero1.toBuilder(); +// builder.setLevel(hero.getLevel(heroManager)); +// builder.setBreakId(hero.getBreakIdByHongMeng(heroManager)); +// return builder.build(); +// } /* public static CommonProto.Hero getRobotHero(SCHero scHero, SArenaRobotConfig sArenaRobotConfig) throws Exception { return CommonProto.Hero @@ -642,6 +642,7 @@ public class CBean2Proto { return monster; } + @SuppressWarnings("StringBufferReplaceableByString") public static CommonProto.FightUnitInfo.Builder getMonster(SDuoDuiTower tower, int indexId) { StringBuilder monsterPropertyList = new StringBuilder();//火风水地光暗 monsterPropertyList.append(tower.getLevel()).append("#"); //等级