无尽副本修改

back_recharge
lvxinran 2019-09-11 14:22:28 +08:00
parent 16cbf1c5ef
commit 4f84f0d815
3 changed files with 12 additions and 43 deletions

View File

@ -104,7 +104,7 @@ public class ChatLogic {
//0|content需要解字符串 //0|content需要解字符串
String s = message; String s = message;
String[] strs = message.split("|",3); String[] strs = message.split("|",3);
if(strs.length<3){ if(strs.length==3){
s = strs[2]; s = strs[2];
} }
result = ShieldedWordUtils.checkName(user,s,false,ChatContentType.WORLD_CHAT); result = ShieldedWordUtils.checkName(user,s,false,ChatContentType.WORLD_CHAT);

View File

@ -632,6 +632,9 @@ public class MapLogic {
// MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"行动力不足!"); // MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"行动力不足!");
// return; // return;
} }
Set<Integer> walkCell = mapManager.getEndlessMapInfo().getWalkCell();
walkCell.addAll(new HashSet<>(cells));
mapManager.endlessWalkCellSave(walkCell);
} }
// LOGGER.info("updateMap() uid=>{} mapId =>{} eventId=>{}", uid, mapManager.getCurMapId(), cell.getEventId()); // LOGGER.info("updateMap() uid=>{} mapId =>{} eventId=>{}", uid, mapManager.getCurMapId(), cell.getEventId());
@ -1281,32 +1284,19 @@ public class MapLogic {
return; return;
} }
List<TeamPosHeroInfo> team = user.getTeamPosManager().getTeamPosForHero().get(teamId); List<TeamPosHeroInfo> team = user.getTeamPosManager().getTeamPosForHero().get(teamId);
for (TeamPosHeroInfo teamPosHeroInfo : team) {
Map<Integer, Integer> heroAttr = mapManager.getHeroAllAttributeMap().get(teamPosHeroInfo.getHeroId());
if(heroAttr!=null){
if(heroAttr.get(HeroAttributeEnum.Hp.getPropertyId())<checkResult[teamPosHeroInfo.getPosition()+1]){
continue;
}
mapManager.updateHeroOneAttribute(teamPosHeroInfo.getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[teamPosHeroInfo.getPosition()+1]);
}
}
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4&&teamId==401){ if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4&&teamId==401){
for (int i = 0 ; i <team.size();i++) { for (int i = 0 ; i <team.size();i++) {
Hero hero = user.getHeroManager().getHero(team.get(i).getHeroId()); Hero hero = user.getHeroManager().getHero(team.get(i).getHeroId());
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId); Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
int per = (int)(checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000); int per = (int)(checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000);
mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per); mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per);
Map<Integer, Integer> currAttrMap = mapManager.getHeroAllAttributeMap().get(hero.getId());
if(currAttrMap==null){
continue;
}
if(currAttrMap.get(HeroAttributeEnum.CurHP.getPropertyId())==0){
mapManager.removeOneHeroAttribute(hero.getId());
}else{
mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]); mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]);
} }
}
}else{
for (TeamPosHeroInfo teamPosHeroInfo : team) {
mapManager.updateHeroOneAttribute(teamPosHeroInfo.getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[teamPosHeroInfo.getPosition()+1]);
}
} }
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4) { if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4) {
endlessRefreshMonster(session,destoryXY); endlessRefreshMonster(session,destoryXY);
@ -1542,16 +1532,13 @@ 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);
Set<String> cacheRemove = new HashSet<>();
for (int i = 0 ; i <team.size();i++) { for (int i = 0 ; i <team.size();i++) {
Hero hero = user.getHeroManager().getHero(team.get(i).getHeroId()); Hero hero = user.getHeroManager().getHero(team.get(i).getHeroId());
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId); Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
int per =(int) (checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000); int per =(int) (checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000);
mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per); mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per);
mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]); mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]);
if(per<=0){
cacheRemove.add(hero.getId());
}
} }
// if(!cacheRemove.isEmpty()){ // if(!cacheRemove.isEmpty()){
// Iterator<TeamPosHeroInfo> iterator = team.iterator(); // Iterator<TeamPosHeroInfo> iterator = team.iterator();
@ -3164,25 +3151,7 @@ public class MapLogic {
user.getTeamPosManager().updateTeamPosByTeamId(401,team); user.getTeamPosManager().updateTeamPosByTeamId(401,team);
} }
} }
// Iterator<TeamPosHeroInfo> iterator = team.iterator();
// while(iterator.hasNext()){
// TeamPosHeroInfo teamInfo = iterator.next();
// EndlessHero endlessHero = endlessMapInfo.getEndlessHeroInfo().get(teamInfo.getHeroId());
// if(endlessHero==null){
// continue;
// }
// if(endlessHero.getCurHp()==0){
// Map<String, Map<Integer, Integer>> heroAllAttributeMap = mapManager.getHeroAllAttributeMap();
// if(heroAllAttributeMap.containsKey(teamInfo.getHeroId())){
// heroAllAttributeMap.remove(teamInfo.getHeroId());
// }
// mapManager.setHeroAllAttributeMap(heroAllAttributeMap);
// iterator.remove();
// }
// }
//
// user.getTeamPosManager().updateTeamPosByTeamId(401,team);
// }
MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true); MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true);
} }

View File

@ -777,7 +777,7 @@ public class MapManager extends MongoBase {
} }
public void endlessWalkCellSave(Set<Integer> walkCells){ public void endlessWalkCellSave(Set<Integer> walkCells){
endlessMapInfo.setWalkCell(walkCells); endlessMapInfo.setWalkCell(walkCells);
updateString("endlessMapInfo.walkCells",walkCells); updateString("endlessMapInfo.walkCell",walkCells);
} }
public void endlessMapInfoSave(Map<Integer, Cell> mapInfo){ public void endlessMapInfoSave(Map<Integer, Cell> mapInfo){
endlessMapInfo.setMapInfo(mapInfo); endlessMapInfo.setMapInfo(mapInfo);