TASK 【ID1006339】日常任务及戒灵秘宝调整
parent
03b5acec1d
commit
bc00118998
|
@ -254,5 +254,7 @@ public interface BIReason {
|
|||
|
||||
int TRIAL_ADD_HP_CONSUME = 1062;//试炼回春散消耗
|
||||
|
||||
int DAILY_SCORE_CONSUME = 1063;//删除日常任务积分
|
||||
|
||||
|
||||
}
|
|
@ -1250,13 +1250,13 @@ public class ActivityLogic implements IEventHandler{
|
|||
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
||||
}
|
||||
|
||||
public Object[] getActivityStatusByType(User user,int type){
|
||||
public Set<Integer> getActivityStatusByType(User user,int type){
|
||||
List<SGlobalActivity> activities = SGlobalActivity.sGlobalActivityMapByType.get(type);
|
||||
if(activities.isEmpty()){
|
||||
return null;
|
||||
return new HashSet<>();
|
||||
}else{
|
||||
|
||||
Object[] objects = activities.stream().filter(n -> user.getActivityManager().getActivityMissionMap().keySet().contains(n.getId())).toArray();
|
||||
Set<Integer> objects = activities.stream().filter(n -> user.getActivityManager().getActivityMissionMap().keySet().contains(n.getId())).map(sGlobalActivity -> sGlobalActivity.getId()).collect(Collectors.toSet());
|
||||
return objects;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -264,7 +264,7 @@ public class UserMissionManager extends MongoBase {
|
|||
}
|
||||
break;
|
||||
case DAILY_MISSION_REWARD:{
|
||||
dailyMissionIdsType.rewardMission((int)parm[0], missionTypeEnumListMap.get(GameMisionType.DAILYMISSION));
|
||||
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]);
|
||||
updateString("dailyMissionIdsType",dailyMissionIdsType);
|
||||
|
@ -452,7 +452,7 @@ public class UserMissionManager extends MongoBase {
|
|||
temp[1] = STreasureSunlongTaskConfig.treasureTaskConfig.get(taskTypeMap.get(i)).getWeight();
|
||||
randomTask[i] = temp;
|
||||
}
|
||||
int[] tasks= MathUtils.randomFromWeightWithTaking(randomTask,typeMissionNum[type-1]);// typeMissionNum[type-1]
|
||||
int[] tasks= MathUtils.randomFromWeightWithTaking(randomTask,Math.max(typeMissionNum[type-1],randomTask.length));// typeMissionNum[type-1]
|
||||
List<MissionStateChangeInfo> missionStateChangeInfos = missionTypeEnumListMap.get(GameMisionType.TREASUREMISSION);
|
||||
for(Integer task:tasks){
|
||||
treasureMissionIdsType.getDoingMissionIds().add(task);
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.ljsd.jieling.logic.mission.main;
|
||||
|
||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
import com.ljsd.jieling.logic.activity.ActivityType;
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mission.MissionLoigc;
|
||||
|
@ -7,8 +9,10 @@ import com.ljsd.jieling.logic.mission.MissionState;
|
|||
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 com.ljsd.jieling.util.ItemUtil;
|
||||
import config.SDailyTasksConfig;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
@ -24,9 +28,33 @@ public class DailyMissionIdsType extends AbstractMissionType{
|
|||
@Override
|
||||
public int[][] reward(int missionId) {
|
||||
SDailyTasksConfig sDailyTasksConfigById = SDailyTasksConfig.getSDailyTasksConfigById(missionId);
|
||||
|
||||
return sDailyTasksConfigById.getReward();
|
||||
}
|
||||
|
||||
public void rewardMission( User user, int missionId, List<MissionStateChangeInfo> missionTypeEnumListMap){
|
||||
if (!getFinishMissionIds().contains(missionId)) {
|
||||
return ;
|
||||
}
|
||||
getFinishMissionIds().remove(missionId);
|
||||
getRewardedMissionIds().set(missionId);
|
||||
|
||||
SDailyTasksConfig sDailyTasksConfigById = SDailyTasksConfig.getSDailyTasksConfigById(missionId);
|
||||
int[][] reward = sDailyTasksConfigById.getReward();
|
||||
//添加戒灵秘宝奖励
|
||||
MissionStateChangeInfo stateChangeInfo;
|
||||
if(ActivityLogic.getInstance().getActivityStatusByType(user,ActivityType.TREASURE).size()!=0){
|
||||
int[][] mazePoint = sDailyTasksConfigById.getMazePoint();
|
||||
int[][] ints = new int[reward.length + mazePoint.length][];
|
||||
System.arraycopy(reward, 0, ints, 0, reward.length);
|
||||
System.arraycopy(mazePoint, 0, ints, reward.length, mazePoint.length);
|
||||
stateChangeInfo = new MissionStateChangeInfo(missionId, MissionState.REWARD, ints);
|
||||
}else {
|
||||
stateChangeInfo = new MissionStateChangeInfo(missionId, MissionState.REWARD, reward);
|
||||
}
|
||||
missionTypeEnumListMap.add(stateChangeInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void calCumulationDataResult(User user, CumulationData.Result result, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData) {
|
||||
|
||||
|
|
|
@ -389,8 +389,13 @@ public class PlayerLogic {
|
|||
fBuilder.setPlayerBindPhone(CommonProto.PlayerBindPhone.newBuilder().setPhoneNum(phoneBindInfo.getPhoneNum()).setState(phoneBindInfo.getState()).build());
|
||||
}
|
||||
|
||||
//清除日清任务道具
|
||||
user.getItemManager().removeItem(Global.DAILY_TASK_REMOVE_ITEM);
|
||||
Item item = user.getItemManager().getItem(Global.DAILY_TASK_REMOVE_ITEM);
|
||||
if (item != null) {
|
||||
Map<Integer, Integer> dailyScore = new HashMap<>();
|
||||
dailyScore.put(Global.DAILY_TASK_REMOVE_ITEM, item.getItemNum());
|
||||
//清除日清任务道具
|
||||
ItemUtil.itemCost(user, dailyScore, BIReason.DAILY_SCORE_CONSUME, 1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ public class SDailyTasksConfig implements BaseConfig {
|
|||
|
||||
private int[][] reward;
|
||||
|
||||
private int[][] mazePoint;//戒灵秘宝积分
|
||||
|
||||
public static Map<Integer, SDailyTasksConfig> config;
|
||||
public static Map<Integer, List<SDailyTasksConfig>> sTaskConfigByTypeMap;
|
||||
|
@ -64,4 +65,8 @@ public class SDailyTasksConfig implements BaseConfig {
|
|||
}
|
||||
|
||||
|
||||
public int[][] getMazePoint() {
|
||||
return mazePoint;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue