【任务类型补充】添加触发操作

back_recharge
duhui 2022-07-08 17:51:45 +08:00
parent bac38e2d33
commit b89c65056f
9 changed files with 71 additions and 17 deletions

View File

@ -12,6 +12,8 @@ import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.hardStage.HardStageLogic;
import com.ljsd.jieling.logic.hero.HeroLogic;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.MissionType;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.MessageUtil;
@ -95,6 +97,8 @@ public class UpPracticeLevelHandler extends BaseHandler<HeroInfoProto.UpPractice
}
// 更新战力
Poster.getPoster().dispatchEvent(new SaveHeroForceEvent(user.getId(),""));
// 特权任务
user.getUserMissionManager().onGameEvent(user, GameEvent.XIUXING_UP, MissionType.XIUXING_LEVEL, 0);
// 升级返回
HeroInfoProto.UpPracticeLevelResponse build = HeroInfoProto.UpPracticeLevelResponse.newBuilder().setPracticeLevel(xiuXian2.getId()).build();
MessageUtil.sendMessage(iSession,1, MessageTypeProto.MessageType.UpPracticeLevelResponse_VALUE,build,true);

View File

@ -14,6 +14,8 @@ import com.ljsd.jieling.logic.fight.FightRecordLogic;
import com.ljsd.jieling.logic.fight.GameFightType;
import com.ljsd.jieling.logic.fight.PVEFightEvent;
import com.ljsd.jieling.logic.fight.result.FightResult;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.MissionType;
import com.ljsd.jieling.network.session.ISession;
import rpc.protocols.CommonProto;
import rpc.protocols.MapInfoProto;
@ -480,6 +482,10 @@ public class JourneyMap {
arrivePath.setMapPointId(0);
user.getMapManager().updateJourneyInfoByMapId(mapId,pathInfo);
ItemUtil.itemCost(user,map,BIReason.JOURNEY_DO_CONSUME,1);
//消耗云游值任务
user.getUserMissionManager().onGameEvent(user, GameEvent.XIAOYAOYOU_CONSUME, MissionType.XIAOYAOYOU_CONSUME_NUM, consume[1]);
MessageUtil.sendMessage(session,1,messageType.getNumber(),builder.build(),true);
}

View File

@ -19,6 +19,8 @@ import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.fight.*;
import com.ljsd.jieling.logic.fight.result.FightResult;
import com.ljsd.jieling.logic.mail.MailLogic;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.MissionType;
import com.ljsd.jieling.logic.player.PlayerLogic;
import com.ljsd.jieling.logic.rank.RankContext;
import com.ljsd.jieling.logic.rank.RankEnum;
@ -292,6 +294,10 @@ public class SituationLogic {
}
// 埋点报送
ReportUtil.onReportEvent(user, ReportEventEnum.START_SKY_REALM.getType(), sRaceTowerConfig.getType(),id,combat_results,dropResult);
// 副本挑战任务
user.getUserMissionManager().onGameEvent(user, GameEvent.INSTANCE_ZONES_CHALLENGE, MissionType.XUANYUAN_INSTANCE_ZONES_NUM, 1);
BuyGoodsNewLogic.openPush(session, user, PushRechargeType.XIANYUAN_BAOJING.getType(), sRaceTowerConfig.getQuality(), 1);
// BuyGoodsNewLogic.openPush(session, user, PushRechargeType.XIANYUAN_BAOJING.getType(), sRaceTowerConfig.getQuality(), 1);
// user.getUserMissionManager().onGameEvent(user, GameEvent.DAILY_CHALLENGE,sDailyChallengeConfig.getType());

View File

@ -11,6 +11,8 @@ import com.ljsd.jieling.logic.fight.FightUtil;
import com.ljsd.jieling.logic.fight.GameFightType;
import com.ljsd.jieling.logic.fight.PVEFightEvent;
import com.ljsd.jieling.logic.fight.result.FightResult;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.MissionType;
import com.ljsd.jieling.logic.player.PlayerLogic;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.util.ItemUtil;
@ -297,6 +299,10 @@ public class ChallengeLogic {
builder.setType(type);
LOGGER.info("type :"+type);
}
// 副本挑战任务
user.getUserMissionManager().onGameEvent(user, GameEvent.INSTANCE_ZONES_CHALLENGE, MissionType.CHALLENGE_INSTANCE_ZONES_NUM, 1);
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.CHALLENGE_RESPONSE.getNumber(), builder.build(), true);
}

View File

