From e66fef396d5eff6b6c52833f2385b249faf49cba Mon Sep 17 00:00:00 2001 From: wangyuan Date: Mon, 20 Apr 2020 18:22:39 +0800 Subject: [PATCH] force + fix month card mission --- .../ljsd/jieling/handler/map/MapLogic.java | 2 +- .../handler/vip/MonthTakeDailyHandler.java | 4 ++++ .../ljsd/jieling/logic/fight/CombatLogic.java | 7 ++++--- .../ljsd/jieling/logic/hero/HeroLogic.java | 19 ++++++++----------- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index aec69adbf..dbe0c2c3b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -1743,7 +1743,7 @@ public class MapLogic { if (hero == null) { continue; } - heroForces += HeroLogic.getInstance().calHeoForce(user, hero); + heroForces += HeroLogic.getInstance().calHeoForce(user, hero,mapManager.getTeamId()); crossInfo.getHeroIds().add(hero.getTemplateId()); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/vip/MonthTakeDailyHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/vip/MonthTakeDailyHandler.java index eea109724..607378b37 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/vip/MonthTakeDailyHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/vip/MonthTakeDailyHandler.java @@ -4,6 +4,9 @@ import com.ljsd.jieling.exception.ErrorCode; import com.ljsd.jieling.exception.ErrorCodeException; import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.handler.BaseHandler; +import com.ljsd.jieling.logic.activity.event.NewWelfareEvent; +import com.ljsd.jieling.logic.activity.event.NewWelfareTypeEnum; +import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.network.session.ISession; @@ -42,6 +45,7 @@ public class MonthTakeDailyHandler extends BaseHandler heroMap = user.getHeroManager().getHeroMap(); List teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(teamId); - + List passiveTeamskillEffect = new ArrayList<>(); for(TeamPosHeroInfo teamPosHeroInfo :teamPosHeroInfos){ Hero hero = heroMap.get(teamPosHeroInfo.getHeroId()); List heroSkillListTmp = HeroLogic.getInstance().getHeroSkillList(user, hero); heroSkillListTmp.forEach(skill->{ SPassiveSkillLogicConfig config = SPassiveSkillLogicConfig.getConfig(skill); if(config!=null &&config.getEffectiveRange()!=1 && config.getType()==94){ - passiveskillEffect.add(config.getId()); + passiveTeamskillEffect.add(config.getId()); } }); } - user.getTeamPosManager().updatePassSkillTeamPos(teamId,passiveskillEffect); + user.getTeamPosManager().updatePassSkillTeamPos(teamId,passiveTeamskillEffect); + passiveskillEffect.addAll(passiveTeamskillEffect); }else{ heroSkillList.forEach(skill->{ SPassiveSkillLogicConfig config = SPassiveSkillLogicConfig.getConfig(skill); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 708b17495..d18a1ff0e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -1314,9 +1314,6 @@ public class HeroLogic{ int tempStar = hero.getEspecialEquipLevel(); Map> equipTalismanaMap = SEquipTalismana.equipTalismanaStarMap; SEquipTalismana equipTali = equipTalismanaMap.get(equipTempId).get(tempStar); - Arrays.stream(equipTali.getProperty()).forEach(e->{ - System.out.println("----------" + e[0] +"----" +e[1] ); - }); combinedAttribute(equipTali.getProperty(),heroAllAttribute); } @@ -1449,7 +1446,7 @@ public class HeroLogic{ for(Map.Entry item : propertyPercentMap.entrySet()){ Integer propertyId = item.getKey(); Integer propertyValue = heroAllAttribute.get(propertyId); - heroAllAttribute.put(propertyId,propertyValue+BigDecimal.valueOf(propertyValue/10000f).multiply(BigDecimal.valueOf(item.getValue())).intValue()); + heroAllAttribute.put(propertyId,BigDecimal.valueOf(propertyValue).multiply(BigDecimal.valueOf(1+item.getValue()/10000f)).intValue()); } Integer maxHp = heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId()); Integer curHp = heroAllAttribute.get(HeroAttributeEnum.CurHP.getPropertyId()); @@ -1479,9 +1476,9 @@ public class HeroLogic{ } - public int calHeoForce(User user, Hero hero){ + public int calHeoForce(User user, Hero hero,int teamId){ Map heroAllAttribute; - heroAllAttribute = calHeroNotBufferAttribute(user, hero,true,0); + heroAllAttribute = calHeroNotBufferAttribute(user, hero,true,teamId); //战力保存 int force = calForce(heroAllAttribute); return force + heroAllAttribute.get(HeroAttributeEnum.EquipForce.getPropertyId()); @@ -1849,7 +1846,7 @@ public class HeroLogic{ if (hero == null) { continue; } - totalForce +=calHeoForce(targetUser, hero); + totalForce +=calHeoForce(targetUser, hero,teamId); } return totalForce; } @@ -1982,13 +1979,13 @@ public class HeroLogic{ public String getEcoForce11A(User user){ StringBuilder append = new StringBuilder().append("["); append.append(calAllPokenmonForce(user)); - getTeamForceForUpload(append, user.getTeamPosManager().getTeamPosForHero().get(1),user); - getTeamForceForUpload(append, user.getTeamPosManager().getTeamPosForHero().get( GlobalsDef.TEAM_ARENA_DEFENSE),user); + getTeamForceForUpload(append, user.getTeamPosManager().getTeamPosForHero().get(1),user,1); + getTeamForceForUpload(append, user.getTeamPosManager().getTeamPosForHero().get( GlobalsDef.TEAM_ARENA_DEFENSE),user, GlobalsDef.TEAM_ARENA_DEFENSE); append.append("]"); return append.toString(); } - public void getTeamForceForUpload( StringBuilder append, List teamPosHeroInfoList,User user){ + public void getTeamForceForUpload( StringBuilder append, List teamPosHeroInfoList,User user,int teamID){ if(teamPosHeroInfoList != null &&!teamPosHeroInfoList.isEmpty()){ HeroManager heroManager = user.getHeroManager(); Map heroMap = heroManager.getHeroMap(); @@ -1996,7 +1993,7 @@ public class HeroLogic{ for(TeamPosHeroInfo teamPosHeroInfo: teamPosHeroInfoList){ String heroId = teamPosHeroInfo.getHeroId(); Hero hero = heroMap.get(heroId); - heroPosMap.put(teamPosHeroInfo.getPosition(),calHeoForce(user,hero)); + heroPosMap.put(teamPosHeroInfo.getPosition(),calHeoForce(user,hero,teamID)); } for(int i=1;i<6;i++){ Integer force = heroPosMap.get(i);