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 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());
|
userId, token,msgId,msgIndex,getPlayerInfoRequest.getNum(),getPlayerInfoRequest.getStr());
|
||||||
|
|
||||||
User user = UserManager.getUser(userId);
|
User user = UserManager.getUser(userId);
|
||||||
BuyGoodsLogic.initOwernBagInfo(user);
|
|
||||||
PlayerLogic.getInstance().sendDayilyMail(user,-1);
|
PlayerLogic.getInstance().sendDayilyMail(user,-1);
|
||||||
QuestionLogic.getInstence().onLogin(user);
|
QuestionLogic.getInstence().onLogin(user);
|
||||||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||||
ActivityLogic.getInstance().flushForLogin(user,iSession);
|
ActivityLogic.getInstance().flushForLogin(user,iSession);
|
||||||
GlobalDataManaager.checkNeedReFlush(iSession,user,null);
|
GlobalDataManaager.checkNeedReFlush(iSession,user,null);
|
||||||
|
|
||||||
|
BuyGoodsLogic.initOwernBagInfo(user);
|
||||||
Poster.getPoster().dispatchEvent(new UserOnlineEvent(userId));
|
Poster.getPoster().dispatchEvent(new UserOnlineEvent(userId));
|
||||||
user.getUserMissionManager().onGameEvent(user, GameEvent.LOGIN_GAME,0);
|
user.getUserMissionManager().onGameEvent(user, GameEvent.LOGIN_GAME,0);
|
||||||
playerInfoManager.setLoginTime(TimeUtils.now());
|
playerInfoManager.setLoginTime(TimeUtils.now());
|
||||||
|
|
|
@ -1250,13 +1250,13 @@ public class ActivityLogic implements IEventHandler{
|
||||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
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);
|
List<SGlobalActivity> activities = SGlobalActivity.sGlobalActivityMapByType.get(type);
|
||||||
if(activities.isEmpty()){
|
if(activities.isEmpty()){
|
||||||
return null;
|
return new HashSet<>();
|
||||||
}else{
|
}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;
|
return objects;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,7 +61,7 @@ public interface ActivityType {
|
||||||
int LEVEL_EXPERT = 52; //进阶达人
|
int LEVEL_EXPERT = 52; //进阶达人
|
||||||
|
|
||||||
int BUY_GOLD = 53; //购买金币 点石成金
|
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.addAll(path);
|
||||||
this.path.remove(0);
|
this.path.remove(0);
|
||||||
}
|
}
|
||||||
|
updateString("path",this.path);
|
||||||
preMoveTimestamp = timestamp;
|
preMoveTimestamp = timestamp;
|
||||||
setPreMoveTimestamp(timestamp);
|
setPreMoveTimestamp(timestamp);
|
||||||
}
|
}
|
||||||
|
|
|
@ -264,7 +264,7 @@ public class UserMissionManager extends MongoBase {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case DAILY_MISSION_REWARD:{
|
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()){
|
if(!missionTypeEnumListMap.get(GameMisionType.DAILYMISSION).isEmpty()){
|
||||||
calCumulationDataResult(user,MissionType.FINSIH_DAYILY_TIMES,missionTypeEnumListMap,(int)parm[0]);
|
calCumulationDataResult(user,MissionType.FINSIH_DAYILY_TIMES,missionTypeEnumListMap,(int)parm[0]);
|
||||||
updateString("dailyMissionIdsType",dailyMissionIdsType);
|
updateString("dailyMissionIdsType",dailyMissionIdsType);
|
||||||
|
@ -452,7 +452,7 @@ public class UserMissionManager extends MongoBase {
|
||||||
temp[1] = STreasureSunlongTaskConfig.treasureTaskConfig.get(taskTypeMap.get(i)).getWeight();
|
temp[1] = STreasureSunlongTaskConfig.treasureTaskConfig.get(taskTypeMap.get(i)).getWeight();
|
||||||
randomTask[i] = temp;
|
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);
|
List<MissionStateChangeInfo> missionStateChangeInfos = missionTypeEnumListMap.get(GameMisionType.TREASUREMISSION);
|
||||||
for(Integer task:tasks){
|
for(Integer task:tasks){
|
||||||
treasureMissionIdsType.getDoingMissionIds().add(task);
|
treasureMissionIdsType.getDoingMissionIds().add(task);
|
||||||
|
|
|
@ -464,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,cumulationData,missionSubType);
|
||||||
}
|
}
|
||||||
|
|
||||||
Integer count =0;
|
Integer count =0;
|
||||||
|
|
|
@ -15,15 +15,15 @@ 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(0,data.card_random_type.getOrDefault(0, 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) {
|
||||||
double sum = data.card_random_type.entrySet().stream()
|
return data.card_random_type.getOrDefault(0, 0)>=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
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package com.ljsd.jieling.logic.mission.main;
|
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.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;
|
||||||
|
@ -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.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 com.ljsd.jieling.util.ItemUtil;
|
||||||
import config.SDailyTasksConfig;
|
import config.SDailyTasksConfig;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
@ -24,9 +28,33 @@ public class DailyMissionIdsType extends AbstractMissionType{
|
||||||
@Override
|
@Override
|
||||||
public int[][] reward(int missionId) {
|
public int[][] reward(int missionId) {
|
||||||
SDailyTasksConfig sDailyTasksConfigById = SDailyTasksConfig.getSDailyTasksConfigById(missionId);
|
SDailyTasksConfig sDailyTasksConfigById = SDailyTasksConfig.getSDailyTasksConfigById(missionId);
|
||||||
|
|
||||||
return sDailyTasksConfigById.getReward();
|
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
|
@Override
|
||||||
public void calCumulationDataResult(User user, CumulationData.Result result, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData) {
|
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());
|
fBuilder.setPlayerBindPhone(CommonProto.PlayerBindPhone.newBuilder().setPhoneNum(phoneBindInfo.getPhoneNum()).setState(phoneBindInfo.getState()).build());
|
||||||
}
|
}
|
||||||
|
|
||||||
//清除日清任务道具
|
Item item = user.getItemManager().getItem(Global.DAILY_TASK_REMOVE_ITEM);
|
||||||
user.getItemManager().removeItem(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[][] reward;
|
||||||
|
|
||||||
|
private int[][] mazePoint;//戒灵秘宝积分
|
||||||
|
|
||||||
public static Map<Integer, SDailyTasksConfig> config;
|
public static Map<Integer, SDailyTasksConfig> config;
|
||||||
public static Map<Integer, List<SDailyTasksConfig>> sTaskConfigByTypeMap;
|
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[] openRules;
|
||||||
|
|
||||||
private int moneyLimit;
|
private int moneyLimit;
|
||||||
|
private int[][] property;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue