%% ---------------------------------------------------------------------------
|
|
%% @doc task.hrl
|
|
%% @author ming_up@foxmail.com
|
|
%% @since 2016-12-03
|
|
%% @deprecated 任务相关定义
|
|
%% ---------------------------------------------------------------------------
|
|
|
|
-define(SQL_ROLE_DAILY_GET,<<"SELECT `dailys`,`time` FROM `task_daily` WHERE `rid`=~p">>).
|
|
-define(SQL_ROLE_TASK_DAILY_INS, <<"REPLACE INTO `task_daily` (`rid`,`dailys`,`time`)VALUES (~p,'~ts',~p)">>).
|
|
-define(SQL_ROLE_TASK_BAG_BATCH,"REPLACE INTO `task_bag`(`role_id`, `task_id`, `trigger_time`, `state`,`end_state`, `mark`, `type`, `lv`) VALUES ~ts").
|
|
|
|
%% 任务类型type
|
|
-define(TASK_TYPE_MAIN, 1). %% 主线任务(不能重复接)
|
|
-define(TASK_TYPE_SIDE, 2). %% 支线任务(不能重复接)
|
|
-define(TASK_TYPE_TURN, 3). %% 转生任务(不能重复接)
|
|
-define(TASK_TYPE_CHAPTER, 4). %% 章节任务(不能重复接)
|
|
-define(TASK_TYPE_NUCLEON, 5). %% 灵能任务(不能重复接)
|
|
|
|
-define(TASK_TYPE_GUILD, 6). %% 公会周任务
|
|
-define(TASK_TYPE_DAILY, 7). %% 日常支线任务(悬赏任务)
|
|
|
|
-define(TASK_TYPE_FOUR, 8). %% 四点清理 每日循环
|
|
|
|
%% 任务种类kind
|
|
-define(TASK_KIND_TALK, 0). %% 对话任务
|
|
-define(TASK_KIND_KILL, 1). %% 杀怪任务
|
|
-define(TASK_KIND_ITEM, 2). %% 收集任务
|
|
-define(TASK_KIND_COLLECT, 3). %% 采集任务
|
|
-define(TASK_KIND_ESCORT, 4). %% 护送任务
|
|
-define(TASK_KIND_ENTER_SCENE, 5). %% 探索任务
|
|
-define(TASK_KIND_DUN, 6). %% 副本任务
|
|
-define(TASK_KIND_ITEM_BACK, 7). %% 收集回收任务
|
|
-define(TASK_KIND_STREN, 8). %% 装备强化任务
|
|
-define(TASK_KIND_RUNE_DUN, 9). %% 符文副本任务
|
|
-define(TASK_KIND_EXP_DUN, 10). %% 发条密室任务
|
|
|
|
%% 任务内容类型定义,参考后台任务配置-任务内容配置
|
|
-define(TASK_CONTENT_KILL, 1). %% 杀怪
|
|
-define(TASK_CONTENT_KILL_BOSS, 2). %% 杀boss:具体到boss类型
|
|
-define(TASK_CONTENT_ITEM, 3). %% 收集物品:杀怪
|
|
-define(TASK_CONTENT_COLLECT, 4). %% 怪物采集
|
|
-define(TASK_CONTENT_TALK, 5). %% npc对话
|
|
-define(TASK_CONTENT_START_TALK, 6). %% 开始npc对话
|
|
-define(TASK_CONTENT_END_TALK, 7). %% 结束npc对话
|
|
-define(TASK_CONTENT_STREN, 8). %% 装备强化
|
|
-define(TASK_CONTENT_DUNGEON_TYPE, 9). %% 完成某类副本
|
|
-define(TASK_CONTENT_DUNGEON_EXP, 10). %% 发条密室经验
|
|
-define(TASK_CONTENT_DUNGEON, 11). %% 某个副本
|
|
-define(TASK_CONTENT_ENTER_SCENE, 12). %% 进入场景
|
|
-define(TASK_CONTENT_ADD_FRIEND, 13). %% 添加好友
|
|
-define(TASK_CONTENT_JOIN_GUILD, 14). %% 加入社团
|
|
-define(TASK_CONTENT_GUILD_EQ_RECYCLE, 15). %% 社团装备回收
|
|
-define(TASK_CONTENT_GUILD_ACTIVITY, 16). %% 社团活动
|
|
-define(TASK_CONTENT_GUILD_EQ_DONATE, 17). %% 社团装备捐献
|
|
-define(TASK_CONTENT_BUY_FROM_TRADING, 19). %% 从市场购买
|
|
-define(TASK_CONTENT_TRADING_PUTAWAY, 20). %% 物品上架市场
|
|
-define(TASK_CONTENT_DUNGEON_RUNE, 21). %% 符文之塔层数
|
|
-define(TASK_CONTENT_TIME_TASK, 22). %% 主线触发限时任务
|
|
-define(TASK_CONTENT_GOODS_COMPOSE, 23). %% 物品合成
|
|
-define(TASK_CONTENT_DAY_ACTIVITY, 24). %% 日常活跃达到xxx点(历史取最大值)
|
|
-define(TASK_CONTENT_MATE, 25). %% 羁绊缔结
|
|
-define(TASK_CONTENT_DEVOUR, 26). %% 吞噬装备
|
|
-define(TASK_CONTENT_KILL_BOSS_ID, 27). %% 击杀boss:具体bossid
|
|
-define(TASK_CONTENT_FISH, 28). %% 钓鱼
|
|
-define(TASK_CONTENT_DUNGEON_ID_ENTER, 29). %% 进入完成某个副本
|
|
-define(TASK_CONTENT_ARENA_TIMES, 31). %% 竞技场次数
|
|
-define(TASK_CONTENT_DUNGEON_TYPE_ENTER,34). %% 进入完成某类副本
|
|
-define(TASK_CONTENT_CHOOSE_TALK, 35). %% 选项对话
|
|
-define(TASK_CONTENT_EMPOWER, 36). %% 装备器灵
|
|
-define(TASK_CONTENT_DUN_WAVE, 37). %% 副本进度
|
|
-define(TASK_CONTENT_MAILER_RUN, 38). %% 送信任务 其实就是对话击鼓传花
|
|
-define(TASK_CONTENT_ERISE, 39). %% 装备进化
|
|
-define(TASK_CONTENT_SCORE_BUY, 40). %% 动态积分购买道具
|
|
-define(TASK_CONTENT_FRIEND_GIFT, 41). %% 好友送礼
|
|
-define(TASK_CONTENT_FRIEND_EXP, 42). %% 好友亲密度
|
|
-define(TASK_CONTENT_FOSTER_LV, 43). %% 进阶系统升级
|
|
-define(TASK_CONTENT_ROLL, 44). %% 器灵之路
|
|
-define(TASK_CONTENT_GOD_LV, 45). %% 唤神升级
|
|
-define(TASK_CONTENT_GALAXY_LV, 46). %% 星辰升级
|
|
-define(TASK_CONTENT_PET_LV, 47). %% 宠物升级
|
|
-define(TASK_CONTENT_SHOW_BABY, 48). %% 晒娃
|
|
-define(TASK_CONTENT_NUCLEON_EQUIP, 49). %% 装备灵能
|
|
-define(TASK_CONTENT_NUCLEON_SHOP, 50). %% 灵能寻宝
|
|
-define(TASK_CONTENT_NEWER, 51). %% 新手引导
|
|
-define(TASK_CONTENT_TURN, 52). %% 转生完成
|
|
-define(TASK_CONTENT_CAPSULE, 53). %% 龙神抽奖
|
|
-define(TASK_CONTENT_EQUIP_SUIT, 54). %% 装备套装
|
|
-define(TASK_CONTENT_WAR_SOUL_LV, 55). %% 战魂升级
|
|
-define(TASK_CONTENT_FOSTER_GRADE, 56). %% 进阶目标
|
|
-define(TASK_CONTENT_EXPECT_TASK, 57). %% 完成目标任务
|
|
-define(TASK_CONTENT_CHILD_HEART, 58). %% 宝宝同心值
|
|
-define(TASK_CONTENT_COMBAT, 59). %% 玩家战力值
|
|
-define(TASK_CONTENT_ACTIVE_SKILL_LV_TIMES, 60). %% 任意主动技能升级N次
|
|
-define(TASK_CONTENT_SOME_SHOP_BUY_BOOK, 61). %% 指定商定购买技能书
|
|
-define(TASK_CONTENT_ANY_SHOP_BUY_BOOK, 62). %% 任意商定购买技能书
|
|
|
|
|
|
-define(DOUBLE_TYPE, 1). %% 双倍奖励标志
|
|
|
|
-define(DAILY_SPECIAL_LV, [55]). %% 日常任务特殊处理等级
|
|
|
|
%% ================================= 配置记录 =================================
|
|
%% 任务数据
|
|
-record(task, {
|
|
id = 0 %% 任务id
|
|
,role_id=0
|
|
,name = "" %% 任务名称
|
|
% ,desc = "" %% 描述
|
|
,class = 0 %% 任务分类,0普通任务,1运镖任务,2帮会任务
|
|
,type = 0 %% 类型(1主线,2支线,3转生,4章节限时,6公会周,7日常...)
|
|
,kind = 0 %% 种类(0对话,1打怪,2采集,3收集,4护送,5探索,6副本,7采集回收(悬赏和公会任务动态采用),8装备强化任务,9符文副本任务,10发条密室任务)
|
|
,level = 1 %% 可接的最低等级
|
|
,level_max = 0 %% 可接的最大等级
|
|
,repeat = 0 %% 重复次数
|
|
,realm = 0 %% 阵营限制
|
|
,career = 0 %% 职业限制
|
|
,turn = 0 %% 转生限制
|
|
,prev = 0 %% 上一个必须完成的任务id
|
|
,next = 0 %% 下一个任务id
|
|
,dun_id = 0 %% 副本id|采集怪物id
|
|
,start_item = [] %% 开始获得物品{ItemId, Number}
|
|
,end_item = [] %% 结束回收物品
|
|
,start_npc = 0 %% 开始npcid
|
|
,end_npc = 0 %% 结束npcid
|
|
,start_talk = 0 %% 开始对话
|
|
,end_talk = 0 %% 结束对话
|
|
,unfinished_talk = 0 %% 未完成对话
|
|
,trigger_pathfind = 0 %% 是否需要寻路触发
|
|
,finish_pathfind = 0 %% 是否需要寻路完成
|
|
,condition = [] %% 条件内容 [{task, 任务id}, {item, 物品id, 物品数量}]
|
|
,content = [] %% 任务内容 [State, ContentType, Id, Num, SceneId, X, Y, PathFind]
|
|
,state = 0 %% 完成任务需要的状态值 state = length(content)
|
|
,award_list=[] %% 奖励列表
|
|
,special_goods_list=[] %% 特殊职业性别物品[{Career, Sex, GoodsId, Num}]=[{职业,性别,物品id,数量}]:当职业不区分的时候=0;当性别不区分的时候=0;
|
|
,guild_exp = 0
|
|
,next_cue = 0
|
|
,npc_show = [] %% NPC 动态信息[{任务状态(0领取,1可完成,2完成),[{NpcId,Npc状态(0不显示,1显示),场景Id,X,Y}]}]
|
|
,chapter = 0 %% 主线章节 主线任务才会有值
|
|
,double_cost = 0 %% 双倍奖励消耗, 默认为0:没有双倍奖励; >0:则是有双倍,为消耗的绑钻数
|
|
,qcost = 0 %% 快速完成消耗
|
|
}).
|
|
|
|
%% 任务条件数据
|
|
-record(task_condition, {
|
|
id
|
|
,type = 0
|
|
,kind = 0
|
|
,level = 1 %% 可接的最低等级
|
|
,level_max = 0 %% 可接的最大等级
|
|
,repeat = 0 %% 可否重复
|
|
,realm = 0 %% 阵营
|
|
,career = 0 %% 职业限制
|
|
,turn = 0 %% 转生限制
|
|
,prev = 0 %% 上一个必须完成的任务id
|
|
,condition = [] %% 扩充条件 TODO 具体描述日后再加
|
|
}).
|
|
|
|
%% 任务类型配置
|
|
-record(task_type, {
|
|
type = 0,
|
|
count = 0,
|
|
module_id = 0,
|
|
counter_id = 0,
|
|
finish_cost = []
|
|
}).
|
|
|
|
%% 等级动态任务id
|
|
-record(task_lv_dynamic_id, {
|
|
type = 0, %% 任务类型
|
|
cls_state = 1, %%是否跨服
|
|
slv = 0, %% 开始等级
|
|
elv = 0, %% 结束等级
|
|
task_ids = [] %% 任务id,纯随机[id1,id2, ...]
|
|
}).
|
|
|
|
%% 动态等级任务内容
|
|
-record(task_lv_dynamic_content, {
|
|
task_id = 0, %% 任务id
|
|
slv = 0, %% 开始等级
|
|
elv = 0, %% 结束等级
|
|
start_npc = 0, %% 开始npc
|
|
end_npc = 0, %% 结束npc
|
|
scene = 0, %% 场景id
|
|
x = 0, %% X
|
|
y = 0, %% Y
|
|
content_type = 0, %% 任务内容类型
|
|
id = 0, %% id(MonId|DunId|GoodId), 怪物id|副本id|物品id
|
|
num = 0, %% 完成次数|采集数|收集数
|
|
extra_reward = [] %% 额外奖励:[{环数,奖励内容}]
|
|
}).
|
|
|
|
%% ================================= 功能记录 =================================
|
|
%% 角色任务记录
|
|
-record(role_task, {
|
|
role_id = 0,
|
|
lv = 0, %% 接任务时候玩家的等级
|
|
task_id = 0,
|
|
type = 0,
|
|
kind = 0,
|
|
write_db = 0, %% 是否需要写数据库
|
|
trigger_time = 0,
|
|
state = 0,
|
|
end_state = 0,
|
|
mark = [] %% 任务记录器格式[State=int(),Finish=bool(), Type=atom((), ...]
|
|
}).
|
|
|
|
%% 角色任务历史记录
|
|
-record(role_task_log, {
|
|
type = 0,
|
|
count = 1 %% 完成的次数
|
|
}).
|
|
|
|
-record(task_args, {
|
|
id=0, %% 玩家id
|
|
scene = 0, %% 场景id
|
|
sid=undefined, %% 玩家广播进程
|
|
figure=undefined, %% 基本形象参数
|
|
npc_info=[], %% 玩家npc信息
|
|
gs_dict = undefined, %% 物品数据
|
|
guild_build_lv = 0, %% 公会建筑场等级
|
|
source = "" %% 玩家渠道来源
|
|
}).
|
|
|
|
%%跑环任务领取情况
|
|
-record(task_daily, {
|
|
dailys = [], %%领取进度 [{Type,Pro}]
|
|
time = 0 %%上次操作时间
|
|
}).
|
|
|
|
-record(base_task_daily, {
|
|
type = 0, %%任务类
|
|
grade = 0, %%进度
|
|
counts = 0, %%要求完成环数
|
|
awards = []
|
|
}).
|