Merge branch 'master' of http://60.1.1.230/backend/jieling_server
commit
ecdf7cebf1
|
@ -254,5 +254,7 @@ public interface BIReason {
|
|||
|
||||
int TRIAL_ADD_HP_CONSUME = 1062;//试炼回春散消耗
|
||||
|
||||
int DAILY_SCORE_CONSUME = 1063;//删除日常任务积分
|
||||
|
||||
|
||||
}
|
|
@ -63,13 +63,13 @@ public class GetPlayerInfoHandler extends BaseHandler{
|
|||
userId, token,msgId,msgIndex,getPlayerInfoRequest.getNum(),getPlayerInfoRequest.getStr());
|
||||
|
||||
User user = UserManager.getUser(userId);
|
||||
BuyGoodsLogic.initOwernBagInfo(user);
|
||||
PlayerLogic.getInstance().sendDayilyMail(user,-1);
|
||||
QuestionLogic.getInstence().onLogin(user);
|
||||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||
ActivityLogic.getInstance().flushForLogin(user,iSession);
|
||||
GlobalDataManaager.checkNeedReFlush(iSession,user,null);
|
||||
|
||||
BuyGoodsLogic.initOwernBagInfo(user);
|
||||
Poster.getPoster().dispatchEvent(new UserOnlineEvent(userId));
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.LOGIN_GAME,0);
|
||||
playerInfoManager.setLoginTime(TimeUtils.now());
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ public interface ActivityType {
|
|||
int LEVEL_EXPERT = 52; //进阶达人
|
||||
|
||||
int BUY_GOLD = 53; //购买金币 点石成金
|
||||
int COPY_PASS = 54; // 开服福利 副本限时通过奖励
|
||||
int COPY_PASS = 55; // 开服福利 副本限时通过奖励
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -62,6 +62,7 @@ public class GuildMyInfo extends MongoBase {
|
|||
this.path.addAll(path);
|
||||
this.path.remove(0);
|
||||
}
|
||||
updateString("path",this.path);
|
||||
preMoveTimestamp = timestamp;
|
||||
setPreMoveTimestamp(timestamp);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -464,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,cumulationData,missionSubType);
|
||||
}
|
||||
|
||||
Integer count =0;
|
||||
|
|
|
@ -15,15 +15,15 @@ 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(0,data.card_random_type.getOrDefault(0, 0)+count);
|
||||
return new CumulationData.Result(missionType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) {
|
||||
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];
|
||||
return data.card_random_type.getOrDefault(0, 0)>=cfgValue[1][0];
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
|
@ -21,6 +21,7 @@ public class SVipLevelConfig implements BaseConfig {
|
|||
private int[] openRules;
|
||||
|
||||
private int moneyLimit;
|
||||
private int[][] property;
|
||||
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue