天宫秘宝修改
parent
2d788828d5
commit
066de19115
|
@ -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,user.getExpeditionManager().getWorldTreasureReward().getCreateTime());
|
||||
ExpeditionLogic.sendTreasureRewardUpdate(iSession,user.getExpeditionManager().getWorldTreasureReward().getScore(),rewardStatusMap,user.getExpeditionManager().getWorldTreasureReward().getCreateTime(),expeditionManager.getWorldTreasureReward().getIsBuy());
|
||||
|
||||
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,worldTreasureReward.getCreateTime());
|
||||
ExpeditionLogic.sendTreasureRewardUpdate(iSession,worldTreasureReward.getScore(),stateUpdateMap,worldTreasureReward.getCreateTime(),worldTreasureReward.getIsBuy());
|
||||
}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,worldTreasureReward.getCreateTime());
|
||||
ExpeditionLogic.sendTreasureRewardUpdate(iSession,worldTreasureReward.getScore(),stateUpdateMap,worldTreasureReward.getCreateTime(),worldTreasureReward.getIsBuy());
|
||||
}
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, drops, BIReason.EXCEPTION_TREASURE_REWARD);
|
||||
Expedition.ExpeditionTakeTreasureResponse build = Expedition.ExpeditionTakeTreasureResponse.newBuilder().setDrop(drop).build();
|
||||
|
|
|
@ -16,6 +16,7 @@ public class WorldTreasureReward extends MongoBase {
|
|||
private int createTime; //取当天零点 根据其可以推算出期数。
|
||||
private int round;
|
||||
private int score;
|
||||
private int isBuy;
|
||||
private Map<Integer,Integer> rewardStatusMap = new HashMap<>(); //领取状态 1:表示领取基础奖励 2:表示领取额外奖励。
|
||||
|
||||
WorldTreasureReward(){
|
||||
|
@ -34,6 +35,7 @@ public class WorldTreasureReward extends MongoBase {
|
|||
}
|
||||
score = 0;
|
||||
rewardStatusMap = new HashMap<>();
|
||||
setIsBuy(0);
|
||||
updateRound(round+1);
|
||||
}
|
||||
|
||||
|
@ -83,5 +85,12 @@ public class WorldTreasureReward extends MongoBase {
|
|||
this.firstStartTime = firstStartTime;
|
||||
}
|
||||
|
||||
public int getIsBuy() {
|
||||
return isBuy;
|
||||
}
|
||||
|
||||
public void setIsBuy(int isBuy) {
|
||||
this.isBuy = isBuy;
|
||||
updateString("isBuy",isBuy);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -795,15 +795,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,worldTreasureReward.getCreateTime());
|
||||
sendTreasureRewardUpdate(session,0,changeStateMap,worldTreasureReward.getCreateTime(),worldTreasureReward.getIsBuy());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void sendTreasureRewardUpdate(ISession iSession,int score,Map<Integer,Integer> changeStatusMap,int time){
|
||||
public static void sendTreasureRewardUpdate(ISession iSession,int score,Map<Integer,Integer> changeStatusMap,int time,int isBuy){
|
||||
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()));
|
||||
builder.setIsBuy(isBuy);
|
||||
MessageUtil.sendIndicationMessage(iSession,1, MessageTypeProto.MessageType.EXPEDITION_TREASURE_STATE_INDICATION_VALUE,builder.build(),true);
|
||||
|
||||
}
|
||||
|
@ -1027,6 +1028,7 @@ public class ExpeditionLogic {
|
|||
response.addAllTreasureRewardState(states);
|
||||
response.setScore(worldTreasureReward.getScore());
|
||||
response.setResetTime(worldTreasureReward.getCreateTime());
|
||||
response.setIsBuy(worldTreasureReward.getIsBuy());
|
||||
}else {
|
||||
response.setResetTime(-1);
|
||||
}
|
||||
|
|
|
@ -398,8 +398,9 @@ public class BuyGoodsLogic {
|
|||
}
|
||||
if(type==GiftGoodsType.SKY_TREASURE){
|
||||
user.getExpeditionManager().getWorldTreasureReward().setScore(user.getExpeditionManager().getWorldTreasureReward().getScore()+SSpecialConfig.getIntegerValue(SSpecialConfig.SKY_TREASURE_SCORE_INGIFT));
|
||||
user.getExpeditionManager().getWorldTreasureReward().setIsBuy(1);
|
||||
Map<Integer, Integer> rewardStatusMap = user.getExpeditionManager().getWorldTreasureReward().getRewardStatusMap();
|
||||
ExpeditionLogic.sendTreasureRewardUpdate(OnlineUserManager.getSessionByUid(user.getId()),user.getExpeditionManager().getWorldTreasureReward().getScore(),rewardStatusMap,user.getExpeditionManager().getWorldTreasureReward().getCreateTime());
|
||||
ExpeditionLogic.sendTreasureRewardUpdate(OnlineUserManager.getSessionByUid(user.getId()),user.getExpeditionManager().getWorldTreasureReward().getScore(),rewardStatusMap,user.getExpeditionManager().getWorldTreasureReward().getCreateTime(),1);
|
||||
}
|
||||
if(sRechargeCommodityConfig.getTime() ==5){
|
||||
rechargeInfo.updateRefreshMapByKey(sRechargeCommodityConfig.getId(),TimeUtils.now()+sRechargeCommodityConfig.getDailyUpdate()*TimeUtils.DAY);
|
||||
|
|
Loading…
Reference in New Issue