无尽副本修改

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需要解字符串
String s = message;
String[] strs = message.split("|",3);
if(strs.length<3){
if(strs.length==3){
s = strs[2];
}
result = ShieldedWordUtils.checkName(user,s,false,ChatContentType.WORLD_CHAT);

View File

@ -632,6 +632,9 @@ public class MapLogic {
// MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"行动力不足!");
// 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());
@ -1281,32 +1284,19 @@ public class MapLogic {
return;
}
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){
for (int i = 0 ; i <team.size();i++) {
Hero hero = user.getHeroManager().getHero(team.get(i).getHeroId());
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
int per = (int)(checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000);
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]);
}
}
}else{
for (TeamPosHeroInfo teamPosHeroInfo : team) {
mapManager.updateHeroOneAttribute(teamPosHeroInfo.getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[teamPosHeroInfo.getPosition()+1]);
}
}
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4) {
endlessRefreshMonster(session,destoryXY);
@ -1542,16 +1532,13 @@ public class MapLogic {
List<TeamPosHeroInfo> team = user.getTeamPosManager().getTeamPosForHero().get(teamId);
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4&&teamId==401){
mapManager.updateEndlessFightCount(mapManager.getEndlessMapInfo().getFightCount()+1);
Set<String> cacheRemove = new HashSet<>();
for (int i = 0 ; i <team.size();i++) {
Hero hero = user.getHeroManager().getHero(team.get(i).getHeroId());
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
int per =(int) (checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000);
mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per);
mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]);
if(per<=0){
cacheRemove.add(hero.getId());
}
}
// if(!cacheRemove.isEmpty()){
// Iterator<TeamPosHeroInfo> iterator = team.iterator();
@ -3164,25 +3151,7 @@ public class MapLogic {
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);
}

View File

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