血量战斗修改

back_recharge
lvxinran 2020-08-28 05:26:02 +08:00
parent e4fd71e3a5
commit f223f8217c
3 changed files with 43 additions and 41 deletions

View File

@ -2618,31 +2618,31 @@ public class MapLogic {
} }
endlessMapInfo.setEndlessHeroInfo(endlessHeroInfo); endlessMapInfo.setEndlessHeroInfo(endlessHeroInfo);
mapManager.setEndlessMapInfo(endlessMapInfo); mapManager.setEndlessMapInfo(endlessMapInfo);
List<TeamPosHeroInfo> team = user.getTeamPosManager().getTeamPosForHero().get(GlobalsDef.ENDLESS_TEAM); // List<TeamPosHeroInfo> team = user.getTeamPosManager().getTeamPosForHero().get(GlobalsDef.ENDLESS_TEAM);
if(team!=null&&team.size()>0){ // if(team!=null&&team.size()>0){
Set<String> cacheRemove = new HashSet<>(); // Set<String> cacheRemove = new HashSet<>();
Map<String, Map<Integer, Integer>> heroAllAttributeMap = mapManager.getHeroAllAttributeMap(); // Map<String, Map<Integer, Integer>> heroAllAttributeMap = mapManager.getHeroAllAttributeMap();
if(heroAllAttributeMap !=null){ // if(heroAllAttributeMap !=null){
for(Map.Entry<String, Map<Integer, Integer>> entry:heroAllAttributeMap.entrySet()){ // for(Map.Entry<String, Map<Integer, Integer>> entry:heroAllAttributeMap.entrySet()){
if(entry.getValue().get(HeroAttributeEnum.CurHP.getPropertyId())==0){ // if(entry.getValue().get(HeroAttributeEnum.CurHP.getPropertyId())==0){
cacheRemove.add(entry.getKey()); // cacheRemove.add(entry.getKey());
} // }
} // }
} // }
if(!cacheRemove.isEmpty()){ // if(!cacheRemove.isEmpty()){
Iterator<TeamPosHeroInfo> iterator = team.iterator(); // Iterator<TeamPosHeroInfo> iterator = team.iterator();
while (iterator.hasNext()){ // while (iterator.hasNext()){
TeamPosHeroInfo next = iterator.next(); // TeamPosHeroInfo next = iterator.next();
if(cacheRemove.contains(next.getHeroId())){ // if(cacheRemove.contains(next.getHeroId())){
if(heroAllAttributeMap.containsKey(next.getHeroId())){ // if(heroAllAttributeMap.containsKey(next.getHeroId())){
mapManager.removeOneHeroAttribute(next.getHeroId()); // mapManager.removeOneHeroAttribute(next.getHeroId());
} // }
iterator.remove(); // iterator.remove();
} // }
} // }
user.getTeamPosManager().updateTeamPosByTeamId(GlobalsDef.ENDLESS_TEAM,team); // user.getTeamPosManager().updateTeamPosByTeamId(GlobalsDef.ENDLESS_TEAM,team);
} // }
} // }
MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true); MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true);
} }

View File

