%%%-------------------------------------------------------------------
%%% @author liushl
%%% @doc
%%%     本服公会战
%%% @end
%%%-------------------------------------------------------------------
%% 公会战场景
-define(GUILD_WAR_SCENE, 4100).
%% 公会战房间号
-define(GUILD_WAR_ROOM, 0).
%% 公会战循环加积分-循环时间
-define(GUILD_WAR_CYCLE_ADD_SCORE_TIME,         data_guild_war:get_guild_war_kv(heart_beat_time)).
%% 公会战循环加积分-积分数
-define(GUILD_WAR_CYCLE_ADD_SCORE,              data_guild_war:get_guild_war_kv(heart_beat_score)).
%% 高品质物资id
-define(GUILD_WAR_HIGH_QUALITY_MATERIALS,       data_guild_war:get_guild_war_kv(high_quality_materials_id)).
%% 低品质物资id
-define(GUILD_WAR_LOW_QUALITY_MATERIALS,        data_guild_war:get_guild_war_kv(low_quality_materials_id)).
%% 公会战循环重生BOSS-循环时间
-define(GUILD_WAR_CYCLE_BOSS_REBORN_TIME,       data_guild_war:get_guild_war_kv(refresh_boss)).
%% 公会战循环重生BOSS-怪物id
-define(GUILD_WAR_CYCLE_BOSS_ID,                data_guild_war:get_guild_war_kv(boss_id)).
%% 公会战循环重生BOSS-怪物坐标
-define(GUILD_WAR_CYCLE_BOSS_REBORN_XY,         data_guild_war:get_guild_war_kv(boss_position)).
%% 公会战BOSS-首刀积分
-define(GUILD_WAR_BOSS_FIRST_ATTACK_SCORE,      data_guild_war:get_guild_war_kv(first_hit_score)).
%% 公会战BOSS-最后一刀积分
-define(GUILD_WAR_BOSS_LAST_ATTACK_SCORE,       data_guild_war:get_guild_war_kv(last_hit_score)).
%% 公会战BOSS-每X刀加Y分
-define(GUILD_WAR_BOSS_NORMAL_ATTACK_SCORE,     data_guild_war:get_guild_war_kv(each_hit_score)).
%% 公会战杀人基础积分
-define(GUILD_WAR_KILL_BASE_SCORE,              data_guild_war:get_guild_war_kv(kill_base_score)).
%% 公会战采集提交坐标
-define(GUILD_WAR_COLLECT_COMMIT_XY,            data_guild_war:get_guild_war_kv(send_position)).
%% 公会战采集提交积分
-define(GUILD_WAR_COLLECT_COMMIT_SCORE,         data_guild_war:get_guild_war_kv(send_score)).
%% 公会战结算-第一名会长额外奖励
-define(GUILD_WAR_SETTLEMENT_TOP_GUILD_REWARD,  data_guild_war:get_guild_war_kv(star_org_award)).
%% 积分时间广播CD
-define(GUILD_WAR_BROADCAST_CD,                 1).
%% 技能CD
-define(GUILD_WAR_SKILL_CD,                     data_guild_war:get_guild_war_kv(skill_cd)).
%% 公会战总体数据
-record(guild_war, {
    begin_time = 0
    , end_time = 0                %% 活动结束时间：为0表示活动未开
    , guild_war_pool = []         %% #guild_war_pool{}
    , role_grade = dict:new()     %% 玩家成绩 #guild_war_rank{}
    , guild_grade = []            %% 公会成绩 [#guild_war_rank{}]
    , ref_cycle_add_score         %% 每经过10s给场景内所有玩家发5积分
    , boss_reborn_time = []       %% 读取配置的时间
    , ref_boss_reborn             %% boss重生定时器
    , pull_host_pid               %% 拉托管的进程
    , broadcast_event_time  = 0   %% 积分广播时间：2秒CD
}).

%% 公会战分线，每一个场景分线是一个房间
-record(guild_war_pool, {
    pool_id      = 0  %% 分线id
    , boss_alive = false  %% BOSS状态
    , role_num   = 0  %% 玩家人数
}).

%% 公会战积分数据-玩家
-record(guild_war_role, {
    role_id = 0         %% 玩家id
    , guild_name = <<>> %% 公会名字
    , guild_id = 0      %% 公会id
    , guild_flag = 0
    , picture = undefined
    , score = 0         %% 积分
    , time = 0          %% 刷新时间
    , continue_kill = 0 %% 当前连杀数
    , max_kill = 0      %% 击杀数
    , kill_rank = 0     %% 击杀排名
    , kill_time = 0     %% 击杀更新时间
}).
%% 公会战积分数据-公会
-record(guild_war_guild, {
    guild_id = 0        %% 公会id
    , guild_name = <<>> %% 公会名字
    , guild_flag = 0
    , guild_power = 0
    , chief_id = 0
    , chief_name = <<>>
    , chief_power = 0
    , score = 0         %% 积分
    , rank = 0          %% 排名
    , time = 0          %% 刷新时间
}).