新增任务类型

back_recharge
zhangshanxue 2020-06-03 12:02:15 +08:00
parent 4defdf8aca
commit 01e0b812e9
18 changed files with 33 additions and 31 deletions

View File

@ -15,6 +15,7 @@ import com.ljsd.jieling.logic.dao.root.GuildInfo;
import com.ljsd.jieling.logic.dao.root.GuildLog; import com.ljsd.jieling.logic.dao.root.GuildLog;
import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.family.GuildLogic; import com.ljsd.jieling.logic.family.GuildLogic;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.protocols.ChatProto; import com.ljsd.jieling.protocols.ChatProto;
import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.Family; import com.ljsd.jieling.protocols.Family;
@ -93,6 +94,7 @@ public class GuildHelpHelpOtherRequestHandler extends BaseHandler<Family.GuildHe
throw new ErrorCodeException("援助失败"); throw new ErrorCodeException("援助失败");
} }
user.getUserMissionManager().onGameEvent(user, GameEvent.GUID_HELP,1);
//notify all change //notify all change
target.getGuildMyInfo().getGuidHelpInfo().merge(proto.getType(), 1, Integer::sum); target.getGuildMyInfo().getGuidHelpInfo().merge(proto.getType(), 1, Integer::sum);

View File

@ -2,8 +2,6 @@ package com.ljsd.jieling.logic.mission;
import com.ljsd.jieling.config.clazzStaticCfg.TaskStaticConfig; import com.ljsd.jieling.config.clazzStaticCfg.TaskStaticConfig;
import com.ljsd.jieling.core.FunctionIdEnum;
import com.ljsd.jieling.core.HandlerLogicThread;
import com.ljsd.jieling.dataReport.reportBeans_37.Repot37EventUtil; import com.ljsd.jieling.dataReport.reportBeans_37.Repot37EventUtil;
import com.ljsd.jieling.exception.ErrorCode; import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.exception.ErrorCodeException; import com.ljsd.jieling.exception.ErrorCodeException;
@ -466,7 +464,7 @@ public class MissionLoigc {
//tofix zsx //tofix zsx
BaseDataManager missTypeData = DataManagerDistributor.getMissTypeData(MissionType.findByMissionId(missionTypeId)); BaseDataManager missTypeData = DataManagerDistributor.getMissTypeData(MissionType.findByMissionId(missionTypeId));
if(missTypeData instanceof AbstractDataManager){ if(missTypeData instanceof AbstractDataManager){
return ((AbstractDataManager) missTypeData).getprocess(user,user.getUserMissionManager().getCumulationData(),missionSubType); return ((AbstractDataManager) missTypeData).getProcess(user,user.getUserMissionManager().getCumulationData(),missionSubType);
} }
Integer count =0; Integer count =0;

View File

@ -16,7 +16,7 @@ public abstract class AbstractDataManager implements BaseDataManager,IBaseDataCh
} }
@Override @Override
public int getprocess(User user, CumulationData data, int[] missionSubType) { public int getProcess(User user, CumulationData data, int[] missionSubType) {
return 0; return 0;
} }
} }

View File

@ -28,7 +28,7 @@ public class CarPlayLootManager extends AbstractDataManager{
} }
@Override @Override
public int getprocess(User user, CumulationData data, int[] missionSubType) { public int getProcess(User user, CumulationData data, int[] missionSubType) {
return data.car_play_loot_time; return data.car_play_loot_time;
} }

View File

@ -28,7 +28,7 @@ public class CarPlayManager extends AbstractDataManager{
} }
@Override @Override
public int getprocess(User user, CumulationData data, int[] missionSubType) { public int getProcess(User user, CumulationData data, int[] missionSubType) {
return data.car_play_time; return data.car_play_time;
} }

View File

@ -26,7 +26,7 @@ public class CardTypeRandomTimes extends AbstractDataManager {
} }
@Override @Override
public int getprocess(User user, CumulationData data, int[] missionSubType) { public int getProcess(User user, CumulationData data, int[] missionSubType) {
return data.card_random_type.getOrDefault(missionSubType[0], 0); return data.card_random_type.getOrDefault(missionSubType[0], 0);
} }
} }

View File

@ -29,12 +29,14 @@ public class DailyTaskManager extends AbstractDataManager{
public boolean isFinish(User user,CumulationData data, int[][] cfgValue, Object... parm) { public boolean isFinish(User user,CumulationData data, int[][] cfgValue, Object... parm) {
ItemManager itemManager = user.getItemManager(); ItemManager itemManager = user.getItemManager();
Item item = itemManager.getItem(Global.DAILY_TASK_REMOVE_ITEM); Item item = itemManager.getItem(Global.DAILY_TASK_REMOVE_ITEM);
return item.getItemNum()>=cfgValue[1][0]; return item!=null&&item.getItemNum()>=cfgValue[1][0];
} }
@Override @Override
public int getprocess(User user, CumulationData data, int[] missionSubType) { public int getProcess(User user, CumulationData data, int[] missionSubType) {
return user.getItemManager().getItem(Global.DAILY_TASK_REMOVE_ITEM).getItemNum(); ItemManager itemManager = user.getItemManager();
Item item = itemManager.getItem(Global.DAILY_TASK_REMOVE_ITEM);
return item==null?0:item.getItemNum();
} }
} }