@ -139,6 +139,12 @@ public enum GameEvent {
NEW_HERO_ZHAOMU,//新将招募次数
TRUMP_GACHA,//天地洪炉
XIUXING_UP,//修行境界升级
XIAOYAOYOU_CONSUME,//逍遥游消耗
INSTANCE_ZONES_CHALLENGE,//副本挑战
HOME_TASK_INIT,//家园任务初始化
HOME_TASK_UPDATE,//家园任务更新进度
HOME_TASK_REWARD,// 家园任务奖励

View File

@ -1,21 +1,22 @@
package com.ljsd.jieling.logic.mission;
public enum GameMisionType {
VIPMISSION(1),
DAILYMISSION(2),
COPYMISSION(3),
TREASUREMISSION(4),
SEVENMISSION(5),
BEGINNERMISSION(6),
BLOODYMISSION(7),
MISSINGROOMMISSION(8),
ACHIEVEMISSION(9),
JADE_DYNASTY_MISSION(10),//破阵诛仙任务
public enum GameMisionType {
VIPMISSION(1),//vip任务
DAILYMISSION(2),//每日任务
COPYMISSION(3),//精英副本成就任务
TREASUREMISSION(4),//管你是谁的宝藏
SEVENMISSION(5),//七日狂欢
BEGINNERMISSION(6),//主线任务
BLOODYMISSION(7),//血战任务
MISSINGROOMMISSION(8),//迷宫寻宝任务
ACHIEVEMISSION(9),//所有成就任务
JADE_DYNASTY_MISSION(10),//主题活动任务
COWFLYSKYMISSION(11),//牛气冲天
ENDLESS_MISSION(12),
ENDLESS_MISSION(12),//无限挑战
MISTY_TRIP_MISSION(13),//缥缈之旅
HOME_MISSION(14),//家园任务
DONGHAIXUNXIAN_MISSION(15),//东海寻仙
EXPLORE(16),//探索
;
private int type;

View File

@ -1282,7 +1282,7 @@ public class MissionLoigc {
break;
case NEW_HERO_ZHAOMU:
//新将招募次数
count = cumulationData.daily_challenge_count;
count = cumulationData.new_hero_zhaomu;
break;
case DAILY_CHALLENGE_COUNT:
//副本挑战次数

View File

@ -93,6 +93,7 @@ public class MissionEventDistributor {
typeList = new ArrayList<>();
typeList.add(MissionType.VIP_LEVEL);
typeList.add(MissionType.VIP_LEVEL);
eventEnumListMap.put(GameEvent.VIP_LEVLUP,typeList);
eventProcessor.put(GameEvent.VIP_LEVLUP,new VipLevelUpEventProcessor());
@ -585,13 +586,31 @@ public class MissionEventDistributor {
eventEnumListMap.put(GameEvent.DAILY_CHALLENGE_COUNT, typeList);
eventProcessor.put(GameEvent.DAILY_CHALLENGE_COUNT, new CumulationDataEventProcessor());
//修行境界达到numnum为xiuxian表ID
typeList = new ArrayList<>();
typeList.add(MissionType.XIUXING_LEVEL);
eventEnumListMap.put(GameEvent.XIUXING_UP, typeList);
eventProcessor.put(GameEvent.XIUXING_UP, new DefaultMissionUpdateProcessor());
// 逍遥有消耗云游值num点
typeList = new ArrayList<>();
typeList.add(MissionType.XIAOYAOYOU_CONSUME_NUM);
eventEnumListMap.put(GameEvent.XIAOYAOYOU_CONSUME, typeList);
eventProcessor.put(GameEvent.XIAOYAOYOU_CONSUME, new DefaultMissionUpdateProcessor());
// 副本挑战,包含(挑战副本,轩辕宝镜,十绝阵,七界试炼)等
typeList = new ArrayList<>();
typeList.add(MissionType.CHALLENGE_INSTANCE_ZONES_NUM);
typeList.add(MissionType.XUANYUAN_INSTANCE_ZONES_NUM);
typeList.add(MissionType.SHIJUE_INSTANCE_ZONES_NUM);
typeList.add(MissionType.QIJIE_INSTANCE_ZONES_NUM);
eventEnumListMap.put(GameEvent.INSTANCE_ZONES_CHALLENGE, typeList);
eventProcessor.put(GameEvent.INSTANCE_ZONES_CHALLENGE, new DefaultMissionUpdateProcessor());
}
public static final ThreadLocal<Map<GameMisionType, List<MissionStateChangeInfo>>> threadMissionChangeList =
new ThreadLocal<>();
private static final ThreadLocal<Boolean> threadUseFlag =
new ThreadLocal<Boolean>();
public static final ThreadLocal<Map<GameMisionType, List<MissionStateChangeInfo>>> threadMissionChangeList = new ThreadLocal<>();
private static final ThreadLocal<Boolean> threadUseFlag = new ThreadLocal<Boolean>();
public static List<MissionStateChangeInfo> getMissionStateChangeInfo(GameMisionType gameMisionType){
Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap = threadMissionChangeList.get();

View File

@ -22,6 +22,8 @@ import com.ljsd.jieling.logic.fight.PVEFightEvent;
import com.ljsd.jieling.logic.fight.result.FightResult;
import com.ljsd.jieling.logic.item.ItemLogic;
import com.ljsd.jieling.logic.mail.MailLogic;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.MissionType;
import com.ljsd.jieling.logic.player.PlayerLogic;
import com.ljsd.jieling.logic.rank.RankContext;
import com.ljsd.jieling.logic.rank.RankEnum;
@ -270,6 +272,10 @@ public class SevenWorldLogic {
// 战斗数据
builder.setResult(fightResult.getResult());
builder.setFightData(fightResult.getFightData());
// 副本挑战任务
user.getUserMissionManager().onGameEvent(user, GameEvent.INSTANCE_ZONES_CHALLENGE, MissionType.QIJIE_INSTANCE_ZONES_NUM, 1);
return builder.build();
}