#include "SunClientPrecompiledHeader.h" #ifdef _NA_007514_20140828_NEW_CHARACTER_WITCHBLADE #include "ToggleSkill.h" #include "SkillInfoParser.h" #include "Hero.h" #include "SkillMain.h" ToggleSkill::ToggleSkill(void) { if ( toggle_state_array_.empty() ) { // Çï·ÎÀÌµå °è¿­ Aura½ºÅ³ toggle_state_array_.push_back( eCHAR_STATE_SLOW_AURORA ); toggle_state_array_.push_back( eCHAR_STATE_WEAKNESS_AURORA ); toggle_state_array_.push_back( eCHAR_STATE_MISCHANCE_AURORA ); toggle_state_array_.push_back( eCHAR_STATE_DECLINE_AURORA ); toggle_state_array_.push_back( eCHAR_STATE_RECOVERY_AURORA ); toggle_state_array_.push_back( eCHAR_STATE_BOOST_AURORA ); toggle_state_array_.push_back( eCHAR_STATE_IGNORE_AURORA ); toggle_state_array_.push_back( eCHAR_STATE_CONCENTRATION_AURORA ); toggle_state_array_.push_back( eCHAR_STATE_VICE_SWORD ); toggle_state_array_.push_back( eCHAR_STATE_EVADE ); } if ( toggle_skill_code_array_.empty() ) { toggle_skill_code_array_.push_back( eSKILL_HELLROID_1004 ); toggle_skill_code_array_.push_back( eSKILL_HELLROID_1006 ); toggle_skill_code_array_.push_back( eSKILL_HELLROID_1011 ); toggle_skill_code_array_.push_back( eSKILL_HELLROID_1013 ); toggle_skill_code_array_.push_back( eSKILL_HELLROID_1020 ); toggle_skill_code_array_.push_back( eSKILL_HELLROID_1022 ); toggle_skill_code_array_.push_back( eSKILL_HELLROID_1027 ); toggle_skill_code_array_.push_back( eSKILL_HELLROID_1029 ); // À§Ä¡ºí·¹ÀÌµå °è¿­ Toggle½ºÅ³ toggle_skill_code_array_.push_back( eSKILL_WITCHBLADE_1111 ); // ¹ÙÀ̽º¼Òµå toggle_skill_code_array_.push_back( eSKILL_WITCHBLADE_1112 ); // À̺£À̵å toggle_skill_code_array_.push_back( eSKILL_RISINGFORCE ); // ¶óÀÌ¡Æ÷½º } #ifdef _NA_008252_20150427_AURASKILL_PACKET_PENDING send_packet_pending_ = FALSE; #endif //_NA_008252_20150427_AURASKILL_PACKET_PENDING } ToggleSkill::~ToggleSkill(void) { toggle_state_array_.clear(); toggle_skill_code_array_.clear(); } eCHAR_STATE_TYPE ToggleSkill::FindToggleSkillState( SLOTCODE skill_class_code ) { for( size_t i=0;i < toggle_skill_code_array_.size();++i) { if( toggle_skill_code_array_[i] == skill_class_code ) { if ( i >= toggle_state_array_.size() ) { continue; } if( SKILL_EFFECT* skill_effect_ptr = g_pHero->FindSkillEffect( toggle_state_array_[i] ) ) { return toggle_state_array_[i]; } } } return eCHAR_STATE_INVALID; } void ToggleSkill::GetToggleSkillCodeArray( std::vector& skill_code_array ) { for( size_t i=0;i!=toggle_skill_code_array_.size();++i) { if( SkillData* skill_data_ptr = xGetSkillData()->GetSkillDataBySkillClassCode( toggle_skill_code_array_[i] ) ) { if( skill_data_ptr->IsActive() == true ) { if( SkillScriptInfo* skill_info_ptr = skill_data_ptr->GetCurSkillInfo() ) { skill_code_array.push_back( skill_info_ptr->m_SkillCode ); } } } } } #endif // _NA_007514_20140828_NEW_CHARACTER_WITCHBLADE