Merge branch 'master' of 60.1.1.230:backend/jieling_server

back_recharge
wangyuan 2019-08-12 10:29:02 +08:00
commit 042f9310fe
5 changed files with 22 additions and 24 deletions

View File

@ -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);
}

View File

@ -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()))

View File

@ -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);

View File

@ -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;
}

View File

@ -400,7 +400,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());
}
@ -821,13 +821,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);
@ -910,7 +910,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));
@ -996,7 +996,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();
@ -1072,10 +1072,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加成
@ -1092,9 +1092,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);