牛气冲天活动bug修改

(cherry picked from commit 6f0a8cda79)
master_ob2
grimm 2024-01-29 14:31:29 +08:00
parent c5c10b4703
commit 88cd6a2d43
4 changed files with 46 additions and 15 deletions

View File

@ -76,6 +76,7 @@ public class UserMissionManager extends MongoBase {
private CumulationData jadeDynastyCumulationData = new CumulationData();//破阵诛仙日数据
private CumulationData jadeDynastyWeekCumulationData = new CumulationData();//破阵诛仙周数据
private CumulationData mistyTripCumulationData = new CumulationData();//缥缈之旅数据
private CumulationData cowFlyCumulationData = new CumulationData();//牛气冲天数据
/**
*
@ -103,7 +104,7 @@ public class UserMissionManager extends MongoBase {
case DAILY_MISSION_REWARD:{
dailyMissionIdsType.rewardMission(user,(int)parm[0], missionTypeEnumListMap.get(GameMisionType.DAILYMISSION));
if(!missionTypeEnumListMap.get(GameMisionType.DAILYMISSION).isEmpty()){
calCumulationDataResult(user,MissionType.FINSIH_DAYILY_TIMES,missionTypeEnumListMap,(int)parm[0]);
calCumulationDataResult(user,MissionType.FINSIH_DAYILY_TIMES,missionTypeEnumListMap, parm[0]);
updateString("dailyMissionIdsType",dailyMissionIdsType);
}
}
@ -212,6 +213,20 @@ public class UserMissionManager extends MongoBase {
}
}
}
// 牛气冲天活动数据处理
if(!cowFlySkyMissionType.getDoingMissionIds().isEmpty()){
Map<Integer, SArroGantFly> flyMap = SArroGantFly.getTaskTypeMap().get(missionType.getMissionTypeValue());
if (flyMap != null && !flyMap.isEmpty()) {
CumulationData.Result result = cowFlyCumulationData.updateData(missionType, parm);
if(result != null){
cowFlySkyMissionType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.COWFLYSKYMISSION), cowFlyCumulationData);
setCowFlySkyMissionType(cowFlySkyMissionType);
setCowFlyCumulationData(cowFlyCumulationData);
}
}
}
if(!treasureMissionIdsType.getDoingMissionIds().isEmpty() ){
List<STreasureSunlongTaskConfig> sTreasureTaskConfigs = STreasureSunlongTaskConfig.sTreasureTaskConfigListByTypeMapTmp.get(missionType.getMissionTypeValue());
if(sTreasureTaskConfigs!=null){
@ -319,9 +334,6 @@ public class UserMissionManager extends MongoBase {
// vip任务
vipMissionIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.VIPMISSION),cumulationData);
updateString("vipMissionIdsType",vipMissionIdsType);
// 牛气冲天任务
cowFlySkyMissionType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.COWFLYSKYMISSION),cumulationData);
updateString("cowFlySkyMissionType",cowFlySkyMissionType);
// 家园任务
homeMissionType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.HOME_MISSION),cumulationData);
updateString("homeMissionType",homeMissionType);
@ -450,6 +462,15 @@ public class UserMissionManager extends MongoBase {
updateString("treasureMissionIdsType", treasureMissionIdsType);
}
public CumulationData getCowFlyCumulationData() {
return cowFlyCumulationData;
}
public void setCowFlyCumulationData(CumulationData cowFlyCumulationData) {
this.cowFlyCumulationData = cowFlyCumulationData;
updateString("cowFlyCumulationData", cowFlyCumulationData);
}
public TreasureMissionType getTreasureMissionIdsType() {
return treasureMissionIdsType;
}

View File

@ -1,5 +1,6 @@
package com.ljsd.jieling.logic.mission.event;
import com.ljsd.jieling.logic.dao.CumulationData;
import com.ljsd.jieling.logic.dao.UserMissionManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.GameEvent;
@ -25,6 +26,7 @@ public class CowFlySkyRefreshEventProcess implements BaseGameEventProcessor {
cowFlySkyMissionType.getFinishMissionIds().clear();
cowFlySkyMissionType.getRewardedMissionIds().clear();
cowFlySkyMissionType.getDoingMissionIds().addAll(arro);
missionManager.setCowFlyCumulationData(new CumulationData());
missionManager.setCowFlySkyMissionType(cowFlySkyMissionType);
}
}

View File

@ -1,6 +1,5 @@
package com.ljsd.jieling.logic.mission.event;
import com.ljsd.jieling.logic.dao.UserMissionManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.GameMisionType;
@ -13,7 +12,6 @@ import java.util.Map;
public class JadeDynastyWeekRefreshEventProcess implements BaseGameEventProcessor {
@Override
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> misionTypeListMap, GameEvent event, Object... parm) throws Exception {
UserMissionManager missionManager = user.getUserMissionManager();
//当前轮次破阵诛仙的活动ID
int jadeAid = (int) parm[0];
MissionLogic.getInstance().resetJadeDynastyTaskInfo(user,2, jadeAid, misionTypeListMap);

View File

@ -51,15 +51,9 @@ public class CowFlySkyMissionType extends AbstractMissionType {
}
}
@Override
public void calCumulationDataResult(User user, CumulationData.Result result, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData) throws Exception {
// 进行中得任务
public void missionRefresh(User user, List<SArroGantFly> flyList, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData){
Set<Integer> doingMissionIds = getDoingMissionIds();
Map<Integer, SArroGantFly> flyMap = SArroGantFly.getTaskTypeMap().get(result.subType.getMissionTypeValue());
if (flyMap == null || flyMap.isEmpty()){
return;
}
for (SArroGantFly fly : flyMap.values()) {
for (SArroGantFly fly : flyList) {
// 任务子id
int id = fly.getId();
// 不在执行中
@ -84,7 +78,23 @@ public class CowFlySkyMissionType extends AbstractMissionType {
// 任务列表更新
doingMissionIds.remove(id);
getFinishMissionIds().add(id);
}
}
@Override
public void calCumulationDataResult(User user, CumulationData.Result result, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData) throws Exception {
Map<Integer, SArroGantFly> flyMap = SArroGantFly.getTaskTypeMap().get(result.subType.getMissionTypeValue());
if (flyMap == null || flyMap.isEmpty()){
return;
}
missionRefresh(user, new ArrayList<>(flyMap.values()), missionStateChangeInfos, cumulationData);
}
// public void initRefreshCumulationData(User user, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData, int activityId){
// Map<Integer, SArroGantFly> flyMap = SArroGantFly.getActivityMap().get(activityId);
// if (flyMap == null || flyMap.isEmpty()){
// return;
// }
// missionRefresh(user, new ArrayList<>(flyMap.values()), missionStateChangeInfos, cumulationData);
// }
}