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