%%%-------------------------------------------------------------------
|
|
%%% @author liushl
|
|
%%% @doc
|
|
%%% 装备物品cell = 100*套+装备位置
|
|
%%%
|
|
%%%
|
|
%%% @end
|
|
%%%-------------------------------------------------------------------
|
|
-author("liushl").
|
|
|
|
-define(EQUIPMENT_STAR_RISE_RATIO, 9500).
|
|
|
|
%% 装备物品cell
|
|
-define(EQUIPMENT_CELL(Series, EquipmentPos), (Series * 100 + EquipmentPos)).
|
|
%% 根据装备cell获得装备套数series
|
|
-define(EQUIPMENT_SERIES(Cell), (Cell div 100)).
|
|
|
|
%% 装备类型
|
|
-define(EQUIPMENT_WEAPON, 1). % 武器
|
|
-define(EQUIPMENT_HEAD, 2). % 头盔
|
|
-define(EQUIPMENT_BODY, 3). % 身甲
|
|
-define(EQUIPMENT_CLOAK, 4). % 披风
|
|
-define(EQUIPMENT_HANDS, 5). % 手甲***
|
|
-define(EQUIPMENT_PANTS, 6). % 护胫
|
|
-define(EQUIPMENT_FEET, 7). % 靴子
|
|
-define(EQUIPMENT_NECKLACE, 8). % 项链
|
|
-define(EQUIPMENT_RINGS, 9). % 戒指
|
|
-define(EQUIPMENT_EARRINGS, 10). % 耳环
|
|
-define(EQUIPMENT_GUARD, 11). % 守护
|
|
|
|
%% 普通装备:7件
|
|
-define(EQUIPMENT_NORMAL, [?EQUIPMENT_WEAPON, ?EQUIPMENT_HEAD, ?EQUIPMENT_BODY,
|
|
?EQUIPMENT_CLOAK, ?EQUIPMENT_HANDS, ?EQUIPMENT_PANTS, ?EQUIPMENT_FEET]).
|
|
%% 项链/戒指/耳环组成首饰
|
|
-define(EQUIPMENT_JEWELRY, [?EQUIPMENT_NECKLACE, ?EQUIPMENT_EARRINGS, ?EQUIPMENT_RINGS]).
|
|
%% 首饰和守护组成特殊装备
|
|
-define(EQUIPMENT_SPECIAL, [?EQUIPMENT_GUARD|?EQUIPMENT_JEWELRY]).
|
|
|
|
-define(EQUIPMENT_KIND_NORMAL, 1). %% 装备类型:武器和防具
|
|
-define(EQUIPMENT_KIND_JEWELRY, 2). %% 装备类型:首饰
|
|
-define(EQUIPMENT_KIND_GUARD, 3). %% 装备类型:守护
|
|
%% -----------------------------------------------------------------
|
|
%% @doc 计算属性加成时,装备分类
|
|
%% 防具构成
|
|
-define(EQUIPMENT_ATTR_PROTECTION, [?EQUIPMENT_HEAD, ?EQUIPMENT_BODY, ?EQUIPMENT_CLOAK, ?EQUIPMENT_PANTS, ?EQUIPMENT_FEET]).
|
|
%% 饰品构成
|
|
-define(EQUIPMENT_ATTR_JEWELRY, [?EQUIPMENT_HANDS, ?EQUIPMENT_NECKLACE, ?EQUIPMENT_EARRINGS, ?EQUIPMENT_RINGS]).
|
|
%% 武器构成不变
|
|
%% -----------------------------------------------------------------
|
|
-define(GEM_TYPE_ATT, 1). % 攻击宝石
|
|
-define(GEM_TYPE_DEF, 2). % 防御宝石
|
|
-define(GEM_TYPE_HP, 3). % 血量宝石
|
|
%% 装备宝石操作
|
|
-define(EQUIPMENT_GEM_OP_INLAY, 1). %% 镶嵌
|
|
-define(EQUIPMENT_GEM_OP_UNLOAD, 2). %% 卸下
|
|
-define(EQUIPMENT_GEM_OP_UPGRADE, 3). %% 升级
|
|
-define(EQUIPMENT_GEM_OP_AUTO, 4). %% 一键操作
|
|
%% 击杀BOSS
|
|
-define(EQUIPMENT_KILL_DESERTED_BOSS, 1). %% 星域幻魔
|
|
-define(EQUIPMENT_KILL_PERSONAL_BOSS, 2). %% 个人BOSS
|
|
-define(EQUIPMENT_KILL_REWARD_BOSS, 3). %% 赏金BOSS
|
|
-define(EQUIPMENT_KILL_HOME_BOSS, 4). %% 幻魔之家
|
|
|
|
%% 计数器
|
|
-define(EQUIPMENT_HELP_SP_ATTR, 1). %% 每日协助增加sp属性经验次数
|
|
-define(EQUIPMENT_HOME_BOSS_KILL, 2). %% 每日击杀幻魔之家增加经验次数
|
|
%% 玩家装备数据
|
|
-record(equipment, {
|
|
equipment_series = #{} %% 不跟随装备#{套数 => #{位置 => #equipment_series{}}}
|
|
, gems_suit = [] %% 宝石套装信息:[{series, lv}]
|
|
, stars = 0 %% 当前激活的星级数
|
|
, stars_info = [] %% 星级套装激活节点选择[{节点,选择}]
|
|
, unlock_series = 1 %% 当前解锁的套数
|
|
, total_power = 0 %% 总战力
|
|
, attr = [] %% 总属性
|
|
, skills = [] %% 技能
|
|
, extra_power = 0 %% 装备系统战力
|
|
|
|
, equipment_collect = [] %% 装备收集情况
|
|
, equipment_collect_attr = [] %% 收集系统属性
|
|
, empower_attr = [] %% 器灵总属性
|
|
|
|
, follow_guard = 0 %% 跟随的守护
|
|
}).
|
|
|
|
%% 装备套数位置信息
|
|
-record(equipment_series, {
|
|
series = 0 %% 套数
|
|
, pos = 0 %% 装备位置
|
|
, gems = [] %% 镶嵌的宝石##[{类型,宝石id}]
|
|
, empower = 0 %% 器灵等级
|
|
, sp_lv = 1 %% 可成长属性等级
|
|
, sp_exp = 0 %% 可成长属性经验
|
|
}).
|
|
|
|
%% 装备收集
|
|
-record(equipment_collect, {
|
|
key = {0, 0}, %% key {series, color}
|
|
series = 0, %% 代数
|
|
color = 0, %% 品质
|
|
active = 0, %% 激活进度
|
|
collect = [] %% 收集情况 [部位]
|
|
}).
|
|
%%---------------------------------------------------------------------
|
|
%% 数据库
|
|
%%---------------------------------------------------------------------
|
|
%% 查询装备基础通用信息
|
|
-define(SQL_GET_EQUIPMENT_INFO, <<"SELECT stars,stars_info,series,follow_guard,gems_suit FROM equipment WHERE role_id=~p">>).
|
|
%% 查询装备套数位置信息
|
|
-define(SQL_GET_EQUIPMENT_SERIES, <<"SELECT series,pos,gems,empower_lv,sp_lv,sp_exp FROM equipment_series WHERE role_id=~p">>).
|
|
%% 更新装备基础通用信息
|
|
-define(SQL_UPDATE_EQUIPMENT, <<"REPLACE INTO equipment(role_id,stars,stars_info,series,follow_guard,gems_suit) VALUES(~p,~p,~ts,~p,~p,~ts)">>).
|
|
%% 更新装备套数位置信息
|
|
-define(SQL_UPDATE_EQUIPMENT_SERIES, <<"REPLACE INTO equipment_series(role_id,series,pos,gems,empower_lv,sp_lv,sp_exp) VALUES(~p,~p,~p,~ts,~p,~p,~p)">>).
|
|
%% 批量更新装备套数位置信息
|
|
-define(SQL_UPDATE_EQUIPMENT_SERIES_BATCH, <<"REPLACE INTO equipment_series(role_id,series,pos,gems,empower_lv,sp_lv,sp_exp) VALUES ~ts">>).
|
|
%%---------------------------------------------------------------------
|
|
%% 配置
|
|
%%---------------------------------------------------------------------
|
|
-record(base_equipment, {
|
|
goods_id = 0,
|
|
name = <<>>,
|
|
series = 0, %% 套数
|
|
color = 0, %% 品质
|
|
career = [], %% 职业限制
|
|
equip_type = 0, %% 装备类型
|
|
lv = 0, %% 穿戴等级
|
|
suit = [], %% 套装类型,一个装备可能参与多个套装
|
|
base_attr = [], %% 基础属性
|
|
great_attr_list = [], %% 高级属性
|
|
great_num = 0, %% 卓越属性数量
|
|
great_attr_star = [], %% 星级卓越属性
|
|
great_attr_normal = [], %% 普通卓越属性
|
|
devour_exp = 0 %% 吞噬经验
|
|
}).
|
|
|
|
-record(base_equipment_strength, {
|
|
series = 0,
|
|
equip_type = 0,
|
|
lv = 0,
|
|
cost = [],
|
|
attr = [],
|
|
ratio = 0,
|
|
fail_add_ratio = 0
|
|
}).
|
|
|
|
-record(base_equipment_great, {
|
|
series = 0,
|
|
equip_type = 0,
|
|
up_num = 0,
|
|
cost = [],
|
|
attr = [],
|
|
great_attr = [],
|
|
rare = 0,
|
|
great_attr_list = [],
|
|
ratio = 0
|
|
}).
|
|
|
|
-record(base_equipment_carve, {
|
|
goods_id = 0,
|
|
name = <<>>,
|
|
color = 0,
|
|
equip_type = 0,
|
|
skill_battle = [],
|
|
skill_normal = [],
|
|
attr = [],
|
|
weight = 0,
|
|
desc = <<>>
|
|
}).
|
|
|
|
-record(base_equipment_gems, {
|
|
goods_id = 0,
|
|
name = <<>>,
|
|
type = 0,
|
|
lv = 0,
|
|
attr = []
|
|
}).
|
|
|
|
-record(base_equipment_empower, {
|
|
series = 0, %% 代数
|
|
pos = 0, %% 装备位置
|
|
lv = 0, %% 等级
|
|
cost = [], %% 消耗
|
|
attr = [], %% 属性
|
|
condition = [] %% 升级条件 {equip_color,4} 装备品质
|
|
%% {all_series_lv,3,1} 前3代装备全部达到1级
|
|
}).
|