diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/crossService/CrossServiceLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/crossService/CrossServiceLogic.java index ab0d87312..5f2028bf7 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/crossService/CrossServiceLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/crossService/CrossServiceLogic.java @@ -109,14 +109,14 @@ public class CrossServiceLogic { // 英雄 arenaOfUser.setHeroManager(buildArenaOfHeroManager(user)); // 灵兽 - Map pokemons = new HashMap<>(); + Map pokemons = new HashMap<>(); Map pokemonMap = user.getPokemonManager().getPokemonMap(); Map teamMap = user.getPokemonManager().getPokemonTeamMap(); - teamMap.values().forEach(v->{ + for (Map.Entry entry : teamMap.entrySet()) { // clone 深度复制 - Pokemon pokemon = (Pokemon)pokemonMap.get(v).clone(); - pokemons.put(v,pokemon); - }); + Pokemon pokemon = (Pokemon)pokemonMap.get(entry.getValue()).clone(); + pokemons.put(entry.getKey(),pokemon); + } arenaOfUser.setPokemons(pokemons); // 紫府神印 arenaOfUser.setSeals(new HashMap<>(heroManager.getPurpleMansionSeal())); @@ -191,6 +191,8 @@ public class CrossServiceLogic { arenaOfHero.setJewelInfo(new HashSet<>(hero.getJewelInfo())); arenaOfHero.setCreateTime(hero.getCreateType()); arenaOfHero.setChangeId(hero.getChangeId()); + Map attribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero, false, GlobalsDef.WORLD_TEAM_ARENA_DEFENSE); + arenaOfHero.setAttributeMap(attribute); return arenaOfHero; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/gm/ArenaOfHero.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/gm/ArenaOfHero.java index 651519ceb..01d61b8ed 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/gm/ArenaOfHero.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/gm/ArenaOfHero.java @@ -25,7 +25,7 @@ public class ArenaOfHero { private int createType; private int changeId; private Set jewelInfo = new HashSet<>(); - + private Map attributeMap = new HashMap<>(); public ArenaOfHero(String id, int templateId, int level, int star, Map equipByPositionMap, Map soulEquipByPositionMap, int breakId, int starBreakId, int createTime, int especialEquipLevel, int createType, int changeId, Set jewelInfo) { this.id = id; @@ -150,4 +150,12 @@ public class ArenaOfHero { public void setCreateType(int createType) { this.createType = createType; } + + public Map getAttributeMap() { + return attributeMap; + } + + public void setAttributeMap(Map attributeMap) { + this.attributeMap = attributeMap; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/gm/ArenaOfUser.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/gm/ArenaOfUser.java index ffe546664..f1e71828c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/gm/ArenaOfUser.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/gm/ArenaOfUser.java @@ -29,7 +29,7 @@ public class ArenaOfUser { private ArenaOfHeroManager heroManager; @Field(value = "arenaOfPokemons") - private Map pokemons = new HashMap<>(); + private Map pokemons = new HashMap<>(); @Field(value = "arenaOfSeals") private Map seals = new HashMap<>(); @@ -38,7 +38,7 @@ public class ArenaOfUser { private Map guildSkill = new HashMap<>(4); - public ArenaOfUser(int id, ArenaOfPlayerManager playerManager, ArenaOfHeroManager heroManager, Map pokemons, Map seals, Map guildSkill) { + public ArenaOfUser(int id, ArenaOfPlayerManager playerManager, ArenaOfHeroManager heroManager, Map pokemons, Map seals, Map guildSkill) { this.id = id; this.playerManager = playerManager; this.heroManager = heroManager; @@ -74,11 +74,11 @@ public class ArenaOfUser { this.heroManager = heroManager; } - public Map getPokemons() { + public Map getPokemons() { return pokemons; } - public void setPokemons(Map pokemons) { + public void setPokemons(Map pokemons) { this.pokemons = pokemons; }