From 18bf91f7ff77b49cab8d813100c37923ae70a126 Mon Sep 17 00:00:00 2001 From: yuanshuai <243578945@qq.com> Date: Wed, 16 Mar 2022 13:40:15 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=B8=BB=E8=A7=92=E8=A2=AB=E5=8A=A8?= =?UTF-8?q?=E6=8A=80=E8=83=BDbug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- luafight/Modules/Battle/Readme.txt | 111 +++--------------- .../ljsd/jieling/logic/hero/HeroLogic.java | 7 +- 2 files changed, 22 insertions(+), 96 deletions(-) diff --git a/luafight/Modules/Battle/Readme.txt b/luafight/Modules/Battle/Readme.txt index 5eb9216cc..6ac014ccc 100644 --- a/luafight/Modules/Battle/Readme.txt +++ b/luafight/Modules/Battle/Readme.txt @@ -1,109 +1,34 @@ -master_zh_online_special同步数据表2021_12_07_18_07_35 -v1.0.70 - 1、第四期神魂技能 -master_zh_online_special同步数据表2021_11_30_17_36_04 -v1.0.69 - 1、第一期变身卡技能 -v1.0.68 - 1、第三期神魂技能 - 2. 新法宝技能 -master_zh_online_special同步数据表2021_11_23_15_58_01 -v1.0.67 - 1、修复前后端战斗数据格式不一致导致的结果不一致 -master_zh_online_special同步数据表2021_11_16_14_56_55 -v1.0.66 - 1 第二期神魂技能 -master_zh_online_special同步数据表2021_11_09_11_57_57 -master_zh_online_special同步数据表2021_11_09_11_57_46 -master_zh_online_special同步数据表2021_11_02_14_08_41 -v1.0.65 - 1 被动180修改 - 2. 灵兽检测逻辑初始化修改 -master_zh_online_special同步数据表2021_10_26_16_05_44 -v1.0.64 - 1 添加主角技能 - 2. 被动119修改 -master_zh_online_special同步数据表2021_10_19_16_13_17 -v1.0.63 - 1、被动344添加空判断 - 2. 战斗力公式修改 -master_zh_online_special同步数据表2021_10_12_15_59_00 -master_zh_online_special同步数据表2021_10_12_15_58_52 -master_zh_online_special同步数据表2021_10_12_10_26_03 -master_zh_online_special同步数据表2021_10_11_19_54_13 -master_zh_online_special同步数据表2021_10_11_19_53_59 -v1.0.62 - 1、被动116 258 281 312 344 250,312,353 351 137修改 - 2. 精卫借的怒气不会回复怒气 - 3. 添加不处理增伤被动的方法 -v1.0.61 - 1.同步客户端逻辑 -master_zh_online_special同步数据表2021_09_28_18_03_42 -master_zh_online_special同步数据表2021_09_28_14_34_53 -master_zh_online_special同步数据表2021_09_18_21_22_03 -v1.0.60 - 1、技能是否能释放 添加是否有技能目标判断 - 2.被动196 200 188 修改 -master_zh_online_special同步数据表2021_09_16_20_56_10 -master_zh_online_special同步数据表2021_09_16_19_56_58 -master_zh_online_special同步数据表2021_09_15_16_43_43 -master_zh_online_special同步数据表2021_09_15_15_58_04 -master_zh_online_special同步数据表2021_09_15_15_55_26 -master_zh_online_special同步数据表2021_09_14_15_45_21 -master_zh_online_special同步数据表2021_09_14_13_07_13 - -v1.0.59 - 1、被动56修改 被动261 修改 -master_zh_online_special同步数据表2021_09_14_11_32_16 -master_zh_online_special同步数据表2021_09_14_11_26_22 - v1.0.58 - 1、修复方法缺失报错 + 1. 被动414修改 + 2.御甲显示修改 v1.0.57 - 1、尝试修复孙悟空大招不会增加伤害的问题 - 2、添加用于debug的log -master_zh_online_special同步数据表2021_09_07_10_58_24 + 1. 护盾buff修改 v1.0.56 - 1.选生命百分比最少目标逻辑修改 去掉有不灭单位 - 2. 死亡不把怒气显示清空 - 3.被动99 307 选目标逻辑修改 -master_zh_online_special同步数据表2021_09_03_15_16_49 + 1. 被动417-421 v1.0.55 - 1. 被动263 269 274 332 112 145 修改 - 2. 添加战斗日志 - -master_zh_online_special同步数据表2021_08_28_19_41_53 -v1.0.54 - 1. 被动91 被动115 160修改 - 2. Dot类buff清除逻辑修改 -master_zh_online_special同步数据表2021_08_24_14_58_11 + 1. 56被动修改 +v1.0.54 + 1. 新加被动412 v1.0.53 - 1. 被动141 310 283 330 336修改 -master_zh_online_special同步数据表2021_08_03_10_38_57 + 1. 神魂第一期英雄技能添加 v1.0.52 - 1. 死亡技能不受控制影响 - 2.战斗随机种子修改 -master_zh_online_special同步数据表2021_07_28_08_34_36 + 1. 灵兽技能检测修改 v1.0.51 - 1. 被动292修改 -master_zh_online_special同步数据表2021_07_16_19_57_49 + 1. 山河社稷图星级检测修改 v1.0.50 - 1. 被动292 319修改 + 1. 灵兽技能触发机制修改 v1.0.49 - 1. 同步客户端逻辑 -master_zh_online_special同步数据表2021_07_13_18_14_42 -master_zh_online_special同步数据表2021_07_06_17_33_58 + 1. 同步dev分支战斗逻辑 v1.0.48 - 1. 新增紫府神印被动效果 + 1. 同步dev分支战斗逻辑 v1.0.47 - 1. 新增英雄觉醒被动 及 困难副本被动 效果 -master_zh_online_special同步数据表2021_06_30_07_33_07 + 1. 同步dev分支战斗逻辑 v1.0.46 - 1、同步数据表 + 1. 同步dev分支战斗逻辑 v1.0.45 - 1. 【战斗】修改免疫控制效果清除提示 + 1. 新增紫府神印被动效果 v1.0.44 - 1. 【战斗】修复群体性的免疫效果不会正常消失的问题 + 1. 新增英雄觉醒被动 及 困难副本被动 效果 v1.0.43 1. 被动200修改 v1.0.42 @@ -248,4 +173,4 @@ v1.0.1 v1.0.0 1、创建战斗版本文件 - 2、灵兽技能加入 + 2、灵兽技能加入 \ No newline at end of file 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 5d1ad5bb4..bfe5baa21 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 @@ -2454,9 +2454,9 @@ public class HeroLogic { } } } - // 修行技能 if (practiceSkillMap != null){ + StringBuilder passivitySkillStr=new StringBuilder(); for (Map.Entry entry : practiceSkillMap.entrySet()) { SPlayerSkill playerSkill = SPlayerSkill.GetSPlayerSkill(entry.getKey(), entry.getValue()); if (playerSkill != null){ @@ -2466,11 +2466,12 @@ public class HeroLogic { skillStr.append("|"); }else{ ///第一个技能是被动技能 - skillStr.append(playerSkill.getSkillIDList()[0]); - skillStr.append("#"); + passivitySkillStr.append(playerSkill.getSkillIDList()[0]); + passivitySkillStr.append("#"); } } } + skillStr.append(passivitySkillStr); } // 去除最后一位得#号 From b12f7ba0d5364cd508b58e7951ec01b0a3ab2204 Mon Sep 17 00:00:00 2001 From: yuanshuai <243578945@qq.com> Date: Thu, 17 Mar 2022 14:30:47 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E4=B8=BB=E8=A7=92=E8=A2=AB=E5=8A=A8?= =?UTF-8?q?=E6=8A=80=E8=83=BDbug=E4=BF=AE=E6=94=B9(=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=89=8D=E5=90=8E=E7=AB=AF=E6=88=98=E6=96=97=E4=B8=8D=E4=B8=80?= =?UTF-8?q?=E8=87=B4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ljsd/jieling/util/FightDataUtil.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/FightDataUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/FightDataUtil.java index 90a174484..02a2dc4bf 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/FightDataUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/FightDataUtil.java @@ -284,7 +284,8 @@ public class FightDataUtil { String[] allSkillIdArr = skillId.split("\\|"); String[]skillIdArr=allSkillIdArr[0].split("#"); if (allSkillIdArr.length>1){ - String[]passivitySkillIdArr=allSkillIdArr[1].split("#"); + String passivityStr="##"+allSkillIdArr[1]; + String[]passivitySkillIdArr=passivityStr.split("#"); monster.set("passivity", getPassivity(passivitySkillIdArr)); } LuaValue skillList= new LuaTable(); From ea6899e50b180c384a68f65e18a699aad5ea9c74 Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Wed, 20 Apr 2022 16:24:42 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=8C=91=E6=88=98=E5=89=AF=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/arena/ChallengeLogic.java | 38 +++++++++++++++---- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ChallengeLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ChallengeLogic.java index be6cf881f..9fa81d576 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ChallengeLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ChallengeLogic.java @@ -16,6 +16,8 @@ import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.MessageUtil; import config.SChallengeStage; +import config.SMonsterConfig; +import config.SMonsterGroup; import manager.STableManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -49,7 +51,7 @@ public class ChallengeLogic { return true; } - public static Map dropMap(SChallengeStage sChallengeConfig, int model, int type, int win, long[] result) { + public static Map dropMap(SChallengeStage sChallengeConfig, int model, int type, int win, long[] result,PlayerInfoProto.ChallengeResponse.Builder builder) { /* model //1为挑战 2为扫荡 win // 1赢 0输 @@ -78,6 +80,7 @@ public class ChallengeLogic { } } LOGGER.info("zong reward"); + builder.setPercentReward(10000); } if (model == 1 && win == 1) { //打过 @@ -89,19 +92,36 @@ public class ChallengeLogic { } } LOGGER.info("tongguan reward"); + builder.setPercentReward(10000); } else if (model == 1 && win == 0) { //没打过 int[][] reward1 = sChallengeConfig.getReward1(); int ratio = 0; if (type == 1) {//无尽副本 血量 - long leaveHp = result[2] + result[3] + result[4] + SMonsterGroup sMonsterGroup = SMonsterGroup.getsMonsterGroupMap().get(sChallengeConfig.getMonsterGroup()); + // 获取怪物组 + int[][] content = sMonsterGroup.getContents(); + double bossBlood = 0.0; //怪物初始化血量 + for (int i = 0; i < content.length; i++) { + int[] ints = content[i]; + for (int j = 0; j < ints.length; j++) { + if (ints[j] == 0){ + continue; + } + SMonsterConfig monsterConfig = STableManager.getConfig(SMonsterConfig.class).get(ints[j]); + bossBlood+=monsterConfig.getHp(); + } + } + double leaveHp = result[2] + result[3] + result[4] + result[5] + result[6]; + double lossBlood = bossBlood - leaveHp; for (int[] percent : reward1) { - if (percent[0] > leaveHp) { + if (percent[0] > lossBlood) { break; } ratio = percent[1]; } + builder.setLossBlood((long)lossBlood); } else if (type == 2) {//回合数 long times = result[1];//回合数 for (int[] percent : reward1) { @@ -120,6 +140,7 @@ public class ChallengeLogic { } } LOGGER.info("no pass reward percent"); + builder.setPercentReward(ratio); } return comDropMap; @@ -199,7 +220,7 @@ public class ChallengeLogic { break; } //扫荡 = 保底 +总奖励 - comDropMap = dropMap(sChallengeConfig, model, type, 1, null); + comDropMap = dropMap(sChallengeConfig, model, type, 1, null,builder); CommonProto.Drop.Builder drop = ItemUtil.drop(user, comDropMap.entrySet().stream().map(n -> new int[]{n.getKey(), n.getValue()}).toArray(int[][]::new), BIReason.EXPLORE_MAP_COST_RETURN); builder.setDrop(drop); @@ -230,23 +251,23 @@ public class ChallengeLogic { } else if (type == 2) { user.getPlayerInfoManager().setTreasureReplica(id); } - comDropMap = dropMap(sChallengeConfig, model, type, 1, fightResult.getCheckResult()); + comDropMap = dropMap(sChallengeConfig, model, type, 1, fightResult.getCheckResult(),builder); builder.setResult(1); } else { if (type == 1){ if((int) fightResult.getCheckResult()[1]>=20){ //无尽副本回合数超过20 赢 user.getPlayerInfoManager().setEndlessNewReplica(id); - comDropMap = dropMap(sChallengeConfig, model, type, 1, fightResult.getCheckResult()); + comDropMap = dropMap(sChallengeConfig, model, type, 1, fightResult.getCheckResult(),builder); builder.setResult(1); }else{ //没打过 //输了 保底+总奖励*奖励百分比 - comDropMap = dropMap(sChallengeConfig, model, type, 0, fightResult.getCheckResult()); + comDropMap = dropMap(sChallengeConfig, model, type, 0, fightResult.getCheckResult(),builder); builder.setResult(0); } }else if(type == 2){ //没打过 //输了 保底+总奖励*奖励百分比 - comDropMap = dropMap(sChallengeConfig, model, type, 0, fightResult.getCheckResult()); + comDropMap = dropMap(sChallengeConfig, model, type, 0, fightResult.getCheckResult(),builder); builder.setResult(0); } } @@ -262,6 +283,7 @@ public class ChallengeLogic { CommonProto.Drop.Builder drop = ItemUtil.drop(user, comDropMap.entrySet().stream().map(n -> new int[]{n.getKey(), n.getValue()}).toArray(int[][]::new), BIReason.EXPLORE_MAP_COST_RETURN); builder.setDrop(drop); + builder.setType(type); } MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.CHALLENGE_RESPONSE.getNumber(), builder.build(), true); } From b64879f4b2bc11ec2564b7f92907a245e18a2936 Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Thu, 21 Apr 2022 17:54:48 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=8C=91=E6=88=98=E5=89=AF=E6=9C=AC=20?= =?UTF-8?q?=E5=B9=BB=E5=A2=83=E8=BE=BE=E4=BA=BA=20=E8=AE=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/activity/ExpectRankActivity.java | 83 ++++++++++++++----- .../jieling/logic/arena/ChallengeLogic.java | 9 +- 2 files changed, 66 insertions(+), 26 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ExpectRankActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ExpectRankActivity.java index da01083bd..8e9807578 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ExpectRankActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ExpectRankActivity.java @@ -6,6 +6,8 @@ import com.ljsd.jieling.handler.map.MapManager; import com.ljsd.jieling.handler.map.TrialInfo; import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.jbean.ActivityProgressInfo; +import com.ljsd.jieling.logic.OnlineUserManager; +import com.ljsd.jieling.logic.dao.PlayerManager; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.mail.MailLogic; @@ -35,31 +37,67 @@ class ExpectRankActivity extends AbstractActivity { super(id); } + + @Override + public void onActivityStart() throws Exception { + + + } + + @Override + public void initActivity(User user) throws Exception { + //PlayerManager player = user.getPlayerInfoManager(); + if (SGlobalActivity.getsGlobalActivityMap().get(id).getType() != 70){ + return; + } + ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id); + if (null == activityMission) { + return; + } + Map activityProgressInfoMap = activityMission.getActivityMissionMap(); + + MapManager mapManager = user.getMapManager(); + TrialInfo trialInfo = mapManager.getTrialInfo(); + SActivityRewardConfig.getsActivityRewardConfigByActivityId(id).stream().forEach(n -> + { + if (trialInfo.getFloor() >= n.getValues()[1][0]) { + ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.getOrDefault(n.getId(), null); + if (null == activityProgressInfo) + return; + activityProgressInfo.setState(1); + } + } + ); + //更新进度 + ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId()); + sendActivityProgress(sessionByUid, activityMission, null); + } + @Override void updateProgressWithUser(User user, ActivityMission activityMission, int count) { - if(SGlobalActivity.getsGlobalActivityMap().get(id).getType() == 70){ + if (SGlobalActivity.getsGlobalActivityMap().get(id).getType() == 70) { //森罗幻境特殊处理 - if(SGlobalActivity.getsGlobalActivityMap().get(id).getOpenRanking()==1){ + if (SGlobalActivity.getsGlobalActivityMap().get(id).getOpenRanking() == 1) { MapManager mapManager = user.getMapManager(); TrialInfo trialInfo = mapManager.getTrialInfo(); //排除神秘关卡 - if(trialInfo.getFloor()<10000 && trialInfo.getFloor() > activityMission.getV()){ + if (trialInfo.getFloor() < 10000 && trialInfo.getFloor() > activityMission.getV()) { activityMission.setV(trialInfo.getFloor()); - }else if(trialInfo.getFloor()>10000){ - activityMission.setV(trialInfo.getFloor()-10000); + } else if (trialInfo.getFloor() > 10000) { + activityMission.setV(trialInfo.getFloor() - 10000); } - RankContext.getRankEnum(RankEnum.EXPERT_RANK.getType()).addRank(user.getId(),String.valueOf(id),activityMission.getV()); - }else{ + RankContext.getRankEnum(RankEnum.EXPERT_RANK.getType()).addRank(user.getId(), String.valueOf(id), activityMission.getV()); + } else { activityMission.setV(count + activityMission.getV()); } - }else { + } else { activityMission.setV(count + activityMission.getV()); - if(SGlobalActivity.getsGlobalActivityMap().get(id).getOpenRanking()==1){ + if (SGlobalActivity.getsGlobalActivityMap().get(id).getOpenRanking() == 1) { // String key = RedisKey.getKey(RedisKey.EXPERT_RANK, String.valueOf(id), false); // RedisUtil.getInstence().zsetAddOne(key, String.valueOf(user.getId()), activityMission.getV()); - RankContext.getRankEnum(RankEnum.EXPERT_RANK.getType()).addRank(user.getId(),String.valueOf(id),activityMission.getV()); + RankContext.getRankEnum(RankEnum.EXPERT_RANK.getType()).addRank(user.getId(), String.valueOf(id), activityMission.getV()); } } } @@ -100,7 +138,7 @@ class ExpectRankActivity extends AbstractActivity { User user = UserManager.getUser(session.getUid()); int value = user.getActivityManager().getActivityMissionMap().get(sActivityRewardConfig.getActivityId()).getV(); if (value < values[1][0]) { - // MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "time not"); + // MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "time not"); return false; } return true; @@ -112,28 +150,27 @@ class ExpectRankActivity extends AbstractActivity { ThreadManager.getScheduledExecutor().execute(this::sendReward); } - protected void sendReward(){ - Thread.currentThread().setName("sendReward-Activity-"+id); + protected void sendReward() { + Thread.currentThread().setName("sendReward-Activity-" + id); SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); - if(sGlobalActivity.getOpenRanking()==0){ + if (sGlobalActivity.getOpenRanking() == 0) { return; } List sActivityRankingReward = SActivityRankingReward.getsActivityRankingRewardMapByActivityId(id); - if(null==sActivityRankingReward) { + if (null == sActivityRankingReward) { return; } int maxRank = 0; int maxRewardId = 0; Map rank2miss = new HashMap<>(); for (SActivityRankingReward sActivityRankingReward1 : sActivityRankingReward) { - if(sActivityRankingReward1.getMaxRank()==-1){ - maxRank =-1; + if (sActivityRankingReward1.getMaxRank() == -1) { + maxRank = -1; maxRewardId = sActivityRankingReward1.getId(); continue; } - if(maxRank!=-1) - { + if (maxRank != -1) { maxRank = Math.max(maxRank, sActivityRankingReward1.getMaxRank()); } @@ -184,15 +221,15 @@ class ExpectRankActivity extends AbstractActivity { //checkAndUpdate value SActivityRankingReward sActivityRankingReward1 = SActivityRankingReward.getsActivityRankingRewardMap().get(missionId); //sendmail - String title = SErrorCodeEerverConfig.getI18NMessageNeedConvert("expertrank_activity_title", new Object[]{sGlobalActivity.getSesc()},new int[]{1},"#"); - String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("expertrank_activity_txt", new Object[]{sGlobalActivity.getSesc(),ranking},new int[]{1,0},"#"); + String title = SErrorCodeEerverConfig.getI18NMessageNeedConvert("expertrank_activity_title", new Object[]{sGlobalActivity.getSesc()}, new int[]{1}, "#"); + String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("expertrank_activity_txt", new Object[]{sGlobalActivity.getSesc(), ranking}, new int[]{1, 0}, "#"); String mailReward = ItemUtil.getMailReward(sActivityRankingReward1.getRankingReward()); MailLogic.getInstance().sendMail(uid, title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME); }); ProtocolsManager.getInstance().updateAyncWorker(ayyncWorker); rank++; - }catch (Exception e) { - LOGGER.error("id为{}的玩家,{}活动排行奖励没有发成功 e={}",uid,id,e); + } catch (Exception e) { + LOGGER.error("id为{}的玩家,{}活动排行奖励没有发成功 e={}", uid, id, e); e.printStackTrace(); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ChallengeLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ChallengeLogic.java index 9fa81d576..17f33504d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ChallengeLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ChallengeLogic.java @@ -121,7 +121,8 @@ public class ChallengeLogic { } ratio = percent[1]; } - builder.setLossBlood((long)lossBlood); + LOGGER.info("输了 lossBlood:"+lossBlood); + builder.setLossBloodOrTimes((long)lossBlood); } else if (type == 2) {//回合数 long times = result[1];//回合数 for (int[] percent : reward1) { @@ -130,6 +131,8 @@ public class ChallengeLogic { } ratio = percent[1]; } + builder.setLossBloodOrTimes(times); + LOGGER.info("输了 回合数 times :"+times); } LOGGER.info("challengeHandler ====>id:{},ratio:{}", sChallengeConfig.getId(), ratio); for (int[] fix : sChallengeConfig.getPassReward()) { @@ -198,10 +201,10 @@ public class ChallengeLogic { int endlessNewReplicaLexel = user.getPlayerInfoManager().getEndlessNewReplica(); int treasureReplicaLexel = user.getPlayerInfoManager().getTreasureReplica(); //限制 - boolean consume = PlayerLogic.getInstance().checkAndUpdate(user, sChallengeConfig.getPivilegeID()[1], 1); + /* boolean consume = PlayerLogic.getInstance().checkAndUpdate(user, sChallengeConfig.getPivilegeID()[1], 1); if (!consume) { throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); - } + }*/ Map comDropMap = new HashMap<>(); if (model == 2) { //扫荡 From 401889401ca17df505ac1b4e280eb497b466c947 Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Thu, 21 Apr 2022 18:34:29 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=A3=AE=E7=BD=97=E5=B9=BB=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/activity/ExpectRankActivity.java | 45 +++---------------- .../jieling/logic/arena/ChallengeLogic.java | 4 +- 2 files changed, 7 insertions(+), 42 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ExpectRankActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ExpectRankActivity.java index 8e9807578..72ce07969 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ExpectRankActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ExpectRankActivity.java @@ -37,42 +37,6 @@ class ExpectRankActivity extends AbstractActivity { super(id); } - - @Override - public void onActivityStart() throws Exception { - - - } - - @Override - public void initActivity(User user) throws Exception { - //PlayerManager player = user.getPlayerInfoManager(); - if (SGlobalActivity.getsGlobalActivityMap().get(id).getType() != 70){ - return; - } - ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id); - if (null == activityMission) { - return; - } - Map activityProgressInfoMap = activityMission.getActivityMissionMap(); - - MapManager mapManager = user.getMapManager(); - TrialInfo trialInfo = mapManager.getTrialInfo(); - SActivityRewardConfig.getsActivityRewardConfigByActivityId(id).stream().forEach(n -> - { - if (trialInfo.getFloor() >= n.getValues()[1][0]) { - ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.getOrDefault(n.getId(), null); - if (null == activityProgressInfo) - return; - activityProgressInfo.setState(1); - } - } - ); - //更新进度 - ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId()); - sendActivityProgress(sessionByUid, activityMission, null); - } - @Override void updateProgressWithUser(User user, ActivityMission activityMission, int count) { @@ -82,13 +46,14 @@ class ExpectRankActivity extends AbstractActivity { MapManager mapManager = user.getMapManager(); TrialInfo trialInfo = mapManager.getTrialInfo(); //排除神秘关卡 + int floor = 0 ; if (trialInfo.getFloor() < 10000 && trialInfo.getFloor() > activityMission.getV()) { - activityMission.setV(trialInfo.getFloor()); + floor = trialInfo.getFloor(); } else if (trialInfo.getFloor() > 10000) { - activityMission.setV(trialInfo.getFloor() - 10000); - + floor = trialInfo.getFloor() - 10000; } - RankContext.getRankEnum(RankEnum.EXPERT_RANK.getType()).addRank(user.getId(), String.valueOf(id), activityMission.getV()); + activityMission.setV(count + activityMission.getV()); + RankContext.getRankEnum(RankEnum.EXPERT_RANK.getType()).addRank(user.getId(), String.valueOf(id), floor); } else { activityMission.setV(count + activityMission.getV()); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ChallengeLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ChallengeLogic.java index 17f33504d..4f69abeb6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ChallengeLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ChallengeLogic.java @@ -201,10 +201,10 @@ public class ChallengeLogic { int endlessNewReplicaLexel = user.getPlayerInfoManager().getEndlessNewReplica(); int treasureReplicaLexel = user.getPlayerInfoManager().getTreasureReplica(); //限制 - /* boolean consume = PlayerLogic.getInstance().checkAndUpdate(user, sChallengeConfig.getPivilegeID()[1], 1); + boolean consume = PlayerLogic.getInstance().checkAndUpdate(user, sChallengeConfig.getPivilegeID()[1], 1); if (!consume) { throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); - }*/ + } Map comDropMap = new HashMap<>(); if (model == 2) { //扫荡 From 9b38690f93f6ef28ce2286b52adbe8b2a656ef2d Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Sat, 23 Apr 2022 10:34:51 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E6=97=A0=E5=B0=BD=E5=89=AF=E6=9C=AC?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=8F=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/arena/ChallengeLogic.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ChallengeLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ChallengeLogic.java index 4f69abeb6..7c18fb699 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ChallengeLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ChallengeLogic.java @@ -93,11 +93,13 @@ public class ChallengeLogic { } LOGGER.info("tongguan reward"); builder.setPercentReward(10000); + builder.setLossBloodOrTimes(result[1]); + LOGGER.info("win times 回合数:"+result[1]); } else if (model == 1 && win == 0) { //没打过 int[][] reward1 = sChallengeConfig.getReward1(); int ratio = 0; - if (type == 1) {//无尽副本 血量 + if (type == 2) {//无尽副本 血量 SMonsterGroup sMonsterGroup = SMonsterGroup.getsMonsterGroupMap().get(sChallengeConfig.getMonsterGroup()); // 获取怪物组 int[][] content = sMonsterGroup.getContents(); @@ -123,7 +125,7 @@ public class ChallengeLogic { } LOGGER.info("输了 lossBlood:"+lossBlood); builder.setLossBloodOrTimes((long)lossBlood); - } else if (type == 2) {//回合数 + } else if (type == 1) {//回合数 long times = result[1];//回合数 for (int[] percent : reward1) { if (percent[0] > times) { @@ -191,7 +193,7 @@ public class ChallengeLogic { return; } PlayerInfoProto.ChallengeResponse.Builder builder = PlayerInfoProto.ChallengeResponse.newBuilder(); - int type = proto.getType(); //1无尽 2宝物 + int type = proto.getType(); //1无尽 2宝物 int model = proto.getModel(); //1为挑战 2为扫荡 int id = proto.getId(); SChallengeStage sChallengeConfig = STableManager.getConfig(SChallengeStage.class).get(id); @@ -209,13 +211,13 @@ public class ChallengeLogic { if (model == 2) { //扫荡 switch (type) { - case 1: + case 1: // 回合 if (!limit(endlessNewReplicaLexel, id)) { MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.CHALLENGE_RESPONSE.getNumber(), builder.build(), true); return; } break; - case 2: + case 2:// 血量 if (!limit(treasureReplicaLexel, id)) { MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.CHALLENGE_RESPONSE.getNumber(), builder.build(), true); return; @@ -287,6 +289,7 @@ public class ChallengeLogic { new int[]{n.getKey(), n.getValue()}).toArray(int[][]::new), BIReason.EXPLORE_MAP_COST_RETURN); builder.setDrop(drop); builder.setType(type); + LOGGER.info("type :"+type); } MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.CHALLENGE_RESPONSE.getNumber(), builder.build(), true); }