计算英雄属性加入teamId
parent
50606d6e24
commit
f8645932db
|
@ -201,7 +201,7 @@ public class MapLogic {
|
|||
List<TeamPosHeroInfo> teamPosForHero = user.getTeamPosManager().getTeamPosForHero().get(teamId);
|
||||
for (int i = 0; i <teamPosForHero.size() ; i++) {
|
||||
String endlessHeroId = teamPosForHero.get(i).getHeroId();
|
||||
int maxHp = HeroLogic.getInstance().calHeroNotBufferAttribute(user,user.getHeroManager().getHero(endlessHeroId),true).get(1);
|
||||
int maxHp = HeroLogic.getInstance().calHeroNotBufferAttribute(user,user.getHeroManager().getHero(endlessHeroId),true,teamId).get(1);
|
||||
mapManager.addEndlessHero(teamPosForHero.get(i).getHeroId(),maxHp);
|
||||
}
|
||||
if(mapManager.getEndlessMapInfo().getCurCell()!=0){
|
||||
|
@ -317,7 +317,7 @@ public class MapLogic {
|
|||
if (hero == null) {
|
||||
break;
|
||||
}
|
||||
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false);
|
||||
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
|
||||
if(teamId==401){
|
||||
Map<String, EndlessHero> endlessHeroInfo = user.getMapManager().getEndlessMapInfo().getEndlessHeroInfo();
|
||||
if(endlessHeroInfo!=null&&endlessHeroInfo.size()>0){
|
||||
|
@ -856,7 +856,7 @@ public class MapLogic {
|
|||
if (values[0][0] == 1) {
|
||||
for (TeamPosHeroInfo teamPosHeroInfo : teamPosHeroInfos) {
|
||||
Hero hero = user.getHeroManager().getHero(teamPosHeroInfo.getHeroId());
|
||||
Map<Integer, Integer> map = HeroLogic.getInstance().calHeroFinalAttributeWhenInMap(user, hero,false);
|
||||
Map<Integer, Integer> map = HeroLogic.getInstance().calHeroFinalAttributeWhenInMap(user, hero,false,teamId);
|
||||
Integer integer = map.get(values[0][1]);
|
||||
if (integer == null || integer < values[0][2]) {
|
||||
return jumpTypeValues[0][1];
|
||||
|
@ -866,7 +866,7 @@ public class MapLogic {
|
|||
} else if (values[0][0] == 0) {
|
||||
for (TeamPosHeroInfo teamPosHeroInfo : teamPosHeroInfos) {
|
||||
Hero hero = user.getHeroManager().getHero(teamPosHeroInfo.getHeroId());
|
||||
Map<Integer, Integer> map = HeroLogic.getInstance().calHeroFinalAttributeWhenInMap(user, hero,false);
|
||||
Map<Integer, Integer> map = HeroLogic.getInstance().calHeroFinalAttributeWhenInMap(user, hero,false,teamId);
|
||||
Integer integer = map.get(values[0][1]);
|
||||
if (integer != null && integer >= values[0][2]) {
|
||||
return jumpTypeValues[0][0];
|
||||
|
@ -1185,7 +1185,7 @@ public class MapLogic {
|
|||
if (hero == null) {
|
||||
continue;
|
||||
}
|
||||
Map<Integer, Integer> heroAttributeMap = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false);
|
||||
Map<Integer, Integer> heroAttributeMap = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
|
||||
remainHp.add(heroAttributeMap.get(HeroAttributeEnum.CurHP.getPropertyId()));
|
||||
}
|
||||
}
|
||||
|
@ -2866,7 +2866,7 @@ public class MapLogic {
|
|||
if(heroEntry.getValue().getLevel()<20){
|
||||
continue;
|
||||
}
|
||||
int calHp = HeroLogic.getInstance().calHeroFinalAttributeWhenInMap(user, heroEntry.getValue(), true).get(1);
|
||||
int calHp = HeroLogic.getInstance().calHeroFinalAttributeWhenInMap(user, heroEntry.getValue(), true,401).get(1);
|
||||
if(!endlessHeroInfo.containsKey(heroEntry.getKey())){
|
||||
mapManager.addEndlessHero(heroEntry.getKey(),calHp);
|
||||
}
|
||||
|
|
|
@ -216,7 +216,7 @@ public class BehaviorUtil {
|
|||
StringBuilder skillSb = new StringBuilder();
|
||||
StringBuilder propertySb = new StringBuilder();
|
||||
String heroSkill = HeroLogic.getInstance().getHeroSkills(user,hero,skillSb).toString();
|
||||
String property = HeroLogic.getInstance().getHeroProperty(user,hero,propertySb,isMySelf).toString();
|
||||
String property = HeroLogic.getInstance().getHeroProperty(user,hero,propertySb,isMySelf,teamId).toString();
|
||||
CommonProto.FightUnitInfo heroFightInfo = CommonProto.FightUnitInfo
|
||||
.newBuilder()
|
||||
.setUnitId(Integer.toString(hero.getTemplateId()))
|
||||
|
|
|
@ -862,8 +862,7 @@ public class GuildLogic {
|
|||
while (it.hasNext()){
|
||||
TeamPosHeroInfo heroInfo = it.next();
|
||||
heroManager.getHero(heroInfo.getHeroId());
|
||||
teamPosManager.setCurTeamPosId(501);
|
||||
Map<Integer, Integer> heroAttributeMap = HeroLogic.getInstance().calHeroNotBufferAttribute(user, heroManager.getHero(heroInfo.getHeroId()), false);
|
||||
Map<Integer, Integer> heroAttributeMap = HeroLogic.getInstance().calHeroNotBufferAttribute(user, heroManager.getHero(heroInfo.getHeroId()), false,501);
|
||||
heroAllAttribute.put(heroInfo.getHeroId(),heroAttributeMap);
|
||||
}
|
||||
fightInfo.setHeroAttribute(heroAllAttribute);
|
||||
|
|
|
@ -891,9 +891,8 @@ public class CombatLogic {
|
|||
return "";
|
||||
}
|
||||
|
||||
public static List<int[][]> elementEffect(User user){
|
||||
int curTeamPosId = user.getTeamPosManager().getCurTeamPosId();
|
||||
List<int[][]> teamParm = user.getTeamPosManager().getCacheTeamPro().get(curTeamPosId);
|
||||
public static List<int[][]> elementEffect(User user,int teamId){
|
||||
List<int[][]> teamParm = user.getTeamPosManager().getCacheTeamPro().get(teamId);
|
||||
if(teamParm!=null){
|
||||
return teamParm;
|
||||
}
|
||||
|
@ -901,7 +900,7 @@ public class CombatLogic {
|
|||
Map<Integer, SElementalResonanceConfig> configMap = SElementalResonanceConfig.configMap;
|
||||
|
||||
|
||||
List<TeamPosHeroInfo> teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(curTeamPosId);
|
||||
List<TeamPosHeroInfo> teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(teamId);
|
||||
|
||||
//找出上场的Id
|
||||
List<Integer> heroFind = new ArrayList<>(teamPosHeroInfos.size());
|
||||
|
@ -986,7 +985,7 @@ public class CombatLogic {
|
|||
while (it.hasNext()){
|
||||
int[][] next = it.next();
|
||||
}
|
||||
user.getTeamPosManager().updateTeamPos(curTeamPosId,resultEffect);
|
||||
user.getTeamPosManager().updateTeamPos(teamId,resultEffect);
|
||||
return resultEffect;
|
||||
}
|
||||
|
||||
|
|
|
@ -402,7 +402,7 @@ public class HeroLogic {
|
|||
if (hero == null) {
|
||||
break;
|
||||
}
|
||||
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,true);
|
||||
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,true,teamId);
|
||||
if(user.getMapManager().getEndlessMapInfo().getEndlessHeroInfo()!=null&&user.getMapManager().getEndlessMapInfo().getEndlessHeroInfo().size()>0){
|
||||
heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(),user.getMapManager().getEndlessMapInfo().getEndlessHeroInfo().get(hero.getId()).getCurHp());
|
||||
}
|
||||
|
@ -823,13 +823,13 @@ public class HeroLogic {
|
|||
return sb;
|
||||
}
|
||||
|
||||
public StringBuilder getHeroProperty(User user, Hero hero, StringBuilder sb,boolean isMySelf){
|
||||
public StringBuilder getHeroProperty(User user, Hero hero, StringBuilder sb,boolean isMySelf,int teamId){
|
||||
int curMapId = user.getMapManager().getCurMapId();
|
||||
Map<Integer, Integer> heroAttributeMap;
|
||||
if(!isMySelf || curMapId == 0){
|
||||
heroAttributeMap=calHeroNotBufferAttribute(user, hero,false);
|
||||
heroAttributeMap=calHeroNotBufferAttribute(user, hero,false,teamId);
|
||||
}else {
|
||||
heroAttributeMap=calHeroFinalAttributeWhenInMap(user, hero,false);
|
||||
heroAttributeMap=calHeroFinalAttributeWhenInMap(user, hero,false,teamId);
|
||||
}
|
||||
|
||||
sb.append(hero.getLevel()).append(DIVISION);
|
||||
|
@ -912,7 +912,7 @@ public class HeroLogic {
|
|||
return pokenSkillResult.toString();
|
||||
}
|
||||
|
||||
public Map<Integer,Integer> calHeroNotBufferAttribute(User user, Hero hero,boolean isForce){
|
||||
public Map<Integer,Integer> calHeroNotBufferAttribute(User user, Hero hero,boolean isForce,int teamId){
|
||||
LOGGER.info("cal herotid = {}",hero.getTemplateId());
|
||||
Map<Integer, Integer> heroAllAttribute = calHeroAllAttribute(hero,isForce);
|
||||
heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(),heroAllAttribute.get(GlobalsDef.HP_TYPE));
|
||||
|
@ -998,7 +998,7 @@ public class HeroLogic {
|
|||
}
|
||||
//阵营光环加成
|
||||
if(!isForce){
|
||||
List<int[][]> elementEffect = CombatLogic.getInstance().elementEffect(user);
|
||||
List<int[][]> elementEffect = CombatLogic.getInstance().elementEffect(user,teamId);
|
||||
Iterator it = elementEffect.iterator();
|
||||
while (it.hasNext()){
|
||||
int[][] effect = (int[][])it.next();
|
||||
|
@ -1074,10 +1074,10 @@ public class HeroLogic {
|
|||
|
||||
|
||||
//获取英雄所有属性
|
||||
public Map<Integer,Integer> calHeroFinalAttributeWhenInMap(User user, Hero hero,boolean isForce){
|
||||
public Map<Integer,Integer> calHeroFinalAttributeWhenInMap(User user, Hero hero,boolean isForce,int teamId){
|
||||
Map<Integer, Integer> heroAllAttribute = user.getMapManager().getHeroAllAttributeByHeroId(hero.getId());
|
||||
if(heroAllAttribute == null){
|
||||
heroAllAttribute=calHeroNotBufferAttribute(user, hero,isForce);
|
||||
heroAllAttribute=calHeroNotBufferAttribute(user, hero,isForce,teamId);
|
||||
return heroAllAttribute;
|
||||
}
|
||||
//食物buffer加成
|
||||
|
@ -1094,9 +1094,9 @@ public class HeroLogic {
|
|||
public int calHeoForce(User user, Hero hero,boolean isMyself){
|
||||
Map<Integer, Integer> heroAllAttribute;
|
||||
if(!isMyself || user.getMapManager().getCurMapId() == 0){
|
||||
heroAllAttribute=calHeroNotBufferAttribute(user, hero,true);
|
||||
heroAllAttribute=calHeroNotBufferAttribute(user, hero,true,0);
|
||||
}else{
|
||||
heroAllAttribute = calHeroFinalAttributeWhenInMap(user, hero,true);
|
||||
heroAllAttribute = calHeroFinalAttributeWhenInMap(user, hero,true,0);
|
||||
}
|
||||
//战力保存
|
||||
int force = calForce(heroAllAttribute);
|
||||
|
|
Loading…
Reference in New Issue