Merge branch 'master' of http://60.1.1.230/backend/jieling_server
commit
8485c18b7f
|
@ -43,8 +43,6 @@ public class StartExpeditionBattleRequest extends BaseHandler<Expedition.StartEx
|
|||
@Override
|
||||
public void processWithProto(ISession iSession, Expedition.StartExpeditionBattleRequest proto) throws Exception {
|
||||
|
||||
//TODO 新需求 玩家未激活异妖(神器)时,敌人阵容中不会出现异妖;激活异妖后,由敌人数据来源方决定战斗时是否有敌方异妖。??
|
||||
|
||||
User user = UserManager.getUser(iSession.getUid());
|
||||
int nodeId = proto.getNodeId();
|
||||
int teamId = proto.getTeamId();
|
||||
|
|
|
@ -83,9 +83,15 @@ public class TakeLayRewardHandler extends BaseHandler<Expedition.TakeExpeditionB
|
|||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.EXPEDITION_BOX_REWARD);
|
||||
//notify
|
||||
|
||||
|
||||
//updata node
|
||||
Set<CommonProto.ExpeditionNodeInfo> nodeInfos = ExpeditionLogic.openLay(user,nodeInfo.getLay(),nodeId);
|
||||
Expedition.ExpeditionNodeInfoIndication.Builder indication = Expedition.ExpeditionNodeInfoIndication.newBuilder();
|
||||
indication.addAllNodeInfo(nodeInfos);
|
||||
MessageUtil.sendIndicationMessage(iSession, 1, MessageTypeProto.MessageType.EXPEDITION_NOINFO_INDICATION_VALUE, indication.build(), true);
|
||||
|
||||
|
||||
HashSet<Integer> objects = new HashSet<>();
|
||||
|
||||
|
||||
SExpeditionSetting sExpeditionSetting = STableManager.getConfig(SExpeditionSetting.class).get(1);
|
||||
if(sExpeditionSetting == null){
|
||||
throw new ErrorCodeException(ErrorCode.CFG_NULL);
|
||||
|
@ -93,8 +99,6 @@ public class TakeLayRewardHandler extends BaseHandler<Expedition.TakeExpeditionB
|
|||
|
||||
int[][] fourthOpenRule = sExpeditionSetting.getFourthOpenRule();
|
||||
|
||||
|
||||
|
||||
if(expeditionManager.getExpeditionLeve()==2){
|
||||
objects.add(3);
|
||||
expeditionManager.setExpeditionLeve(expeditionManager.getExpeditionLeve()+1);
|
||||
|
@ -104,14 +108,17 @@ public class TakeLayRewardHandler extends BaseHandler<Expedition.TakeExpeditionB
|
|||
expeditionManager.setPassTimes(-1);//记录下
|
||||
objects.add(4);
|
||||
}
|
||||
ExpeditionManager manager = user.getExpeditionManager();
|
||||
manager.clearExpeditionNodeInfos();
|
||||
}else if(expeditionManager.getExpeditionLeve()==1){
|
||||
expeditionManager.setExpeditionLeve(expeditionManager.getExpeditionLeve()+1);
|
||||
objects.add(2);
|
||||
ExpeditionManager manager = user.getExpeditionManager();
|
||||
manager.clearExpeditionNodeInfos();
|
||||
}
|
||||
Expedition.TakeExpeditionBoxRewardResponse builder = Expedition.TakeExpeditionBoxRewardResponse.newBuilder().setDrop(drop).addAllLeve(objects).build();
|
||||
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.EXPEDITION_TAKE_BOXREWARD_RESONSE_VALUE, builder, true);
|
||||
ExpeditionManager manager = user.getExpeditionManager();
|
||||
manager.clearExpeditionNodeInfos();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ public class ExpeditionManager extends MongoBase {
|
|||
private int expeditionLeve;//猎妖之路阶段
|
||||
private Set<ExpeditionItem> propertyItems = new HashSet<>();
|
||||
private WorldTreasureReward worldTreasureReward = new WorldTreasureReward() ;
|
||||
private int freshTime;//刷新时间
|
||||
@Transient
|
||||
private Map<Integer, SExpeditionHolyConfig> effectItems = new HashMap<>();//圣物叠加 不入库
|
||||
|
||||
|
@ -213,6 +214,14 @@ public class ExpeditionManager extends MongoBase {
|
|||
equipMapTemp.put(equip.getId(),equip);
|
||||
}
|
||||
|
||||
public int getFreshTime() {
|
||||
return freshTime;
|
||||
}
|
||||
|
||||
public void setFreshTime(int freshTime) {
|
||||
this.freshTime = freshTime;
|
||||
updateString("freshTime" , freshTime);
|
||||
}
|
||||
|
||||
public Map<String, Hero> getHeroMapTemp() {
|
||||
return heroMapTemp;
|
||||
|
|
|
@ -80,13 +80,11 @@ public class ExpeditionLogic {
|
|||
//每日重置
|
||||
public void flushUserdataEveryDay(User user) throws Exception {
|
||||
|
||||
//TODO 重置时间 每个大闹天宫CD改为持续48小时
|
||||
ExpeditionManager manager = user.getExpeditionManager();
|
||||
TimeControllerOfFunction openTimeOfFuntionCacheByType = GlobalDataManaager.getInstance().getOpenTimeOfFuntionCacheByType(FunctionIdEnum.Expedition);
|
||||
if(manager.getCurrentTime()==openTimeOfFuntionCacheByType.getTimes()){
|
||||
return;
|
||||
}
|
||||
|
||||
takeAllReward(user);
|
||||
manager.clearExpeditionNodeInfos();
|
||||
manager.setLay(1);
|
||||
|
@ -98,10 +96,8 @@ public class ExpeditionLogic {
|
|||
manager.setCurrentTime(openTimeOfFuntionCacheByType.getTimes());
|
||||
manager.clearHeroToTemp();
|
||||
manager.clearEquipToTemp();
|
||||
|
||||
|
||||
//TODO
|
||||
// checkAndResetTreasure(user);
|
||||
manager.setFreshTime((int)(System.currentTimeMillis()/1000));
|
||||
checkAndResetTreasure(user);
|
||||
SGlobalSystemConfig sGlobalSystemConfig = STableManager.getConfig(SGlobalSystemConfig.class).get(FunctionIdEnum.Expedition.getFunctionType());
|
||||
|
||||
SExpeditionSetting sExpeditionSetting = STableManager.getConfig(SExpeditionSetting.class).get(1);
|
||||
|
@ -115,7 +111,7 @@ public class ExpeditionLogic {
|
|||
manager.setSortid(0);
|
||||
}
|
||||
|
||||
if (HandlerLogicThread.checkOpen(user,sGlobalSystemConfig)) {
|
||||
if (HandlerLogicThread.checkOpen(user,sGlobalSystemConfig)&&OnlineUserManager.getSessionByUid(user.getId())!=null) {
|
||||
builder.addAllLay(manager.getRewardBox());
|
||||
builder.addAllHeroInfo(ExpeditionLogic.getInstance().getAllHeroInfo(user));
|
||||
builder.addAllNodeInfo(ExpeditionLogic.getInstance().getNodeInfo(user));
|
||||
|
@ -123,6 +119,7 @@ public class ExpeditionLogic {
|
|||
builder.addAllHeroList(new ArrayList<>());
|
||||
builder.addAllEquip(new ArrayList<>());
|
||||
builder.addAllEquip(new ArrayList<>());
|
||||
builder.setStartTime(manager.getFreshTime());
|
||||
}
|
||||
MessageUtil.sendIndicationMessage(OnlineUserManager.getSessionByUid(user.getId()), 1, MessageTypeProto.MessageType.ExpeditionResetIndication.getNumber(), builder.build(), true);
|
||||
// reSetNode(user);
|
||||
|
|
Loading…
Reference in New Issue