源战役
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 

278 рядки
8.1 KiB

%%%--------------------------------------
%%% @Author : zmh
%%% @Created : 2019.11.11
%%% @Description: 进阶系统
%%%--------------------------------------
-define(FHORSE, 1). %座驾 1
-define(FWING, 2). %炫翼 2
-define(FPEARL, 3). %宝具 3
-define(FWEAPON,4). %武器 4
-define(FJARVIS,5). %AI娘 5
-define(FGUN, 6). %磁炮 6
-define(FCLOUD, 7). %星翼 7
-define(FARMOUR,8). %幻甲 8
%% 强进阶系统
-define(GRADE_FOSTER, [
?FHORSE, ?FWING, ?FPEARL, ?FWEAPON
]).
%% 所有进阶系统
-define(ALL_FOSTER, [
?FHORSE, ?FWING, ?FPEARL, ?FWEAPON
,?FJARVIS, ?FGUN, ?FCLOUD, ?FARMOUR
]).
%% 弱进阶升级材料种类
-define(PRIMARY_TYPE, 1). %% 初级
-define(MIDDLE_TYPE, 2). %% 中级
-define(SENIOR_TYPE, 3). %% 高级
-define(MATERIAL_ALL_TYPE, [1,2,3]).
-define(CLEAR_TIME,86400). %%清理时间
-define(FJARVIS_SKILL,205000).
-define(FPEARL_SKILL, 203000).
%% 进阶系统数据结构
-record(role_foster, {
attr = [], %%总属性汇总
fosters = [] %%系统汇总
}).
-record(cell_foster, {
type = 0, %%子类型
grade = 0, %%阶(强进阶系统使用)
star = 0, %%星(强进阶系统使用)
lv = 0, %%等级(弱进阶系统使用)
exp = 0, %%祝福值
clear = 0, %%是否清零0否
display = 0, %%当前幻化
state = 0, %%坐骑专用 骑乘状态
lowcore = 0, %%低级核心
highcore = 0, %%高级核心
core_ext = [], %% 其他高级核心 [{2,Num},{3,Num1}]
click = 0, %%临时点击
etime = 0, %%有效时间clear为1时有效 重置后根据clear状态再加24H
skills = [], %%技能列表{孔位,等级,技能ID}
base_skill = 0, %%基础技能
equips = [], %%装备[#grade_equip{}]
combat = 0, %%战力
attrs = [], %% 属性汇总(进阶/等级+装备+核心+皮肤)
equip_attr = [], %%装备属性汇总
skill_attr = [] %%技能属性汇总
,skin_list = [] %% 弱进阶皮肤
,display_skin = {} %% 弱进阶幻化皮肤{skin_id, star}
}).
%% @doc 强进阶珍宝 @end
%% 珍宝汇总
-record(role_foster_skin, {
attr = [], %%总属性
fosters = [] %%皮肤汇总
}).
%% 强进阶单个类型珍宝
-record(cell_foster_skin, {
type = 0,
attrs = [],
combat = 0,
skills = [],
skins = [],
display = {0,0}
}).
%% 强进阶单个珍宝数据
-record(cell_skin, {
id = 0,
star = 0,
display = 0 %%幻化星 0未幻化
}).
%% @doc 强进阶装备 @end
-record(grade_equip,{
grade = 0, %%标识第几阶的
equips = [], %%装备数据#foster_equip{}
assist = 0 %%0未解锁|1已解锁未激活|2已激活
}).
-record(foster_equip, {
pos = 0,
uid = 0, %%弃用
gtype = 0,
color = 0,
lv = 0,
exp = 0
}).
%% @doc 弱进阶皮肤 @end
%% 弱进阶单个皮肤数据
-record(sub_cell_foster_skin, {
skin_id = 0, %% 皮肤Id
star = 0, %% 星级
display_star = 0 %% 幻化的星级
}).
%% -------------------------------------------------------------------------------------
%% @doc 配置数据结构 @end
%% 进阶配置
-record(base_foster, {
type = 0,
grade = 0,
name = 0,
next_grade = 0, %%下一阶
star = 0,
next_star = 0, %%下一星级
attrs = [], %%阶属性
tem_attrs = [], %%临时属性
cost = [], %%操作消耗
max = 0, %%当前阶上限
min = 0, %%保底值
clear = 0, %%是否清零
rate = 0, %%跳阶概率(需满足保底值)
award = [], %%进阶获赠
is_tv = 0,
resource = 0 %%外观资源
}).
%%技能
-record(base_foster_skill, {
type = 0,
pos = 0,
lv = 0,
next_lv = 0,
skillid = 0,
limit = 0,
cost = []
}).
%%核心
-record(base_foster_core, {
type = 0, %%系统
kind = 0, %%0初级1高级
con = 0, %%开放条件
cost = [], %%消耗
ext = 0, %%增幅
max = [] %%操作上限
}).
%%珍宝
-record(base_foster_skin, {
type = 0, %%系统
id = 0, %%外观ID
star = 0, %%星级
name = "", %名字
next_star = 0, %%下一星
cost = [], %%消耗
attrs = [],
active = [], %%激活
model = 0,
skills = [] %%技能汇总
}).
%%装备
-record(equip_conf, {
id = 0,
type = 0,
name = "",
pos = 0,
color = 0,
exp = 0 %%吞噬获得
}).
%%装备升级
-record(equip_lv_conf, {
type = 0,
pos = 0,
color = 0,
lv = 0,
next = 0, %%下一个等级
need = 0, %%满级消耗
attrs = [],
total = 0 %%累积消耗
}).
%% 装备助战要求
-record (base_foster_equip_assist, {
type = 0, %% 系统
grade = 0, %% 阶位
color = 0, %% 品质
num = 0 %% 数量
}).
% %%装备
% -record(equip_base, {
% type = 0,
% pos = 0,
% des = "",
% limit = 0,
% attrs = [],
% eattrs = []
% }).
%% 弱进阶系统升级表
-record(base_foster_sub, {
type = 0, %% 系统
lv = 0, %% 等级
need_exp = 0, %% 所需经验
attr_list = [], %% 属性列表
next_attr = [] %% 下级属性
}).
%% 弱进阶系统升级材料表
-record(base_foster_sub_material, {
type = 0, %% 系统
primary_material = [], %% 低级材料
middle_material = [], %% 终极材料
senior_material = [] %% 高级材料
}).
%% 弱进阶系统皮肤表
-record(base_foster_sub_skin, {
type = 0, %% 系统
skin_id = 0, %% 皮肤Id
star = 0, %% 星级
name = "" %% 名称
,next_star = 0 %% 下一星级
,cost_material = [] %% 消耗道具
,attr_list = [] %% 属性
,sequence = 0 %% 排序
,model_id = 0 %% 模型Id
}).
-define(SQL_PLAYER_FOSTER_GET, <<"SELECT `type`, `grade`,`star`,`lv`,`exp`,`click`,`clear`,`display`,`isride`,`lowcore`,`highcore`,`core_ext`,`etime`,`skills` FROM `player_foster` WHERE rid=~p">>).
-define(SQL_PLAYER_FOSTER_INSERT,<<"REPLACE INTO `player_foster` (`rid`,`type`,`grade`,`star`,`lv`,`exp`,`click`,`clear`,`display`,`isride`,`lowcore`,`highcore`,`core_ext`,`etime`,`skills`) VALUES (~p,~p,~p,~p,~p,~p,~p,~p,~p,~p,~p,~p,'~ts',~p,'~ts')">>).
-define(SQL_PLAYER_FOSTER_EQUIP_GET,<<"SELECT `grade`,`equips`,`assist` FROM `player_foster_equip` WHERE rid = ~p and type=~p">>).
-define(SQL_PLAYER_FOSTER_EQUIP_INT,<<"REPLACE INTO `player_foster_equip` (`rid`,`type`,`grade`,`equips`,`assist`) VALUES (~p,~p,~p,'~ts',~p)">>).
-define(SQL_PLAYER_FOSTER_EQUIP_BATCH,"REPLACE INTO `player_foster_equip` (`rid`,`type`,`grade`,`equips`,`assist`) VALUES ~ts").
-define(SQL_UPDATE_FOSTER_CORE, <<"UPDATE `player_foster` SET `lowcore`= ~p,`highcore`=~p, `core_ext`='~ts' WHERE `rid` = ~p and `type`=~p">>).
-define(SQL_UPDATE_FOSTER_SKILL,<<"UPDATE `player_foster` SET `skills`= '~ts' WHERE `rid` = ~p and `type`=~p">>).
-define(SQL_UPDATE_FOSTER_DISPLAY, <<"UPDATE `player_foster` SET `display`=~p WHERE `rid` = ~p and `type`=~p">>).
-define(SQL_UPDATE_FOSTER_HORSE, <<"UPDATE `player_foster` SET `isride`= ~p WHERE `rid` = ~p and `type`=~p">>).
-define(SQL_PLAYER_FOSTER_SKIN_GET, <<"SELECT `type`, `id`,`star`,`display` FROM `player_foster_skin` WHERE rid=~p">>).
-define(SQL_UPDATE_FOSTER_SKIN, <<"REPLACE INTO `player_foster_skin` (`rid`,`type`,`id`,`star`,`display`) VALUES (~p,~p,~p,~p,~p)">>).
-define(SQL_PLAYER_FOSTER_LV_GET, <<"SELECT `lv` FROM player_foster WHERE rid = ~p and type = ~p">>).
-define (SQL_UPDATE_FOSTER_EQUIP_ASSIST, <<"UPDATE `player_foster_equip` SET `assist` = ~p WHERE `rid` = ~p and `type` = ~p and `grade` = ~p">>).
%% 弱进阶皮肤
-define(SQL_PLAYER_SUB_FOSTER_SKIN_INSERT, <<"REPLACE INTO `player_sub_foster_skin` (`role_id`,`type`,`skin_id`,`star`,`display_star`) VALUES (~p,~p,~p,~p,~p)">>).
-define(SQL_PLAYER_SUB_FOSTER_SKIN_SELECT, <<"SELECT `skin_id`,`star`,`display_star` FROM `player_sub_foster_skin` WHERE role_id=~p and `type` = ~p">>).
-define(SQL_PLAYER_SUB_FOSTER_SKIN_UPDATE, <<"UPDATE player_sub_foster_skin set `display_star` = 0 WHERE `role_id` = ~p and `type` = ~p">>).