新将招募 任务限制
parent
d39777c4dc
commit
77f5f9150b
|
|
@ -972,6 +972,24 @@ public class TimeUtils {
|
|||
|
||||
return (y1 == y2) && (m1 == m2) && (d1 == d2);
|
||||
}
|
||||
/**
|
||||
* 判断两个日期是否同一月
|
||||
*
|
||||
* @param r1
|
||||
* @param r2
|
||||
* @return
|
||||
*/
|
||||
public static boolean isSameMonth2(long r1, long r2) {
|
||||
Calendar c1 = Calendar.getInstance();
|
||||
c1.setTimeInMillis(r1);
|
||||
int y1 = c1.get(Calendar.YEAR);
|
||||
int m1 = c1.get(Calendar.MONTH) + 1;
|
||||
Calendar c2 = Calendar.getInstance();
|
||||
c2.setTimeInMillis(r2);
|
||||
int y2 = c2.get(Calendar.YEAR);
|
||||
int m2 = c2.get(Calendar.MONTH) + 1;
|
||||
return (y1 == y2) && (m1 == m2);
|
||||
}
|
||||
|
||||
public static boolean isSameDayWithNow(long r1) {
|
||||
long r2 = now();
|
||||
|
|
|
|||
|
|
@ -336,7 +336,28 @@ public class GlobalDataManaager implements IManager {
|
|||
if( limitDay[0] == 2 ){
|
||||
//此时是开服第几天
|
||||
long day = TimeUtils.getGapDaysByTwoTime(GameApplication.serverConfig.getOpenTime(),TimeUtils.getTimeStamp2(TimeUtils.now()))+1;
|
||||
if(day < limitDay[1]){
|
||||
if(day < limitDay[1]){
|
||||
long mod = passTims % (diffTime + seasonInterval);
|
||||
long turns = passTims / ((diffTime + seasonInterval));
|
||||
if(mod > diffTime ){
|
||||
turns++;
|
||||
}
|
||||
long addTim = turns * (diffTime + seasonInterval);
|
||||
timeOpenOfThis =seasonOpenLong+addTim+(limitDay[1]-day);
|
||||
timeCloseOfThis =seasonEndLong+addTim;
|
||||
CommonProto.FunctionOfTime timeInfo = CommonProto.FunctionOfTime.newBuilder()
|
||||
.setFunctionId(id)
|
||||
.setStartTime((int) (timeOpenOfThis / 1000))
|
||||
.setEndTime((int) (timeCloseOfThis / 1000))
|
||||
.setInterval(seasonInterval).setSwitch(1)
|
||||
.build();
|
||||
int isIDdSame = sGlobalSystemConfig.getIsIDdSame();
|
||||
List<CommonProto.FunctionOfTime> timeList = sameActivity.get(isIDdSame);
|
||||
if(timeList==null){
|
||||
timeList = new ArrayList<>();
|
||||
}
|
||||
timeList.add(timeInfo);
|
||||
sameActivity.put(isIDdSame,timeList);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
|
@ -359,7 +380,7 @@ public class GlobalDataManaager implements IManager {
|
|||
.setFunctionId(id)
|
||||
.setStartTime((int) (timeOpenOfThis / 1000))
|
||||
.setEndTime((int) (timeCloseOfThis / 1000))
|
||||
.setInterval(seasonInterval)
|
||||
.setInterval(seasonInterval).setSwitch(0)
|
||||
.build();
|
||||
int isIDdSame = sGlobalSystemConfig.getIsIDdSame();
|
||||
List<CommonProto.FunctionOfTime> timeList = sameActivity.get(isIDdSame);
|
||||
|
|
@ -407,9 +428,19 @@ public class GlobalDataManaager implements IManager {
|
|||
Map<Integer, SDailyTasksConfig> config = SDailyTasksConfig.config;
|
||||
int dailymissionType = GameMisionType.DAILYMISSION.getType();
|
||||
int day = new Date(GameApplication.serverConfig.getCacheOpenTime()).getDate();//当月第几天
|
||||
boolean refreshStype = false;
|
||||
if(TimeUtils.isSameMonth2(GameApplication.serverConfig.getCacheOpenTime(),TimeUtils.now())){
|
||||
refreshStype = true;
|
||||
}
|
||||
for(SDailyTasksConfig sDailyTasksConfig:config.values()){
|
||||
if(day >= sDailyTasksConfig.getViewDateUp()&& day <=sDailyTasksConfig.getViewDataDown()){
|
||||
fBuilder.addUserMissionInfo(CommonProto.UserMissionInfo.newBuilder().setMissionId(sDailyTasksConfig.getId()).setState(0).setType(dailymissionType).setProgress(0));
|
||||
if(refreshStype){
|
||||
if(day >= sDailyTasksConfig.getViewDateUp()&& day <=sDailyTasksConfig.getViewDataDown()){
|
||||
fBuilder.addUserMissionInfo(CommonProto.UserMissionInfo.newBuilder().setMissionId(sDailyTasksConfig.getId()).setState(0).setType(dailymissionType).setProgress(0));
|
||||
}
|
||||
}else{
|
||||
if(sDailyTasksConfig.getViewDateUp() == 1){
|
||||
fBuilder.addUserMissionInfo(CommonProto.UserMissionInfo.newBuilder().setMissionId(sDailyTasksConfig.getId()).setState(0).setType(dailymissionType).setProgress(0));
|
||||
}
|
||||
}
|
||||
}
|
||||
fBuilder.setExpeditionLeve(user.getExpeditionManager().getExpeditionLeve());
|
||||
|
|
@ -502,7 +533,7 @@ public class GlobalDataManaager implements IManager {
|
|||
}
|
||||
|
||||
/**
|
||||
* 从抽卡获取服务器开服时间
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean getServerOpenTimeCompareSpecialTimeResult(){
|
||||
|
|
|
|||
|
|
@ -218,6 +218,9 @@ public class CumulationData {
|
|||
//活动期间内日常副本挑战总次数
|
||||
public int daily_challenge_count;
|
||||
|
||||
//新将招募次数
|
||||
public int new_hero_zhaomu;
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
import ch.qos.logback.core.util.TimeUtil;
|
||||
import com.ljsd.GameApplication;
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.config.clazzStaticCfg.TaskStaticConfig;
|
||||
|
|
@ -103,9 +104,15 @@ public class UserMissionManager extends MongoBase {
|
|||
break;
|
||||
}
|
||||
case DAILY_REFRESH:
|
||||
int day = new Date(GameApplication.serverConfig.getCacheOpenTime()).getDate();//当月第几天
|
||||
Set<Integer> missionIds = SDailyTasksConfig.config.values().stream().filter(n->day >=n.
|
||||
getViewDateUp()&& day <=n.getViewDataDown()).map(n ->n.getId()).collect(Collectors.toSet());
|
||||
Set<Integer> missionIds;
|
||||
if(TimeUtils.isSameMonth2(GameApplication.serverConfig.getCacheOpenTime(),TimeUtils.now())){
|
||||
int days = new Date(GameApplication.serverConfig.getCacheOpenTime()).getDate();//当月第几天
|
||||
missionIds = STableManager.getConfig(SDailyTasksConfig.class).values().stream().filter(n->days >=n.
|
||||
getViewDateUp()&& days <=n.getViewDataDown()).map(n ->n.getId()).collect(Collectors.toSet());
|
||||
}else{
|
||||
missionIds = STableManager.getConfig(SDailyTasksConfig.class).values().stream().filter(n->n.getViewDateUp() == 1).
|
||||
map(n ->n.getId()).collect(Collectors.toSet());
|
||||
}
|
||||
int type = (int) parm[0];
|
||||
if (type == 0) {
|
||||
dailyMissionIdsType.getDoingMissionIds().clear();
|
||||
|
|
@ -232,9 +239,16 @@ public class UserMissionManager extends MongoBase {
|
|||
updateString("cowFlySkyMissionType", cowFlySkyMissionType);
|
||||
break;
|
||||
case ENDLESS_MISSION_REFRESH:
|
||||
int days = new Date(GameApplication.serverConfig.getCacheOpenTime()).getDate();//当月第几天
|
||||
Set<Integer> endlessTask = STableManager.getConfig(SEndlessTask.class).values().stream().filter(n->days >=n.
|
||||
getViewDateUp()&& days <=n.getViewDataDown()).map(n ->n.getId()).collect(Collectors.toSet());
|
||||
|
||||
Set<Integer> endlessTask;
|
||||
if(TimeUtils.isSameMonth2(GameApplication.serverConfig.getCacheOpenTime(),TimeUtils.now())){
|
||||
int days = new Date(GameApplication.serverConfig.getCacheOpenTime()).getDate();//当月第几天
|
||||
endlessTask = STableManager.getConfig(SEndlessTask.class).values().stream().filter(n->days >=n.
|
||||
getViewDateUp()&& days <=n.getViewDataDown()).map(n ->n.getId()).collect(Collectors.toSet());
|
||||
}else{
|
||||
endlessTask = STableManager.getConfig(SEndlessTask.class).values().stream().filter(n->n.getViewDateUp() == 1).
|
||||
map(n ->n.getId()).collect(Collectors.toSet());
|
||||
}
|
||||
endlessMissionType.getDoingMissionIds().clear();
|
||||
endlessMissionType.getFinishMissionIds().clear();
|
||||
endlessMissionType.getRewardedMissionIds().clear();
|
||||
|
|
|
|||
|
|
@ -361,6 +361,7 @@ public class HeroLogic{
|
|||
}
|
||||
}
|
||||
user.getUserMissionManager().onGameEvent(user,GameEvent.RANDOM_HERO,sLotterySetting.getLotteryType(),perCount);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.NEW_HERO_ZHAOMU,sLotterySetting.getPerCount());
|
||||
heroManager.updateRandCount(type,perCount);
|
||||
CommonProto.Drop.Builder drop = ItemUtil.dropPer(user, resultRandom,BIReason.HERO_RANDOM);
|
||||
fiveStarPushByRandom(user,resultRandom);
|
||||
|
|
|
|||
|
|
@ -136,5 +136,6 @@ public enum GameEvent {
|
|||
TAKE_ADVENTURE_REWARD_COUNT,//急速探索次数
|
||||
DAILY_CHALLENGE_COUNT,//日常副本挑战次数
|
||||
HARSTAGE_PARTICIPATION_REWARD,//山河社稷图参与奖励
|
||||
NEW_HERO_ZHAOMU,//新将招募次数
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -254,9 +254,19 @@ public class MissionLoigc {
|
|||
Map<Integer, SDailyTasksConfig> config = SDailyTasksConfig.config;
|
||||
int dailymissionType = GameMisionType.DAILYMISSION.getType();
|
||||
int day =new Date(GameApplication.serverConfig.getCacheOpenTime()).getDate();//当月第几天
|
||||
boolean refreshStype = false;
|
||||
if(TimeUtils.isSameMonth2(GameApplication.serverConfig.getCacheOpenTime(),TimeUtils.now())){
|
||||
refreshStype = true;
|
||||
}
|
||||
for(SDailyTasksConfig sDailyTasksConfig:config.values()){
|
||||
if(!(day>=sDailyTasksConfig.getViewDateUp()&& day <= sDailyTasksConfig.getViewDataDown())){
|
||||
continue;
|
||||
if(refreshStype){
|
||||
if(!(day >= sDailyTasksConfig.getViewDateUp()&& day <= sDailyTasksConfig.getViewDataDown())){
|
||||
continue;
|
||||
}
|
||||
}else{
|
||||
if(sDailyTasksConfig.getViewDateUp() != 1){
|
||||
continue;
|
||||
}
|
||||
}
|
||||
int state = 2;
|
||||
int missionId = sDailyTasksConfig.getId();
|
||||
|
|
@ -400,7 +410,17 @@ public class MissionLoigc {
|
|||
int id = v.getId();
|
||||
SEndlessTask config = STableManager.getConfig(SEndlessTask.class).get(id);
|
||||
int day =new Date(GameApplication.serverConfig.getCacheOpenTime()).getDate();//当月第几天
|
||||
if(day >= config.getViewDateUp() && day <= config.getViewDataDown()){
|
||||
boolean isAdd = false;
|
||||
if(TimeUtils.isSameMonth2(GameApplication.serverConfig.getCacheOpenTime(),TimeUtils.now())){
|
||||
if(day >= config.getViewDateUp() && day <= config.getViewDataDown()){
|
||||
isAdd = true;
|
||||
}
|
||||
}else{
|
||||
if(1 == config.getViewDateUp()){
|
||||
isAdd = true;
|
||||
}
|
||||
}
|
||||
if(isAdd){
|
||||
CommonProto.UserMissionInfo.Builder info = CommonProto.UserMissionInfo.newBuilder();
|
||||
info.setMissionId(id);
|
||||
info.setType(GameMisionType.ENDLESS_MISSION.getType());
|
||||
|
|
@ -1044,6 +1064,10 @@ public class MissionLoigc {
|
|||
//急速探索次数
|
||||
count = cumulationData.take_adventure_reward_count;
|
||||
break;
|
||||
case NEW_HERO_ZHAOMU:
|
||||
//新将招募次数
|
||||
count = cumulationData.daily_challenge_count;
|
||||
break;
|
||||
case DAILY_CHALLENGE_COUNT:
|
||||
//副本挑战次数
|
||||
count = cumulationData.daily_challenge_count;
|
||||
|
|
|
|||
|
|
@ -147,6 +147,7 @@ public enum MissionType {
|
|||
TAKE_ADVENTURE_REWARD_COUNT(137),//急速探索次数
|
||||
DAILY_CHALLENGE_COUNT(138),//日常副本挑战次
|
||||
HARSTAGE_PARTICIPATION_REWARD(139),//山河社稷图参与奖励
|
||||
NEW_HERO_ZHAOMU(140),//新将招募次数
|
||||
|
||||
;
|
||||
|
||||
|
|
|
|||
|
|
@ -170,6 +170,7 @@ public class DataManagerDistributor {
|
|||
judges.put(MissionType.SUB_ACTIVITY,new SubActivityManager());//社稷大典捐献次数
|
||||
judges.put(MissionType.TAKE_ADVENTURE_REWARD_COUNT,new TakeAdventureRewardManager());//急速探索次数
|
||||
judges.put(MissionType.DAILY_CHALLENGE_COUNT,new DailyChallengeManager());//副本挑战次数
|
||||
judges.put(MissionType.NEW_HERO_ZHAOMU,new NewHeroZhaomuManager());//新将招募次数
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
package com.ljsd.jieling.logic.mission.data;
|
||||
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mission.MissionType;
|
||||
|
||||
public class NewHeroZhaomuManager extends AbstractDataManager{
|
||||
|
||||
|
||||
@Override
|
||||
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
|
||||
int num = (int)parm[0];
|
||||
data.new_hero_zhaomu += num;
|
||||
return new CumulationData.Result(missionType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFinish(User user, CumulationData data, int[][] value, Object... parm) {
|
||||
return data.new_hero_zhaomu >= value[1][0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getProcess(User user, CumulationData data, int[] missionSubType) {
|
||||
return data.new_hero_zhaomu;
|
||||
}
|
||||
}
|
||||
|
|
@ -535,6 +535,11 @@ public class MissionEventDistributor {
|
|||
typeList.add(MissionType.TAKE_ADVENTURE_REWARD_COUNT);
|
||||
eventEnumListMap.put(GameEvent.TAKE_ADVENTURE_REWARD_COUNT, typeList);
|
||||
eventProcessor.put(GameEvent.TAKE_ADVENTURE_REWARD_COUNT, new CumulationDataEventProcessor());
|
||||
//新将招募次数
|
||||
typeList = new ArrayList<>();
|
||||
typeList.add(MissionType.NEW_HERO_ZHAOMU);
|
||||
eventEnumListMap.put(GameEvent.NEW_HERO_ZHAOMU, typeList);
|
||||
eventProcessor.put(GameEvent.NEW_HERO_ZHAOMU, new CumulationDataEventProcessor());
|
||||
//日常副本挑战次数
|
||||
typeList = new ArrayList<>();
|
||||
typeList.add(MissionType.DAILY_CHALLENGE_COUNT);
|
||||
|
|
|
|||
Loading…
Reference in New Issue