diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java index 1d483e056..4a475caf7 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java @@ -774,28 +774,51 @@ public class PlayerLogic { Map heroNotBufferAttribute = hero.getAttributeMapByTeam().getOrDefault(teamId,new HashMap<>()); for(Map.Entry item : heroNotBufferAttribute.entrySet()){ - builder.addSpecialEffects(CommonProto.SpecialEffects.newBuilder().setPropertyId(item.getKey()).setPropertyValue(item.getValue().intValue()).build()); + builder.addSpecialEffects(crossPropertyHandle(item.getKey(),item.getValue().intValue())); } Map jewels = query.getHeroManager().getJewels(); + // 宝物 for(String equipId : hero.getJewelInfo()){ heroBuilder.addJewels(equipId); builder.addEquip(CBean2Proto.getEquipProto(jewels.get(equipId))); } + // 装备 for(int equipId : hero.getEquipByPositionMap().values()){ heroBuilder.addEquipIdList(equipId); builder.addEquip(CBean2Proto.getEquipProto(equipId)); } + // 法宝 Map soulEquipByPositionMap = hero.getSoulEquipByPositionMap(); for(Map.Entry entry: soulEquipByPositionMap.entrySet()){ heroBuilder.addSoulPos(CommonProto.SoulPos.newBuilder().setEquipId(entry.getValue()).setPosition(entry.getKey())); } + // 皮肤 heroBuilder.setSkinId(hero.getSkin()); + // 英雄技能 + int profession = SCHero.getsCHero().get(hero.getTemplateId()).getProfession(); + int skill = query.getGuildSkill().getOrDefault(profession, 0); + builder.setGuildSkill(skill); + // 战力 builder.setForce(HeroLogic.getInstance().calForce(heroNotBufferAttribute)); builder.setHero(heroBuilder); return builder.build(); } + /** + * 跨服英雄属性展示特殊处理 + * @param id + * @param value + * @return + */ + private CommonProto.SpecialEffects crossPropertyHandle(int id,int value){ + int values = value; + if (id == 53 || id == 57 || id == 58){ + values = value-10000; + } + return CommonProto.SpecialEffects.newBuilder().setPropertyId(id).setPropertyValue(values).build(); + } + public void takeSevenScoreReward(ISession iSession) throws Exception { User user = UserManager.getUser(iSession.getUid()); int msgId = MessageTypeProto.MessageType.TAKE_SEVEN_HAPPY_REWARD_RESPONSE_VALUE; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java index 4c16deb27..b3544bd19 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -899,7 +899,14 @@ public class CBean2Proto { } public static CommonProto.TeamSimpleInfo getCrossSimpleHero(ArenaOfHero hero,int position) { - return CommonProto.TeamSimpleInfo.newBuilder().setHeroid(hero.getId()).setHeroTid(hero.getTemplateId()).setLevel(hero.getLevel()).setStar(hero.getStar()).setPosition(position).build(); + return CommonProto.TeamSimpleInfo.newBuilder() + .setHeroid(hero.getId()) + .setHeroTid(hero.getTemplateId()) + .setLevel(hero.getLevel()) + .setStar(hero.getStar()) + .setPosition(position) + .setSkinId(hero.getSkin()) + .build(); } /** * 获取心愿格子信息