青龙秘宝修改

lvxinran 2020-09-28 05:06:42 +08:00
parent 16c9e3deac
commit 749f0aa253
5 changed files with 49 additions and 9 deletions

View File

@ -1275,7 +1275,8 @@ public class ActivityLogic implements IEventHandler{
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH); 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.sendIndicationMessage(session,1,MessageTypeProto.MessageType.TREASURE_LEVELUP_INDICATION_VALUE,indication,true);
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,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 { public void getTreasureNextRefreshTime(ISession session,MessageTypeProto.MessageType messageType) throws Exception {
int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5,0, false)/1000); int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5,0, false)/1000);
int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,5)/1000); int uid = session.getUid();
PlayerInfoProto.TreasureRefreshTimeResponse response = PlayerInfoProto.TreasureRefreshTimeResponse.newBuilder().setDayTime(dayRefreshTime).setWeekTime(weekRefreshTime).build(); 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); MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true);
} }

View File

@ -6,6 +6,7 @@ import com.ljsd.jieling.exception.ErrorCodeException;
import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.jbean.ActivityMission;
import com.ljsd.jieling.jbean.ActivityProgressInfo; 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.PlayerManager;
import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.VipInfo; import com.ljsd.jieling.logic.dao.VipInfo;
@ -68,6 +69,10 @@ public class TreasureActivity extends AbstractActivity {
ActivityLogic.getInstance().initOtherMission(activityMission,levels); ActivityLogic.getInstance().initOtherMission(activityMission,levels);
// long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2) - 24 * 3600 * 1000; // long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2) - 24 * 3600 * 1000;
user.getActivityManager().getActivityMissionMap().put(sGlobalActivity.getId(), activityMission); 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);
} }

View File

@ -8,6 +8,7 @@ import com.ljsd.jieling.exception.ErrorCodeException;
import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.logic.OnlineUserManager; 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.dao.root.User;
import com.ljsd.jieling.logic.mission.*; import com.ljsd.jieling.logic.mission.*;
import com.ljsd.jieling.logic.mission.event.MissionEventDistributor; 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.MessageTypeProto;
import com.ljsd.jieling.protocols.PlayerInfoProto; import com.ljsd.jieling.protocols.PlayerInfoProto;
import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.ToolsUtil;
import util.MathUtils; import util.MathUtils;
import com.ljsd.jieling.util.MessageUtil; import com.ljsd.jieling.util.MessageUtil;
import config.*; 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){ private int[] resetTreasureTaskInfo(int type, int activityId, Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap,CumulationData treasureCumulationData){
//周刷新检测 //周刷新检测
if (type == 2) { if (type == 2) {
if (treasureMissionIdsType.getWeekRefresh() != 0 && !TimeUtils.isSpanTime(treasureMissionIdsType.getWeekRefresh(), TimeUtils.now(), 1, 5)) { if(activityId!=801){
return null; 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); //int[] typeMissionNum = SSpecialConfig.getOnceArrayValue(SSpecialConfig.SUNLONG_DAILYTASKS);
List<Integer> taskTypeMap = STreasureSunlongTaskConfig.taskTypeMap.get(type); 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){ private int[] resetJadeDynastyTaskInfo(int type, int activityId, Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap,CumulationData jadeDynastyCumulationData){
//周刷新检测 //周刷新检测
if (type == 2) { if (type == 2) {
if (jadeDynastyMissionType.getWeekRefresh() != 0) { if (jadeDynastyMissionType.getWeekRefresh() != 0 && TimeUtils.now()<jadeDynastyMissionType.getWeekRefresh() ) {
return null; return null;
} }
jadeDynastyMissionType.setWeekRefresh(TimeUtils.now()); jadeDynastyMissionType.setWeekRefresh(TimeUtils.now());

View File

@ -528,7 +528,8 @@ public class BuyGoodsLogic {
if(goodsType == GiftGoodsType.SUN_LONG){ if(goodsType == GiftGoodsType.SUN_LONG){
user.getPlayerInfoManager().setHadBuyTreasure(1); user.getPlayerInfoManager().setHadBuyTreasure(1);
user.getPlayerInfoManager().setTreasureLevel(user.getPlayerInfoManager().getTreasureLevel()+15); 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); MessageUtil.sendIndicationMessage(OnlineUserManager.getSessionByUid(user.getId()),1,MessageTypeProto.MessageType.TREASURE_LEVELUP_INDICATION_VALUE,indication,true);
} }
if (sRechargeCommodityConfig.getId() == GlobalsDef.DAILY_GOODS_FAST_ID) { if (sRechargeCommodityConfig.getId() == GlobalsDef.DAILY_GOODS_FAST_ID) {

View File

@ -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); MessageUtil.sendIndicationMessage(OnlineUserManager.getSessionByUid(user.getId()),1,MessageTypeProto.MessageType.TREASURE_LEVELUP_INDICATION_VALUE,indication,true);
} }