@ -215,19 +215,19 @@ public class EndlessMap extends AbstractMap{
int groupId = option[0]; int groupId = option[0];
PVEFightEvent pveFightEvent = new PVEFightEvent(uid, GlobalsDef.ENDLESS_TEAM, 10, "", GameFightType.MapFastFight, groupId, 3); PVEFightEvent pveFightEvent = new PVEFightEvent(uid, GlobalsDef.ENDLESS_TEAM, 10, "", GameFightType.MapFastFight, groupId, 3);
// List<TeamPosHeroInfo> endteam = user.getTeamPosManager().getTeamPosForHero().get(GlobalsDef.ENDLESS_TEAM); List<TeamPosHeroInfo> endteam = user.getTeamPosManager().getTeamPosForHero().get(GlobalsDef.ENDLESS_TEAM);
// Map<String,Integer> bloodMap = new HashMap<>(); Map<String,Integer> bloodMap = new HashMap<>();
// Map<String, Integer> endlessHeroInfo = mapManager.getEndlessMapInfo().getEndlessHeroInfo(); Map<String, Integer> endlessHeroInfo = mapManager.getEndlessMapInfo().getEndlessHeroInfo();
// for (int i = 0 ; i <endteam.size();i++) { for (int i = 0 ; i <endteam.size();i++) {
//
// String heroId= endteam.get(i).getHeroId(); String heroId= endteam.get(i).getHeroId();
//// Hero hero = user.getHeroManager().getHero(endteam.get(i).getHeroId()); // Hero hero = user.getHeroManager().getHero(endteam.get(i).getHeroId());
//// Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,GlobalsDef.ENDLESS_TEAM); // Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,GlobalsDef.ENDLESS_TEAM);
//// int blood = (int)((heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())/10000d)* endlessHeroInfo.get(heroId)); // int blood = (int)((heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())/10000d)* endlessHeroInfo.get(heroId));
//
// bloodMap.put(heroId,(10000-endlessHeroInfo.get(heroId))/100); bloodMap.put(heroId,(10000-endlessHeroInfo.get(heroId))/100);
// } }
// pveFightEvent.setAttackBloodMap(bloodMap); pveFightEvent.setAttackBloodMap(bloodMap);
//怪物剩余血量 //怪物剩余血量
FightResult fightResult = FightDispatcher.dispatcher(pveFightEvent); FightResult fightResult = FightDispatcher.dispatcher(pveFightEvent);
int[] checkResult = fightResult.getCheckResult(); int[] checkResult = fightResult.getCheckResult();
@ -251,17 +251,18 @@ public class EndlessMap extends AbstractMap{
int position = info.getPosition(); int position = info.getPosition();
Hero hero = user.getHeroManager().getHero(info.getHeroId()); Hero hero = user.getHeroManager().getHero(info.getHeroId());
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,GlobalsDef.ENDLESS_TEAM); Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,GlobalsDef.ENDLESS_TEAM);
int per = (int)(checkResult[position+1] / heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000d); int per = (int)(checkResult[position+1] *10000d / heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId()));
if(checkResult[position+1]>0&&per<=0){ if(checkResult[position+1]>0&&per<=0){
per = 1; per = 1;
} }
System.out.println("per"+per);
mapManager.updateEndlessHeroHp(info.getHeroId(),per); mapManager.updateEndlessHeroHp(info.getHeroId(),per);
} }
endlessRefreshMonster(uid,mapManager.getTriggerXY()); endlessRefreshMonster(uid,mapManager.getTriggerXY());
List<TeamPosHeroInfo> updateTeam = new ArrayList<>(); List<TeamPosHeroInfo> updateTeam = new ArrayList<>();
Map<String, Integer> endlessHeroInfo = mapManager.getEndlessMapInfo().getEndlessHeroInfo(); Map<String, Integer> endlessThisHeroInfo = mapManager.getEndlessMapInfo().getEndlessHeroInfo();
for(TeamPosHeroInfo info:team){ for(TeamPosHeroInfo info:team){
if(endlessHeroInfo.containsKey(info.getHeroId())&&endlessHeroInfo.get(info.getHeroId())!=0){ if(endlessThisHeroInfo.containsKey(info.getHeroId())&&endlessThisHeroInfo.get(info.getHeroId())!=0){
updateTeam.add(info); updateTeam.add(info);
} }
} }

View File

@ -290,6 +290,7 @@ public class FightUtil {
.setUnitSkillIds(heroSkill.substring(0,heroSkill.length()-1)) .setUnitSkillIds(heroSkill.substring(0,heroSkill.length()-1))
.setProperty(property.substring(0, property.length()-1)) .setProperty(property.substring(0, property.length()-1))
.setStar(hero.getStar()) .setStar(hero.getStar())
.setPosition(teamPosHeroInfo.getPosition())
.build(); .build();
heroFightInfos.add(heroFightInfo); heroFightInfos.add(heroFightInfo);
} }