戒灵秘宝周刷新修改

lvxinran 2019-10-25 05:05:31 +08:00
parent 6983bb86de
commit e5f1007862
7 changed files with 63 additions and 29 deletions

View File

@ -1238,4 +1238,29 @@ public class TimeUtils {
return now();
}
/**
*
* @param lastTime
* @param curTime
* @param dayOfWeek
* @param hourOfDay
* @return
*/
public static boolean isSpanTime(long lastTime,long curTime,int dayOfWeek,int hourOfDay){
long curWeekdayStartTime = getCurWeekdayStartTime(dayOfWeek, hourOfDay);
if(lastTime>=curWeekdayStartTime){
return false;
}
if(curTime>=curWeekdayStartTime){
return true;
}else{
curWeekdayStartTime=curWeekdayStartTime-WEEK;
if(lastTime<curWeekdayStartTime){
return true;
}else{
return false;
}
}
}
}

View File

@ -294,9 +294,6 @@ public class GlobalDataManaager {
ActivityLogic.getInstance().flushEveryDay(user,fBuilder);
PlayerLogic.getInstance().vipflushEveryDay(user,fBuilder);
PlayerLogic.getInstance().flushUserdataEvery(user,fBuilder);
user.getUserMissionManager().onGameEvent(user, GameEvent.DAILY_REFRESH,0);
user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_REFRESH,0);
user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_WEEK_REFRESH,0);
user.getUserMissionManager().onGameEvent(user, GameEvent.BLOODY_REFRESH,0);
FriendLogic.getInstance().refreshState(session);

View File

