From 5d341b4a1ced5fd41a7ff90c88474db0340e5351 Mon Sep 17 00:00:00 2001 From: duhui Date: Thu, 23 Sep 2021 18:28:35 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=B8=83=E7=95=8C=E6=88=98=E6=96=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eventhandler/SevenWorldFightHandler.java | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/eventhandler/SevenWorldFightHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/eventhandler/SevenWorldFightHandler.java index a1b2d1eda..b5ad4c742 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/eventhandler/SevenWorldFightHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/eventhandler/SevenWorldFightHandler.java @@ -34,6 +34,7 @@ import java.util.stream.Collectors; * @author hj * 七界试炼挑战 */ +@SuppressWarnings("ALL") public class SevenWorldFightHandler implements IFightEventProcesor { private static final Logger LOGGER = LoggerFactory.getLogger(SevenWorldFightHandler.class); @@ -188,16 +189,26 @@ public class SevenWorldFightHandler implements IFightEventProcesor { int monsterGroup = stage.getMonsterGroup(); Map> monsterByGroup = FightUtil.makeMonsterGroup(monsterGroup); // 技能处理 - for (List value : monsterByGroup.values()) { - for (CommonProto.FightUnitInfo info : value) { - monsterSkills(user,stage,info); + Map> map = new HashMap<>(); + // 遍历 + for (Map.Entry> entry : monsterByGroup.entrySet()) { + List infos = new ArrayList<>(); + // 队伍信息 + for (CommonProto.FightUnitInfo info : entry.getValue()) { + // 重新打包封装,因为需要处理技能 + CommonProto.FightUnitInfo.Builder builder = info.toBuilder(); + monsterSkills(user,stage,builder); + infos.add(builder.build()); } + map.put(entry.getKey(),infos); } + monsterByGroup.clear(); + monsterByGroup = null; // 灵兽 List monsterPokemonByGroup = MonsterUtil.getMonsterPokemonByGroup(monsterGroup); List monsterTeamList = new ArrayList<>(nums); for(int i=0;i monsterGroupList = BehaviorUtil.getFightTeamInfos(monsterByGroup,monsterPokemonByGroup, i); + List monsterGroupList = BehaviorUtil.getFightTeamInfos(map,monsterPokemonByGroup,i); monsterTeamList.addAll(monsterGroupList); } return monsterTeamList; @@ -208,7 +219,7 @@ public class SevenWorldFightHandler implements IFightEventProcesor { * @param user * @param monster */ - private static void monsterSkills(User user,SQijieStage stage, CommonProto.FightUnitInfo monster){ + private static void monsterSkills(User user,SQijieStage stage, CommonProto.FightUnitInfo.Builder monster){ List relicSkills = relicSkills(user, Integer.parseInt(monster.getUnitId()), monster.getPosition(), 0); StringBuilder str = new StringBuilder(); // 原本的技能 @@ -224,7 +235,7 @@ public class SevenWorldFightHandler implements IFightEventProcesor { } // 遗物技能 relicSkills.forEach(v->str.append(HeroLogic.DIVISION).append(v)); - monster.toBuilder().setUnitSkillIds(str.toString()); + monster.setUnitSkillIds(str.toString()); } } From a10e1988ec5cce5ec8f4577cf60838370c6b4394 Mon Sep 17 00:00:00 2001 From: duhui Date: Fri, 24 Sep 2021 10:24:40 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=B8=83=E7=95=8C=E6=88=98=E6=96=97?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/fight/eventhandler/SevenWorldFightHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/eventhandler/SevenWorldFightHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/eventhandler/SevenWorldFightHandler.java index b5ad4c742..3c6b39fb2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/eventhandler/SevenWorldFightHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/eventhandler/SevenWorldFightHandler.java @@ -223,7 +223,7 @@ public class SevenWorldFightHandler implements IFightEventProcesor { List relicSkills = relicSkills(user, Integer.parseInt(monster.getUnitId()), monster.getPosition(), 0); StringBuilder str = new StringBuilder(); // 原本的技能 - str.append(monster.getUnitSkillIds()); + str.append(monster.getUnitSkillIds().substring(0,monster.getUnitSkillIds().length()-1)); // 特性被动 for (int i : stage.getBuff()) { SQijieStageBuff stageBuff = STableManager.getConfig(SQijieStageBuff.class).get(i); From f69e502d39fb541340f1661cae062e700a30cb4b Mon Sep 17 00:00:00 2001 From: duhui Date: Fri, 24 Sep 2021 11:51:17 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=B8=83=E7=95=8C=E9=81=97=E7=89=A9buf?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/fight/eventhandler/SevenWorldFightHandler.java | 5 ++++- tablemanager/src/main/java/config/SQijieHolyConfig.java | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/eventhandler/SevenWorldFightHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/eventhandler/SevenWorldFightHandler.java index 3c6b39fb2..281503466 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/eventhandler/SevenWorldFightHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/eventhandler/SevenWorldFightHandler.java @@ -17,6 +17,7 @@ import com.ljsd.jieling.logic.help.HelpHero; import com.ljsd.jieling.logic.help.HelpHeroLogic; import com.ljsd.jieling.logic.hero.HeroAttributeEnum; import com.ljsd.jieling.logic.hero.HeroLogic; +import com.ljsd.jieling.tools.Utils; import com.ljsd.jieling.util.FightDataUtil; import com.ljsd.jieling.util.MonsterUtil; import config.*; @@ -169,7 +170,9 @@ public class SevenWorldFightHandler implements IFightEventProcesor { if (positions[2] == 0 || positions[2] == scHero.getProfession()){ // 角色位置验证 if (positions[3] == 0 || positions[3] == pos){ - list.add(holyConfig.getBuff()); + for (int buff : holyConfig.getBuff()) { + list.add(buff); + } } } } diff --git a/tablemanager/src/main/java/config/SQijieHolyConfig.java b/tablemanager/src/main/java/config/SQijieHolyConfig.java index 2bc001891..08e2754c1 100644 --- a/tablemanager/src/main/java/config/SQijieHolyConfig.java +++ b/tablemanager/src/main/java/config/SQijieHolyConfig.java @@ -22,7 +22,7 @@ public class SQijieHolyConfig implements BaseConfig { private int[] position; - private int buff; + private int[] buff; @Override public void init() throws Exception { @@ -54,7 +54,7 @@ public class SQijieHolyConfig implements BaseConfig { return position; } - public int getBuff() { + public int[] getBuff() { return buff; }