From c6e4fb21d494afe86dd16cfe3e8f32c9eff618fe Mon Sep 17 00:00:00 2001 From: lvxinran Date: Mon, 16 Dec 2019 10:37:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=B7=E5=AE=AB=E5=AF=BB=E5=AE=9D=E3=80=81?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mission/main/MissingRoomMissionType.java | 35 ++++++++++++++----- tablemanager/src/main/java/config/SCHero.java | 6 ++++ .../main/java/config/SPlayerLevelConfig.java | 6 ++++ 3 files changed, 38 insertions(+), 9 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissingRoomMissionType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissingRoomMissionType.java index bef24d9bb..79ac62294 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissingRoomMissionType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissingRoomMissionType.java @@ -36,22 +36,39 @@ public class MissingRoomMissionType extends AbstractMissionType{ @Override public int[][] reward(int missionId) { + int realId = missionId % 10000; return SMazeTreasure.sMazeTreasureMap.get(realId).getReward(); } @Override public void rewardMission(int missionId, List missionTypeEnumListMap) { - - if(!missingTime.containsKey(missionId)||!getFinishMissionIds().contains(missionId)){ - return; + if(missionId!=0){ + if(!missingTime.containsKey(missionId)||!getFinishMissionIds().contains(missionId)){ + return; + } + if(missingTime.get(missionId)!=0&&missingTime.get(missionId)>TimeUtils.now()/1000){ + return; + } + missingTime.put(missionId,-1); + MissionStateChangeInfo stateChangeInfo = new MissionStateChangeInfo(missionId, MissionState.REWARD, reward(missionId)); + missionTypeEnumListMap.add(stateChangeInfo); + } else { + List rewardAll = new ArrayList<>(); + for (Integer id : getFinishMissionIds()) { + if(missingTime.get(id)==-1){ + continue; + } + if (missingTime.get(id)==0||missingTime.get(id) <= TimeUtils.now() / 1000) { + for(int[] re:reward(id)){ + rewardAll.add(re); + } + missingTime.put(id,-1); + } + } + MissionStateChangeInfo stateChangeInfo = new MissionStateChangeInfo(missionId, MissionState.REWARD, rewardAll.toArray(new int[rewardAll.size()][])); + missionTypeEnumListMap.add(stateChangeInfo); } - if(missingTime.get(missionId)!=0&&missingTime.get(missionId)>TimeUtils.now()/1000){ - return; - } - missingTime.put(missionId,-1); - MissionStateChangeInfo stateChangeInfo = new MissionStateChangeInfo(missionId, MissionState.REWARD, reward(missionId)); - missionTypeEnumListMap.add(stateChangeInfo); } @Override diff --git a/tablemanager/src/main/java/config/SCHero.java b/tablemanager/src/main/java/config/SCHero.java index 16e94ff41..7f8c93757 100644 --- a/tablemanager/src/main/java/config/SCHero.java +++ b/tablemanager/src/main/java/config/SCHero.java @@ -53,6 +53,8 @@ public class SCHero implements BaseConfig{ private int natural; + private int[][] growthSwitch; + private Map secondaryFactorMap; private Map> skillListByStar; @@ -270,4 +272,8 @@ public class SCHero implements BaseConfig{ public void setSkillListByStar(Map> skillListByStar) { this.skillListByStar = skillListByStar; } + + public int[][] getGrowthSwitch() { + return growthSwitch; + } } diff --git a/tablemanager/src/main/java/config/SPlayerLevelConfig.java b/tablemanager/src/main/java/config/SPlayerLevelConfig.java index 94bd318e6..7c60eb1dc 100644 --- a/tablemanager/src/main/java/config/SPlayerLevelConfig.java +++ b/tablemanager/src/main/java/config/SPlayerLevelConfig.java @@ -19,6 +19,8 @@ public class SPlayerLevelConfig implements BaseConfig { private int extraAdd; + private int[] mazeTreasureMax; + @Override public void init() throws Exception { @@ -46,6 +48,10 @@ public class SPlayerLevelConfig implements BaseConfig { return extraAdd; } + public int[] getMazeTreasureMax() { + return mazeTreasureMax; + } + public static Map getsPlayerLevelConfigMap() { return sPlayerLevelConfigMap; }