血量战斗修改
parent
e4fd71e3a5
commit
f223f8217c
|
@ -2618,31 +2618,31 @@ public class MapLogic {
|
|||
}
|
||||
endlessMapInfo.setEndlessHeroInfo(endlessHeroInfo);
|
||||
mapManager.setEndlessMapInfo(endlessMapInfo);
|
||||
List<TeamPosHeroInfo> team = user.getTeamPosManager().getTeamPosForHero().get(GlobalsDef.ENDLESS_TEAM);
|
||||
if(team!=null&&team.size()>0){
|
||||
Set<String> cacheRemove = new HashSet<>();
|
||||
Map<String, Map<Integer, Integer>> heroAllAttributeMap = mapManager.getHeroAllAttributeMap();
|
||||
if(heroAllAttributeMap !=null){
|
||||
for(Map.Entry<String, Map<Integer, Integer>> entry:heroAllAttributeMap.entrySet()){
|
||||
if(entry.getValue().get(HeroAttributeEnum.CurHP.getPropertyId())==0){
|
||||
cacheRemove.add(entry.getKey());
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!cacheRemove.isEmpty()){
|
||||
Iterator<TeamPosHeroInfo> iterator = team.iterator();
|
||||
while (iterator.hasNext()){
|
||||
TeamPosHeroInfo next = iterator.next();
|
||||
if(cacheRemove.contains(next.getHeroId())){
|
||||
if(heroAllAttributeMap.containsKey(next.getHeroId())){
|
||||
mapManager.removeOneHeroAttribute(next.getHeroId());
|
||||
}
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
user.getTeamPosManager().updateTeamPosByTeamId(GlobalsDef.ENDLESS_TEAM,team);
|
||||
}
|
||||
}
|
||||
// List<TeamPosHeroInfo> team = user.getTeamPosManager().getTeamPosForHero().get(GlobalsDef.ENDLESS_TEAM);
|
||||
// if(team!=null&&team.size()>0){
|
||||
// Set<String> cacheRemove = new HashSet<>();
|
||||
// Map<String, Map<Integer, Integer>> heroAllAttributeMap = mapManager.getHeroAllAttributeMap();
|
||||
// if(heroAllAttributeMap !=null){
|
||||
// for(Map.Entry<String, Map<Integer, Integer>> entry:heroAllAttributeMap.entrySet()){
|
||||
// if(entry.getValue().get(HeroAttributeEnum.CurHP.getPropertyId())==0){
|
||||
// cacheRemove.add(entry.getKey());
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// if(!cacheRemove.isEmpty()){
|
||||
// Iterator<TeamPosHeroInfo> iterator = team.iterator();
|
||||
// while (iterator.hasNext()){
|
||||
// TeamPosHeroInfo next = iterator.next();
|
||||
// if(cacheRemove.contains(next.getHeroId())){
|
||||
// if(heroAllAttributeMap.containsKey(next.getHeroId())){
|
||||
// mapManager.removeOneHeroAttribute(next.getHeroId());
|
||||
// }
|
||||
// iterator.remove();
|
||||
// }
|
||||
// }
|
||||
// user.getTeamPosManager().updateTeamPosByTeamId(GlobalsDef.ENDLESS_TEAM,team);
|
||||
// }
|
||||
// }
|
||||
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true);
|
||||
}
|
||||
|
|
|
@ -215,19 +215,19 @@ public class EndlessMap extends AbstractMap{
|
|||
int groupId = option[0];
|
||||
|
||||
PVEFightEvent pveFightEvent = new PVEFightEvent(uid, GlobalsDef.ENDLESS_TEAM, 10, "", GameFightType.MapFastFight, groupId, 3);
|
||||
// List<TeamPosHeroInfo> endteam = user.getTeamPosManager().getTeamPosForHero().get(GlobalsDef.ENDLESS_TEAM);
|
||||
// Map<String,Integer> bloodMap = new HashMap<>();
|
||||
// Map<String, Integer> endlessHeroInfo = mapManager.getEndlessMapInfo().getEndlessHeroInfo();
|
||||
// for (int i = 0 ; i <endteam.size();i++) {
|
||||
//
|
||||
// String heroId= 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);
|
||||
//// int blood = (int)((heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())/10000d)* endlessHeroInfo.get(heroId));
|
||||
//
|
||||
// bloodMap.put(heroId,(10000-endlessHeroInfo.get(heroId))/100);
|
||||
// }
|
||||
// pveFightEvent.setAttackBloodMap(bloodMap);
|
||||
List<TeamPosHeroInfo> endteam = user.getTeamPosManager().getTeamPosForHero().get(GlobalsDef.ENDLESS_TEAM);
|
||||
Map<String,Integer> bloodMap = new HashMap<>();
|
||||
Map<String, Integer> endlessHeroInfo = mapManager.getEndlessMapInfo().getEndlessHeroInfo();
|
||||
for (int i = 0 ; i <endteam.size();i++) {
|
||||
|
||||
String heroId= 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);
|
||||
// int blood = (int)((heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())/10000d)* endlessHeroInfo.get(heroId));
|
||||
|
||||
bloodMap.put(heroId,(10000-endlessHeroInfo.get(heroId))/100);
|
||||
}
|
||||
pveFightEvent.setAttackBloodMap(bloodMap);
|
||||
//怪物剩余血量
|
||||
FightResult fightResult = FightDispatcher.dispatcher(pveFightEvent);
|
||||
int[] checkResult = fightResult.getCheckResult();
|
||||
|
@ -251,17 +251,18 @@ public class EndlessMap extends AbstractMap{
|
|||
int position = info.getPosition();
|
||||
Hero hero = user.getHeroManager().getHero(info.getHeroId());
|
||||
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){
|
||||
per = 1;
|
||||
}
|
||||
System.out.println("per"+per);
|
||||
mapManager.updateEndlessHeroHp(info.getHeroId(),per);
|
||||
}
|
||||
endlessRefreshMonster(uid,mapManager.getTriggerXY());
|
||||
List<TeamPosHeroInfo> updateTeam = new ArrayList<>();
|
||||
Map<String, Integer> endlessHeroInfo = mapManager.getEndlessMapInfo().getEndlessHeroInfo();
|
||||
Map<String, Integer> endlessThisHeroInfo = mapManager.getEndlessMapInfo().getEndlessHeroInfo();
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -290,6 +290,7 @@ public class FightUtil {
|
|||
.setUnitSkillIds(heroSkill.substring(0,heroSkill.length()-1))
|
||||
.setProperty(property.substring(0, property.length()-1))
|
||||
.setStar(hero.getStar())
|
||||
.setPosition(teamPosHeroInfo.getPosition())
|
||||
.build();
|
||||
heroFightInfos.add(heroFightInfo);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue