无尽修改

back_recharge
lvxinran 2019-09-20 18:34:52 +08:00
parent c2d214d337
commit 2d869c875d
1 changed files with 71 additions and 56 deletions

View File

@ -1255,43 +1255,51 @@ public class MapLogic {
mapManager.updateEndlessFightCount(1+mapManager.getEndlessMapInfo().getFightCount()); mapManager.updateEndlessFightCount(1+mapManager.getEndlessMapInfo().getFightCount());
} }
if (resultCode == 0) { if (resultCode == 0) {
//无尽副本复活消耗 if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4){
reviveConsumeExecution(user); //无尽副本复活消耗
// 失败需要等待n秒后复活所有英雄 reviveConsumeExecution(user);
int dieCount = user.getMapManager().getDieCount(); for(Map.Entry<String, Map<Integer, Integer>> entry: mapManager.getHeroAllAttributeMap().entrySet()){
dieCount++; mapManager.updateHeroOneAttribute(entry.getKey(),HeroAttributeEnum.CurHP.getPropertyId(),0);
user.getMapManager().setDieCount(dieCount); mapManager.updateEndlessHeroHp(entry.getKey(),0);
int[] reviveTime = sChallengeConfig.getReviveTime(); }
long time = (long) (MathUtils.calABX(dieCount, reviveTime) * 1000); }else {
user.getMapManager().setCanMoveTime(TimeUtils.now() + time); // 失败需要等待n秒后复活所有英雄
int leftTime = getLeftTime(user, true); int dieCount = user.getMapManager().getDieCount();
remainHp.clear(); dieCount++;
if (leftTime <= (int) (time / 1000)) { user.getMapManager().setDieCount(dieCount);
resetMapInfo(user, false); int[] reviveTime = sChallengeConfig.getReviveTime();
} else { long time = (long) (MathUtils.calABX(dieCount, reviveTime) * 1000);
initTeamInfo(mapManager.getTeamId(), uid, user, mapManager,2); user.getMapManager().setCanMoveTime(TimeUtils.now() + time);
List<TeamPosHeroInfo> teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(mapManager.getTeamId()); int leftTime = getLeftTime(user, true);
for (TeamPosHeroInfo heroInfo : teamPosHeroInfos) { remainHp.clear();
Hero hero = user.getHeroManager().getHero(heroInfo.getHeroId()); if (leftTime <= (int) (time / 1000)) {
if (hero == null) { resetMapInfo(user, false);
continue; } else {
initTeamInfo(mapManager.getTeamId(), uid, user, mapManager, 2);
List<TeamPosHeroInfo> teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(mapManager.getTeamId());
for (TeamPosHeroInfo heroInfo : teamPosHeroInfos) {
Hero hero = user.getHeroManager().getHero(heroInfo.getHeroId());
if (hero == null) {
continue;
}
Map<Integer, Integer> heroAttributeMap = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero, false, teamId);
remainHp.add(heroAttributeMap.get(HeroAttributeEnum.CurHP.getPropertyId()));
} }
Map<Integer, Integer> heroAttributeMap = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
remainHp.add(heroAttributeMap.get(HeroAttributeEnum.CurHP.getPropertyId()));
} }
} }
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder(); CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
FightInfoProto.FastFightResponse build = FightInfoProto.FastFightResponse FightInfoProto.FastFightResponse build = FightInfoProto.FastFightResponse
.newBuilder() .newBuilder()
.setResult(resultCode) .setResult(resultCode)
.setEnventDrop(dropBuilder) .setEnventDrop(dropBuilder)
.addAllRemainHpList(remainHp) .addAllRemainHpList(remainHp)
.setEssenceValue(mapManager.getEssenceValue()) .setEssenceValue(mapManager.getEssenceValue())
.setLastXY(mapManager.getLastXY()) .setLastXY(mapManager.getLastXY())
.build(); .build();
mapManager.setCurXY(mapManager.getLastXY()); mapManager.setCurXY(mapManager.getLastXY());
MessageUtil.sendMessage(session, 1, messageType.getNumber(), build, true); MessageUtil.sendMessage(session, 1, messageType.getNumber(), build, true);
return; return;
} }
List<TeamPosHeroInfo> team = user.getTeamPosManager().getTeamPosForHero().get(teamId); List<TeamPosHeroInfo> team = user.getTeamPosManager().getTeamPosForHero().get(teamId);
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4&&teamId==401){ if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4&&teamId==401){
@ -1482,29 +1490,36 @@ public class MapLogic {
mapManager.setLastFightResult(resultCode); mapManager.setLastFightResult(resultCode);
if (resultCode == 0 || dropout == 1) { if (resultCode == 0 || dropout == 1) {
//无尽副本复活消耗 if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4){
reviveConsumeExecution(user); //无尽副本复活消耗
// 失败需要等待n秒后复活所有英雄 reviveConsumeExecution(user);
int dieCount = user.getMapManager().getDieCount(); for(Map.Entry<String, Map<Integer, Integer>> entry: mapManager.getHeroAllAttributeMap().entrySet()){
dieCount++; mapManager.updateHeroOneAttribute(entry.getKey(),HeroAttributeEnum.CurHP.getPropertyId(),0);
user.getMapManager().setDieCount(dieCount); mapManager.updateEndlessHeroHp(entry.getKey(),0);
int[] reviveTime = sChallengeConfig.getReviveTime(); }
long time = (long) (MathUtils.calABX(dieCount, reviveTime) * 1000); }else{
user.getMapManager().setCanMoveTime(TimeUtils.now() + time); // 失败需要等待n秒后复活所有英雄
int leftTime = getLeftTime(user, true); int dieCount = user.getMapManager().getDieCount();
remainHp.clear(); dieCount++;
if (leftTime <= (int) (time / 1000)) { user.getMapManager().setDieCount(dieCount);
resetMapInfo(user, false); int[] reviveTime = sChallengeConfig.getReviveTime();
} else { long time = (long) (MathUtils.calABX(dieCount, reviveTime) * 1000);
initTeamInfo(mapManager.getTeamId(), uid, user, mapManager,2); user.getMapManager().setCanMoveTime(TimeUtils.now() + time);
Map<String, Map<Integer, Integer>> heroAllAttributeMap = mapManager.getHeroAllAttributeMap(); int leftTime = getLeftTime(user, true);
List<TeamPosHeroInfo> teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(mapManager.getTeamId()); remainHp.clear();
for (TeamPosHeroInfo heroInfo : teamPosHeroInfos) { if (leftTime <= (int) (time / 1000)) {
Hero hero = user.getHeroManager().getHero(heroInfo.getHeroId()); resetMapInfo(user, false);
if (hero == null) { } else {
continue; initTeamInfo(mapManager.getTeamId(), uid, user, mapManager,2);
Map<String, Map<Integer, Integer>> heroAllAttributeMap = mapManager.getHeroAllAttributeMap();
List<TeamPosHeroInfo> teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(mapManager.getTeamId());
for (TeamPosHeroInfo heroInfo : teamPosHeroInfos) {
Hero hero = user.getHeroManager().getHero(heroInfo.getHeroId());
if (hero == null) {
continue;
}
remainHp.add(heroAllAttributeMap.get(hero.getId()).get(HeroAttributeEnum.CurHP.getPropertyId()));
} }
remainHp.add(heroAllAttributeMap.get(hero.getId()).get(HeroAttributeEnum.CurHP.getPropertyId()));
} }
} }
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder(); CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();