天宫秘宝时间修改
parent
dcfa14717c
commit
7228d149d4
|
@ -125,7 +125,7 @@ public class TakeLayRewardHandler extends BaseHandler<Expedition.TakeExpeditionB
|
|||
|
||||
user.getExpeditionManager().addScore(score);
|
||||
Map<Integer, Integer> rewardStatusMap = user.getExpeditionManager().getWorldTreasureReward().getRewardStatusMap();
|
||||
ExpeditionLogic.sendTreasureRewardUpdate(iSession,user.getExpeditionManager().getWorldTreasureReward().getScore(),rewardStatusMap);
|
||||
ExpeditionLogic.sendTreasureRewardUpdate(iSession,user.getExpeditionManager().getWorldTreasureReward().getScore(),rewardStatusMap,user.getExpeditionManager().getWorldTreasureReward().getCreateTime());
|
||||
|
||||
Expedition.TakeExpeditionBoxRewardResponse builder = Expedition.TakeExpeditionBoxRewardResponse.newBuilder().setDrop(drop).addAllLeve(objects).build();
|
||||
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.EXPEDITION_TAKE_BOXREWARD_RESONSE_VALUE, builder, true);
|
||||
|
|
|
@ -59,7 +59,7 @@ public class TakeTreasureRewardHandler extends BaseHandler<Expedition.Expedition
|
|||
worldTreasureReward.updateMissionStatus(id,changeState);
|
||||
Map<Integer,Integer> stateUpdateMap = new HashMap<>();
|
||||
stateUpdateMap.put(id,changeState);
|
||||
ExpeditionLogic.sendTreasureRewardUpdate(iSession,worldTreasureReward.getScore(),stateUpdateMap);
|
||||
ExpeditionLogic.sendTreasureRewardUpdate(iSession,worldTreasureReward.getScore(),stateUpdateMap,worldTreasureReward.getCreateTime());
|
||||
}else{
|
||||
Map<Integer,Integer> stateUpdateMap = new HashMap<>();
|
||||
Set<SWorldBossTreasureConfig> sWorldBossTreasureConfigs = idsByPeriods.get(round);
|
||||
|
@ -76,7 +76,7 @@ public class TakeTreasureRewardHandler extends BaseHandler<Expedition.Expedition
|
|||
throw new ErrorCodeException("无奖励可领取");
|
||||
}
|
||||
user.getExpeditionManager().onlyUpdateTreasureReward();
|
||||
ExpeditionLogic.sendTreasureRewardUpdate(iSession,worldTreasureReward.getScore(),stateUpdateMap);
|
||||
ExpeditionLogic.sendTreasureRewardUpdate(iSession,worldTreasureReward.getScore(),stateUpdateMap,worldTreasureReward.getCreateTime());
|
||||
}
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, drops, BIReason.EXCEPTION_TREASURE_REWARD);
|
||||
Expedition.ExpeditionTakeTreasureResponse build = Expedition.ExpeditionTakeTreasureResponse.newBuilder().setDrop(drop).build();
|
||||
|
|
|
@ -85,7 +85,7 @@ public class ExpeditionLogic {
|
|||
|
||||
ExpeditionManager manager = user.getExpeditionManager();
|
||||
TimeControllerOfFunction openTimeOfFuntionCacheByType = GlobalDataManaager.getInstance().getOpenTimeOfFuntionCacheByType(FunctionIdEnum.Expedition);
|
||||
|
||||
checkAndResetTreasure(user);
|
||||
if(openTimeOfFuntionCacheByType==null||manager.getCurrentTime()==openTimeOfFuntionCacheByType.getTimes()){
|
||||
return;
|
||||
}
|
||||
|
@ -104,7 +104,6 @@ public class ExpeditionLogic {
|
|||
// manager.clearEquip();
|
||||
manager.getEffectItems().clear();
|
||||
manager.setFreshTime((int)(openTimeOfFuntionCacheByType.getStartTime()/1000));
|
||||
checkAndResetTreasure(user);
|
||||
SGlobalSystemConfig sGlobalSystemConfig = STableManager.getConfig(SGlobalSystemConfig.class).get(FunctionIdEnum.Expedition.getFunctionType());
|
||||
|
||||
SExpeditionSetting sExpeditionSetting = STableManager.getConfig(SExpeditionSetting.class).get(1);
|
||||
|
@ -773,36 +772,6 @@ public class ExpeditionLogic {
|
|||
if(createTime==0){
|
||||
return;
|
||||
}
|
||||
// SExpeditionSetting sExpeditionSetting = STableManager.getConfig(SExpeditionSetting.class).get(1);
|
||||
// int[][] treasureTime = sExpeditionSetting.getTreasureTime();
|
||||
// int differentDays = TimeUtils.differentDays(createTime * 1000, TimeUtils.now());
|
||||
// int sumPeriod = 0;
|
||||
// int newRound = 0;
|
||||
// int round = worldTreasureReward.getRound();
|
||||
// boolean needReset = false;
|
||||
// for(int[] item : treasureTime){
|
||||
// sumPeriod+=item[1];
|
||||
// if(round>item[0]){
|
||||
// continue;
|
||||
// }
|
||||
// differentDays-=item[1];
|
||||
// if(differentDays<0){
|
||||
// newRound = item[0];
|
||||
// needReset =true;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// if(!needReset){
|
||||
// differentDays=differentDays % sumPeriod;
|
||||
// for(int[] item : treasureTime){
|
||||
// differentDays-=item[1];
|
||||
// if(differentDays<0){
|
||||
// newRound = item[0];
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// needReset=true;
|
||||
// }
|
||||
//重置
|
||||
if(TimeUtils.nowInt()>=worldTreasureReward.getCreateTime()){
|
||||
user.getExpeditionManager().resetTreasureReward(1);
|
||||
|
@ -819,15 +788,16 @@ public class ExpeditionLogic {
|
|||
Map<Integer, Set<SWorldBossTreasureConfig>> idsByPeriods = worldBossTreasureStaticConfig.getIdsByPeriods();
|
||||
Map<Integer,Integer> changeStateMap = new HashMap<>(rewardStatusMap);
|
||||
idsByPeriods.get(worldTreasureReward.getRound()).forEach(item->changeStateMap.putIfAbsent(item.getId(),0));
|
||||
sendTreasureRewardUpdate(session,0,changeStateMap);
|
||||
sendTreasureRewardUpdate(session,0,changeStateMap,worldTreasureReward.getCreateTime());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void sendTreasureRewardUpdate(ISession iSession,int score,Map<Integer,Integer> changeStatusMap ){
|
||||
public static void sendTreasureRewardUpdate(ISession iSession,int score,Map<Integer,Integer> changeStatusMap,int time){
|
||||
Expedition.TreasureStateIndicaion.Builder builder = Expedition.TreasureStateIndicaion.newBuilder().setScore(score);
|
||||
builder.setResetTime(time);
|
||||
changeStatusMap.forEach((id,status)-> builder.addTreasureRewardState(Expedition.TreasureRewardState.newBuilder().setId(id).setState(status).build()));
|
||||
MessageUtil.sendMessage(iSession,1, MessageTypeProto.MessageType.EXPEDITION_TREASURE_STATE_INDICATION_VALUE,builder.build(),true);
|
||||
MessageUtil.sendIndicationMessage(iSession,1, MessageTypeProto.MessageType.EXPEDITION_TREASURE_STATE_INDICATION_VALUE,builder.build(),true);
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue