无尽副本血量计算

back_recharge
lvxinran 2019-09-05 09:56:18 +08:00
parent a960ad504c
commit f823388c75
3 changed files with 31 additions and 22 deletions

View File

@ -87,7 +87,7 @@ public class HandlerLogicThread extends Thread{
whiteMsg.add(MessageTypeProto.MessageType.FAMILY_GET_APPLY_REQUEST_VALUE);
whiteMsg.add(MessageTypeProto.MessageType.ADVENTURE_BOSSHURT_REQEUST_VALUE);
whiteMsg.add(MessageTypeProto.MessageType.USER_FORCE_CHANGE_REQUEST_VALUE);
}

View File

@ -343,7 +343,7 @@ public class MapLogic {
if(initType!=2){
Integer heroPercent = endlessHeroInfo.get(heroInfo.getHeroId());
if(heroPercent!=null){
int curHp = (int)((float)heroPercent/10000 * heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId()));
int curHp = (int)((double)heroPercent/10000 * heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId()));
heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(),curHp);
}
}else{
@ -351,26 +351,7 @@ public class MapLogic {
}
}
}
// if(teamId == 401){
// List<TeamPosHeroInfo> teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(teamId);
// List<String> heroes = new ArrayList<>(teamPosHeroInfos.size());
// Map<String, Map<Integer, Integer>> heroAllAttributeMap = new HashMap<>(teamPosHeroInfos.size());
// for (TeamPosHeroInfo heroInfo : teamPosHeroInfos) {
// Hero hero = user.getHeroManager().getHero(heroInfo.getHeroId());
// if (hero == null) {
// break;
// }
// Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
// Map<String, Integer> endlessHeroInfo = user.getMapManager().getEndlessMapInfo().getEndlessHeroInfo();
// if(endlessHeroInfo!=null&& endlessHeroInfo.size()>0){
// int curHp = endlessHeroInfo.get(heroInfo.getHeroId()) /10000 * heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId());
// heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(), curHp);
// }
// heroAllAttributeMap.put(hero.getId(), heroAllAttribute);
// heroes.add(heroInfo.getHeroId());
// }
// user.getMapManager().setHeroAllAttributeMap(heroAllAttributeMap);
// }
heroAllAttributeMap.put(hero.getId(), heroAllAttribute);
heroes.add(heroInfo.getHeroId());
}

View File

@ -406,6 +406,34 @@ public class HeroLogic {
return;
}
user.getTeamPosManager().changeTeamInfo(teamId,heroIds,pokemonoIds);
//401图内可以更改编队
if(teamId == 401){
List<TeamPosHeroInfo> teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(teamId);
if(teamPosHeroInfos!=null){
List<String> heroes = new ArrayList<>(teamPosHeroInfos.size());
Map<String, Map<Integer, Integer>> heroAllAttributeMap = new HashMap<>(teamPosHeroInfos.size());
for (TeamPosHeroInfo heroInfo : teamPosHeroInfos) {
Hero hero = user.getHeroManager().getHero(heroInfo.getHeroId());
if (hero == null) {
break;
}
if(heroAllAttributeMap.get(heroInfo)!=null){
continue;
}
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
Map<String, Integer> endlessHeroInfo = user.getMapManager().getEndlessMapInfo().getEndlessHeroInfo();
if(endlessHeroInfo!=null&& endlessHeroInfo.size()>0){
int curHp = (int)(endlessHeroInfo.get(heroInfo.getHeroId()) /10000.00 * heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId()));
heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(), curHp);
}
heroAllAttributeMap.put(hero.getId(), heroAllAttribute);
heroes.add(heroInfo.getHeroId());
}
user.getMapManager().setHeroAllAttributeMap(heroAllAttributeMap);
}else{
user.getTeamPosManager().changeTeamInfo(teamId,heroIds,pokemonoIds);
}
}
user.getUserMissionManager().onGameEvent(user,GameEvent.HERO_IN_TEAM,heroIds.size());
MessageUtil.sendMessage(iSession,1,MessageTypeProto.MessageType.TEAM_POS_SAVE_RESPONSE_VALUE,null,true);
}