From f4f4b87dc7e871feffe59b21747bc9cea6af311d Mon Sep 17 00:00:00 2001 From: wangyuan Date: Mon, 25 Nov 2019 17:29:11 +0800 Subject: [PATCH] fix map mission cal --- .../com/ljsd/jieling/logic/dao/CumulationData.java | 8 -------- .../ljsd/jieling/logic/mission/MissionLoigc.java | 14 +++++++++++++- .../logic/mission/data/FightDataManager.java | 5 ++++- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java index 04f537993..69ea1eb79 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java @@ -57,7 +57,6 @@ public class CumulationData { private int consumeGem ; private Map storyFightInfo =new HashMap<>(3); - private BitSet exploreFight = new BitSet(512); public int buyGoldTimes; // 买金币次数 public int buyStaminaTimes; // 买金币次数 @@ -256,9 +255,6 @@ public class CumulationData { return sEquipQualityCount; } - public void addExploreFight(int exploreFigtId){ - exploreFight.set(exploreFigtId); - } public void setStoryFightInfo(Map storyFightInfo) { this.storyFightInfo = storyFightInfo; @@ -267,8 +263,4 @@ public class CumulationData { public Map getStoryFightInfo() { return storyFightInfo; } - - public BitSet getExploreFight() { - return exploreFight; - } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java index fac851bb9..f8a9ff42d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java @@ -456,7 +456,18 @@ public class MissionLoigc { } break; case GENERAL_STORY_PASS: - count = cumulationData.getExploreFight().get(missionSubType[0])?1:0; + Map crossInfoGenMap = user.getMapManager().getCrossInfoMap(); + for(Map.Entry item : crossInfoGenMap.entrySet()){ + CrossInfo value = item.getValue(); + if(value.getStars().contains(MapLogic.STAR_1)){ + Integer fightId = item.getKey(); + SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(fightId); + if(sChallengeConfig.getType() == 1 && sChallengeConfig.getMapId() == missionSubType[0]){ + count++; + break; + } + } + } break; case HERO_STORY_PASS: Map crossInfoMap = user.getMapManager().getCrossInfoMap(); @@ -467,6 +478,7 @@ public class MissionLoigc { SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(fightId); if(sChallengeConfig.getType() == 3 && sChallengeConfig.getDifficultType() == missionSubType[0] && sChallengeConfig.getMapId() == missionSubType[1]){ count++; + break; } } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FightDataManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FightDataManager.java index b7656d76a..b7f785467 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FightDataManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FightDataManager.java @@ -26,7 +26,10 @@ public class FightDataManager implements BaseDataManager{ data.heroStoryTimes+=fightTimes; result = new CumulationData.Result(missionType); }else if(missionType == MissionType.GENERAL_STORY_PASS){ - data.addExploreFight(fightId); + SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(fightId); + if(sChallengeConfig.getType() == 1){ + result = new CumulationData.Result(missionType); + } result = new CumulationData.Result(missionType); }else if(missionType == MissionType.HERO_STORY_PASS){ SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(fightId);