源战役
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

225 lines
8.0 KiB

%%%-------------------------------------------------------------------
%%% @author liushl
%%% @doc
%%%
%%% @end
%%%-------------------------------------------------------------------
-author("liushl").
-define(MATE_INFO_SEND, 1). %% 我发出的
-define(MATE_INFO_RECEIVE, 2). %% 我收到的
-define(MATE_RESPONSE_YES, 1). %% 回应:同意
-define(MATE_RESPONSE_NO, 2). %% 回应:拒绝
-define(MATE_READY_YES, 1). %% 准备
-define(MATE_READY_NO, 2). %% 取消准备
-define(MATE_RELIEVE_DEAL, 1). %% 协议解除
-define(MATE_RELIEVE_FORCE, 2). %% 强制解除
-define(MATE_ACT_RHYTHM_MASTER, 1). %% 节奏大师
-define(MATE_ACT_CATCH_BALL, 2). %% 抛接球
-define(MATE_COUNTER_INVITE, 3). %% 拍照邀请次数
-define(MATE_COUNTER_BE_INVITED, 4). %% 拍照次数
%% 羁绊日常
-define(MATE_OBJECT_NUMBER, 4). %% 4名羁绊对象
-define(MATE_STRANGER_NUMBER, 2). %% 2名路人
-define(MATE_OBJECT, 1). %% 羁绊对象
-define(FRIEND_OBJECT, 2). %% 朋友
-define(STRANGER_OBJECT, 3). %% 路人
%% 任务类型
-define(TASK_TYPE_1, 1). %% 送花
-define(TASK_TYPE_2, 2). %% 私聊
-define(TASK_TYPE_3, 3). %% 赠送羁绊点
-define(TASK_TYPE_4, 4). %% 分享羁绊
-define(TASK_TYPE_5, 5). %% 赠送交易券
%% 奖励状态
-define(REWARD_STATE_0, 0). %% 未完成
-define(REWARD_STATE_1, 1). %% 未领取
-define(REWARD_STATE_2, 2). %% 已领取
%% 记录玩家登出时间
-define(ETS_ROLE_LOGOUT_TIME, ets_role_logout_time).
-record(role_mate, {
mate_list = [] %% 羁绊对象
, mate_daily = [] %% 羁绊日常
, boat_stage = 1 %% 小船阶级
, boat_star = 1 %% 小船星级
, boat_exp = 0 %% 小船经验值
, wear_mate = 0 %% 佩戴的羁绊称号对象
, attr = [] %% 总属性
, extra_power = 0 %% 额外战力
, total_power = 0 %% 总战力
, newbee = 0 %% 新手奖励
}).
-record(mate_info, {
id = 0 %% 羁绊玩家id
, remarks = <<>> %% 备注
, title = <<>> %% 羁绊称号(自定义) 由对方设置 你的XX
, time = 0 %% 结交时间戳
%% 亲密度数据可由好友系统获取
, anniversary = [] %% 纪念日
%% 玩法次数由计数器统计
}).
%%---------------------------------------------------------------------
%% @doc 羁绊管理器数据结构
%%---------------------------------------------------------------------
-record(mate_mgr, {
mate_ask_msg = [] %% 请求羁绊数据
, mate_relieve_msg = [] %% 解除羁绊数据
, mate_act = [] %% 活动数据
, mate_hall = [] %% 交友大厅
, mate_hall_ref
, mate_take_photo = [] %% #mate_take_photo{}
}).
%% 羁绊消息
-record(mate_message, {
key, % 主键:{玩家A, 玩家B},玩家id以升序排列
from_role = 0, % 请求发起方
type = 0, % 类型:1请求|2解除
time = 0 % 时间
}).
%% 活动日常
-record(mate_act, {
key % 唯一 {玩家A, 玩家B},玩家id以升序排列
, from_role = 0 % 唯一 发起邀请的玩家
, act_id = 0 % 活动id 当前是哪个活动
, is_ready = [] % 准备好的玩家
, time = 0
, daily_score = [] % 玩家当日最佳成绩
, data % 活动具体数据:不同活动自定义
}).
%% 节奏大师活动数据
-record(mate_rhythm_master, {
tap_role = 0 % 当前可点击玩家
, music_id = 0 % 曲谱id
, bit_group = [] % 剩余拍点组
, bit_id = [] % 剩余拍点id
, score = 0 % 积分-- 实数/注意需要取整
, double_hit = 0 % 连击数
, max_double_hit = 0 % 最大连击数
, exist_bit = [] % 存在的拍点,拍打的存在才计算分数
, base_bit_score = 0 % 单次点击得分
, base_double_hit_score = 0 % 连击单位分
, ref_bit % 流程切换定时器
, ref_end % 结束定时器
}).
%% 抛接球活动数据
-record(mate_catch_ball, {
catch_role = 0 % 当前可点击玩家
, catch_time = 0 % 击球时刻
, hits = 0 % 击球次数
, ref % 流程切换定时器
}).
%% 交友玩家
-record(mate_hall_role, {
id = 0
,declaration = "" %% 交友宣言
,type = 0 %% 发布类型, 1普通发布|2置顶发布
,time = 0 %% 发布时间
}).
%% 拍照玩法
-record(mate_take_photo, {
id = 0 %% 邀请者玩家id
, invite = [] %% 受邀玩家
, time = 0 %% 邀请时间
, position = 0 %% 拍照地点
}).
-record(mate_take_photo_role, {
role_id = 0 %% 玩家id
, is_accept = 0 %% 是否接受邀请
, is_ready = 0 %% 是否准备好
}).
%% 羁绊日常
-record(mate_daily, {
time = 0 %% 上次刷新时间
, rela_info = [] %% [{role_id, task_id, progress, state}}]
, stranger_info = [] %% [role_id]
}).
%%---------------------------------------------------------------------
%% @doc 数据库
%%---------------------------------------------------------------------
-define(SQL_MATE_GET_ALL_MATE, <<"select other,remarks,title,time,anniversary from mate_info where role_id=~p">>).
-define(SQL_MATE_GET_MATE_TITLE, <<"select other,title from mate_info where role_id=~p">>).
-define(SQL_MATE_UPDATE_MATE_TITLE, <<"update mate_info set title=~ts where role_id=~p and other=~p">>).
-define(SQL_MATE_SAVE_ONE_MATE, <<"replace into mate_info(role_id,other,remarks,title,time,anniversary) values(~p,~p,~p,~ts,~p,~ts)">>).
-define(SQL_MATE_DELETE_ONE_MATE, <<"delete from mate_info where role_id=~p and other=~p">>).
-define(SQL_MATE_GET_MATE_ROLE_INFO, <<"select boat_stage,boat_star,boat_exp,wear_mate,newbee from mate_role where role_id=~p">>).
-define(SQL_MATE_SAVE_MATE_ROLE_INFO, <<"replace into mate_role(role_id,boat_stage,boat_star,boat_exp,wear_mate,newbee) values(~p,~p,~p,~p,~p,~p)">>).
-define(SQL_MATE_UPDATE_WEAR_MATE, <<"update mate_role set wear_mate=~p where role_id=~p and wear_mate=~p">>).
-define(SQL_MATE_GET_HALL, <<"select role_id,type,declaration,time from mate_hall">>).
-define(SQL_MATE_SAVE_HALL, <<"replace into mate_hall(role_id,type,declaration,time) values(~p,~p,'~ts',~p)">>).
-define(SQL_MATE_DEL_HALL, <<"delete from mate_hall where time<~p">>).
-define(SQL_MATE_REMOVE_HALL, <<"delete from mate_hall where role_id=~p">>).
-define(SQL_MATE_GET_DAILY_INFO, <<"select `time`, `stranger` from `mate_daily_info` where `role_id` = ~p">>).
-define(SQL_MATE_UPDATE_DAILY_INFO, <<"replace into mate_daily_info(role_id, time, stranger) values (~p,~p,~ts)">>).
-define(SQL_MATE_SELECT_DAILY_TASK_INFO, <<"select `mate_id`, `task_id`, `progress`, `state` from `mate_task_info` where role_id = ~p">>).
-define(SQL_MATE_UPDATE_TASK_ONE, <<"update `mate_task_info` set `progress`=~p, `state`=~p where `role_id`=~p and `mate_id`=~p">>).
-define(SQL_MATE_UPDATE_DAILY_TASK, <<"insert into `mate_task_info` (`role_id`,`mate_id`,`task_id`,`progress`,`state`) values ~ts">>).
-define(SQL_MATE_DELETE_DAILY_TASK, <<"delete from mate_task_info where role_id = ~p">>).
-define(SQL_SELECT_ROLE_IDS, <<"select `id`, `last_logout_time` from `player_login`">>).
%%---------------------------------------------------------------------
%% @doc 配置
%%---------------------------------------------------------------------
%% 羁绊-友谊的小船
-record(base_mate_boat, {
stage,
star,
name,
exp,
attr,
picture,
goods_id
}).
%%
-record(base_mate_rhythm_master_music, {
music_id,
name,
bgm,
move,
bit_group,
time
}).
-record(base_mate_rhythm_master_bit, {
bit_group,
bit_id,
bit_position,
pre_time
}).
-record(base_mate_photo_pos, {
id = 0,
scene_id = 0,
my_xy = [],
others_xy = []
}).
-record(base_mate_daily_task, {
task_id = 0,
type = 0,
count = 0,
object = [],
reward = []
}).