源战役
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

190 linhas
8.9 KiB

%% ---------------------------------------------------------
%% 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
}).