back_recharge
zhangshanxue 2020-06-29 18:10:44 +08:00
commit a38165efef
4 changed files with 43 additions and 34 deletions

View File

@ -1,5 +1,7 @@
package com.ljsd.jieling.handler;
import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.exception.ErrorCodeException;
import com.ljsd.jieling.logic.item.ItemLogic;
import com.ljsd.jieling.netty.cocdex.PacketNetData;
import com.ljsd.jieling.network.session.ISession;
@ -40,9 +42,10 @@ public class UseAndPriceItemHandler extends BaseHandler<PlayerInfoProto.UseAndPr
ItemLogic.sendUseAndPriceItemMessage(iSession, MessageTypeProto.MessageType.USER_AND_PRICE_ITEM_RESPONSE_VALUE, baseBuilder);
}else if(type==4){//分解宝器
ItemLogic.getInstance().decomposeJewel(iSession,equipIdsList);
}else if(type==6){
ItemLogic.getInstance().useItem(iSession,itemList,useAndPriceItemRequest.getItemId());
}else{
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
}
}

View File

@ -20,7 +20,11 @@ public class WorldTreasureReward extends MongoBase {
public void reset(int round){
if(createTime == 0){
createTime =(int)(TimeUtils.getAppointTime(0));
createTime =(int)((TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5,0, true)+TimeUtils.DAY*5)/1000);
}else{
do{
createTime+=TimeUtils.DAY*5/1000;
}while(createTime<TimeUtils.nowInt());
}
score = 0;
rewardStatusMap = new HashMap<>();

View File

@ -764,39 +764,39 @@ 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;
}
// 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(needReset){
user.getExpeditionManager().resetTreasureReward(newRound);
if(TimeUtils.nowInt()>=worldTreasureReward.getCreateTime()){
user.getExpeditionManager().resetTreasureReward(1);
sendAllTreasureInfo(user);
}
}
@ -1021,6 +1021,7 @@ public class ExpeditionLogic {
});
response.addAllTreasureRewardState(states);
response.setScore(worldTreasureReward.getScore());
response.setResetTime(worldTreasureReward.getCreateTime());
MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true);
}
}

View File

@ -1231,6 +1231,7 @@ public class ItemUtil {
int itemType = getItemType(sItem);
switch (itemType) {
case GlobalItemType.ITEM:
case GlobalItemType.SOUL_MARK:
putcountMap(itemId,itemNum,itemMap);
break;
default: