|
|
- %%%-------------------------------------------------------------------
- %% 唤神
- %% 说明
- %% 唤神装备的格子sell = 唤神id * 100 + pos
- %% 辅助唤神位置id = 主站 pos * 100 + 位置
- %% 神血 = 唤神生命 + 套装附带的神血 + 玩家生命*20%
- %% 神攻 = 唤神攻击 + 玩家攻击
- %% 神防 = 唤神防御 + 玩家防御
- %%% @end
- %%%-------------------------------------------------------------------
- -author("liushl").
-
- %% 出战位置判断 1-99为出战位置|101-9999为援护位置
- -define(IS_PRIMARY_GOD(Pos), Pos >=1 andalso Pos =< 99).
- -define(IS_SECONDARY_GOD(Pos), Pos >= 101 andalso Pos =< 9999).
- %% Pos2 是不是 Pos1 的辅助位
- -define(IS_THE_SECONDARY_GOD(Pos1, Pos2),
- (?IS_PRIMARY_GOD(Pos1)
- andalso ?IS_SECONDARY_GOD(Pos2)
- andalso Pos2 div ?POS_OFFSET =:= Pos1)).
- %% 出战位置偏移量
- -define(POS_OFFSET, 100).
- %% 唤神装备位置偏移量
- -define(CELL_OFFSET, 100).
- %% 默认解锁的主出战位大小
- -define(DEFAULT_POS, 3).
- %% 援助唤神属性折扣
- -define(ASSISTANCE, 0.5).
- %% 装备位置
- -define(DEFAULT_EQUIP_POS, [1,2,3,4,5,6]).
- %% 装备5级时产生变异属性
- -define(GOD_EQUIP_SP_LV, 5).
- %% 操作信息
- -define(LOG_ACTIVE, 1). % 激活 {1,0, time}
- -define(LOG_STAR_UP, 2). % 升星:每升一星{2, 星级,time}
- -define(LOG_LV_UP, 3). % 升级:升到整50级 {3, 等级, time}
- -define(LOG_SUIT, 4). % 激活套装:首次激活某6件套装{4, 套装类型,time}
- -define(LOG_SKILL, 5). % 技能满级:某个技能满级{5, 技能id,time}
- -define(LOG_EQUIP_UP, 6). % 装备强化
- -define(LOG_GOD_FRONT, 7). % 唤神上阵变化
-
- %% 召唤流程
- -define(GOD_SUMMON_BEGIN, 1). % 初次召唤
- -define(GOD_SUMMON_NEXT, 2). % 切换为下一个
- -define(GOD_SUMMON_END, 3). % 结束
-
- %%奖池类型
- -define(NORMAL_POOL, 1). % 普通奖池
- -define(LIMIT_POOL, 2). % 限时奖池
-
-
- %% 效果类型
- -define(TYPE_SUIT_SKILL_FRONT_GOD, 1). %% 上阵唤神属性加成
- -define(TYPE_SUIT_SKILL_FRONT_ROLE, 2). %% 上阵玩家属性加成
- -define(TYPE_SUIT_SKILL_FIGHT_ROLE, 3). %% 出战玩家属性加成
- -define(TYPE_SUIT_SKILL_SPECIAL, 9). %% 特殊效果
- %% 套装技能
- -define(SUIT_SKILL_ROLE_CRIT_ADD , 1). % 上阵提升2000暴击
- -define(SUIT_SKILL_GOD_ATT , 2). % 装备后神攻 翻倍
- -define(SUIT_SKILL_ROLE_TEN , 3). % 上阵提升2000坚韧
- -define(SUIT_SKILL_GOD_DEF , 4). % 装备后神防 翻倍
- -define(SUIT_SKILL_ROLE_DODGE , 5). % 上阵提升2000闪避
- -define(SUIT_SKILL_GOD_HP , 6). % 装备后神血 翻倍
- -define(SUIT_SKILL_ROLE_PARRY_RATIO , 7). % 上阵提升5%格挡几率
- -define(SUIT_SKILL_ROLE_UNCRIT_ADD_RATIO, 8). % 唤神+20%暴击抵抗
- -define(SUIT_SKILL_GOD_CALL_ONE , 9). % 上阵后单个神祗召唤时间+5s
- -define(SUIT_SKILL_GOD_CALL , 10). % 上阵后所有神祗召唤时间+5s
- -define(SUIT_SKILL_ROLE_CRIT_HURT , 11). % 装备的唤神+15%暴击几率
- -define(SUIT_SKILL_ADD_POS , 12). % 上阵后出战阵位+1
- -define(SUIT_SKILL_ROLE_HURT_ADD_RATIO, 13). % 提升5%伤害加成
- -define(SUIT_SKILL_ROLE_NO_CTRL , 14). % 出战战斗时免疫所有控制 减速/流血/眩晕 等
- -define(SUIT_SKILL_STAB_RATIO , 15). % 提升5%格挡穿透
- -define(SUIT_SKILL_ROLE_NO_HURT , 16). % 出战时前2s免疫所有伤害
- -define(SUIT_SKILL_ROLE_ASSIST_PLUS1 , 17). % 该唤神护佑时属性加成为60%
- -define(SUIT_SKILL_ROLE_ASSIST_PLUS2 , 18). % 该唤神护佑时属性加成为80%
-
- %% 出战中的唤神信息
- -record(god_fighting, {
- id = 0
- , att = 0 % 攻
- , def = 0 % 防
- , hp = 0 % 血
- , hp_lim = 0 % 血上限
- , skills = [] % 技能 [{skill_id, lv}|_]
- , battle_effect = [] % 战斗特殊效果(一般是装备套装效果)[skill_id|_]
- , time = 0 % 变身时间戳 utime:longunixtime()
- , continue = 0 % 变身持续时间
- }).
- %% 唤神召唤出战信息
- -record(god_summon, {
- ref = [],
- fighters = [] % 按出战顺序排列#god_fighting{}发到场景去
- }).
- %% 玩家唤神数据
- -record(role_god, {
- god_info = [] % 玩家激活的唤神
- ,unlock = [] % 出战解锁信息[出战位置/援助位置|_]
- ,summon_time = 0 % 召唤时间,CD过后才能继续召唤
- ,god_summon = undefined % 召唤出战信息。召唤时才有数据#god_summon{}
-
- ,temp_attr = [] % 某些唤神 出战时 会给玩家提供额外属性
- ,attr = [] % 提供给玩家的总属性列表:上阵的唤神才计算
- ,god_power = 0 % 唤神战力:包括唤神技能额外战力+神属性战力
- ,role_power = 0 % 总战力,人物属性战力
- }).
-
- %% 单个唤神
- -record(god, {
- id = 0, % 唤神id
- star = 0, % 唤神星级
- lv = 1, % 唤神等级
- exp = 0, % 唤神经验
- pos = 0, % 出战位置:0未出战|1-99为出战位置|101-9999为援护位置
- attr = [], % 上阵提供给玩家的属性:培养属性/技能属性/装备属性
- equip_attr = [], % 装备属性 只在装备变更时刷新
- god_attr = [], % 唤神属性:变身战斗时附加给为玩家的 攻/血/防
- % 主唤神:包括自己的成长属性+套装效果+人物继承
- % 援助唤神:0.5*自己的成长属性+套装效果
- % 未上阵:[]
- skills = [], % 战斗技能[{skill_id, lv}|_]
- suit_info = [], % 套装效果,统计装备属性的时候计算
- suit_skills = [], % 套装技能
- extra_power = 0, % 额外战力:技能战力/
- power_show = 0 % 前端展示战力
- }).
-
-
- %%%===================================================================
- %%% 配置
- %%%===================================================================
-
- %% 唤神配置
- -record(base_god_info, {
- id = 0,
- name = <<>>,
- star = 0,
- cost = [],
- need_lv = 0,
- attr = [],
- god_attr = [],
- skills = [],
- goods_id = 0,
- skill_max = 0,
- type = 0
- }).
-
- %% 唤神装备配置
- -record(base_god_equip, {
- id = 0,
- name = <<>>,
- attr = [],
- extra_attr = [],
- pos = 0,
- quality = 0,
- exp = 0,
- suit_id = 0
- }).
-
- %% 唤神套装配置
- -record(base_god_equip_suit, {
- name = <<>>,
- type = 0, %% 1属性百分比加成/2属性直接加成/3其他
- effect = [] %%
- }).
-
- %% 唤神限时抽奖期数
- -record(base_god_limit_phase, {
- phase = 0,
- god_id = 0,
- count_award = [],
- blessing_award = [],
- days = 0
- }).
-
- %% 唤神普通抽奖期数
- -record(base_god_normal_phase, {
- phase = 0,
- awards = 0
- }).
-
- %% 唤神抽奖奖品
- -record(base_god_limit_award, {
- id = 0,
- awards = [],
- broadcast = 0,
- weight = 0,
- need_lv = 0,
- phase = 0
- }).
-
- %% 唤神抽奖奖品
- -record(base_god_normal_award, {
- id = 0,
- awards = [],
- broadcast = 0,
- weight = 0,
- need_lv = 0,
- phase = 0,
- show = 0
- }).
-
-
- -define(SELECT_ROLE_GOD_INFO,
- <<"SELECT god_id, star, lv, exp, pos, skills FROM role_god_info WHERE role_id = ~p">>).
-
- -define(SELECT_ROLE_GOD,
- <<"SELECT unlock_pos FROM role_god WHERE role_id = ~p">>).
-
- -define(REPLACE_INTO_ROLE_GOD_INFO,
- <<"REPLACE INTO role_god_info(role_id, god_id, star, lv, exp, pos, skills) VALUES(~p, ~p, ~p, ~p, ~p, ~p, '~ts')">>).
-
- -define(REPLACE_INTO_ROLE_GOD,
- <<"REPLACE INTO role_god(role_id,unlock_pos) VALUES(~p, '~ts')">>).
|