无尽副本修改
parent
3fad81a218
commit
5ed723c9da
|
@ -1235,7 +1235,10 @@ public class MapLogic {
|
||||||
}
|
}
|
||||||
int groupId = option[0];
|
int groupId = option[0];
|
||||||
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4) {
|
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4) {
|
||||||
groupId =STableManager.getFigureConfig(MapStaticConfig.class).getDifficultyMonster().get(groupId);
|
Integer newGroupId= STableManager.getFigureConfig(MapStaticConfig.class).getDifficultyMonster().get(groupId);
|
||||||
|
if(newGroupId!=null){
|
||||||
|
groupId = newGroupId;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
int destoryXY = mapManager.getTriggerXY();
|
int destoryXY = mapManager.getTriggerXY();
|
||||||
CommonProto.FightTeamInfo fightTeamInfo = BehaviorUtil.getFightTeamInfo(user, mapManager.getTeamId(), true);
|
CommonProto.FightTeamInfo fightTeamInfo = BehaviorUtil.getFightTeamInfo(user, mapManager.getTeamId(), true);
|
||||||
|
@ -1277,14 +1280,13 @@ public class MapLogic {
|
||||||
if (resultCode == 0) {
|
if (resultCode == 0) {
|
||||||
//todo 无尽副本不复活记得改回去
|
//todo 无尽副本不复活记得改回去
|
||||||
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4) {
|
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4) {
|
||||||
// //无尽副本复活消耗
|
// //无尽副本复活消耗
|
||||||
reviveConsumeExecution(user);
|
reviveConsumeExecution(user);
|
||||||
}
|
for(Map.Entry<String, Map<Integer, Integer>> entry: mapManager.getHeroAllAttributeMap().entrySet()){
|
||||||
// for(Map.Entry<String, Map<Integer, Integer>> entry: mapManager.getHeroAllAttributeMap().entrySet()){
|
mapManager.updateHeroOneAttribute(entry.getKey(),HeroAttributeEnum.CurHP.getPropertyId(),0);
|
||||||
// mapManager.updateHeroOneAttribute(entry.getKey(),HeroAttributeEnum.CurHP.getPropertyId(),0);
|
mapManager.updateEndlessHeroHp(entry.getKey(),0);
|
||||||
// mapManager.updateEndlessHeroHp(entry.getKey(),0);
|
}
|
||||||
// }
|
}else {
|
||||||
// }else {
|
|
||||||
// 失败需要等待n秒后复活所有英雄
|
// 失败需要等待n秒后复活所有英雄
|
||||||
int dieCount = user.getMapManager().getDieCount();
|
int dieCount = user.getMapManager().getDieCount();
|
||||||
dieCount++;
|
dieCount++;
|
||||||
|
@ -1308,7 +1310,7 @@ public class MapLogic {
|
||||||
remainHp.add(heroAttributeMap.get(HeroAttributeEnum.CurHP.getPropertyId()));
|
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()
|
||||||
|
@ -1515,67 +1517,67 @@ public class MapLogic {
|
||||||
mapManager.setLastFightResult(resultCode);
|
mapManager.setLastFightResult(resultCode);
|
||||||
if (resultCode == 0 || dropout == 1) {
|
if (resultCode == 0 || dropout == 1) {
|
||||||
//todo 无尽副本复活
|
//todo 无尽副本复活
|
||||||
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4){
|
if (SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType() == 4) {
|
||||||
//无尽副本复活消耗
|
//无尽副本复活消耗
|
||||||
reviveConsumeExecution(user);
|
reviveConsumeExecution(user);
|
||||||
// for(Map.Entry<String, Map<Integer, Integer>> entry: mapManager.getHeroAllAttributeMap().entrySet()){
|
for (Map.Entry<String, Map<Integer, Integer>> entry : mapManager.getHeroAllAttributeMap().entrySet()) {
|
||||||
// mapManager.updateHeroOneAttribute(entry.getKey(),HeroAttributeEnum.CurHP.getPropertyId(),0);
|
mapManager.updateHeroOneAttribute(entry.getKey(), HeroAttributeEnum.CurHP.getPropertyId(), 0);
|
||||||
// mapManager.updateEndlessHeroHp(entry.getKey(),0);
|
mapManager.updateEndlessHeroHp(entry.getKey(), 0);
|
||||||
// }
|
}
|
||||||
}
|
|
||||||
// else{
|
|
||||||
// 失败需要等待n秒后复活所有英雄
|
|
||||||
int dieCount = user.getMapManager().getDieCount();
|
|
||||||
dieCount++;
|
|
||||||
user.getMapManager().setDieCount(dieCount);
|
|
||||||
int[] reviveTime = sChallengeConfig.getReviveTime();
|
|
||||||
long time = (long) (MathUtils.calABX(dieCount, reviveTime) * 1000);
|
|
||||||
user.getMapManager().setCanMoveTime(TimeUtils.now() + time);
|
|
||||||
int leftTime = getLeftTime(user, true);
|
|
||||||
remainHp.clear();
|
|
||||||
if (leftTime <= (int) (time / 1000)) {
|
|
||||||
resetMapInfo(user, false);
|
|
||||||
} else {
|
} else {
|
||||||
initTeamInfo(mapManager.getTeamId(), uid, user, mapManager,2);
|
// 失败需要等待n秒后复活所有英雄
|
||||||
Map<String, Map<Integer, Integer>> heroAllAttributeMap = mapManager.getHeroAllAttributeMap();
|
int dieCount = user.getMapManager().getDieCount();
|
||||||
List<TeamPosHeroInfo> teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(mapManager.getTeamId());
|
dieCount++;
|
||||||
for (TeamPosHeroInfo heroInfo : teamPosHeroInfos) {
|
user.getMapManager().setDieCount(dieCount);
|
||||||
Hero hero = user.getHeroManager().getHero(heroInfo.getHeroId());
|
int[] reviveTime = sChallengeConfig.getReviveTime();
|
||||||
if (hero == null) {
|
long time = (long) (MathUtils.calABX(dieCount, reviveTime) * 1000);
|
||||||
continue;
|
user.getMapManager().setCanMoveTime(TimeUtils.now() + time);
|
||||||
|
int leftTime = getLeftTime(user, true);
|
||||||
|
remainHp.clear();
|
||||||
|
if (leftTime <= (int) (time / 1000)) {
|
||||||
|
resetMapInfo(user, false);
|
||||||
|
} else {
|
||||||
|
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();
|
||||||
FightInfoProto.FightEndResponse.Builder fightEndResponse = FightInfoProto.FightEndResponse
|
FightInfoProto.FightEndResponse.Builder fightEndResponse = FightInfoProto.FightEndResponse
|
||||||
.newBuilder();
|
.newBuilder();
|
||||||
fightEndResponse.setResult(resultCode);
|
fightEndResponse.setResult(resultCode);
|
||||||
fightEndResponse.setEnventDrop(dropBuilder);
|
fightEndResponse.setEnventDrop(dropBuilder);
|
||||||
fightEndResponse.addAllRemainHpList(remainHp);
|
fightEndResponse.addAllRemainHpList(remainHp);
|
||||||
fightEndResponse.setLastXY(mapManager.getLastXY());
|
fightEndResponse.setLastXY(mapManager.getLastXY());
|
||||||
mapManager.setCurXY(mapManager.getLastXY());
|
mapManager.setCurXY(mapManager.getLastXY());
|
||||||
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==2){
|
if (SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType() == 2) {
|
||||||
fightEndResponse.setLastTowerTime((int)(mapManager.getCurrTowerTime()/1000));
|
fightEndResponse.setLastTowerTime((int) (mapManager.getCurrTowerTime() / 1000));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(sOptionConfig!=null){
|
if (sOptionConfig != null) {
|
||||||
int[][] jumpTypeValues = sOptionConfig.getJumpTypeValues();
|
int[][] jumpTypeValues = sOptionConfig.getJumpTypeValues();
|
||||||
if(jumpTypeValues.length>0 && sOptionConfig.getJumpType() == 3){
|
if (jumpTypeValues.length > 0 && sOptionConfig.getJumpType() == 3) {
|
||||||
SOptionAddCondition sOptionAddConditions = SOptionAddCondition.sOptionAddConditionMap.get(jumpTypeValues[1][1]);
|
SOptionAddCondition sOptionAddConditions = SOptionAddCondition.sOptionAddConditionMap.get(jumpTypeValues[1][1]);
|
||||||
if(sOptionAddConditions!=null && sOptionAddConditions.getType() == 7){
|
if (sOptionAddConditions != null && sOptionAddConditions.getType() == 7) {
|
||||||
Cell cell = mapManager.getMapInfo().get(triggerXY);
|
Cell cell = mapManager.getMapInfo().get(triggerXY);
|
||||||
if (cell != null ) {
|
if (cell != null) {
|
||||||
nextEventId = getNextEventId(user, cell, sOptionConfig);
|
nextEventId = getNextEventId(user, cell, sOptionConfig);
|
||||||
cell.setEventId(nextEventId);
|
cell.setEventId(nextEventId);
|
||||||
mapManager.addOrUpdateCell(triggerXY, cell);
|
mapManager.addOrUpdateCell(triggerXY, cell);
|
||||||
fightEndResponse.setEventId(nextEventId);
|
fightEndResponse.setEventId(nextEventId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true);
|
||||||
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true);
|
return;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
for (int i = 2; i < checkResult.length; i++) {
|
for (int i = 2; i < checkResult.length; i++) {
|
||||||
if (checkResult[i] <= 0) {
|
if (checkResult[i] <= 0) {
|
||||||
|
@ -1588,13 +1590,14 @@ public class MapLogic {
|
||||||
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){
|
||||||
mapManager.updateEndlessFightCount(mapManager.getEndlessMapInfo().getFightCount()+1);
|
mapManager.updateEndlessFightCount(mapManager.getEndlessMapInfo().getFightCount()+1);
|
||||||
for (int i = 0 ; i <team.size();i++) {
|
if(checkResult[0]>0){
|
||||||
Hero hero = user.getHeroManager().getHero(team.get(i).getHeroId());
|
for (int i = 0 ; i <team.size();i++) {
|
||||||
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
|
Hero hero = user.getHeroManager().getHero(team.get(i).getHeroId());
|
||||||
int per =(int) (checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000);
|
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
|
||||||
mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per);
|
int per =(int) (checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000);
|
||||||
mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]);
|
mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per);
|
||||||
|
mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// if(!cacheRemove.isEmpty()){
|
// if(!cacheRemove.isEmpty()){
|
||||||
// Iterator<TeamPosHeroInfo> iterator = team.iterator();
|
// Iterator<TeamPosHeroInfo> iterator = team.iterator();
|
||||||
|
|
|
@ -386,7 +386,7 @@ public class GlobalDataManaager {
|
||||||
}
|
}
|
||||||
int size = (int)(users.size()*0.85);
|
int size = (int)(users.size()*0.85);
|
||||||
if(size ==0){
|
if(size ==0){
|
||||||
return -1;
|
return 1;
|
||||||
}
|
}
|
||||||
int level = 0;
|
int level = 0;
|
||||||
for(int i = 0 ; i <size;i++){
|
for(int i = 0 ; i <size;i++){
|
||||||
|
|
Loading…
Reference in New Issue