天宫秘宝时间修改
parent
dcfa14717c
commit
7228d149d4
|
|
@ -125,7 +125,7 @@ public class TakeLayRewardHandler extends BaseHandler<Expedition.TakeExpeditionB
|
||||||
|
|
||||||
user.getExpeditionManager().addScore(score);
|
user.getExpeditionManager().addScore(score);
|
||||||
Map<Integer, Integer> rewardStatusMap = user.getExpeditionManager().getWorldTreasureReward().getRewardStatusMap();
|
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();
|
Expedition.TakeExpeditionBoxRewardResponse builder = Expedition.TakeExpeditionBoxRewardResponse.newBuilder().setDrop(drop).addAllLeve(objects).build();
|
||||||
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.EXPEDITION_TAKE_BOXREWARD_RESONSE_VALUE, builder, true);
|
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);
|
worldTreasureReward.updateMissionStatus(id,changeState);
|
||||||
Map<Integer,Integer> stateUpdateMap = new HashMap<>();
|
Map<Integer,Integer> stateUpdateMap = new HashMap<>();
|
||||||
stateUpdateMap.put(id,changeState);
|
stateUpdateMap.put(id,changeState);
|
||||||
ExpeditionLogic.sendTreasureRewardUpdate(iSession,worldTreasureReward.getScore(),stateUpdateMap);
|
ExpeditionLogic.sendTreasureRewardUpdate(iSession,worldTreasureReward.getScore(),stateUpdateMap,worldTreasureReward.getCreateTime());
|
||||||
}else{
|
}else{
|
||||||
Map<Integer,Integer> stateUpdateMap = new HashMap<>();
|
Map<Integer,Integer> stateUpdateMap = new HashMap<>();
|
||||||
Set<SWorldBossTreasureConfig> sWorldBossTreasureConfigs = idsByPeriods.get(round);
|
Set<SWorldBossTreasureConfig> sWorldBossTreasureConfigs = idsByPeriods.get(round);
|
||||||
|
|
@ -76,7 +76,7 @@ public class TakeTreasureRewardHandler extends BaseHandler<Expedition.Expedition
|
||||||
throw new ErrorCodeException("无奖励可领取");
|
throw new ErrorCodeException("无奖励可领取");
|
||||||
}
|
}
|
||||||
user.getExpeditionManager().onlyUpdateTreasureReward();
|
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);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, drops, BIReason.EXCEPTION_TREASURE_REWARD);
|
||||||
Expedition.ExpeditionTakeTreasureResponse build = Expedition.ExpeditionTakeTreasureResponse.newBuilder().setDrop(drop).build();
|
Expedition.ExpeditionTakeTreasureResponse build = Expedition.ExpeditionTakeTreasureResponse.newBuilder().setDrop(drop).build();
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@ public class ExpeditionLogic {
|
||||||
|
|
||||||
ExpeditionManager manager = user.getExpeditionManager();
|
ExpeditionManager manager = user.getExpeditionManager();
|
||||||
TimeControllerOfFunction openTimeOfFuntionCacheByType = GlobalDataManaager.getInstance().getOpenTimeOfFuntionCacheByType(FunctionIdEnum.Expedition);
|
TimeControllerOfFunction openTimeOfFuntionCacheByType = GlobalDataManaager.getInstance().getOpenTimeOfFuntionCacheByType(FunctionIdEnum.Expedition);
|
||||||
|
checkAndResetTreasure(user);
|
||||||
if(openTimeOfFuntionCacheByType==null||manager.getCurrentTime()==openTimeOfFuntionCacheByType.getTimes()){
|
if(openTimeOfFuntionCacheByType==null||manager.getCurrentTime()==openTimeOfFuntionCacheByType.getTimes()){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -104,7 +104,6 @@ public class ExpeditionLogic {
|
||||||
// manager.clearEquip();
|
// manager.clearEquip();
|
||||||
manager.getEffectItems().clear();
|
manager.getEffectItems().clear();
|
||||||
manager.setFreshTime((int)(openTimeOfFuntionCacheByType.getStartTime()/1000));
|
manager.setFreshTime((int)(openTimeOfFuntionCacheByType.getStartTime()/1000));
|
||||||
checkAndResetTreasure(user);
|
|
||||||
SGlobalSystemConfig sGlobalSystemConfig = STableManager.getConfig(SGlobalSystemConfig.class).get(FunctionIdEnum.Expedition.getFunctionType());
|
SGlobalSystemConfig sGlobalSystemConfig = STableManager.getConfig(SGlobalSystemConfig.class).get(FunctionIdEnum.Expedition.getFunctionType());
|
||||||
|
|
||||||
SExpeditionSetting sExpeditionSetting = STableManager.getConfig(SExpeditionSetting.class).get(1);
|
SExpeditionSetting sExpeditionSetting = STableManager.getConfig(SExpeditionSetting.class).get(1);
|
||||||
|
|
@ -773,36 +772,6 @@ public class ExpeditionLogic {
|
||||||
if(createTime==0){
|
if(createTime==0){
|
||||||
return;
|
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()){
|
if(TimeUtils.nowInt()>=worldTreasureReward.getCreateTime()){
|
||||||
user.getExpeditionManager().resetTreasureReward(1);
|
user.getExpeditionManager().resetTreasureReward(1);
|
||||||
|
|
@ -819,15 +788,16 @@ public class ExpeditionLogic {
|
||||||
Map<Integer, Set<SWorldBossTreasureConfig>> idsByPeriods = worldBossTreasureStaticConfig.getIdsByPeriods();
|
Map<Integer, Set<SWorldBossTreasureConfig>> idsByPeriods = worldBossTreasureStaticConfig.getIdsByPeriods();
|
||||||
Map<Integer,Integer> changeStateMap = new HashMap<>(rewardStatusMap);
|
Map<Integer,Integer> changeStateMap = new HashMap<>(rewardStatusMap);
|
||||||
idsByPeriods.get(worldTreasureReward.getRound()).forEach(item->changeStateMap.putIfAbsent(item.getId(),0));
|
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);
|
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()));
|
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