View File

@ -131,7 +131,7 @@ public class DataManagerDistributor {
judges.put(MissionType.GUILD_HELP_TIMES,new GuildHelpManager()); judges.put(MissionType.GUILD_HELP_TIMES,new GuildHelpManager());
judges.put(MissionType.CAR_PLAY_TIMES,new CarPlayManager()); judges.put(MissionType.CAR_PLAY_TIMES,new CarPlayManager());
judges.put(MissionType.CAR_PLAY_LOOT_TIME,new CarPlayLootManager()); judges.put(MissionType.CAR_PLAY_LOOT_TIME,new CarPlayLootManager());
judges.put(MissionType.RANDOM_All_TIMES,new CardTypeRandomTimes()); judges.put(MissionType.RANDOM_All_TIMES,new RandomAllTypeTimes());

View File

@ -16,7 +16,7 @@ public class DeathPathTimes extends AbstractDataManager {
} }
@Override @Override
public int getprocess(User user, CumulationData data, int[] missionSubType) { public int getProcess(User user, CumulationData data, int[] missionSubType) {
return data.death_path_times; return data.death_path_times;
} }

View File

@ -16,7 +16,7 @@ public class DecomposeTimes extends AbstractDataManager {
} }
@Override @Override
public int getprocess(User user, CumulationData data, int[] missionSubType) { public int getProcess(User user, CumulationData data, int[] missionSubType) {
return data.decompose_times; return data.decompose_times;
} }

View File

@ -28,7 +28,7 @@ public class ExpeditionPassManger extends AbstractDataManager{
} }
@Override @Override
public int getprocess(User user, CumulationData data, int[] missionSubType) { public int getProcess(User user, CumulationData data, int[] missionSubType) {
return data.expedition_floor_times.getOrDefault(missionSubType[0], 0); return data.expedition_floor_times.getOrDefault(missionSubType[0], 0);
} }
} }

View File

@ -28,7 +28,7 @@ public class GuildHelpManager extends AbstractDataManager{
} }
@Override @Override
public int getprocess(User user, CumulationData data, int[] missionSubType) { public int getProcess(User user, CumulationData data, int[] missionSubType) {
return data.guild_help_value; return data.guild_help_value;
} }

View File

@ -23,5 +23,5 @@ public interface IBaseDataCheck {
/** /**
* *
*/ */
int getprocess(User user, CumulationData cumulationData, int[] missionSubType); int getProcess(User user, CumulationData cumulationData, int[] missionSubType);
} }

View File

