山河社稷图

back_recharge
xuexinpeng 2021-05-18 10:13:37 +08:00
parent 30115154eb
commit 9cb30eb9da
1 changed files with 24 additions and 19 deletions

View File

@ -31,6 +31,9 @@ public class HardStageLogic {
private static Map<Integer, List<Integer>> reportRecord;//全服第一次三星通过,最快速度三星通过
private static int hardStageBuffCopy = 100;//buff类型-赋值6个相同神将
private static int hardStageBuffLimit = 101;//buff类型-只能上阵限制类型神将
/**
*
@ -102,21 +105,22 @@ public class HardStageLogic {
int currentStar = node.getState();
//当前战斗的星星状态
StringBuffer currenState = StringUtil.intArrToStringArr(num);;
StringBuffer currenState = StringUtil.intArrToStringArr(num);
;
//已存在的星星状态
StringBuffer existState = reformatBinary(currentStar);
//荣耀三星
if(currenState.toString().equals("111")&&existState.toString().equals("000")){
for (int rewardId: config.getReward1()) {
if (currenState.toString().equals("111") && existState.toString().equals("000")) {
for (int rewardId : config.getReward1()) {
if (addDropAndStar(node, dropList, rewardId, user)) {
if(!node.isFirst()){
if (!node.isFirst()) {
node.setFirst(true);
}
}
}
node.setState(7);
addStar +=3;
return addStar;
addStar += 3;
return addStar;
}
for (int i = 2; i >= 0; i--) {
if (currenState.charAt(i) == '1' && existState.charAt(i) == '0') {
@ -150,27 +154,28 @@ public class HardStageLogic {
user.getTeamPosManager().setCurTeamPosId(teamId);
List<CommonProto.FightUnitInfo> heroFightInfos = new ArrayList<>();
List<TeamPosHeroInfo> teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(teamId);
//只能使用一个神将 复制为6个神将 TODO
if(nodeConfig.getHardStageBuff() == 12 &&teamPosHeroInfos.size() == 1){
//只能使用一个神将 复制为6个神将 6是否需要写死
SHardStageBuff buff = SHardStageBuff.getConfigMap().get(nodeConfig.getHardStageBuff());
if (buff.getType() == hardStageBuffCopy && teamPosHeroInfos.size() == 1) {
int position = teamPosHeroInfos.get(0).getPosition();
for(int i =1;i<=6;i++){
if(position!= i){
teamPosHeroInfos.add(new TeamPosHeroInfo(teamPosHeroInfos.get(0).getHeroId(),i));
for (int i = 1; i <= 6; i++) {
if (position != i) {
teamPosHeroInfos.add(new TeamPosHeroInfo(teamPosHeroInfos.get(0).getHeroId(), i));
}
}
}
for (TeamPosHeroInfo teamPosHeroInfo : teamPosHeroInfos) {
Hero hero;
hero = user.getHeroManager().getHero(teamPosHeroInfo.getHeroId());
if (hero == null) {
continue;
}
SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId());
if(nodeConfig.getHardStageBuff()!=0){
SHardStageBuff buff = SHardStageBuff.getConfigMap().get(nodeConfig.getHardStageBuff());
if(buff != null&& buff.getType()==101) {//TODO
if (!Arrays.stream(buff.getVocation()).boxed().anyMatch(n->n.equals(Integer.valueOf(scHero.getPropertyName())))) {
//某关卡只能上阵限制类型的英雄
if (nodeConfig.getHardStageBuff() != 0) {
buff = SHardStageBuff.getConfigMap().get(nodeConfig.getHardStageBuff());
if (buff != null && buff.getType() == hardStageBuffLimit) {
SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId());
if (!Arrays.stream(buff.getVocation()).boxed().anyMatch(n -> n.equals(Integer.valueOf(scHero.getPropertyName())))) {
continue;
}
}
@ -181,7 +186,7 @@ public class HardStageLogic {
HeroLogic.getInstance().getHeroSkills(user, hero, skillSb);
if (nodeConfig.getHardStageBuff() != 0) {
SHardStageBuff buff = SHardStageBuff.getConfigMap().get(nodeConfig.getHardStageBuff());
buff = SHardStageBuff.getConfigMap().get(nodeConfig.getHardStageBuff());
if (buff.getType() == 2 || buff.getType() == 3) {
skillSb.append(buff.getPassiveSkillLogic()).append("#");
}
@ -230,7 +235,7 @@ public class HardStageLogic {
node.setHasPass(true);
dropList.addAll(getFirstRewards(user, nodeConfig));//关卡通过奖励
//SHardStage nextNodeConfig = SHardStage.getConfigMap().get(nodeConfig.getNextLevel());
if(SHardStage.getPreList(nodeConfig.getId()) != null){
if (SHardStage.getPreList(nodeConfig.getId()) != null) {
SHardStage.getPreList(nodeConfig.getId()).stream().forEach(n -> {
if (n != null) {
user.getHardStageManager().openNewNode(user, n);