删除英雄技能获取多余方法

back_recharge
jiahuiwen 2021-11-08 17:51:31 +08:00
parent 4bcc279ea3
commit 9366e2acd4
2 changed files with 7 additions and 186 deletions

View File

@ -644,39 +644,6 @@ public class FightUtil {
return robotInfo;
}
public static CommonProto.FightTeamInfo makeCrossPersonData(ArenaOfUser arenaOfUser, int teamId,long deforce) {
List<CommonProto.FightUnitInfo> heroFightInfos = new ArrayList<>();
ArenaOfHeroManager heroManager = arenaOfUser.getHeroManager();
List<TeamPosHeroInfo> teamPosHeroInfos = heroManager.getTeams().get(teamId);
for (TeamPosHeroInfo teamPosHeroInfo : teamPosHeroInfos) {
ArenaOfHero hero = heroManager.getHeros().get(teamPosHeroInfo.getHeroId());
if (hero == null) {
continue;
}
StringBuilder propertySb = new StringBuilder();
String heroSkill = HeroLogic.getInstance().getCrossHeroSkillStr(arenaOfUser, hero).toString();
Map<Integer, Long> attributeMap = heroManager.getHeros().get(hero.getId()).getAttributeMapByTeam().get(teamId);
String property = HeroLogic.getInstance().getHeroPropertyBuilder(propertySb, hero.getTemplateId(), hero.getLevel(), attributeMap).toString();
CommonProto.FightUnitInfo heroFightInfo = CommonProto.FightUnitInfo
.newBuilder()
.setUnitId(Integer.toString(hero.getTemplateId()))
.setUnitSkillIds(heroSkill.substring(0, heroSkill.length() - 1))
.setProperty(property.substring(0, property.length() - 1))
.setPosition(teamPosHeroInfo.getPosition())
.setStar(hero.getStar())
.setSkinId(hero.getSkin())
.setGodSoulLv(hero.getGodSoulLv())
.build();
heroFightInfos.add(heroFightInfo);
}
return CommonProto.FightTeamInfo.
newBuilder()
.addAllFightUnitList(heroFightInfos)
.addAllPokemonUnitList(HeroLogic.getInstance().getCrossPokemonSkills(arenaOfUser))
.setTeamPassiveList("")
.setForceScore(deforce)
.build();
}
//TODO 规范这个参数
public static CommonProto.FightTeamInfo makeCrossPersonData(CSPlayer csPlayer, int teamId, ArenaRecord arenaRecord, CrossArenaManager crossArenaManager) throws Exception {
@ -684,7 +651,6 @@ public class FightUtil {
if (csPlayer == null) {
return null;//throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
CoreSettings coreSettings = ConfigurableApplicationContextManager.getBean(CoreSettings.class);
List<CommonProto.FightUnitInfo> heroFightInfos = new ArrayList<>();
if (GameApplication.serverId == csPlayer.getServerId()) {
//本服玩家
@ -701,7 +667,8 @@ public class FightUtil {
continue;
}
StringBuilder propertySb = new StringBuilder();
String heroSkill = HeroLogic.getInstance().getCrossHeroSkillStr(user, hero).toString();
StringBuilder skillSb = new StringBuilder();
String heroSkill = HeroLogic.getInstance().getHeroSkills(user, hero, skillSb).toString();
Map<Integer, Long> attributeMap = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero, false, teamId);
String property = HeroLogic.getInstance().getHeroPropertyBuilder(propertySb, hero.getTemplateId(), hero.getLevel(user.getHeroManager()), attributeMap).toString();
CommonProto.FightUnitInfo heroFightInfo = CommonProto.FightUnitInfo

View File

@ -1986,157 +1986,6 @@ public class HeroLogic {
}
public StringBuilder getCrossHeroSkillStr(ArenaOfUser user, ArenaOfHero hero) {
List<Integer> skillList = new ArrayList<>();
SCHero tempHero = SCHero.getsCHero().get(hero.getTemplateId());
List<Integer> skillListByStar = tempHero.getSkillListByStar(hero.getStar());
if (skillListByStar != null) {
skillList.addAll(skillListByStar);
}
// 大于10星,觉醒技
if (hero.getStar() > HERO_MAX_STAR) {
skillList.addAll(tempHero.getAwakSkills(1, hero.getBreakId()));
skillList.addAll(tempHero.getAwakSkills(2, hero.getStarBreakId()));
} else {
skillList.addAll(tempHero.getPassiveSkills(1, hero.getBreakId()));
skillList.addAll(tempHero.getPassiveSkills(2, hero.getStarBreakId()));
}
//魂印
Map<Integer, Integer> soulEquipByPositionMap = hero.getSoulEquipByPositionMap();
Map<Integer, SEquipConfig> config = STableManager.getConfig(SEquipConfig.class);
soulEquipByPositionMap.values().forEach(e -> {
Arrays.stream(config.get(e).getPassiveSkill()).forEach(skillList::add);
});
//法宝技能
int[] equipTalismana = tempHero.getEquipTalismana();
if (equipTalismana.length >= 1 && hero.getStar() >= equipTalismana[0]) {
int especialEquipLevel = hero.getEspecialEquipLevel();
int especialEquipId = equipTalismana[1];
Map<Integer, SEquipTalismana> sEquipTalismana = SEquipTalismana.equipTalismanaStarMap.get(especialEquipId);
sEquipTalismana.forEach((k, v) -> {
if (k <= especialEquipLevel && v.getOpenSkillRules() != null) {
Arrays.stream(v.getOpenSkillRules()).forEach(i -> skillList.add(i));
}
});
}
// 紫府神印技能
Collection<PurpleMansionSeal> seals = user.getSeals().values();
seals.forEach(v -> {
// 使用中神印
if (v.getState() == 1) {
// 附身神印
if (v.getType() == 1) {
if (v.getSubId().equals(hero.getId())) {
getPurpleMansionSealSkill(v.getSealId(), tempHero, skillList);
}
}
// 通用神印
else {
getPurpleMansionSealSkill(v.getSealId(), tempHero, skillList);
}
}
});
//神魂技能
if (hero.getGodSoulLv() > 0) {
List<Integer> godSoulSkills = GetGodSoulSkill(hero.getTemplateId(), hero.getGodSoulLv());
skillList.addAll(godSoulSkills);
}
StringBuilder sb = new StringBuilder();
coverSkill(skillList);
for (int i = 0; i < skillList.size(); i++) {
Integer skill = skillList.get(i);
if (i < 2) {
sb.append(skill).append(DIVISION);
continue;
}
SPassiveSkillLogicConfig config1 = SPassiveSkillLogicConfig.getConfig(skill);
if (config1 != null && config1.getEffectiveRange() == 1) {
sb.append(skill).append(DIVISION);
}
}
return sb;
}
public StringBuilder getCrossHeroSkillStr(User user, Hero hero) {
List<Integer> skillList = new ArrayList<>();
SCHero tempHero = SCHero.getsCHero().get(hero.getTemplateId());
List<Integer> skillListByStar = tempHero.getSkillListByStar(hero.getStar());
if (skillListByStar != null) {
skillList.addAll(skillListByStar);
}
// 大于10星,觉醒技
if (hero.getStar() > HERO_MAX_STAR) {
skillList.addAll(tempHero.getAwakSkills(1, hero.getBreakId()));
skillList.addAll(tempHero.getAwakSkills(2, hero.getStarBreakId()));
} else {
skillList.addAll(tempHero.getPassiveSkills(1, hero.getBreakId()));
skillList.addAll(tempHero.getPassiveSkills(2, hero.getStarBreakId()));
}
//魂印
Map<Integer, Integer> soulEquipByPositionMap = hero.getSoulEquipByPositionMap();
Map<Integer, SEquipConfig> config = STableManager.getConfig(SEquipConfig.class);
soulEquipByPositionMap.values().forEach(e -> {
Arrays.stream(config.get(e).getPassiveSkill()).forEach(skillList::add);
});
//法宝技能
int[] equipTalismana = tempHero.getEquipTalismana();
if (equipTalismana.length >= 1 && hero.getStar() >= equipTalismana[0]) {
int especialEquipLevel = hero.getEspecialEquipLevel();
int especialEquipId = equipTalismana[1];
Map<Integer, SEquipTalismana> sEquipTalismana = SEquipTalismana.equipTalismanaStarMap.get(especialEquipId);
sEquipTalismana.forEach((k, v) -> {
if (k <= especialEquipLevel && v.getOpenSkillRules() != null) {
Arrays.stream(v.getOpenSkillRules()).forEach(i -> skillList.add(i));
}
});
}
// 紫府神印技能
Collection<PurpleMansionSeal> seals = user.getHeroManager().getPurpleMansionSeal().values();
seals.forEach(v -> {
// 使用中神印
if (v.getState() == 1) {
// 附身神印
if (v.getType() == 1) {
if (v.getSubId().equals(hero.getId())) {
getPurpleMansionSealSkill(v.getSealId(), tempHero, skillList);
}
}
// 通用神印
else {
getPurpleMansionSealSkill(v.getSealId(), tempHero, skillList);
}
}
});
StringBuilder sb = new StringBuilder();
coverSkill(skillList);
for (int i = 0; i < skillList.size(); i++) {
Integer skill = skillList.get(i);
if (i < 2) {
sb.append(skill).append(DIVISION);
continue;
}
SPassiveSkillLogicConfig config1 = SPassiveSkillLogicConfig.getConfig(skill);
if (config1 != null && config1.getEffectiveRange() == 1) {
sb.append(skill).append(DIVISION);
}
}
return sb;
}
public StringBuilder getCrossHeroSkillStr(CrossArenaManager crossArenaManager, com.ljsd.jieling.thrift.idl.ArenaOfHero hero) {
List<Integer> skillList = new ArrayList<>();
@ -2236,6 +2085,11 @@ public class HeroLogic {
num -= 1;
}
}
//神魂技能
if (hero.getGodSoulLv() > 0) {
List<Integer> godSoulSkills = GetGodSoulSkill(hero.getTemplateId(), hero.getGodSoulLv());
skillList.addAll(godSoulSkills);
}
StringBuilder sb = new StringBuilder();
coverSkill(skillList);