青龙秘宝修改
parent
16c9e3deac
commit
749f0aa253
|
@ -1275,7 +1275,8 @@ public class ActivityLogic implements IEventHandler{
|
|||
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
|
||||
}
|
||||
|
||||
PlayerInfoProto.TreasureLevelUpIndication indication = PlayerInfoProto.TreasureLevelUpIndication.newBuilder().setLevel(user.getPlayerInfoManager().getTreasureLevel()).build();
|
||||
PlayerInfoProto.TreasureLevelUpIndication indication = PlayerInfoProto.TreasureLevelUpIndication.newBuilder().setLevel(user.getPlayerInfoManager().getTreasureLevel())
|
||||
.setHadBuy(user.getPlayerInfoManager().getHadBuyTreasure()).build();
|
||||
MessageUtil.sendIndicationMessage(session,1,MessageTypeProto.MessageType.TREASURE_LEVELUP_INDICATION_VALUE,indication,true);
|
||||
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
||||
|
@ -1317,8 +1318,16 @@ public class ActivityLogic implements IEventHandler{
|
|||
|
||||
public void getTreasureNextRefreshTime(ISession session,MessageTypeProto.MessageType messageType) throws Exception {
|
||||
int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5,0, false)/1000);
|
||||
int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,5)/1000);
|
||||
PlayerInfoProto.TreasureRefreshTimeResponse response = PlayerInfoProto.TreasureRefreshTimeResponse.newBuilder().setDayTime(dayRefreshTime).setWeekTime(weekRefreshTime).build();
|
||||
int uid = session.getUid();
|
||||
User user = UserManager.getUser(uid);
|
||||
PlayerInfoProto.TreasureRefreshTimeResponse response;
|
||||
if(user.getActivityManager().getActivityMissionMap().containsKey(801)){
|
||||
int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,5)/1000);
|
||||
response = PlayerInfoProto.TreasureRefreshTimeResponse.newBuilder().setDayTime(dayRefreshTime).setWeekTime(weekRefreshTime).build();
|
||||
}else{
|
||||
long weekRefresh = user.getUserMissionManager().getTreasureMissionIdsType().getWeekRefresh();
|
||||
response = PlayerInfoProto.TreasureRefreshTimeResponse.newBuilder().setDayTime(dayRefreshTime).setWeekTime((int)(weekRefresh/1000)).build();
|
||||
}
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true);
|
||||
}
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ import com.ljsd.jieling.exception.ErrorCodeException;
|
|||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.jbean.ActivityMission;
|
||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.dao.PlayerManager;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.VipInfo;
|
||||
|
@ -68,6 +69,10 @@ public class TreasureActivity extends AbstractActivity {
|
|||
ActivityLogic.getInstance().initOtherMission(activityMission,levels);
|
||||
// long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2) - 24 * 3600 * 1000;
|
||||
user.getActivityManager().getActivityMissionMap().put(sGlobalActivity.getId(), activityMission);
|
||||
PlayerInfoProto.TreasureLevelUpIndication indication = PlayerInfoProto.TreasureLevelUpIndication.newBuilder().setLevel(user.getPlayerInfoManager().getTreasureLevel())
|
||||
.setHadBuy(user.getPlayerInfoManager().getHadBuyTreasure()).build();
|
||||
MessageUtil.sendIndicationMessage(OnlineUserManager.getSessionByUid(user.getId()),1,MessageTypeProto.MessageType.TREASURE_LEVELUP_INDICATION_VALUE,indication,true);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ import com.ljsd.jieling.exception.ErrorCodeException;
|
|||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mission.*;
|
||||
import com.ljsd.jieling.logic.mission.event.MissionEventDistributor;
|
||||
|
@ -17,6 +18,7 @@ import com.ljsd.jieling.protocols.CommonProto;
|
|||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.protocols.PlayerInfoProto;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import com.ljsd.jieling.util.ToolsUtil;
|
||||
import util.MathUtils;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import config.*;
|
||||
|
@ -492,10 +494,31 @@ public class UserMissionManager extends MongoBase {
|
|||
private int[] resetTreasureTaskInfo(int type, int activityId, Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap,CumulationData treasureCumulationData){
|
||||
//周刷新检测
|
||||
if (type == 2) {
|
||||
if (treasureMissionIdsType.getWeekRefresh() != 0 && !TimeUtils.isSpanTime(treasureMissionIdsType.getWeekRefresh(), TimeUtils.now(), 1, 5)) {
|
||||
return null;
|
||||
if(activityId!=801){
|
||||
if(treasureMissionIdsType.getWeekRefresh()!=0&&TimeUtils.now()<treasureMissionIdsType.getWeekRefresh()){
|
||||
return null;
|
||||
}
|
||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
|
||||
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 1);
|
||||
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 2);
|
||||
if(TimeUtils.now()>endTime){
|
||||
return null;
|
||||
}
|
||||
do{
|
||||
startTime += TimeUtils.WEEK;
|
||||
}while(startTime+5*TimeUtils.HOUR<TimeUtils.now()&&startTime+5*TimeUtils.HOUR<endTime);
|
||||
//如果小于两周 直接到结束
|
||||
if(endTime-startTime-5*TimeUtils.HOUR<TimeUtils.WEEK){
|
||||
startTime = endTime;
|
||||
}
|
||||
treasureMissionIdsType.setWeekRefresh(startTime+5*TimeUtils.HOUR);
|
||||
}else{
|
||||
if (treasureMissionIdsType.getWeekRefresh() != 0 && !TimeUtils.isSpanTime(treasureMissionIdsType.getWeekRefresh(), TimeUtils.now(), 1, 5)) {
|
||||
return null;
|
||||
}
|
||||
treasureMissionIdsType.setWeekRefresh(TimeUtils.now());
|
||||
}
|
||||
treasureMissionIdsType.setWeekRefresh(TimeUtils.now());
|
||||
|
||||
}
|
||||
//int[] typeMissionNum = SSpecialConfig.getOnceArrayValue(SSpecialConfig.SUNLONG_DAILYTASKS);
|
||||
List<Integer> taskTypeMap = STreasureSunlongTaskConfig.taskTypeMap.get(type);
|
||||
|
@ -551,7 +574,7 @@ public class UserMissionManager extends MongoBase {
|
|||
private int[] resetJadeDynastyTaskInfo(int type, int activityId, Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap,CumulationData jadeDynastyCumulationData){
|
||||
//周刷新检测
|
||||
if (type == 2) {
|
||||
if (jadeDynastyMissionType.getWeekRefresh() != 0) {
|
||||
if (jadeDynastyMissionType.getWeekRefresh() != 0 && TimeUtils.now()<jadeDynastyMissionType.getWeekRefresh() ) {
|
||||
return null;
|
||||
}
|
||||
jadeDynastyMissionType.setWeekRefresh(TimeUtils.now());
|
||||
|
|
|
@ -528,7 +528,8 @@ public class BuyGoodsLogic {
|
|||
if(goodsType == GiftGoodsType.SUN_LONG){
|
||||
user.getPlayerInfoManager().setHadBuyTreasure(1);
|
||||
user.getPlayerInfoManager().setTreasureLevel(user.getPlayerInfoManager().getTreasureLevel()+15);
|
||||
PlayerInfoProto.TreasureLevelUpIndication indication = PlayerInfoProto.TreasureLevelUpIndication.newBuilder().setLevel(user.getPlayerInfoManager().getTreasureLevel()).build();
|
||||
PlayerInfoProto.TreasureLevelUpIndication indication = PlayerInfoProto.TreasureLevelUpIndication.newBuilder()
|
||||
.setHadBuy(user.getPlayerInfoManager().getHadBuyTreasure()).setLevel(user.getPlayerInfoManager().getTreasureLevel()).build();
|
||||
MessageUtil.sendIndicationMessage(OnlineUserManager.getSessionByUid(user.getId()),1,MessageTypeProto.MessageType.TREASURE_LEVELUP_INDICATION_VALUE,indication,true);
|
||||
}
|
||||
if (sRechargeCommodityConfig.getId() == GlobalsDef.DAILY_GOODS_FAST_ID) {
|
||||
|
|
|
@ -727,7 +727,9 @@ public class ItemUtil {
|
|||
}
|
||||
}
|
||||
}
|
||||
PlayerInfoProto.TreasureLevelUpIndication indication = PlayerInfoProto.TreasureLevelUpIndication.newBuilder().setLevel(user.getPlayerInfoManager().getTreasureLevel()).build();
|
||||
PlayerInfoProto.TreasureLevelUpIndication indication = PlayerInfoProto.TreasureLevelUpIndication.newBuilder()
|
||||
.setHadBuy(user.getPlayerInfoManager().getHadBuyTreasure())
|
||||
.setLevel(user.getPlayerInfoManager().getTreasureLevel()).build();
|
||||
MessageUtil.sendIndicationMessage(OnlineUserManager.getSessionByUid(user.getId()),1,MessageTypeProto.MessageType.TREASURE_LEVELUP_INDICATION_VALUE,indication,true);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue