Files
2022-10-26 12:25:11 +08:00

81 lines
2.5 KiB
C++

#pragma once
//_NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND
class Player;
class BattleGroundPlayerInfo
{
public:
BattleGroundPlayerInfo(Player* player);
~BattleGroundPlayerInfo()
{
}
void Init(BattleGroundRecord* const record);
void Release();
//전적 관련..
void IncreasePlayTimes();
void IncreaseWinTimes();
void IncreaseDrawTimes();
void IncreaseLoseTimes();
void IncreaseDisTimes();
void DecreaseDisTimes();
void IncreaseKill(const WORD kill_point = 1);
void IncreaseDeath();
void IncreaseStrongpointAttack();
void IncreaseStrongpointDefense();
void ClearScore();
#ifdef _NA_006633_20130415_ADD_BATTLEGROUND_ASSIST
void IncreaseAssistTimes();
#endif //_NA_006633_20130415_ADD_BATTLEGROUND_ASSIST
#ifdef _NA_006801_20130814_RENEWAL_RANKINGSYSTEM_MINOR
WORD GetKillTimes();
WORD GetAssistTimes();
WORD GetWintimes();
#endif //_NA_006801_20130814_RENEWAL_RANKINGSYSTEM_MINOR
//승률
INT GetWinRatio();
#ifdef _NA_008679_20160202_REWORK_BATTLEGROUND
//전장용 가명
VOID SetFalseName(const ChaosZoneTeam& team_index, const BYTE& player_index);
VOID SetFalseName(const BYTE& player_index);
TCHAR* GetFalseName() {return false_name;}
BYTE GetNameIndex() {return name_index_;}
#endif //_NA_008679_20160202_REWORK_BATTLEGROUND
// team_key 관련
inline ChaosZoneTeam GetTeamKey() const { return team_key_;}
inline void SetTeamKey(const ChaosZoneTeam team_key) { team_key_ = team_key;}
// 플레이어 상태 관련
inline void SetPlayerState(BattleGroundPlayerState player_state) { player_state_ = player_state;}
inline BattleGroundPlayerState GetPlayerState() const { return player_state_;}
// 부활존으로 이동 관련 타이머..
inline void SetMoveToSafeZoneTimer(DWORD interval) { move_to_safe_zone_timer_.SetTimer(interval); }
inline bool IsExpiredMoveToSafeZone() { return move_to_safe_zone_timer_.IsExpiredManual(false); }
// 연속킬수
inline WORD GetSeriesKill() { return series_kill_; }
inline WORD GetMaxSeriesKill() { return max_series_kill_; }
private:
Player* player_;
ChaosZoneTeam team_key_;
BattleGroundPlayerState player_state_; // 플레이어 상태
util::Timer move_to_safe_zone_timer_; // 안전지대 이동 타이머
BattleGroundRecord* battle_ground_record_;
WORD series_kill_; //연속킬수
WORD max_series_kill_; // 최대 연속 킬수
#ifdef _NA_008679_20160202_REWORK_BATTLEGROUND
TCHAR false_name[MAX_CHARNAME_LENGTH+1]; //전장에서 사용될 가명
BYTE name_index_;
#endif //_NA_008679_20160202_REWORK_BATTLEGROUND
};