公会战修改
parent
8e87514b8f
commit
a2edf93d0a
|
@ -101,20 +101,15 @@ public class BloodLogic {
|
|||
* @param heroInfo
|
||||
* @return
|
||||
*/
|
||||
public CommonProto.FightTeamInfo fightDataMakeUp(User user ,Map<String, FamilyHeroInfo> heroInfo,int teamId){
|
||||
public CommonProto.FightTeamInfo fightDataMakeUp(Map<String ,String> heroSkills ,Map<String, FamilyHeroInfo> heroInfo,String pokmanSkill){
|
||||
List<CommonProto.FightUnitInfo> heroDefendFightInfos = new ArrayList<>();
|
||||
for (Map.Entry<String, FamilyHeroInfo> entry : heroInfo.entrySet()) {
|
||||
Hero hero = user.getHeroManager().getHero(entry.getKey());
|
||||
if (hero == null) {
|
||||
continue;
|
||||
}
|
||||
StringBuilder skillSb = new StringBuilder();
|
||||
StringBuilder propertySb = new StringBuilder();
|
||||
String heroSkill = HeroLogic.getInstance().getHeroSkills(user, hero, skillSb).toString();
|
||||
String property = HeroLogic.getInstance().getHeroPropertyBuilder(propertySb, hero, entry.getValue().getAttribute()).toString();
|
||||
String heroSkill = heroSkills.get(entry.getKey());
|
||||
String property = HeroLogic.getInstance().getHeroPropertyBuilder(propertySb, entry.getValue(), entry.getValue().getAttribute()).toString();
|
||||
CommonProto.FightUnitInfo heroFightInfo = CommonProto.FightUnitInfo
|
||||
.newBuilder()
|
||||
.setUnitId(Integer.toString(hero.getTemplateId()))
|
||||
.setUnitId(Integer.toString(entry.getValue().getTempleteId()))
|
||||
.setUnitSkillIds(heroSkill.substring(0, heroSkill.length() - 1))
|
||||
.setProperty(property.substring(0, property.length() - 1))
|
||||
.build();
|
||||
|
@ -123,7 +118,7 @@ public class BloodLogic {
|
|||
CommonProto.FightTeamInfo fightDefendTeamInfo = CommonProto.FightTeamInfo.
|
||||
newBuilder()
|
||||
.addAllFightUnitList(heroDefendFightInfos)
|
||||
.setTeamSkillList(HeroLogic.getInstance().getPokenmonSkills(user, teamId))
|
||||
.setTeamSkillList(pokmanSkill)
|
||||
.build();
|
||||
return fightDefendTeamInfo;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class FamilyFightInfo {
|
||||
|
@ -9,6 +10,9 @@ public class FamilyFightInfo {
|
|||
private int buildId;
|
||||
private int starCount;
|
||||
private int force;
|
||||
private Map<String, String> heroSkills = new HashMap<>();
|
||||
private String pokenmonSkills;
|
||||
|
||||
|
||||
public Map<String, FamilyHeroInfo> getHeroAttribute() {
|
||||
return heroAttribute;
|
||||
|
@ -57,4 +61,23 @@ public class FamilyFightInfo {
|
|||
public void setForce(int force) {
|
||||
this.force = force;
|
||||
}
|
||||
public void updateHeroSkill(String heroId, String skills){
|
||||
heroSkills.put(heroId,skills);
|
||||
}
|
||||
|
||||
public Map<String, String> getHeroSkills() {
|
||||
return heroSkills;
|
||||
}
|
||||
|
||||
public void setHeroSkills(Map<String, String> heroSkills) {
|
||||
this.heroSkills = heroSkills;
|
||||
}
|
||||
|
||||
public String getPokenmonSkills() {
|
||||
return pokenmonSkills;
|
||||
}
|
||||
|
||||
public void setPokenmonSkills(String pokenmonSkills) {
|
||||
this.pokenmonSkills = pokenmonSkills;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class FamilyHeroInfo {
|
||||
|
|
|
@ -286,14 +286,13 @@ public class GuildFightLogic {
|
|||
}
|
||||
int familyTotalStar = 0;
|
||||
//血量记录处理,星级记录处理
|
||||
|
||||
for (Map.Entry<Integer, Integer> entry : defendInfo.entrySet()) {
|
||||
User user = UserManager.getUser(entry.getKey());
|
||||
int memberType = GuildLogic.getMemberType(entry.getKey(), guildInfo.getMembers());
|
||||
int[] buffInfo = redisUtil.getMapEntry(RedisKey.FAMILY_FIGHT_BUFF, gid.toString(), entry.getValue().toString(), int[].class);
|
||||
FamilyFightInfo fightInfo = new FamilyFightInfo();
|
||||
//血量处理,buff处理
|
||||
|
||||
|
||||
int force = HeroLogic.getInstance().calTeamTotalForce(user, 501, false);
|
||||
if(force==0){
|
||||
force = HeroLogic.getInstance().calTeamTotalForce(user, 1, false);
|
||||
|
@ -303,6 +302,20 @@ public class GuildFightLogic {
|
|||
fightInfo.setBuildId(entry.getValue());
|
||||
fightInfo.setStarCount(guildSetting.getStarNum()[memberType-1]);
|
||||
fightInfo.setForce(force);
|
||||
List<TeamPosHeroInfo> teamPosHeroInfoList = user.getTeamPosManager().getTeamPosForHero().get(501);
|
||||
if(teamPosHeroInfoList==null||teamPosHeroInfoList.size()<1){
|
||||
teamPosHeroInfoList = user.getTeamPosManager().getTeamPosForHero().get(1);
|
||||
}
|
||||
Map<String, Hero> heroMap = user.getHeroManager().getHeroMap();
|
||||
for(TeamPosHeroInfo teamPosHeroInfo : teamPosHeroInfoList){
|
||||
String heroId = teamPosHeroInfo.getHeroId();
|
||||
Hero hero = heroMap.get(heroId);
|
||||
StringBuilder skillSb = new StringBuilder();
|
||||
String heroSkill = HeroLogic.getInstance().getHeroSkills(user, hero,skillSb ).toString();
|
||||
fightInfo.updateHeroSkill(heroId,heroSkill.substring(0, heroSkill.length() - 1));
|
||||
}
|
||||
String pokenmonSkills = HeroLogic.getInstance().getPokenmonSkills(user, 501);
|
||||
fightInfo.setPokenmonSkills(pokenmonSkills);
|
||||
redisUtil.putMapEntry(RedisKey.FAMILY_FIGHT, String.valueOf(guildInfo.getId()), String.valueOf(entry.getKey()), fightInfo);
|
||||
familyTotalStar+=fightInfo.getStarCount();
|
||||
}
|
||||
|
@ -661,7 +674,7 @@ public class GuildFightLogic {
|
|||
}
|
||||
LOGGER.info("{}公会结算",str);
|
||||
// Map<Integer, Integer> enemyDefendInfo = GuilidManager.guildInfoMap.get(enemyFamily).getDefendInfo();
|
||||
Map<Integer, FamilyFightInfo> fightInfo = redisUtil.getMapValues(RedisKey.FAMILY_FIGHT, "", Integer.class, FamilyFightInfo.class);
|
||||
Map<Integer, FamilyFightInfo> fightInfo = redisUtil.getMapValues(RedisKey.FAMILY_FIGHT, String.valueOf(enemyFamily), Integer.class, FamilyFightInfo.class);
|
||||
for(Map.Entry<Integer, FamilyFightInfo> defend:fightInfo.entrySet()){
|
||||
if(defend!=null){
|
||||
buildStar[defend.getValue().getBuildId()-1] = buildStar[defend.getValue().getBuildId()-1]+defend.getValue().getStarCount();
|
||||
|
|
Loading…
Reference in New Issue