新增任务类型

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.User;
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.CommonProto;
import com.ljsd.jieling.protocols.Family;
@ -93,6 +94,7 @@ public class GuildHelpHelpOtherRequestHandler extends BaseHandler<Family.GuildHe
throw new ErrorCodeException("援助失败");
}
user.getUserMissionManager().onGameEvent(user, GameEvent.GUID_HELP,1);
//notify all change
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.core.FunctionIdEnum;
import com.ljsd.jieling.core.HandlerLogicThread;
import com.ljsd.jieling.dataReport.reportBeans_37.Repot37EventUtil;
import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.exception.ErrorCodeException;
@ -466,7 +464,7 @@ public class MissionLoigc {
//tofix zsx
BaseDataManager missTypeData = DataManagerDistributor.getMissTypeData(MissionType.findByMissionId(missionTypeId));
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;

View File

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

View File

@ -28,7 +28,7 @@ public class CarPlayLootManager extends AbstractDataManager{
}
@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;
}

View File

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

View File

@ -26,7 +26,7 @@ public class CardTypeRandomTimes extends AbstractDataManager {
}
@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);
}
}

View File

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

View File

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

View File

@ -28,7 +28,7 @@ public class ExpeditionPassManger extends AbstractDataManager{
}
@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);
}
}

View File

@ -28,7 +28,7 @@ public class GuildHelpManager extends AbstractDataManager{
}
@Override
public int getprocess(User user, CumulationData data, int[] missionSubType) {
public int getProcess(User user, CumulationData data, int[] missionSubType) {
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.mission.MissionType;
import java.util.Map;
/**
* Description:
* Author: zsx
@ -13,20 +15,22 @@ public class RandomAllTypeTimes extends AbstractDataManager {
@Override
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);
}
@Override
public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) {
Integer orDefault = data.card_random_type.getOrDefault(cfgValue[0][0], 0);
return orDefault>=cfgValue[1][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 sum>=cfgValue[1][0];
}
@Override
public int getprocess(User user, CumulationData data, int[] missionSubType) {
return data.card_random_type.getOrDefault(missionSubType[0], 0);
public int getProcess(User user, CumulationData data, int[] missionSubType) {
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
public int getprocess(User user, CumulationData data, int[] missionSubType) {
public int getProcess(User user, CumulationData data, int[] missionSubType) {
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.mission.MissionLoigc;
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.BaseDataManager;
import com.ljsd.jieling.logic.mission.data.DataManagerDistributor;
import config.SAchievementConfig;
import config.SBloodyBattleTask;
import config.STreasureSunlongTaskConfig;
import manager.STableManager;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
@ -52,7 +48,7 @@ public class AchieveMissionIdsType extends AbstractMissionType{
int doingProgress;
BaseDataManager missTypeData = DataManagerDistributor.getMissTypeData(result.subType);
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;
}else {
doingProgress = MissionLoigc.getDoingProgress(user, cumulationData, sAchievementConfig.getType(), sAchievementConfig.getValues()[0]);

View File

@ -60,7 +60,7 @@ public class ServenMissionIdsType extends AbstractMissionType{
int doingProgress;
BaseDataManager missTypeData = DataManagerDistributor.getMissTypeData(MissionType.findByMissionId(sTaskConfig.getTaskType()));
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;
}else {
doingProgress = MissionLoigc.getDoingProgress(user, cumulationData, sTaskConfig.getTaskType(), sTaskConfig.getTaskValue()[0]);

View File

@ -83,7 +83,7 @@ public class TreasureMissionType extends AbstractMissionType{
int doingProgress;
BaseDataManager missTypeData = DataManagerDistributor.getMissTypeData(MissionType.findByMissionId(sTreasureTaskConfig.getTaskType()));
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;
}else {
doingProgress = MissionLoigc.getDoingProgress(user, cumulationData, sTreasureTaskConfig.getTaskType(), sTreasureTaskConfig.getTaskValue()[0]);