|
|
- %% ---------------------------------------------------------
- %% Author: xyj
- %% Email: 156702030@qq.com
- %% Created: 2012-3-19
- %% Description: 物品掉落ets
- %% --------------------------------------------------------
- -define(BROAD_NONE, 0). %% 不广播,掉落只展示给玩家自己看
- -define(BROAD_SCENE, 1). %% 场景广播
-
- %% 分配方式
- -define(ALLOC_ONESELF, 1). %% 分配方式:个人独占
- -define(ALLOC_RAND, 2). %% 分配方式:随机分配
- -define(ALLOC_EQUAL, 3). %% 分配方式:均等分配
- -define(ALLOC_HANDSPEED,4). %% 分配方式:先到先得
-
- %% 归属类型
- -define(DROP_HURT_MAX, 0). %% 归属类型:伤害最高获得
- -define(DROP_FIRST_ATT, 1). %% 归属类型:第一击获得
- -define(DROP_LAST_ATT, 2). %% 归属类型:最后一击获得
- -define(DROP_NO_ONE, 3). %% 归属类型:无归属
-
- -define(DROP_TYPE_RAND, 0). %% 随机权重掉落
- -define(DROP_TYPE_FIXED, 1). %% 固定掉落
- -define(DROP_TYPE_TASK, 2). %% 任务物品
-
- %% 掉落限制计算
- -define(DROP_LIMIT_GOODID, 0). %% 单个物品ID玩家限制
- -define(DROP_LIMIT_ID_SERVER, 1). %% 单个物品ID全服限制
-
- -define(DROP_ALIVE_TIME, 300). %% 掉落包存活时间
- -define(DROP_PROTECT_TIME, 120). %% 掉落包拾取保护时间
-
- -define(DROP_BLOG_CALC_TIME, 5). %% 掉落归属广播时间
-
- %% 掉落来源
- -define(DROP_ORIGIN_REWARD_BOSS, 1). %% 赏金BOSS
- -define(DROP_ORIGIN_DESERTED_BOSS, 2). %% 星域BOSS
- -define(DROP_ORIGIN_REWARD_BOSS_UNSHARED, 3). %% 赏金BOSS独享
- -define(DROP_ORIGIN_DESERTED_BOSS_UNSHARED, 4). %% 星域BOSS独享
- -define(DROP_ORIGIN_PERSONAL_BOSS, 5). %% 个人BOSS
- -define(DROP_ORIGIN_CRUSADE_BOSS, 6). %% 讨伐副本BOSS
- -define(DROP_ORIGIN_HOME_BOSS, 7). %% BOSS之家
-
- %% 掉落总来源分类
- -define(DROP_CRUSADE_BOSS, 1). %% 讨伐副本
- -define(DROP_REWARD_BOSS, 2). %% 赏金BOSS:包括独享BOSS
- -define(DROP_PERSONAL_BOSS, 3). %% 个人BOSS
- -define(DROP_DESERTED_BOSS, 4). %% 星域BOSS:包括独享BOSS
-
- %% 表明是合并次数掉落的key
- -define(DROP_MERGE_MULTI_COUNT, drop_merge_multi_count).
-
- %% 掉落组别定义
- -record(drop, {
- list = [], %% 掉落包列表 [{掉落包ID, 掉落个数}]
- weight = 0 %% 掉落权重
- }).
-
- %% 掉落规则
- -record(ets_drop_rule, {
- mon_id=0, %% 怪物编号
- alloc = 4, %% 分配方式:1队长独占,2队伍随机,3队伍均等,4归属拾取
- min_lv = 0, %% 最小等级
- max_lv = 0, %% 最大等级
- bltype = 0, %% 归属类型:分配方式4:启作用 0:伤害最高获得 1:第一击获得 2:最后一击获得 3:无归属;配置“无归属”后所有玩家都可以拾取列表中的道具
- task=0, %% 是否有任务物品,0为无,1为有
- broad=0, %% 广播场景,0不广播,1队伍广播,2场景广播
- % drop_list=[], %% 掉落列表[1和2对应的所有掉落物品id] 注:本字段已删
- task_drop_list=[], %% 任务掉落列表 [1和2对应的任务掉落物品id]
- drop_rule=[], %% 掉落规则1:1+2:1=250; 3:1=750 = [ {[{1,1}, {2, 1}], 250}, {[{3,1}], 750} ] %% 默认概率是1000:(权重和随机结合)
- drop_range={0,0} %% 掉落范围 {x轴像素, y轴像素}; 注:{0,0}表示不做范围限制
- }).
-
- %% 物品掉落规则
- -record(ets_drop_goods, {
- id=0, %% 编号
- type = 0, %% 类型:0随机权重掉落;1固定掉落;2 任务物品
- drop_thing_type = 0, %% 掉落物品类型(?TYPE_GOODS ?TYPE_COIN)
- list_id=0, %% 列表ID
- goods_id=0, %% 物品类型ID
- ratio=0, %% 概率
- career_ratio_list = [], %% 职业概率列表 [{职业, 概率}]
- origin_ratio = 0, %% 初始概率
- min_num=0, %% 最低掉落数
- num=0, %% 最大数量
- cond_list = [], %% 条件列表 [{lv, 最小等级, 最大等级}, {turn, [转生数1,转生数2]} ]
- get_way = 0, %% 获得方式:0入背包,1放入拍卖行
- repeat = 1, %% 是否循环利用(放回随机)
- bind=0, %% 绑定状态
- notice=[], %% 传闻,频道列表如[世界(1),家族(2)...]
- hour_start=0, %% 时间段限制,0为无
- hour_end=0, %% 时间段限制,0为无
- time_start=0, %% 日期限制,0为无
- time_end=0, %% 日期限制,0为无
- replace_list = [], %% 职业替换列表 [{职业, 物品类型ID}]
- drop_icon = "", %% 掉落在地上显示的图标
- drop_leff = "" %% 掉落在地上显示的光效
- }).
-
- %% 掉落上限
- -record(base_drop_limit, {
- goods_id = 0, %% 掉落物品id
- drop_thing_type = 0, %% 掉落类型
- limit_type = 0, %% 限制类型:0:玩家单个物品Id限制;1:全服单个物品Id限制
- limit_day = 0, %% 掉落周期
- limit_num = 0 %% 限制数量品
- }).
-
- %% 怪物类型活动动额外掉落
- -record(base_mon_type_drop, {
- act_id = 0, %% 活动主id
- sub_id = 0, %% 主动子id
- mon_type = 0, %% 怪物类型
- slv = 0, %% 开始等级
- elv = 0, %% 结束等级
- drop_list=[], %% 掉落列表[1和2对应的所有掉落物品id]
- drop_rule=[] %% 掉落规则1:1+2:1=250; 3:1=750 = [ {[{1,1}, {2, 1}], 250}, {[{3,1}], 750} ] %% 默认概率是1000:(权重和随机结合)
- }).
-
- %% 物品掉落生成表
- -record(ets_drop, {
- id=0, %% 编号
- player_id=0, %% 角色ID
- team_id=0, %% 组队ID
- copy_id=0, %% 副本ID
- scene=0, %% 场景ID
- scene_pool_id=0, %% 场景进程id
- drop_thing_type = 0, %% 掉落物品类型(?TYPE_GOODS,?TYPE_COIN)
- drop_goods=[], %% 掉落物品[[物品类型ID,物品类型,物品数量,物品品质]...]
- goods_id=0, %% 掉落物品 - 物品类型ID
- min_num=0, %% 最低数量
- num=0, %% 最大数量
- get_way = 0, %% 获得方式:0入背包,1放入拍卖行
- bind=0, %% 绑定状态
- notice=[], %% 传闻,频道列表如[世界(1),家族(2)...]
- broad=0, %% 广播场景,0不广播,1队伍广播,2场景广播
- expire_time=0, %% 过期时间
- mon_id = 0, %% 怪物类型ID
- mon_name = <<>>, %% BOSS怪物名字
- x = 0, %% 掉落坐标
- y = 0,
- drop_icon = "", %% 掉落图标
- drop_leff = "", %% 掉落光效 0:没有光效 >0:光效id
- hurt_id_list = [], %% 造成伤害玩家ID列表
- alloc = 0, %% 掉落类型
- bltype = 0 %% 归属类型
- , origin = 0 %% 掉落来源
- }).
-
- %% 怪物参数
- -record(mon_args, {
- id = 0, %% 怪物唯一id
- mid = 0, %% 怪物配置id
- kind = 0, %% 怪物类型
- boss = 0 , %% BOSS类型
- lv = 0, %% 等级
- scene = 0, %% 场景
- scene_pool_id = 0, %% 场景进程池id
- copy_id = 0, %% copy_id
- x = 0, %% x坐标
- y = 0, %% y坐标
- ctime = 0, %% 怪物创建时间
- name = "", %% 怪物名字
- exp = 0, %% 怪物经验
- origin = 0 %% 怪物来源
- }).
-
- %% 玩家参数
- -record(ps_args, {
- role_id = 0,
- name = "",
- lv = 0,
- cell_num = [], %% 背包格子列表[{背包位置, 空格子数}]
- scene = 0,
- pool_id = 0,
- copy_id = 0,
- x = 0,
- y = 0,
- hp = 0,
- team_id = 0,
- extra_data = #{}
- }).
-
- %% 掉落条件参数
- -record(cond_args, {
- lv = 0, %% 等级
- career = 0, %% 职业
- turn = 0, %% 转生数
- turn_task_id = 0 %% 当前转生任务id
- }).
|