青龙秘宝修改

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);
}
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);
}

View File

@ -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);
}

View File

@ -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());

View File

@ -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) {

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);
}