源战役
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

187 lines
7.0 KiB

  1. %%%-------------------------------------------------------------------
  2. %%% @author liushl
  3. %%% @doc
  4. %%% 装备物品cell = 100*套+装备位置
  5. %%%
  6. %%%
  7. %%% @end
  8. %%%-------------------------------------------------------------------
  9. -author("liushl").
  10. -define(EQUIPMENT_STAR_RISE_RATIO, 9500).
  11. %% 装备物品cell
  12. -define(EQUIPMENT_CELL(Series, EquipmentPos), (Series * 100 + EquipmentPos)).
  13. %% 根据装备cell获得装备套数series
  14. -define(EQUIPMENT_SERIES(Cell), (Cell div 100)).
  15. %% 装备类型
  16. -define(EQUIPMENT_WEAPON, 1). % 武器
  17. -define(EQUIPMENT_HEAD, 2). % 头盔
  18. -define(EQUIPMENT_BODY, 3). % 身甲
  19. -define(EQUIPMENT_CLOAK, 4). % 披风
  20. -define(EQUIPMENT_HANDS, 5). % 手甲***
  21. -define(EQUIPMENT_PANTS, 6). % 护胫
  22. -define(EQUIPMENT_FEET, 7). % 靴子
  23. -define(EQUIPMENT_NECKLACE, 8). % 项链
  24. -define(EQUIPMENT_RINGS, 9). % 戒指
  25. -define(EQUIPMENT_EARRINGS, 10). % 耳环
  26. -define(EQUIPMENT_GUARD, 11). % 守护
  27. %% 普通装备:7件
  28. -define(EQUIPMENT_NORMAL, [?EQUIPMENT_WEAPON, ?EQUIPMENT_HEAD, ?EQUIPMENT_BODY,
  29. ?EQUIPMENT_CLOAK, ?EQUIPMENT_HANDS, ?EQUIPMENT_PANTS, ?EQUIPMENT_FEET]).
  30. %% 项链/戒指/耳环组成首饰
  31. -define(EQUIPMENT_JEWELRY, [?EQUIPMENT_NECKLACE, ?EQUIPMENT_EARRINGS, ?EQUIPMENT_RINGS]).
  32. %% 首饰和守护组成特殊装备
  33. -define(EQUIPMENT_SPECIAL, [?EQUIPMENT_GUARD|?EQUIPMENT_JEWELRY]).
  34. -define(EQUIPMENT_KIND_NORMAL, 1). %% 装备类型:武器和防具
  35. -define(EQUIPMENT_KIND_JEWELRY, 2). %% 装备类型:首饰
  36. -define(EQUIPMENT_KIND_GUARD, 3). %% 装备类型:守护
  37. %% -----------------------------------------------------------------
  38. %% @doc 计算属性加成时,装备分类
  39. %% 防具构成
  40. -define(EQUIPMENT_ATTR_PROTECTION, [?EQUIPMENT_HEAD, ?EQUIPMENT_BODY, ?EQUIPMENT_CLOAK, ?EQUIPMENT_PANTS, ?EQUIPMENT_FEET]).
  41. %% 饰品构成
  42. -define(EQUIPMENT_ATTR_JEWELRY, [?EQUIPMENT_HANDS, ?EQUIPMENT_NECKLACE, ?EQUIPMENT_EARRINGS, ?EQUIPMENT_RINGS]).
  43. %% 武器构成不变
  44. %% -----------------------------------------------------------------
  45. -define(GEM_TYPE_ATT, 1). % 攻击宝石
  46. -define(GEM_TYPE_DEF, 2). % 防御宝石
  47. -define(GEM_TYPE_HP, 3). % 血量宝石
  48. %% 装备宝石操作
  49. -define(EQUIPMENT_GEM_OP_INLAY, 1). %% 镶嵌
  50. -define(EQUIPMENT_GEM_OP_UNLOAD, 2). %% 卸下
  51. -define(EQUIPMENT_GEM_OP_UPGRADE, 3). %% 升级
  52. -define(EQUIPMENT_GEM_OP_AUTO, 4). %% 一键操作
  53. %% 击杀BOSS
  54. -define(EQUIPMENT_KILL_DESERTED_BOSS, 1). %% 星域幻魔
  55. -define(EQUIPMENT_KILL_PERSONAL_BOSS, 2). %% 个人BOSS
  56. -define(EQUIPMENT_KILL_REWARD_BOSS, 3). %% 赏金BOSS
  57. -define(EQUIPMENT_KILL_HOME_BOSS, 4). %% 幻魔之家
  58. %% 计数器
  59. -define(EQUIPMENT_HELP_SP_ATTR, 1). %% 每日协助增加sp属性经验次数
  60. -define(EQUIPMENT_HOME_BOSS_KILL, 2). %% 每日击杀幻魔之家增加经验次数
  61. %% 玩家装备数据
  62. -record(equipment, {
  63. equipment_series = #{} %% 不跟随装备#{套数 => #{位置 => #equipment_series{}}}
  64. , gems_suit = [] %% 宝石套装信息:[{series, lv}]
  65. , stars = 0 %% 当前激活的星级数
  66. , stars_info = [] %% 星级套装激活节点选择[{节点,选择}]
  67. , unlock_series = 1 %% 当前解锁的套数
  68. , total_power = 0 %% 总战力
  69. , attr = [] %% 总属性
  70. , skills = [] %% 技能
  71. , extra_power = 0 %% 装备系统战力
  72. , equipment_collect = [] %% 装备收集情况
  73. , equipment_collect_attr = [] %% 收集系统属性
  74. , empower_attr = [] %% 器灵总属性
  75. , follow_guard = 0 %% 跟随的守护
  76. }).
  77. %% 装备套数位置信息
  78. -record(equipment_series, {
  79. series = 0 %% 套数
  80. , pos = 0 %% 装备位置
  81. , gems = [] %% 镶嵌的宝石##[{类型,宝石id}]
  82. , empower = 0 %% 器灵等级
  83. , sp_lv = 1 %% 可成长属性等级
  84. , sp_exp = 0 %% 可成长属性经验
  85. }).
  86. %% 装备收集
  87. -record(equipment_collect, {
  88. key = {0, 0}, %% key {series, color}
  89. series = 0, %% 代数
  90. color = 0, %% 品质
  91. active = 0, %% 激活进度
  92. collect = [] %% 收集情况 [部位]
  93. }).
  94. %%---------------------------------------------------------------------
  95. %% 数据库
  96. %%---------------------------------------------------------------------
  97. %% 查询装备基础通用信息
  98. -define(SQL_GET_EQUIPMENT_INFO, <<"SELECT stars,stars_info,series,follow_guard,gems_suit FROM equipment WHERE role_id=~p">>).
  99. %% 查询装备套数位置信息
  100. -define(SQL_GET_EQUIPMENT_SERIES, <<"SELECT series,pos,gems,empower_lv,sp_lv,sp_exp FROM equipment_series WHERE role_id=~p">>).
  101. %% 更新装备基础通用信息
  102. -define(SQL_UPDATE_EQUIPMENT, <<"REPLACE INTO equipment(role_id,stars,stars_info,series,follow_guard,gems_suit) VALUES(~p,~p,~ts,~p,~p,~ts)">>).
  103. %% 更新装备套数位置信息
  104. -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)">>).
  105. %% 批量更新装备套数位置信息
  106. -define(SQL_UPDATE_EQUIPMENT_SERIES_BATCH, <<"REPLACE INTO equipment_series(role_id,series,pos,gems,empower_lv,sp_lv,sp_exp) VALUES ~ts">>).
  107. %%---------------------------------------------------------------------
  108. %% 配置
  109. %%---------------------------------------------------------------------
  110. -record(base_equipment, {
  111. goods_id = 0,
  112. name = <<>>,
  113. series = 0, %% 套数
  114. color = 0, %% 品质
  115. career = [], %% 职业限制
  116. equip_type = 0, %% 装备类型
  117. lv = 0, %% 穿戴等级
  118. suit = [], %% 套装类型,一个装备可能参与多个套装
  119. base_attr = [], %% 基础属性
  120. great_attr_list = [], %% 高级属性
  121. great_num = 0, %% 卓越属性数量
  122. great_attr_star = [], %% 星级卓越属性
  123. great_attr_normal = [], %% 普通卓越属性
  124. devour_exp = 0 %% 吞噬经验
  125. }).
  126. -record(base_equipment_strength, {
  127. series = 0,
  128. equip_type = 0,
  129. lv = 0,
  130. cost = [],
  131. attr = [],
  132. ratio = 0,
  133. fail_add_ratio = 0
  134. }).
  135. -record(base_equipment_great, {
  136. series = 0,
  137. equip_type = 0,
  138. up_num = 0,
  139. cost = [],
  140. attr = [],
  141. great_attr = [],
  142. rare = 0,
  143. great_attr_list = [],
  144. ratio = 0
  145. }).
  146. -record(base_equipment_carve, {
  147. goods_id = 0,
  148. name = <<>>,
  149. color = 0,
  150. equip_type = 0,
  151. skill_battle = [],
  152. skill_normal = [],
  153. attr = [],
  154. weight = 0,
  155. desc = <<>>
  156. }).
  157. -record(base_equipment_gems, {
  158. goods_id = 0,
  159. name = <<>>,
  160. type = 0,
  161. lv = 0,
  162. attr = []
  163. }).
  164. -record(base_equipment_empower, {
  165. series = 0, %% 代数
  166. pos = 0, %% 装备位置
  167. lv = 0, %% 等级
  168. cost = [], %% 消耗
  169. attr = [], %% 属性
  170. condition = [] %% 升级条件 {equip_color,4} 装备品质
  171. %% {all_series_lv,3,1} 前3代装备全部达到1级
  172. }).