Files
Leviathan/Client/Game/game/GameSystem/Contents/IHuntaHolicSystem.h
T
2026-06-01 12:46:52 +02:00

119 lines
2.8 KiB
C++

#pragma once
#include "GameRule.h"
#include "KObject.h"
// #define __TEST_HUNTAHOLICSYSTEM
struct HuntaHolicLobby
{
HuntaHolicLobby() { init(); }
void init()
{
huntaholic_id = 0;
page = 0;
count = 0;
total_page = 0;
}
int huntaholic_id; ///< 헌터홀릭 ID
int page; ///< 현재 페이지 번호
int count; ///< 현재 페이지에 해당하는 인스턴스 던전 개수
int total_page; ///< 전체 인스턴스 던전 개수
};
struct HuntaHolicScore
{
HuntaHolicScore() { init(); }
void init()
{
huntaholic_id = 0;
personal_kill_count = 0;
personal_score = 0;
kill_count = 0;
score = 0;
point_advantage = 0;
point_rate = 0;
gain_point = 0;
is_retired = 0; // sonador #2.1.2.9.3 헌터홀릭 시스템 수정(사망/실패 구분)
}
int huntaholic_id; ///< 헌터홀릭 ID
int personal_kill_count; ///< 개인 킬수
int personal_score; ///< 개인 점수
int kill_count; ///< 킬 수
int score; ///< 킬수에 따른 점수
double point_advantage; ///< 방 레벨대에 따른 점수 증폭치
double point_rate; ///< 올림방 여부에 따른 증폭치(1.0: 일반방, 1.0초과: 올림방)
int gain_point; ///< 최종 계산된 획득 포인트
char is_retired; ///< 0: 성공 / 1: 사망 / 2: 실패
};
struct TS_HUNTAHOLIC_INSTANCE_INFO;
typedef TS_HUNTAHOLIC_INSTANCE_INFO HuntaHolicInstance;
typedef std::vector< HuntaHolicInstance > HuntaHolicInstanceList;
namespace huntaholic_interface {
_CID( refreshLobby );
_CID( refreshInstance );
struct refreshInstance : public KArg
{
refreshInstance( int index_ ) : index( index_ ) {}
int index;
};
_CID( disableUserCommand );
_CID( enableUserCommand );
_CID( setCallBack );
struct setCallBack : public KArg
{
setCallBack( KObject* callback_ ) : callback( callback_ ) {}
KObject* callback;
};
_CID( onCreateInstance );
struct onCreateInstance : public KArg
{
onCreateInstance( const TS_CS_HUNTAHOLIC_CREATE_INSTANCE& createArg_ ) : createArg( createArg_ ) {}
const TS_CS_HUNTAHOLIC_CREATE_INSTANCE& createArg;
};
_CID( onConfirmPassword );
struct onConfirmPassword : public KArg
{
onConfirmPassword( const char* password_ ) : password( password_ ) {}
const char* password;
};
_CID( updateMyInstance );
_CID( setScoreBoardNormalMode );
_CID( setScoreBoardCompleteMode );
_CID( updateTimeLimit );
struct updateTimeLimit : public KArg
{
updateTimeLimit( const char* _color ) : maskColor( _color ) {}
const char* maskColor;
};
_CID( updateScore );
struct updateScore : public KArg
{
updateScore( const char* _color ) : maskColor( _color ) {}
const char* maskColor;
};
_CID( updateKillCount );
_CID( updateKillCountByWaterFallFx );
_CID( updateKillCountByExplosionFx );
_CID( showResult );
_CID( disablePartyCommand );
_CID( enablePartyCommand );
}