@ -63,7 +63,7 @@ public class ActivityLogic {
//幸运转盘活动刷新
ActivityLogic.getInstance().resumeActivity(user, ActivityType.LUCK_WHEEL);
ActivityLogic.getInstance().resumeActivity(user, ActivityType.LUCK_WHEEL_ADVANCE);
ActivityLogic.getInstance().resumeActivity(user,ActivityType.TREASURE);
Set<Integer> upFiveActivityTypes = new HashSet<>();
upFiveActivityTypes.add(ActivityType.SevenLogin);

View File

@ -25,12 +25,22 @@ public class TreasureActivity extends AbstractActivity {
super(id);
}
@Override
public void onResume(User user) throws Exception {
// user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_MONTH_REFRESH, id);
user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_WEEK_REFRESH, id);
user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_REFRESH, id);
}
@Override
public void initActivity(User user) throws Exception {
user.getPlayerInfoManager().setHadBuyTreasure(0);
LOGGER.info("戒灵秘宝初始化...");
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_MONTH_REFRESH, sGlobalActivity.getId());
user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_WEEK_REFRESH, sGlobalActivity.getId());
user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_REFRESH, sGlobalActivity.getId());
ActivityMission activityMission = new ActivityMission();
List<Integer> levels = new ArrayList<>(STreasureSunlongConfig.levelTreasureConfigMap.keySet());
if(levels.contains(0)){

View File

@ -94,14 +94,12 @@ public class UserMissionManager extends MongoBase {
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication1,true);
break;
case TREASH_WEEK_REFRESH:
int[] dailyRefreshIds = resetTreasureTaskInfo(1,missionTypeEnumListMap,treasureCumulationData);
int[] weekRefreshIds = resetTreasureTaskInfo(2,missionTypeEnumListMap,treasureWeekCumulationData);
CommonProto.RefreshTask.Builder task1 = treasureIndicationBuild(1, dailyRefreshIds);
CommonProto.RefreshTask.Builder task2 = treasureIndicationBuild(2, weekRefreshIds);
PlayerInfoProto.TreasureRefreshIndication indication2 = PlayerInfoProto.TreasureRefreshIndication.newBuilder().addTasks(task1.build()).addTasks(task2.build()).build();
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication2,true);
if(weekRefreshIds!=null){
CommonProto.RefreshTask.Builder task2= treasureIndicationBuild(2, weekRefreshIds);
PlayerInfoProto.TreasureRefreshIndication indication2 = PlayerInfoProto.TreasureRefreshIndication.newBuilder().addTasks(task2.build()).build();
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication2,true);
}
break;
case TREASH_MONTH_REFRESH:
user.getPlayerInfoManager().setTreasureLevel(0);
@ -118,17 +116,15 @@ public class UserMissionManager extends MongoBase {
}
}
System.out.println("戒灵秘宝月任务初始化");
int[] dailyRefreshIds1 = resetTreasureTaskInfo(1,missionTypeEnumListMap,treasureCumulationData);
int[] weekRefreshIds1 = resetTreasureTaskInfo(2,missionTypeEnumListMap,treasureWeekCumulationData);
// int[] dailyRefreshIds1 = resetTreasureTaskInfo(1,missionTypeEnumListMap,treasureCumulationData);
// int[] weekRefreshIds1 = resetTreasureTaskInfo(2,missionTypeEnumListMap,treasureWeekCumulationData);
int[] monthRefreshIds1 = resetTreasureTaskInfo(3,missionTypeEnumListMap,treasureMonthCumulationData);
CommonProto.RefreshTask.Builder task3 = treasureIndicationBuild(1, dailyRefreshIds1);
CommonProto.RefreshTask.Builder task4 = treasureIndicationBuild(2, weekRefreshIds1);
// CommonProto.RefreshTask.Builder task3 = treasureIndicationBuild(1, dailyRefreshIds1);
// CommonProto.RefreshTask.Builder task4 = treasureIndicationBuild(2, weekRefreshIds1);
CommonProto.RefreshTask.Builder task5 = treasureIndicationBuild(3, monthRefreshIds1);
PlayerInfoProto.TreasureRefreshIndication indication3 = PlayerInfoProto.TreasureRefreshIndication.newBuilder().addTasks(task3.build()).addTasks(task4.build()).addTasks(task5.build()).build();
PlayerInfoProto.TreasureRefreshIndication indication3 = PlayerInfoProto.TreasureRefreshIndication.newBuilder().addTasks(task5.build()).build();
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication3,true);
// openMission(user,GameEvent.TREASH_WEEK_REFRESH,missionTypeEnumListMap,parm);
break;
case SERVENHAPPY_REFRESH:
List<STreasureTaskConfig> sTreasureTaskConfigs = null;
@ -300,14 +296,11 @@ public class UserMissionManager extends MongoBase {
private int[] resetTreasureTaskInfo(int type,Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap,CumulationData treasureCumulationData){
//周刷新检测
if(type==3){
treasureMissionIdsType.setWeekRefresh((int)(TimeUtils.now()/1000));
}
if(type==2){
if(treasureMissionIdsType.getWeekRefresh()>= TimeUtils.getCurWeekdayStartTime(1,5)){
if(treasureMissionIdsType.getWeekRefresh()!=0&&!TimeUtils.isSpanTime(treasureMissionIdsType.getWeekRefresh(),TimeUtils.now(),1,5)){
return null;
}
treasureMissionIdsType.setWeekRefresh((int)TimeUtils.now()/1000);
treasureMissionIdsType.setWeekRefresh(TimeUtils.now());
}
int[] typeMissionNum = SSpecialConfig.getOnceArrayValue(SSpecialConfig.SUNLONG_DAILYTASKS);
List<Integer> taskTypeMap = STreasureSunlongTaskConfig.taskTypeMap.get(type);
@ -337,7 +330,14 @@ public class UserMissionManager extends MongoBase {
}
treasureCumulationData.reset();
updateString("treasureMissionIdsType",treasureMissionIdsType);
updateString("treasureCumulationData",treasureCumulationData);
if(type==1){
updateString("treasureCumulationData",treasureCumulationData);
}else if(type==2){
updateString("treasureWeekCumulationData",treasureCumulationData);
}else if(type==3){
updateString("treasureMonthCumulationData",treasureCumulationData);
}
return tasks;
}
private CommonProto.RefreshTask.Builder treasureIndicationBuild(int type,int[] refreshIds){

View File

@ -182,8 +182,10 @@ public class GuildFightLogic {
Family.FamilyBuildBuffInfo.Builder buffInfo = Family.FamilyBuildBuffInfo.newBuilder();
buffInfo.setBuildId(i + 1);
int[] buildBuffs = buffCache.get(String.valueOf(i + 1));
for(Integer buff:buildBuffs){
buffInfo.addBuffId(buff);
if(buildBuffs!=null){
for(Integer buff:buildBuffs){
buffInfo.addBuffId(buff);
}
}
fightInfo.addBuildBuff(buffInfo);
}

View File

@ -16,13 +16,13 @@ public class TreasureMissionType extends AbstractMissionType{
private Map<Integer,Integer> takeTimes = new HashMap<>();
private int weekRefresh;
private long weekRefresh;
public int getWeekRefresh() {
public long getWeekRefresh() {
return weekRefresh;
}
public void setWeekRefresh(int weekRefresh) {
public void setWeekRefresh(long weekRefresh) {
this.weekRefresh = weekRefresh;
}