%%%------------------------------------------------ %%% File : record.erl %%% Author : csj %%% Created : 2010-09-15 %%% Description: record %%%------------------------------------------------ -include("table_to_record.hrl"). %%战斗属性 战斗相关属性的率一般为 万分比值*10000, %% 发给客户端显示使用 万分比值*10000/100,显示为等级 -record(battle_attr, { x = 0, %% X 坐标 y = 0, %% Y 坐标 direct_x = 0, %% 朝向x坐标 direct_y = 0, %% 朝向y坐标 career = 1, %% 职业(参考common.hrl定义) skill_cd_all = 0, %% 对所有技能的CD, 冷冻到期时间(毫秒) buff_timer_start = false, %% buff计时器是否开启 true.开启 false.关闭 skill_cd_list = [], %% 技能使用CD,格式[{SkillId, CdTime},...], CdTime为冷冻到期时间(毫秒) link_skill_buff = [], %% 能触发后续技能的buff列表 delay_skill_buff = [], %% 延迟触发buff timer_buff = [], %% 时间触发类buff hurted_buff = [], %% 被击触发类buff skill_buff = [], %% 技能特殊状态Buff/单次有效,过期还原/需发到客户端[{BufId, 过期时间},...] 毫秒, buff1 = [], %% 技能加战斗属性BUF列表/单次有效,过期还原 [{BufId, 过期时间},...] 毫秒 buff2 = [], %% 技能加血力法量BUF列表/周期性, 过期保留 [{BufId, CD到期时间, 剩余次数},...] 毫秒 sing_expire = 0, %% 吟唱到期时间(毫秒), 目前只对怪有效, 0为不在吟唱时间内 use_combopoint = 0, %% 是否使用了combopoint增加属性攻击值(0未用, 其他为使用的点数) combopoint_max = 0, %% 最大连击点数 combopoint = 0, %% 连击点数(技能消耗/获得的属性,可额外增加伤害率或防御率) hit_point = 0, %% 生命 hit_point_max = 0, %% 生命上限 magic = 0, %% 法力值 magic_max = 0, %% 法力值上限 anger = 0, %% 怒气值 anger_max = 0, %% 怒气值上限 attack = 0, %% 普通攻击力 attack_ratio = 0, %% 普通攻击力增加伤害率(Buff附加值, 初始为0) defense = 0, %% 普通防御力 defense_ratio = 0, %% 普通防御力增加防御率(Buff附加值, 初始为0) abs_damage = 0, %% 绝对伤害值 fattack = 0, %% 仙攻值 fattack_ratio = 0, %% 仙攻值增加伤害率(Buff附加值, 初始为0) mattack = 0, %% 魔攻值 mattack_ratio = 0, %% 魔攻值增加伤害率(Buff附加值, 初始为0) dattack = 0, %% 妖攻值 dattack_ratio = 0, %% 妖攻值增加伤害率(Buff附加值, 初始为0) fdefense = 0, %% 仙防值 fdefense_ratio = 0, %% 仙防值增加防御率(Buff附加值, 初始为0) mdefense = 0, %% 魔防值 mdefense_ratio = 0, %% 魔防值增加防御率(Buff附加值, 初始为0) ddefense = 0, %% 妖防值 ddefense_ratio = 0, %% 妖防值增加防御率(Buff附加值, 初始为0) speed = 0, %% 移动速度 attack_speed = 0, %% 攻击速度 hit_ratio = 1, %% 命中等级(万分比) dodge_ratio = 1, %% 闪避等级(万分比) crit_ratio = 1, %% 暴击等级(万分比) tough_ratio = 1, %% 坚韧等级(万分比) frozen_resis_ratio = 0, %% 冰冻抗性率(帮派技能引入) weak_resis_ratio = 0, %% 虚弱抗性率(帮派技能引入) flaw_resis_ratio = 0, %% 破绽抗性率(帮派技能引入) poison_resis_ratio = 0, %% 中毒抗性率(帮派技能引入) avoid_attack_ratio = 0, %% 受到普攻免伤害率(Buff附加值, 初始为0) avoid_fattack_ratio = 0, %% 受到仙攻免伤率(Buff附加值, 初始为0) avoid_mattack_ratio = 0, %% 受到魔攻免伤率(Buff附加值, 初始为0) avoid_dattack_ratio = 0, %% 受到妖攻免伤率(Buff附加值, 初始为0) avoid_crit_attack_ratio = 0, %% 受到普攻暴击免伤害率(Buff附加值, 初始为0) avoid_crit_fattack_ratio = 0, %% 受到仙攻暴击免伤率(Buff附加值, 初始为0) avoid_crit_mattack_ratio = 0, %% 受到魔攻暴击免伤率(Buff附加值, 初始为0) avoid_crit_dattack_ratio = 0, %% 受到妖攻暴击免伤率(Buff附加值, 初始为0) ignore_defense = 0, %% 攻方忽略防方普防值(武魂引入) ignore_fdefense = 0, %% 攻方忽略防方仙防值(武魂引入) ignore_mdefense = 0, %% 攻方忽略防方魔防值(武魂引入) ignore_ddefense = 0, %% 攻方忽略防方妖防值(武魂引入) status_stop = 0, %% 石化状态 status_silent = 0, %% 沉默状态[能普攻,不能技能] status_unstoptable = 0, %% 免役控制 status_unattrackable = 0, %% 不能发起攻击[普通或者技能都不可以] change_appearance = 0, %% 外观变换 energy = {}, %% 能量球, passive_skill_attr = [], %% 职业被动分流, hurt_call_back = 0, %% 受击反弹伤害百分比 passive_hurt_rate = 0, %% 反伤百分比增加比率(被动技能) control_radio = 0, %% 技能产生控制的几率 walk_path = [], %% 行走路径,格式[DestX,DestY,Len,<>] move_destination = {0, 0}, %% 移动的目的点 ai_init_id = 0, %% 初始的AI,用于重置 clock_time = 143, %% 初始的时钟(一秒钟走7步,1000/7) demage_buff_list = [], %% 伤害buff列表 remove_buff_list = [], %% 移除buff列表 attr_freeze_probability = 0, %% 受到冰冻的概率 hp_cover_callback = 0, %% 回复效果 is_rush_success = 0, %% 标记玩家是否冲锋成功 0.默认状态 1.冲锋成功 2.冲锋失败 fight_pos = {1, 1}, %% 攻击对方时,站在对方的方位参数 1,0/1,1/1,-1/0,1/0,-1/-1,0/-1,1/-1,-1 return_steps = 0, %% 在返回时,记录返回的步数(主要用于怪物返回的瞬移) move_speed_queue = {{0, []}, {0, []}},%%移动速度buff效果队列 damage_reduction = {0, 0, 0, ""}, %%当前吸收伤害盾吸收数值 damage_reduction_queue = [], %%伤害吸收队列 invincible = 0, %%无敌状态 reduce_dot_damage = 0, %%忽略dot千分比伤害 abs_crit_ratio = 1, %%暴击率真实值 real_defense = 0 %%实际的物理防御力 }). %%用户的其他附加信息(对应player.other) -record(player_other, { skill_list = [], % 技能列表[{SkillId, Level}, ...] skill_point = {0, 0}, % 技能点 socket = undefined, % 当前用户的socket pid = undefined, % 用户进程Pid pid_goods = undefined, % 物品模块进程Pid pid_send = [], % 消息发送进程Pid(可多个) pid_battle = undefined, % 战斗进程Pid pid_scene = undefined, % 当前场景Pid pid_dungeon = undefined, % 当前副本进程 pid_task = undefined, % 当前任务Pid pid_mount = undefined, % 当前座骑Pid node = undefined, % 进程所在节点 blacklist = false, % 是否受黑名单监控 pk_mode = 0, % 0-不强制pk模式 1-强制和平模式 2-强制自由pk模式 3-强制帮会pk模式 goods_ets_id = 0, % 物品ets表ID equip_current = [], % 影响玩家外观装备 role_suit = [], % 套装列表 weapon_strenLv = 0, % 武器强化等级 armor_strenLv = 0, % 盔甲强化等级 fashion_strenLv = 0, % 时装强化等级 wapon_accstrenLv = 0, % 武饰强化等级 wing_strenLv = 0, % 翅膀强化等级 mount_fashion = 0, % 坐骑外观 team_id = 0, % 队伍ID, 0为无队伍 team_leader = 0, % 是否队长1是,其他不是 pet_facade = 0, % 宠物外观 pet_status = 0, % 0宠物休息, 1出战, 2不存在 pet_quality_lv = 0, % 宠物品阶 pet_name = <<"">>, % 宠物名字 step_check_tasks = [], % 玩家移动时候是否需要检查任务的任务列表 hardware_info = {} %玩家硬件信息 }). %%任务进度(用于在杀怪,采集等动作时保存对应的未完成任务与已完成任务) -record(task_process_info, { task_unfinsh = [], %%未完成的任务 task_fin = [] %%已完成任务 }). %%怪物掉落 -record(mon_drop_goods, { drop_id = 0, %% 掉落物实例ID uid = 0, %% 玩家ID mon_id = 0, %% 掉落产生ID goods_id = 0, %% 物品ID goods_num = 0, %% 掉落数量 x = 0, %% 掉落的X左边 y = 0, %% 掉落的Y坐标 expire_time = 0 %% 掉落失效时间 }). %% 购买npc商店日志 -record(ets_npc_shop_log, { key, buy_num, %% buy_time %% }). %% 购买商城日志 -record(ets_shop_log, { key, buy_num, %% buy_time %% }). %% 购买商城日志 -record(ets_special_shop_log, { key, buy_num, %% buy_time %% }). %% 队伍信息 -record(team, { tid = 0, %%队伍ID leader_id = 0, %%队长ID leader_nick = <<>>, %%队长名字 leader_level = 0, %%队长的等级 direct_join = 0, %%直接加入队伍 invite_allow = 0, %%成员可发邀请 max_num = 0, %%最大队员数 member_ids = [] %%成员ID列表 }). %% 成员信息 -record(team_member, { uid = 0, %%角色ID tid = 0, %%队伍ID level = 0, %%队长的等级 nick = <<>>, %%名字 force = 0, %%战斗力 camp = 0, %%阵营 career = 0, %%职业 gender = 0 %%性别 }). -record(energy, { attack = <<"{}">>, %%攻击时回复的能量系数k injured, %%被攻击时回复的能量系数k crit, %%暴击回复的能量系数k battle_recover, %%战斗时回复每秒的能量系数 k normal_recover, %%离开战斗时每秒回复的能量系数 k last_reflesh_time, %%最近一次计算能量球的时间 energy_val, %%玩家当前的能量值 max_energy, %%玩家能量值上限 , freeze_second = 0, %%能量值暂停衰减的时间 attack_callback_rate = 1, %%攻击回复能量值比 injured_rate = 1000, %%受击回复能量比例 recover_percent = 0 %%回复能量百分比 }). -record(ets_scene_slice, { id = 0, obj = [] }). -record(hardware_info, { os = 0,%%手机操作系统,如:0.未知 1.android 2.iphone os_version = <<"">>,%%操作系统版本号,如:2.3.4 device = <<"">>,%%设备名称,如:三星GT-S5830 device_type = 0,%%设备类型,如:0.未知 1.android 2.iPhone 3.iPad screen = <<"">>,%%屏幕分辨率,如:480*800 mno = 0,%%移动网络运营商(mobile network operators),0.未知 1.中国移动 2.中国电信 3.中国联通 nm = 0 %%联网方式(Networking mode),如:0.未知 1.3G 2.WIFI 3.2G }).