@ -4,6 +4,8 @@ import com.ljsd.jieling.logic.dao.CumulationData;
import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.MissionType; import com.ljsd.jieling.logic.mission.MissionType;
import java.util.Map;
/** /**
* Description: * Description:
* Author: zsx * Author: zsx
@ -13,20 +15,22 @@ public class RandomAllTypeTimes extends AbstractDataManager {
@Override @Override
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
int type =(int)parm[0];
int count =(int)parm[1];
data.card_random_type.put(type,data.card_random_type.getOrDefault(type, 0)+count);
return new CumulationData.Result(missionType); return new CumulationData.Result(missionType);
} }
@Override @Override
public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) {
Integer orDefault = data.card_random_type.getOrDefault(cfgValue[0][0], 0); double sum = data.card_random_type.entrySet().stream()
return orDefault>=cfgValue[1][0]; .filter(integerIntegerEntry -> integerIntegerEntry.getKey() == 1 || integerIntegerEntry.getKey() == 4 || integerIntegerEntry.getKey() == 5)
.mapToDouble(Map.Entry::getValue).sum();
return sum>=cfgValue[1][0];
} }
@Override @Override
public int getprocess(User user, CumulationData data, int[] missionSubType) { public int getProcess(User user, CumulationData data, int[] missionSubType) {
return data.card_random_type.getOrDefault(missionSubType[0], 0); double sum = data.card_random_type.entrySet().stream()
.filter(integerIntegerEntry -> integerIntegerEntry.getKey() == 1 || integerIntegerEntry.getKey() == 4 || integerIntegerEntry.getKey() == 5)
.mapToDouble(Map.Entry::getValue).sum();
return (int)sum;
} }
} }

View File

@ -49,7 +49,7 @@ public class UpJewlDataManager extends AbstractDataManager{
} }
@Override @Override
public int getprocess(User user, CumulationData data, int[] missionSubType) { public int getProcess(User user, CumulationData data, int[] missionSubType) {
return data.jewl_all_leve; return data.jewl_all_leve;
} }

View File

@ -4,16 +4,12 @@ import com.ljsd.jieling.logic.dao.CumulationData;
import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.MissionLoigc; import com.ljsd.jieling.logic.mission.MissionLoigc;
import com.ljsd.jieling.logic.mission.MissionState; import com.ljsd.jieling.logic.mission.MissionState;
import com.ljsd.jieling.logic.mission.MissionType;
import com.ljsd.jieling.logic.mission.data.AbstractDataManager; import com.ljsd.jieling.logic.mission.data.AbstractDataManager;
import com.ljsd.jieling.logic.mission.data.BaseDataManager; import com.ljsd.jieling.logic.mission.data.BaseDataManager;
import com.ljsd.jieling.logic.mission.data.DataManagerDistributor; import com.ljsd.jieling.logic.mission.data.DataManagerDistributor;
import config.SAchievementConfig; import config.SAchievementConfig;
import config.SBloodyBattleTask;
import config.STreasureSunlongTaskConfig;
import manager.STableManager; import manager.STableManager;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -52,7 +48,7 @@ public class AchieveMissionIdsType extends AbstractMissionType{
int doingProgress; int doingProgress;
BaseDataManager missTypeData = DataManagerDistributor.getMissTypeData(result.subType); BaseDataManager missTypeData = DataManagerDistributor.getMissTypeData(result.subType);
if(missTypeData instanceof AbstractDataManager&&((AbstractDataManager) missTypeData).isFinish(user,cumulationData, sAchievementConfig.getValues())){ if(missTypeData instanceof AbstractDataManager&&((AbstractDataManager) missTypeData).isFinish(user,cumulationData, sAchievementConfig.getValues())){
doingProgress = ((AbstractDataManager) missTypeData).getprocess(user,cumulationData,sAchievementConfig.getValues()[0]); doingProgress = ((AbstractDataManager) missTypeData).getProcess(user,cumulationData,sAchievementConfig.getValues()[0]);
isfinish=true; isfinish=true;
}else { }else {
doingProgress = MissionLoigc.getDoingProgress(user, cumulationData, sAchievementConfig.getType(), sAchievementConfig.getValues()[0]); doingProgress = MissionLoigc.getDoingProgress(user, cumulationData, sAchievementConfig.getType(), sAchievementConfig.getValues()[0]);

View File

@ -60,7 +60,7 @@ public class ServenMissionIdsType extends AbstractMissionType{
int doingProgress; int doingProgress;
BaseDataManager missTypeData = DataManagerDistributor.getMissTypeData(MissionType.findByMissionId(sTaskConfig.getTaskType())); BaseDataManager missTypeData = DataManagerDistributor.getMissTypeData(MissionType.findByMissionId(sTaskConfig.getTaskType()));
if(missTypeData instanceof AbstractDataManager &&((AbstractDataManager) missTypeData).isFinish(user,cumulationData, sTaskConfig.getTaskValue())){ if(missTypeData instanceof AbstractDataManager &&((AbstractDataManager) missTypeData).isFinish(user,cumulationData, sTaskConfig.getTaskValue())){
doingProgress = ((AbstractDataManager) missTypeData).getprocess(user,cumulationData,sTaskConfig.getTaskValue()[0]); doingProgress = ((AbstractDataManager) missTypeData).getProcess(user,cumulationData,sTaskConfig.getTaskValue()[0]);
isFinish=true; isFinish=true;
}else { }else {
doingProgress = MissionLoigc.getDoingProgress(user, cumulationData, sTaskConfig.getTaskType(), sTaskConfig.getTaskValue()[0]); doingProgress = MissionLoigc.getDoingProgress(user, cumulationData, sTaskConfig.getTaskType(), sTaskConfig.getTaskValue()[0]);

View File

@ -83,7 +83,7 @@ public class TreasureMissionType extends AbstractMissionType{
int doingProgress; int doingProgress;
BaseDataManager missTypeData = DataManagerDistributor.getMissTypeData(MissionType.findByMissionId(sTreasureTaskConfig.getTaskType())); BaseDataManager missTypeData = DataManagerDistributor.getMissTypeData(MissionType.findByMissionId(sTreasureTaskConfig.getTaskType()));
if(missTypeData instanceof AbstractDataManager &&((AbstractDataManager) missTypeData).isFinish(user,cumulationData, sTreasureTaskConfig.getTaskValue())){ if(missTypeData instanceof AbstractDataManager &&((AbstractDataManager) missTypeData).isFinish(user,cumulationData, sTreasureTaskConfig.getTaskValue())){
doingProgress = ((AbstractDataManager) missTypeData).getprocess(user,cumulationData,sTreasureTaskConfig.getTaskValue()[0]); doingProgress = ((AbstractDataManager) missTypeData).getProcess(user,cumulationData,sTreasureTaskConfig.getTaskValue()[0]);
isFinish=true; isFinish=true;
}else { }else {
doingProgress = MissionLoigc.getDoingProgress(user, cumulationData, sTreasureTaskConfig.getTaskType(), sTreasureTaskConfig.getTaskValue()[0]); doingProgress = MissionLoigc.getDoingProgress(user, cumulationData, sTreasureTaskConfig.getTaskType(), sTreasureTaskConfig.getTaskValue()[0]);