【成就优化】根据开服时间决定服务器内的成就
parent
b4ad96bba7
commit
7c0c66be39
|
@ -514,7 +514,12 @@ public class MissionLoigc {
|
||||||
Set<Integer> doingMissionIds = achievementMissionTypMap.getDoingMissionIds();
|
Set<Integer> doingMissionIds = achievementMissionTypMap.getDoingMissionIds();
|
||||||
Set<Integer> finishMissionIds = achievementMissionTypMap.getFinishMissionIds();
|
Set<Integer> finishMissionIds = achievementMissionTypMap.getFinishMissionIds();
|
||||||
BitSet rewardedMissionIds = achievementMissionTypMap.getRewardedMissionIds();
|
BitSet rewardedMissionIds = achievementMissionTypMap.getRewardedMissionIds();
|
||||||
|
// 过滤出 配置日期(不含)前开服的可见
|
||||||
|
long openTime = TimeUtils.stringToTimeLong2(GameApplication.serverConfig.getOpenTime());
|
||||||
for (SAchievementConfig sAchievementConfig : STableManager.getConfig(SAchievementConfig.class).values()) {
|
for (SAchievementConfig sAchievementConfig : STableManager.getConfig(SAchievementConfig.class).values()) {
|
||||||
|
if (sAchievementConfig.getEffectTime() != 0 && openTime >= sAchievementConfig.getEffectTime()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
int state = 2;
|
int state = 2;
|
||||||
int missionId = sAchievementConfig.getId();
|
int missionId = sAchievementConfig.getId();
|
||||||
int progrss = sAchievementConfig.getValues()[1][0];
|
int progrss = sAchievementConfig.getValues()[1][0];
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.ljsd.jieling.logic.mission.event;
|
package com.ljsd.jieling.logic.mission.event;
|
||||||
|
|
||||||
|
import com.ljsd.GameApplication;
|
||||||
import config.*;
|
import config.*;
|
||||||
import com.ljsd.jieling.logic.dao.UserManager;
|
import com.ljsd.jieling.logic.dao.UserManager;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
|
@ -13,6 +14,7 @@ import com.ljsd.jieling.util.MessageUtil;
|
||||||
import manager.STableManager;
|
import manager.STableManager;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import util.TimeUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -622,6 +624,7 @@ public class MissionEventDistributor {
|
||||||
if(missionStateChangeInfos.isEmpty()){
|
if(missionStateChangeInfos.isEmpty()){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
long openTime = TimeUtils.stringToTimeLong2(GameApplication.serverConfig.getOpenTime());
|
||||||
for(MissionStateChangeInfo missionStateChangeInfo : missionStateChangeInfos){
|
for(MissionStateChangeInfo missionStateChangeInfo : missionStateChangeInfos){
|
||||||
MissionState missionState = missionStateChangeInfo.getMissionState();
|
MissionState missionState = missionStateChangeInfo.getMissionState();
|
||||||
int state = missionState.getState();
|
int state = missionState.getState();
|
||||||
|
@ -665,8 +668,11 @@ public class MissionEventDistributor {
|
||||||
}
|
}
|
||||||
|
|
||||||
if(gameMisionType == GameMisionType.ACHIEVEMISSION){
|
if(gameMisionType == GameMisionType.ACHIEVEMISSION){
|
||||||
SAchievementConfig achievementConfig = STableManager.getConfig(SAchievementConfig.class).get(missionStateChangeInfo.getMissionId());
|
SAchievementConfig sAchievementConfig = STableManager.getConfig(SAchievementConfig.class).get(missionStateChangeInfo.getMissionId());
|
||||||
progress= achievementConfig.getValues()[1][0];
|
if (sAchievementConfig.getEffectTime() != 0 && openTime >= sAchievementConfig.getEffectTime()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
progress= sAchievementConfig.getValues()[1][0];
|
||||||
}
|
}
|
||||||
|
|
||||||
if(gameMisionType == GameMisionType.SEVENMISSION){
|
if(gameMisionType == GameMisionType.SEVENMISSION){
|
||||||
|
|
|
@ -2,6 +2,7 @@ package config;
|
||||||
|
|
||||||
import manager.STableManager;
|
import manager.STableManager;
|
||||||
import manager.Table;
|
import manager.Table;
|
||||||
|
import util.TimeUtils;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
@ -16,7 +17,10 @@ public class SAchievementConfig implements BaseConfig {
|
||||||
|
|
||||||
private int[][] reward;
|
private int[][] reward;
|
||||||
|
|
||||||
public static Map<Integer, Set<Integer>> setTMap;
|
private String effectData;
|
||||||
|
|
||||||
|
private long effectTime;
|
||||||
|
|
||||||
public static Map<Integer, List<SAchievementConfig>> sTaskConfigByTypeMap;
|
public static Map<Integer, List<SAchievementConfig>> sTaskConfigByTypeMap;
|
||||||
@Override
|
@Override
|
||||||
public void init() throws Exception {
|
public void init() throws Exception {
|
||||||
|
@ -24,6 +28,10 @@ public class SAchievementConfig implements BaseConfig {
|
||||||
Map<Integer, List<SAchievementConfig>> configListTmp = new HashMap<>();
|
Map<Integer, List<SAchievementConfig>> configListTmp = new HashMap<>();
|
||||||
for(SAchievementConfig sAchievementConfig : configTmp.values()){
|
for(SAchievementConfig sAchievementConfig : configTmp.values()){
|
||||||
int taskType = sAchievementConfig.getType();
|
int taskType = sAchievementConfig.getType();
|
||||||
|
String effectData = sAchievementConfig.getEffectData();
|
||||||
|
if (effectData != null && !effectData.isEmpty()) {
|
||||||
|
sAchievementConfig.setEffectTime(TimeUtils.parseTimeToMiles(effectData,TimeUtils.Stand_CeHua_Data_format));
|
||||||
|
}
|
||||||
if(!configListTmp.containsKey(taskType)){
|
if(!configListTmp.containsKey(taskType)){
|
||||||
configListTmp.put(taskType,new ArrayList<>());
|
configListTmp.put(taskType,new ArrayList<>());
|
||||||
}
|
}
|
||||||
|
@ -49,11 +57,15 @@ public class SAchievementConfig implements BaseConfig {
|
||||||
return reward;
|
return reward;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Map<Integer, List<SAchievementConfig>> getsTaskConfigByTypeMap() {
|
public long getEffectTime() {
|
||||||
return sTaskConfigByTypeMap;
|
return effectTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setsTaskConfigByTypeMap(Map<Integer, List<SAchievementConfig>> sTaskConfigByTypeMap) {
|
public void setEffectTime(long effectTime) {
|
||||||
SAchievementConfig.sTaskConfigByTypeMap = sTaskConfigByTypeMap;
|
this.effectTime = effectTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEffectData() {
|
||||||
|
return effectData;
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue