From 9a8bfa15ed248ce9f210f81c3ade287a3b117d08 Mon Sep 17 00:00:00 2001 From: duhui Date: Tue, 26 Apr 2022 14:20:04 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=9F=E4=BC=8D=E6=88=98=E5=8A=9B=E5=AD=98?= =?UTF-8?q?=E5=82=A8=E5=88=B0mongo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/UpgradeGodTreeHandler.java | 6 +- .../hero/FaBaoSoulUpLvRequestHandler.java | 12 +- .../hero/HeroGodSoulBindRequestHandler.java | 8 +- .../hero/LifeGridChangeRequestHandler.java | 5 +- .../hero/LifeStoneUpRequestHandler.java | 9 +- .../handler/hero/SixiangUpRequestHandler.java | 5 +- .../hero/SixiangUpStarRequestHandler.java | 10 +- .../handler/hero/UpPracticeLevelHandler.java | 5 +- .../jieling/logic/GlobalDataManaager.java | 4 +- .../crossService/CrossServiceLogic.java | 10 +- .../activity/event/SaveHeroForceEvent.java | 74 +++++++++++ .../ljsd/jieling/logic/dao/HeroManager.java | 5 +- .../com/ljsd/jieling/logic/dao/TeamEnum.java | 41 +++++-- .../jieling/logic/dao/TeamPosManager.java | 16 +++ .../ljsd/jieling/logic/family/GuildLogic.java | 8 +- .../passiveSkillCal/PassiveskillCalEnum.java | 2 +- .../ljsd/jieling/logic/hero/HeroLogic.java | 115 +++++++++--------- .../ljsd/jieling/logic/item/ItemLogic.java | 14 +-- .../jieling/logic/player/PlayerLogic.java | 17 +-- .../src/main/java/config/SPropertyConfig.java | 2 +- 20 files changed, 241 insertions(+), 127 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/SaveHeroForceEvent.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/UpgradeGodTreeHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/UpgradeGodTreeHandler.java index 3790b60c3..9492e18ac 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/UpgradeGodTreeHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/UpgradeGodTreeHandler.java @@ -9,7 +9,7 @@ import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.handler.BaseHandler; import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.activity.event.Poster; -import com.ljsd.jieling.logic.activity.event.UserMainTeamForceEvent; +import com.ljsd.jieling.logic.activity.event.SaveHeroForceEvent; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.item.ItemLogic; @@ -98,8 +98,8 @@ public class UpgradeGodTreeHandler extends BaseHandler { @Override @@ -57,7 +50,8 @@ public class FaBaoSoulUpLvRequestHandler extends BaseHandler { @@ -71,7 +72,8 @@ public class HeroGodSoulBindRequestHandler extends BaseHandler { @@ -64,7 +67,8 @@ public class SixiangUpStarRequestHandler extends BaseHandler saveForceTeamList = TeamEnum.getSaveForceTeamList(); + for (Integer teamId : saveForceTeamList) { + // 英雄是否存在该编队中 + if (!HeroLogic.getInstance().isInTeam(user,heroId,teamId) && !"".equals(heroId)){ + continue; + } + // 主线标对需要更新排行榜信息 + if (teamId == TeamEnum.FORMATION_NORMAL.getTeamId()){ + Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(uid)); + } + // 重新计算战力,并更新 + int force = HeroLogic.getInstance().calTeamTotalForce(user, TeamEnum.FORMATION_NORMAL.getTeamId(), false); + user.getTeamPosManager().putTeamForceMap(teamId,force); + } + } + + public int getUid() { + return uid; + } + + public void setUid(int uid) { + this.uid = uid; + } + + public String getHeroId() { + return heroId; + } + + public void setHeroId(String heroId) { + this.heroId = heroId; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/HeroManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/HeroManager.java index 1b5f7e394..9089313e4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/HeroManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/HeroManager.java @@ -3,7 +3,7 @@ package com.ljsd.jieling.logic.dao; import com.ljsd.common.mogodb.MongoBase; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.event.RemoveHeroEvent; -import com.ljsd.jieling.logic.activity.event.UserMainTeamForceEvent; +import com.ljsd.jieling.logic.activity.event.SaveHeroForceEvent; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.hero.HongMengAttributeEnum; import config.SLikeAbilityConfig; @@ -355,7 +355,8 @@ public class HeroManager extends MongoBase { Hero bingHero= heroMap.get(stringIntegerEntry.getKey()); bingHero.setGodSoulBindMap(2,stringIntegerEntry.getValue(),null); } - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(uid)); + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(uid,heroId)); } public Map getHeroMap() { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/TeamEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/TeamEnum.java index 83cb01923..0ccd5e286 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/TeamEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/TeamEnum.java @@ -1,8 +1,7 @@ package com.ljsd.jieling.logic.dao; -import java.util.Arrays; -import java.util.Map; -import java.util.TreeMap; +import java.util.*; +import java.util.stream.Collectors; /** * @Author hj @@ -12,7 +11,7 @@ import java.util.TreeMap; */ @SuppressWarnings("AlibabaEnumConstantsMustHaveComment") public enum TeamEnum { - FORMATION_NORMAL(1,"主线编队",1,1), + FORMATION_NORMAL(1,"主线编队",1,1,1), TEAM_ARENA_DEFENSE(101,"竞技场防御编队",0,1), TEAM_ARENA_ATTACH(201,"竞技场进攻编队(暂时不用)"), TRIAL_TEAM(301,"森罗环境编队"), @@ -29,9 +28,9 @@ public enum TeamEnum { HARD_STAGE_TEAM(1701,"山河社稷图队伍"), VICE_HARD_STAGE_TEAM(1801,"山河社稷图副关卡队伍"), TASUILINGXIAO_CHALLENGE(1901,"踏碎凌霄挑战队伍"), - CROSS_YU_XU_LUN_DAO_ONE(2001,"玉虚论道第一编队",1,1), - CROSS_YU_XU_LUN_DAO_TWO(2002,"玉虚论道第二编队",1,1), - CROSS_YU_XU_LUN_DAO_THREE(2003,"玉虚论道第三编队",1,1), + CROSS_YU_XU_LUN_DAO_ONE(2001,"玉虚论道第一编队",1,1,1), + CROSS_YU_XU_LUN_DAO_TWO(2002,"玉虚论道第二编队",1,1,1), + CROSS_YU_XU_LUN_DAO_THREE(2003,"玉虚论道第三编队",1,1,1), CROSS_LING_MAI_SECRET_AREA(2004,"灵脉秘境编队",1,1), @@ -70,6 +69,10 @@ public enum TeamEnum { * 是否是pvp,0:否,1:是 */ private int isPvp; + /** + * 是否存储战力,0:否,1:是 + */ + private int isSaveForce; private static Map enumMap = new TreeMap<>(); @@ -115,6 +118,14 @@ public enum TeamEnum { return anEnum.getIsPvp() == 1; } + /** + * 获取需要保存战力的编队id + * @return + */ + public static List getSaveForceTeamList(){ + return enumMap.values().stream().filter(v -> v.getIsSaveForce() == 1).mapToInt(TeamEnum::getTeamId).boxed().collect(Collectors.toList()); + } + TeamEnum(int teamId, String remarks) { this.teamId = teamId; this.remarks = remarks; @@ -127,6 +138,14 @@ public enum TeamEnum { this.isPvp = isPvp; } + TeamEnum(int teamId, String remarks, int isCross, int isPvp, int isSaveForce) { + this.teamId = teamId; + this.isCross = isCross; + this.remarks = remarks; + this.isPvp = isPvp; + this.isSaveForce = isSaveForce; + } + public int getTeamId() { return teamId; } @@ -158,4 +177,12 @@ public enum TeamEnum { public void setIsPvp(int isPvp) { this.isPvp = isPvp; } + + public int getIsSaveForce() { + return isSaveForce; + } + + public void setIsSaveForce(int isSaveForce) { + this.isSaveForce = isSaveForce; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/TeamPosManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/TeamPosManager.java index 4575ae99a..6811c094a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/TeamPosManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/TeamPosManager.java @@ -14,6 +14,10 @@ public class TeamPosManager extends MongoBase { private Map> teamPosForHero; private Map teamNames; + /** + * 队伍战力存储 + */ + private Map teamForceMap = new HashMap<>(); @Transient private int curTeamPosId; @Transient @@ -80,6 +84,18 @@ public class TeamPosManager extends MongoBase { cacheTeamPro.put(curTeamPosId,null); } + public Map getTeamForceMap() { + return teamForceMap; + } + public void setTeamForceMap(Map teamForceMap) { + this.teamForceMap = teamForceMap; + updateString("teamForceMap", teamForceMap); + } + public void putTeamForceMap(int teamId,long force) { + teamForceMap.put(teamId,force); + updateString("teamForceMap", teamForceMap); + } + public Map getCacheTeamPro() { return cacheTeamPro; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java index 3cfb3d0c4..7802aea50 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java @@ -24,7 +24,7 @@ import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic; import com.ljsd.jieling.logic.activity.event.CommitSheJiEvent; import com.ljsd.jieling.logic.activity.event.GuildForceChangeEvent; import com.ljsd.jieling.logic.activity.event.Poster; -import com.ljsd.jieling.logic.activity.event.UserMainTeamForceEvent; +import com.ljsd.jieling.logic.activity.event.SaveHeroForceEvent; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.*; import com.ljsd.jieling.logic.mail.MailLogic; @@ -1551,7 +1551,8 @@ public class GuildLogic { int count = baseLevel * size + nextIndex; user.getGuildMyInfo().setGuildSkillByType(type,count); - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid())); + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),"")); Family.GuildSkillLevelUpResponse response = Family.GuildSkillLevelUpResponse.newBuilder().setType(type).setCurlevel(count).build(); MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true); @@ -1613,7 +1614,8 @@ public class GuildLogic { CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropArrayReally, BIReason.RESET_GUILD_SKILL); guildMyInfo.removeGuildSkillByType(type); Family.ResetGuildSkillResponse response = Family.ResetGuildSkillResponse.newBuilder().setDrop(drop).build(); - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid())); + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),"")); MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/passiveSkillCal/PassiveskillCalEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/passiveSkillCal/PassiveskillCalEnum.java index b25a788f1..b49ea97a5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/passiveSkillCal/PassiveskillCalEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/passiveSkillCal/PassiveskillCalEnum.java @@ -28,7 +28,7 @@ public enum PassiveskillCalEnum { } parm = value[1]*10000; } - if( sPropertyConfig.getStyle()== GlobalsDef.PERCENT_TYPE){ + if(sPropertyConfig.getStyle()== GlobalsDef.PERCENT_TYPE){ parm = value[1]*10000; } 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 0b6bfb7cf..38455d82a 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 @@ -1278,11 +1278,9 @@ public class HeroLogic { //更新竞技场防御编队战力 String key = RedisKey.getKey(RedisKey.AREDEF_TEAM_FORCE_RANK, "", false); RedisUtil.getInstence().zsetAddOne(key, String.valueOf(user.getId()), teamForce); - - } - if (teamId == TeamEnum.FORMATION_NORMAL.getTeamId()) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(iSession.getUid())); } + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),"")); //跨服编队 if (TeamEnum.isCrossTeam(teamId)) { CrossServiceLogic.getInstance().saveBasicPlayerToRedis(user); @@ -1435,13 +1433,12 @@ public class HeroLogic { hero.setBreakId(breakId); user.getUserMissionManager().onGameEvent(user, GameEvent.HERO_UP, 1); } - if (isInTeam(user, heroId, 1)) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid())); - } + + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId)); // 鸿蒙阵 addOrUpdateHongmeng(session); - HeroInfoProto.UpHeroLevelResponse build = HeroInfoProto.UpHeroLevelResponse.newBuilder().setHeroId(heroId).setTargetLevel(hero.getOriginalLevel()).build(); //发送成功消息 MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.UP_HERO_LEVEL_RESPONSE_VALUE, build); @@ -1629,9 +1626,8 @@ public class HeroLogic { targetHero.setStarBreakId(scHeroRankUpConfig.getId()); user.getUserMissionManager().onGameEvent(user, GameEvent.HERO_UP, 2, targetHero.getTemplateId(), targetHero.getStar()); user.getUserMissionManager().onGameEvent(user, GameEvent.GET_HERO, targetHero.getTemplateId(), targetHero.getStar()); - if (isInTeam(user, heroId, 1)) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid())); - } + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId)); if (targetHero.getStar() >= SSpecialConfig.getIntegerValue(SSpecialConfig.lamp_awaken_hero_content_parm)) { Set hongmengMaxLevel = heroManager.getHongmengMaxLevel(); @@ -3146,13 +3142,13 @@ public class HeroLogic { //神印 Map godSealByPositionMap = hero.getGodSealByPositionMap(); - godSealByPositionMap.forEach((k, v) -> { - SEquipConfig sEquipConfig = equipConfigMap.get(v); + for (Map.Entry entry : godSealByPositionMap.entrySet()) { + SEquipConfig sEquipConfig = equipConfigMap.get(entry.getValue()); int[][] property = sEquipConfig.getProperty(); if (property != null && property.length > 0 && property[0].length > 0) { combinedAttribute(property, heroAllAttribute); } - }); + } // 修行等级属性加成 Map xiuXianMap = STableManager.getConfig(SXiuXian.class); @@ -3439,9 +3435,20 @@ public class HeroLogic { heroAllAttribute = calHeroNotBufferAttribute(user, hero, true, teamId); //战力保存 int force = calForce(heroAllAttribute); + Map config = STableManager.getConfig(SEquipConfig.class); + // 魂印装备战力评分 Map soulEquipByPositionMap = hero.getSoulEquipByPositionMap(); for (int sign : soulEquipByPositionMap.values()) { - SEquipConfig sEquipConfig = STableManager.getConfig(SEquipConfig.class).get(sign); + SEquipConfig sEquipConfig = config.get(sign); + if (sEquipConfig == null) { + continue; + } + force += sEquipConfig.getScore(); + } + // 神印装备战力评分 + Map godSealByPositionMap = hero.getGodSealByPositionMap(); + for (int sign : godSealByPositionMap.values()) { + SEquipConfig sEquipConfig = config.get(sign); if (sEquipConfig == null) { continue; } @@ -3638,9 +3645,8 @@ public class HeroLogic { // int force = calForce(heroNotBufferAttribute) + heroNotBufferAttribute.get(HeroAttributeEnum.EquipForce.getPropertyId()); // LOGGER.info("the heroTid={},the force={}",hero.getTemplateId(),force); - if (isInTeam(user, heroId, 1)) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(uid)); - } + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId)); // 鸿蒙阵,穿装备 addOrUpdateHongmeng(session); @@ -3736,9 +3742,8 @@ public class HeroLogic { } } - if (isInTeam(user, heroId, 1)) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(uid)); - } + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId)); // 鸿蒙阵,脱装备 addOrUpdateHongmeng(session); @@ -4339,7 +4344,8 @@ public class HeroLogic { addOrUpdateHongmeng(session); HeroInfoProto.HeroReturnResponse build = HeroInfoProto.HeroReturnResponse.newBuilder().setDrop(drop).build(); MessageUtil.sendMessage(session, 1, responseMsgId, build, true); - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(uid)); + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId)); } /** @@ -4478,9 +4484,8 @@ public class HeroLogic { }); ItemUtil.drop(user, ItemUtil.mapToArray(returnItems), BIReason.REPLACE_SOUL_REWARD); - if (isInTeam(user, heroId, 1)) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(uid)); - } + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId)); MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.SOUL_EQUIP_WEAR_RESPONSE_VALUE, null, true); } @@ -4634,7 +4639,8 @@ public class HeroLogic { hero.removeSoulEquip(e.getPosition()); returnItems.put(e.getEquipId(), 1); }); - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(iSession.getUid())); + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId)); ItemUtil.drop(user, ItemUtil.mapToArray(returnItems), BIReason.UNLOAD_SOUL_REWARD); MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.SOUL_EQUIP_UNLOAD_OPT_RESPONSE_VALUE, null, true); } @@ -4806,7 +4812,8 @@ public class HeroLogic { if (drop != null) { useAndPriceItemResponse.setDrop(drop); } - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid())); + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),"")); MessageUtil.sendMessage(session, 1, messageType.getNumber(), useAndPriceItemResponse.build(), true); @@ -4901,7 +4908,8 @@ public class HeroLogic { } user.getPokemonManager().updatePokemonTeamMap(pokemonTeamMap); - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid())); + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),"")); MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.POKEMON_REPLACE_RESPONSE.getNumber(), null); } @@ -5093,7 +5101,8 @@ public class HeroLogic { user.getUserMissionManager().onGameEvent(user,GameEvent.DONGHAIXUNXIAN_UPDATE,MissionType.HAVE_ID_STAR_LV_POKEMON_NUM); if (pokemonManager.getPokemonTeamMap().containsValue(pokemonId)) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid())); + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),"")); } HeroInfoProto.PokenmonUpLevelResponse response = HeroInfoProto.PokenmonUpLevelResponse.newBuilder().setLevel(finalLevel).build(); @@ -5179,7 +5188,8 @@ public class HeroLogic { user.getUserMissionManager().onGameEvent(user,GameEvent.DONGHAIXUNXIAN_UPDATE,MissionType.HAVE_ID_STAR_LV_POKEMON_NUM); if (pokemonManager.getPokemonTeamMap().containsValue(pokemonId)) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid())); + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),"")); } if (animal.getQuality() >= SSpecialConfig.getIntegerValue(SSpecialConfig.ANIMAL_BROADCAST_QUALITY)) { //策划资质改成星级 String nameColor = user.getPlayerInfoManager().getNameColor(); @@ -5304,11 +5314,9 @@ public class HeroLogic { throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } } - hero.setSkin(skinId); - if (isInTeam(user, heroId, 1)) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid())); - } + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId)); MessageUtil.sendMessage(session, 1, messageType.getNumber(), null, true); } @@ -5768,11 +5776,8 @@ public class HeroLogic { hero.setEquipByPositionMap(equipByPositionMap); } - // 战力改变 - if (isInTeam(user, heroId, 1)) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(user.getId())); - } - + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId)); MessageUtil.sendMessage(session, 1, messageType.getNumber(), null); } @@ -5804,10 +5809,8 @@ public class HeroLogic { heroManager.updateResonances(index, ""); heroManager.updateResonancesTime(index, TimeUtils.now() / 1000 + time); - // 战力改变 - if (isInTeam(user, heroId, 1)) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(user.getId())); - } + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId)); HeroInfoProto.ResonanceResponse resonanceResponse = HeroInfoProto.ResonanceResponse.newBuilder().setLeftTime(time).build(); MessageUtil.sendMessage(session, 1, messageType.getNumber(), resonanceResponse); @@ -5918,8 +5921,8 @@ public class HeroLogic { } heroManager.setHongmengTablet(nextLevel); - // 战力改变 - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(user.getId())); + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),"")); // 成就任务 user.getUserMissionManager().onGameEvent(user, GameEvent.HONGMENG_TABLET_LEVEL, heroManager.getHongmengTablet()); @@ -5969,10 +5972,8 @@ public class HeroLogic { // 添加鸿蒙碑 heroManager.updateHongmengGuards(index, heroId); - // 战力改变 - if (isInTeam(user, heroId, 1)) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(user.getId())); - } + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId)); addOrUpdateHongmeng(session); @@ -6013,10 +6014,8 @@ public class HeroLogic { .setLeftTime(SSpecialConfig.getIntegerValue(SSpecialConfig.HONGMENG_LATTICE_WAIT_TIME)) .build(); - // 战力改变 - if (isInTeam(user, heroId, 1)) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(user.getId())); - } + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId)); addOrUpdateHongmeng(session); @@ -6341,9 +6340,8 @@ public class HeroLogic { drop = ItemUtil.drop(user, list, BIReason.UP_GOD_SEAL); } - if (isInTeam(user, heroId, 1)) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(user.getId())); - } + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId)); HeroInfoProto.WearGodSealResponse.Builder builder = HeroInfoProto.WearGodSealResponse.newBuilder().setDrop(drop); MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.WearGodSealResponse_VALUE, builder.build()); @@ -6407,9 +6405,8 @@ public class HeroLogic { ItemUtil.itemCost(user, sEquipConfig.getFormula(), BIReason.MARGE_GOD_SEAL,0); } - if (isInTeam(user, heroId, 1)) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(user.getId())); - } + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId)); HeroInfoProto.UpGodSealResponse.Builder builder = HeroInfoProto.UpGodSealResponse.newBuilder().setDrop(drop); MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.UpGodSealResponse_VALUE, builder.build()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java index 96b2de1f6..fade412ad 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java @@ -19,6 +19,7 @@ import com.ljsd.jieling.logic.activity.AbstractActivity; import com.ljsd.jieling.logic.activity.ActivityTypeEnum; import com.ljsd.jieling.logic.activity.event.EspecialEquipUpEvent; import com.ljsd.jieling.logic.activity.event.Poster; +import com.ljsd.jieling.logic.activity.event.SaveHeroForceEvent; import com.ljsd.jieling.logic.activity.event.UserMainTeamForceEvent; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.User; @@ -728,15 +729,11 @@ public class ItemLogic { new Object[]{nameColor, user.getPlayerInfoManager().getNickName(), sItem.getName(), hero.getEspecialEquipLevel()}, new int[]{0,0,1,0}); ChatLogic.getInstance().sendSysChatMessage(message, Global.DILIGENT, String.valueOf(sItem.getId()), 0, 0, 0, 0, 0); - } - if (HeroLogic.getInstance().isInTeam(user, heroId, 1)) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid())); - } - + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),heroId)); //鸿蒙阵 HeroLogic.getInstance().addOrUpdateHongmeng(session); - } else { throw new ErrorCodeException(ErrorCode.ITEM_ESPECIAL_EQUIP_UP_ITEM_NOT); } @@ -906,9 +903,8 @@ public class ItemLogic { BuyGoodsNewLogic.openPush(iSession, user, PushRechargeType.BAOWU_JINGLIAN.getType(), jewel.getBuildLevel(), 1); } - if (HeroLogic.getInstance().isInTeam(user, jewel.getHeroId(), 1)) { - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(user.getId())); - } + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),propertyItem.getHeroId())); //鸿蒙阵 HeroLogic.getInstance().addOrUpdateHongmeng(iSession); 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 023df5b7d..b9515e822 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 @@ -22,10 +22,7 @@ import com.ljsd.jieling.logic.GlobleSystemLogic; import com.ljsd.jieling.logic.activity.ActivityLogic; import com.ljsd.jieling.logic.activity.ActivityType; import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic; -import com.ljsd.jieling.logic.activity.event.GuildForceChangeEvent; -import com.ljsd.jieling.logic.activity.event.Poster; -import com.ljsd.jieling.logic.activity.event.UserForceChangeEvent; -import com.ljsd.jieling.logic.activity.event.UserMainTeamForceEvent; +import com.ljsd.jieling.logic.activity.event.*; import com.ljsd.jieling.logic.activity.eventhandler.UserForceUpEventHandler; import com.ljsd.jieling.logic.dao.Pokemon; import com.ljsd.jieling.logic.dao.PropertyItem; @@ -295,8 +292,6 @@ public class PlayerLogic { rewardMap.put(i,1); } } - - /*if(!rewardMap.containsKey(playerInfoManager.getVipLevel())){ rewardMap.put(playerInfoManager.getVipLevel(),0); } @@ -323,7 +318,8 @@ public class PlayerLogic { .setVipLevel(playerInfoManager.getVipLevel()).build(); PlayerInfoProto.VipLevelUpResponse.Builder builder = PlayerInfoProto.VipLevelUpResponse.newBuilder().addAllUserMissionInfo(missionList); builder.setVipBaseInfo(vipInfoProto); - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid())); + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),"")); MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.VIP_LEVELUP_RESPONSE_VALUE,builder.build(),true); ReportUtil.onReportEvent(user, ReportEventEnum.VIP_LEVEL_UP.getType()); //特权等级奖励 @@ -345,23 +341,20 @@ public class PlayerLogic { user.getPlayerInfoManager().setMaxForce(teamForce); //跨服redis存储最大战力 CrossServiceLogic.getInstance().saveBasicPlayerToRedis(user); - Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(iSession.getUid())); + // 更新战力 + Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),"")); Poster.getPoster().dispatchEvent(new UserForceChangeEvent(uid,teamForce)); user.getUserMissionManager().onGameEvent(user,GameEvent.USER_FORCE_CHANGE); user.getUserMissionManager().onGameEvent(user,GameEvent.MISTY_TRIP); ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.FORCERANK,teamForce); ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.FORCESTANDARD,teamForce); } - if(teamId == TeamEnum.TEAM_ARENA_DEFENSE.getTeamId()){ //更新竞技场防御编队战力 String key = RedisKey.getKey(RedisKey.AREDEF_TEAM_FORCE_RANK, "", false); RedisUtil.getInstence().zsetAddOne(key, String.valueOf(user.getId()), teamForce); - } - } - MessageUtil.sendMessage(iSession,1, MessageTypeProto.MessageType.USER_FORCE_CHANGE_RESPONSE_VALUE,null,true); } diff --git a/tablemanager/src/main/java/config/SPropertyConfig.java b/tablemanager/src/main/java/config/SPropertyConfig.java index f75793a1b..af1f0433c 100644 --- a/tablemanager/src/main/java/config/SPropertyConfig.java +++ b/tablemanager/src/main/java/config/SPropertyConfig.java @@ -56,7 +56,7 @@ public class SPropertyConfig implements BaseConfig { } public static SPropertyConfig getsPropertyConfigByBattlePID(int battlePropertyId) { - return sPropertyIConfigByInBattleMap .get(battlePropertyId); + return sPropertyIConfigByInBattleMap.get(battlePropertyId); } public static SPropertyConfig getsPropertyConfigByTargetPropertyId(int targetPropertyId) {