七界战斗

back_recharge
duhui 2021-09-23 18:28:35 +08:00
parent 8ba37641ba
commit 5d341b4a1c
1 changed files with 17 additions and 6 deletions

View File

@ -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<Integer, List<CommonProto.FightUnitInfo>> monsterByGroup = FightUtil.makeMonsterGroup(monsterGroup);
// 技能处理
for (List<CommonProto.FightUnitInfo> value : monsterByGroup.values()) {
for (CommonProto.FightUnitInfo info : value) {
monsterSkills(user,stage,info);
Map<Integer, List<CommonProto.FightUnitInfo>> map = new HashMap<>();
// 遍历
for (Map.Entry<Integer, List<CommonProto.FightUnitInfo>> entry : monsterByGroup.entrySet()) {
List<CommonProto.FightUnitInfo> 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<CommonProto.FightUnitInfo> monsterPokemonByGroup = MonsterUtil.getMonsterPokemonByGroup(monsterGroup);
List<CommonProto.FightTeamInfo> monsterTeamList = new ArrayList<>(nums);
for(int i=0;i<nums;i++){
List<CommonProto.FightTeamInfo> monsterGroupList = BehaviorUtil.getFightTeamInfos(monsterByGroup,monsterPokemonByGroup, i);
List<CommonProto.FightTeamInfo> 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<Integer> 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());
}
}