%%% ------------------------------------------------------- %%% @author huangyongxing@yeah.net %%% @doc %%% 怪物相关数据结构定义 %%% @end %%% ------------------------------------------------------- -ifndef(MON_HRL). -define(MON_HRL, ok). %% 场景对象空状态驱动事件的值(state_driven的empty值) -define(EMPTY_STATE_DRIVEN, {0, undefined}). %% 场景对象在进程字典中存储的状态数据 -record(obj_state_data, { obj_data = undefined % #ob_act{} ,obj_state = sleep }). %% 场景怪物(用于在告诉客户端怪物在哪个场景) -record(ets_scene_mon, { id = 0, % 怪物ID scene = 0, % 场景 name = <<>>, % 场景名称 mname = <<>>, % 怪物名字 kind = 0, % 怪物类型 x = 0, % X坐标 y = 0, % Y坐标 lv = 0, % 怪物等级 out = 0 % 是否挂机 }). %% 怪物配置 -record(mon, { id = 0, % 怪物配置id rem_flag = 0, % 配置拆解literal专用,它处勿用,无其他意义 name = "", % 怪物名字 kind = 0, % 怪物类型 0:怪物、1:采集怪、2:任务采集怪、3:护送车队、4:拾取型、5:赏金怪、6:进击怪、7:塔防怪、8:不死采集怪 boss = 0, % BOSS类型: 0普通怪 1普通野外怪 2精英怪物,3本服BOSS 4跨服BOSS 5活动BOSS 6副本BOSS type = 0, % 战斗斗类型(0被动,1主动) career = 0, % 职业0,没职业 color = 0, % 颜色(0白,1绿,2蓝,3紫,4橙,5红,6粉) , auto = 0, % 0-读怪物表属性,1-服务器等级,2-队伍平均等级,3-队长等级(无组队时默认是队长),需要读怪物动态属性表 icon = 0, % 资源id icon_effect = <<>>, % 怪物资源特效 icon_texture = 0, % 贴图id weapon_id = 0, % 武器模型id % icon_scale = 0, % 资源缩放[1.0-] % foot_icon = 0, % 脚下资源id % desc = <<>>, % 默认对话[怪物说话的时间间隔, {怪物说的话1,概率},...] lv = 0, % 等级 hp_lim =0, % 血上限 att = 0, % 攻击 def = 0, % 防御 hit = 0, % 命中 dodge = 0, % 躲闪 crit = 0, % 暴击 ten = 0, % 坚韧 special_attr = [], % 特定属性[{AttrType, AttrValue}] = [{属性类型,属性值}] resum = 0, % 回血配置,[回血模式,回复量,时间]回血模式:0不回血;1脱离战斗状态立刻回满血;2战斗中持续回复;3脱离战斗后持续回复 striking_distance = 0, % 攻击距离(像素) tracing_distance = 0, % 跟踪距离(像素) warning_range = 0, % 警戒范围(像素) hate_range = 0, % 仇恨范围(像素):表示玩家离开某区域后,怪物不追踪,清空伤害列表,不填表示没有仇恨范围 speed = 0, % 速度(每秒移动的像素) skill = [], % 技能列表[{技能id,技能等级},...] retime = 0, % 重生时间(毫秒) att_time = 0, % 攻击间隔(毫秒) att_type = 0, % 0近攻,1远程攻击 drop = 0, % 掉落方式 exp = 0, % 经验 collect_time = 0, % 采集时间(秒) collect_count = 0, % 可采集次数(每次都会有掉落) collect_del_hp = 0, % 采集时玩家单位时间扣血 collect_del_time = 0, % 采集时玩家扣血间隔(ms) is_fight_back = 1, % 是否会反击 ,默认为1 is_be_atted = 1, % 是否可被攻击 ,默认为1 is_be_clicked = 1, % 是否可被点击,默认为1 is_armor = 0, % 是否霸体,默认为0 , del_hp_each_time = [], % [Min,Max]:怪物受到的每次伤害值区间,整数,小数为百分比:1:默认:[];2:Min=