#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 ); }