From c99f1bea67bd636b40fcf5181ae47424d4e23902 Mon Sep 17 00:00:00 2001 From: duhui Date: Tue, 2 Mar 2021 17:54:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=BA=E5=99=A8=E4=BA=BA=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/blood/BloodLogic.java | 4 +- .../ljsd/jieling/logic/fight/FightUtil.java | 23 +++++++ .../jieling/logic/fight/robot/RobotInfo.java | 68 +++++++++++++++++++ tablemanager/src/main/java/config/SCHero.java | 6 ++ .../java/config/SExpeditionHolyConfig.java | 6 ++ .../main/java/config/SExpeditionSetting.java | 5 +- .../src/main/java/config/SRobotSkill.java | 36 ++++++++++ 7 files changed, 146 insertions(+), 2 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/fight/robot/RobotInfo.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/blood/BloodLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/blood/BloodLogic.java index e007411be..e99ec1b6f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/blood/BloodLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/blood/BloodLogic.java @@ -103,7 +103,7 @@ public class BloodLogic { } public CommonProto.FightTeamInfo fightDataMakeUp(Map heroSkills ,Map heroInfo,String pokmanSkill,String passiveSkill,Map remainHp,int uid) throws Exception { List heroDefendFightInfos = new ArrayList<>(); - int index=0; +// int index=0; for (Map.Entry entry : heroInfo.entrySet()) { StringBuilder propertySb = new StringBuilder(); String heroSkill = heroSkills.get(entry.getKey()); @@ -127,6 +127,8 @@ public class BloodLogic { User user = UserManager.getUser(uid, true); if(user!=null&&!user.getPokemonManager().getPokemonTeamMap().isEmpty()){ pokemonSkills = HeroLogic.getInstance().getPokemonSkills(UserManager.getUser(uid)); + }else { + } return CommonProto.FightTeamInfo. newBuilder() diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java index 9d9dd53da..a21b26444 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java @@ -17,9 +17,13 @@ import com.ljsd.jieling.logic.dao.TeamPosHeroInfo; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.fight.result.FightResult; +import com.ljsd.jieling.logic.fight.robot.RobotInfo; import com.ljsd.jieling.logic.fight.specialparm.SpecialForTeamBuildEnum; import com.ljsd.jieling.logic.hero.HeroAttributeEnum; import com.ljsd.jieling.logic.hero.HeroLogic; +import config.SRobotProperty; +import config.SRobotSkill; +import manager.STableManager; import rpc.protocols.CommonProto; import com.ljsd.jieling.util.FightDataUtil; import com.ljsd.jieling.util.MonsterUtil; @@ -479,4 +483,23 @@ public class FightUtil { + System.currentTimeMillis(); } + /** + * 创建机器人 + * @param heroTid + * @param level + * @return + */ + public static RobotInfo createRobot(int heroTid, int level){ + RobotInfo robotInfo = new RobotInfo(); + robotInfo.setHeroTid(heroTid); + // 获取对应等级的机器人信息 + SRobotProperty property = STableManager.getConfig(SRobotProperty.class).get(level); + robotInfo.setLevel(level); + robotInfo.setStar(property.getStar()); + robotInfo.setRobotHeroAttribute(HeroLogic.getInstance().calRobotHeroAttribute(property)); + robotInfo.setSkill(SRobotSkill.getSkill(heroTid)); + robotInfo.setPassiveSkill(SRobotSkill.getPassiveSkill(heroTid,property.getSkillPool()-1)); + return robotInfo; + } + } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/robot/RobotInfo.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/robot/RobotInfo.java new file mode 100644 index 000000000..276c14394 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/robot/RobotInfo.java @@ -0,0 +1,68 @@ +package com.ljsd.jieling.logic.fight.robot; + +import com.ljsd.jieling.logic.hero.HeroLogic; +import config.SRobotProperty; +import config.SRobotSkill; +import manager.STableManager; + +import java.util.Map; + +/** + * 机器人类 + */ +public class RobotInfo { + private int heroTid; + private int level; + private int star; + private Map robotHeroAttribute; + private String skill; + private String passiveSkill; + + public int getHeroTid() { + return heroTid; + } + + public void setHeroTid(int heroTid) { + this.heroTid = heroTid; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public int getStar() { + return star; + } + + public void setStar(int star) { + this.star = star; + } + + public Map getRobotHeroAttribute() { + return robotHeroAttribute; + } + + public void setRobotHeroAttribute(Map robotHeroAttribute) { + this.robotHeroAttribute = robotHeroAttribute; + } + + public String getSkill() { + return skill; + } + + public void setSkill(String skill) { + this.skill = skill; + } + + public String getPassiveSkill() { + return passiveSkill; + } + + public void setPassiveSkill(String passiveSkill) { + this.passiveSkill = passiveSkill; + } +} diff --git a/tablemanager/src/main/java/config/SCHero.java b/tablemanager/src/main/java/config/SCHero.java index 97c3ddac0..85a58e83e 100644 --- a/tablemanager/src/main/java/config/SCHero.java +++ b/tablemanager/src/main/java/config/SCHero.java @@ -58,6 +58,8 @@ public class SCHero implements BaseConfig{ private int job; + private int maxLevel; + private Map secondaryFactorMap; private Map> skillListByStar; @@ -342,4 +344,8 @@ public class SCHero implements BaseConfig{ public int getJob() { return job; } + + public int getMaxLevel() { + return maxLevel; + } } diff --git a/tablemanager/src/main/java/config/SExpeditionHolyConfig.java b/tablemanager/src/main/java/config/SExpeditionHolyConfig.java index 3c2523439..2f1e4535e 100644 --- a/tablemanager/src/main/java/config/SExpeditionHolyConfig.java +++ b/tablemanager/src/main/java/config/SExpeditionHolyConfig.java @@ -23,6 +23,8 @@ public class SExpeditionHolyConfig implements BaseConfig { private int canRepeat; // 专属英雄id,0表示没有 private int heroId; + + private int[] skillModify; @Override public void init() throws Exception { @@ -60,4 +62,8 @@ public class SExpeditionHolyConfig implements BaseConfig { public int getHeroId() { return heroId; } + + public int[] getSkillModify() { + return skillModify; + } } \ No newline at end of file diff --git a/tablemanager/src/main/java/config/SExpeditionSetting.java b/tablemanager/src/main/java/config/SExpeditionSetting.java index fca181bc9..0959da322 100644 --- a/tablemanager/src/main/java/config/SExpeditionSetting.java +++ b/tablemanager/src/main/java/config/SExpeditionSetting.java @@ -33,6 +33,7 @@ public class SExpeditionSetting implements BaseConfig { private int recruitTime; + private int[][] playerLevelfix; @Override public void init() throws Exception { @@ -96,5 +97,7 @@ public class SExpeditionSetting implements BaseConfig { return recruitTime; } - + public int[][] getPlayerLevelfix() { + return playerLevelfix; + } } \ No newline at end of file diff --git a/tablemanager/src/main/java/config/SRobotSkill.java b/tablemanager/src/main/java/config/SRobotSkill.java index 6d61d842e..391d32733 100644 --- a/tablemanager/src/main/java/config/SRobotSkill.java +++ b/tablemanager/src/main/java/config/SRobotSkill.java @@ -46,6 +46,7 @@ public class SRobotSkill implements BaseConfig { /** * 根据英雄id和下标id获取几技能 + * 主动技能+被动技能 * @param heroTid * @param index * @return @@ -64,4 +65,39 @@ public class SRobotSkill implements BaseConfig { return builder.toString(); } + /** + * 主动技能 + * @param heroTid + * @return + */ + public static String getSkill(int heroTid){ + StringBuilder builder = new StringBuilder(); + SRobotSkill robotSkill = skillMap.get(heroTid); + if (robotSkill == null){ + return ""; + } + for (int i : robotSkill.getSkill()) { + builder.append(i).append("#"); + } + return builder.toString(); + } + + /** + * 被动技能 + * @param heroTid + * @param index + * @return + */ + public static String getPassiveSkill(int heroTid, int index){ + StringBuilder builder = new StringBuilder(); + SRobotSkill robotSkill = skillMap.get(heroTid); + if (robotSkill == null){ + return ""; + } + for (int i : robotSkill.getPassiveSkill()[index]) { + builder.append(i).append("#"); + } + return builder.toString(); + } + } \ No newline at end of file