源战役
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 

194 řádky
7.6 KiB

%%-----------------------------------------------------------------------------
%% @Module : fishing
%% @Author : lhy
%% @Email : liuhouying73@qq.com
%% @Created : 2018-09-25
%% @Description: 钓鱼系统
%%-----------------------------------------------------------------------------
%% 玩家钓鱼信息
-record(fishing,
{
lv = 1, %% 钓鱼等级
mastery = 0, %% 熟练度
fish_rod_usage_count = [], %% 鱼竿总剩余使用次数
fish_illu_map = #{}, %% 鱼鉴 {illu_id => #illu_info{}}
attr = [], %% 属性
fishing_gear_select = [], %% 渔具选择
fish_basket = [], %% 鱼筐记录
log_cache = [] %% 日志缓存
}).
-record(illu_info,
{
illu_id = 0, %% 鱼鉴id
illu_lv = 0 %% 鱼鉴等级
}).
-record(fishing_gear_select,
{
fishing_rod_id = 0, %% 选择的渔具ID
bait_id = 0, %% 选择的鱼饵ID
hooked_fish_id = 0 %% 已上钩的鱼类ID
}).
-record(log_cache,
{
scene_id = 0, %% 钓鱼场景ID
water_area = 0, %% 水域距离
maunal_or_auto = 0, %% 是否自动 1-手动 2-自动
rods_usage_cost = 0, %% 鱼竿使用次数消耗
energy_cost = 0 %% 活力值消耗
}).
%% --------------------------------- 配置 -------------------------------------------
%% 鱼类配置
-record(base_fish,
{
id = 0, %% 序号ID
fish_id = 0, %% 鱼类ID
name = "", %% 名称
quality_type = 0 , %% 品质类型
hook_probability = 0, %% 上钩概率 -万分比
range_of_balance = 0, %% 平衡范围
distri_water_area = [] %% 分布水域 [{1,2,3}]
}).
% 渔具配置
-record(base_fishing_gear,
{
id = 0, %% 序号ID
fishing_gear_id = 0, %% 渔具ID
fishing_gear_type = 0, %% 渔具类型 1-鱼竿 2-鱼饵
quality_type = 0, %% 品质类型
name = "", %% 名称
price = [], %% 价格 [{type, goods_id, num}]
usage_count = 0, %% 使用次数
probability = [], %% 概率加成
incr_mastery = 0 %% 熟练度增加值
}).
%% 钓鱼等级
-record(base_fishing_lv,
{
id = 0, %% 序号ID
lv = 0, %% 钓鱼等级
mastery = 0, %% 熟练度
no_comsume_rod_pro = 0, %% 不消耗鱼竿次数的概率
no_comsume_energy_pro = 0, %% 不消耗活力概率
fish_quality_pro = [] %% 鱼类品质加成
}).
%% 钓鱼场景
-record(base_distri_scene,
{
id = 0, %% 序号ID
distri_scene_id = 0, %% 场景ID
scene_name = "", %% 名称
scene_type = 0, %% 场景类型 1-野外场景 -其它
transfer_coordinate = [], %% 传送坐标
coordinate = [], %% 场景中心坐标
near_water_area = [], %% 近水域鱼类
far_water_area = [], %% 远水域鱼类
middle_water_area = [], %% 中水域鱼类
open_role_lv = 0, %% 开放等级
open_mastery_lv = 0, %% 钓鱼开放等级
home_fish_pond_lv = 0 %% 家园鱼塘开放等级
}).
%% 钓鱼键值配置
-record(base_fishing_key_value,
{
id = 1, %% 序号ID
key = "", %% 键
value = 0, %% 值
describe = "" %% 描述
}).
%% 图鉴类型
-record(base_fish_illustrated_type,
{
type = 0, %% 类型
name = "", %% 名字
comment = "" %% 备注
}).
%% 鱼鉴配置
-record(base_fish_illustrated,
{
id = 0, %% 鱼鉴id
type = 0, %% 鱼鉴类型
name = "", %% 鱼鉴名称
quality = 0, %% 鱼鉴品质
active_condition = [], %% 激活消耗
photo_id = "" %% 图片资源
}).
%% 鱼鉴升级
-record(base_fish_illustrated_lv,
{
id = 0, %% 鱼鉴id
lv = 0, %% 等级
attr = [], %% 属性
cost = [] %% 升级消耗
}).
%%-------------------------------------------------------------------------------------------------
%% 钓鱼状态
-define(ACT_FISHING, 1). %% 处于钓鱼状态
-define(NO_ACT_FISHING, 0). %% 未处于钓鱼状态
%% 钓鱼动作
-define(ACT_ID,[0,1,2,3,4,5,6,7,8]). %% 钓鱼动作序号
%% 钓鱼类型
-define(MAUNAL, 1). %% 手动钓鱼
-define(AUTO, 2). %% 自动钓鱼
%% 概率
-define(RATIO, 10000). %% 万分比
-define(PERCENTAGE, 100). %% 百分比
-define(AVERAGE, 5000). %% 平均权重
%% 键值对
-define(ENERGY_COST, consume). %% 单次钓鱼活力消耗值
-define(SUCCESS_PROB, rate). %% 自动钓鱼成功的概率
-define(FREE_RODS, free_rods). %% 免费鱼竿id
-define(FREE_BAIT, free_bait). %% 免费鱼饵id
%% 水域
-define(NEAR, 1). %% 近水域
-define(MIDDLE, 2). %% 中水域
-define(FAR, 3). %% 远水域
%% 渔具类型
-define(RODTYPE, 1). %% 鱼竿类型
-define(BAITTYPE, 2). %% 鱼饵类型
%% 收杆验证
-define(SUCCEED, 1). %% 收杆成功
-define(FAILURE, 0). %% 收杆失败
%% 场景类型
-define(WILD_SCENE, 1). %% 野外场景类型
-define(HOME_SCENE, 18). %% 家园鱼塘场景类型
%% 钓鱼更新
-define(PLUS, 1). %% 加法
-define(MINUS, 0). %% 减法
-define(FISHNUM, 1). %% 钓鱼数量
-define(MINUSNUM, 1). %% 消耗使用次数
-define(FISHINGTIME, 3600). %% 钓鱼保护时长上限(秒)
-define(INF, 999999999). %% 熟练度上限
%% 水域类型
-define(MAUNAL_WATER_AREA, [4,2,1]). %% 手动钓鱼可选水域类型 4-远 2-中 1-近
-define(AUTO_WATER_AREA, [4,2,1,3,5,6,7]). %% 自动钓鱼可选水域类型 4-远 2-中 1-近 3-中近 5-远近 6-远中 7-远中近
%% SQL执行语句
-define(sql_player_fishing_select, <<"select `lv`,`mastery`,`fish_rod_usage_count` from `player_fishing` where `role_id` = ~p">>).
-define(sql_player_update_fish_rod, <<"update `player_fishing` set `fish_rod_usage_count` = '~s' where `role_id` = ~p ">>).
-define(sql_player_fishing_replace, <<"replace into `player_fishing` (`role_id`,`lv`,`mastery`,`fish_rod_usage_count`) values(~p,~p,~p,'~s')">>).
-define(sql_fish_illustrated_insert, <<"replace into `fish_illustrated` (`role_id`, `illustrate_id`, `lv`) VALUES (~p, ~p, ~p)">>).
-define(sql_fish_illustrated_select, <<"select `illustrate_id`,`lv` from `fish_illustrated` where `role_id` = ~p">>).