#include "SunClientPrecompiledHeader.h" #ifdef _YMS_AUTOBOT_GAME #include "uiAutobotConditionBattle.h" #include "uiAutobotMan.h" #include "uiAutobotConditionSupport.h" #include "AutomaticInfoParser.h" #include "AutomaticComboInfoParser.h" #include "Autobot/Condition/AutobotConditionManager.h" #include "GameFramework.h" #include "SceneBase.h" #include "Map.h" #include "Hero.h" #include "MouseHandler.h" #include "Interface/uiPartyMan/uiPartyMan.h" #include "GlobalFunc.h" #include "QuickSlot.h" #include "SCItemSlot.h" #include "SCSkillSlot.h" #include "StyleSlot.h" #include "SlotKeyGenerator.h" #include "ItemManager.h" #include "ItemInfoParser.h" #include "SkillInfoParser.h" #include "GlobalData.h" #include "HeroEquipmentContainer.h" #include "uiToolTipMan/uiToolTipMan.h" //------------------------------------------------------------------------------ const DWORD uiAutobotConditionBattle::kDialog_ID = StrToWzID("9510"); const int uiAutobotConditionBattle::kSlotSize = 24; const int uiAutobotConditionBattle::kDefaultCooltimeSecond = 60; //------------------------------------------------------------------------------ uiAutobotConditionBattle::uiAutobotConditionBattle(InterfaceManager* ui_man) : uiAutobotDialog(ui_man), m_pItemUnitRenderer(NULL) { QuickSlotContainer::Init(uiAutobotConditionBattle::kSlotSize, SI_AUTOMATIC_INFO ); RegisterControlPosition(StrToWzID("C001"), kControl_CheckBT_C001); RegisterControlPosition(StrToWzID("C005"), kControl_CheckBT_C005); RegisterControlPosition(StrToWzID("C006"), kControl_CheckBT_C006); RegisterControlPosition(StrToWzID("C007"), kControl_CheckBT_C007); RegisterControlPosition(StrToWzID("C009"), kControl_CheckBT_C009); RegisterControlPosition(StrToWzID("C010"), kControl_CheckBT_C010); RegisterControlPosition(StrToWzID("C011"), kControl_CheckBT_C011); RegisterControlPosition(StrToWzID("C012"), kControl_CheckBT_C012); RegisterControlPosition(StrToWzID("C013"), kControl_CheckBT_C013); RegisterControlPosition(StrToWzID("C014"), kControl_CheckBT_C014); RegisterControlPosition(StrToWzID("C015"), kControl_CheckBT_C015); RegisterControlPosition(StrToWzID("C016"), kControl_CheckBT_C016); RegisterControlPosition(StrToWzID("C017"), kControl_CheckBT_C017); RegisterControlPosition(StrToWzID("C018"), kControl_CheckBT_C018); RegisterControlPosition(StrToWzID("C024"), kControl_CheckBT_C024); RegisterControlPosition(StrToWzID("C025"), kControl_CheckBT_C025); RegisterControlPosition(StrToWzID("C026"), kControl_CheckBT_C026); RegisterControlPosition(StrToWzID("C027"), kControl_CheckBT_C027); RegisterControlPosition(StrToWzID("C030"), kControl_CheckBT_C030); RegisterControlPosition(StrToWzID("C000"), kControl_CheckBT_C000); RegisterControlPosition(StrToWzID("B000"), kControl_Button_B000); RegisterControlPosition(StrToWzID("B999"), kControl_Button_B999); RegisterControlPosition(StrToWzID("B003"), kControl_Button_B003); RegisterControlPosition(StrToWzID("B004"), kControl_Button_B004); RegisterControlPosition(StrToWzID("B005"), kControl_Button_B005); RegisterControlPosition(StrToWzID("B006"), kControl_Button_B006); RegisterControlPosition(StrToWzID("B007"), kControl_Button_B007); RegisterControlPosition(StrToWzID("B008"), kControl_Button_B008); RegisterControlPosition(StrToWzID("B009"), kControl_Button_B009); RegisterControlPosition(StrToWzID("B010"), kControl_Button_B010); RegisterControlPosition(StrToWzID("B011"), kControl_Button_B011); RegisterControlPosition(StrToWzID("B013"), kControl_Button_B013); RegisterControlPosition(StrToWzID("B012"), kControl_Button_B012); RegisterControlPosition(StrToWzID("B015"), kControl_Button_B015); RegisterControlPosition(StrToWzID("B014"), kControl_Button_B014); RegisterControlPosition(StrToWzID("B016"), kControl_Button_B016); RegisterControlPosition(StrToWzID("B017"), kControl_Button_B017); RegisterControlPosition(StrToWzID("B018"), kControl_Button_B018); RegisterControlPosition(StrToWzID("B019"), kControl_Button_B019); RegisterControlPosition(StrToWzID("B020"), kControl_Button_B020); RegisterControlPosition(StrToWzID("B021"), kControl_Button_B021); RegisterControlPosition(StrToWzID("B022"), kControl_Button_B022); RegisterControlPosition(StrToWzID("B023"), kControl_Button_B023); RegisterControlPosition(StrToWzID("B024"), kControl_Button_B024); RegisterControlPosition(StrToWzID("B025"), kControl_Button_B025); RegisterControlPosition(StrToWzID("B026"), kControl_Button_B026); RegisterControlPosition(StrToWzID("B027"), kControl_Button_B027); RegisterControlPosition(StrToWzID("B028"), kControl_Button_B028); RegisterControlPosition(StrToWzID("B029"), kControl_Button_B029); RegisterControlPosition(StrToWzID("B030"), kControl_Button_B030); RegisterControlPosition(StrToWzID("B031"), kControl_Button_B031); RegisterControlPosition(StrToWzID("B032"), kControl_Button_B032); RegisterControlPosition(StrToWzID("B033"), kControl_Button_B033); RegisterControlPosition(StrToWzID("T101"), kControl_Text_T101); RegisterControlPosition(StrToWzID("T999"), kControl_Text_T999); RegisterControlPosition(StrToWzID("T006"), kControl_Text_T006); RegisterControlPosition(StrToWzID("S000"), kControl_Text_S000); RegisterControlPosition(StrToWzID("S001"), kControl_Text_S001); RegisterControlPosition(StrToWzID("S002"), kControl_Text_S002); RegisterControlPosition(StrToWzID("S003"), kControl_Text_S003); RegisterControlPosition(StrToWzID("S004"), kControl_Text_S004); RegisterControlPosition(StrToWzID("S010"), kControl_Text_S010); RegisterControlPosition(StrToWzID("S005"), kControl_Text_S005); RegisterControlPosition(StrToWzID("S006"), kControl_Text_S006); RegisterControlPosition(StrToWzID("S007"), kControl_Text_S007); RegisterControlPosition(StrToWzID("S008"), kControl_Text_S008); RegisterControlPosition(StrToWzID("S009"), kControl_Text_S009); RegisterControlPosition(StrToWzID("S012"), kControl_Text_S012); RegisterControlPosition(StrToWzID("S019"), kControl_Text_S019); RegisterControlPosition(StrToWzID("S020"), kControl_Text_S020); RegisterControlPosition(StrToWzID("S021"), kControl_Text_S021); RegisterControlPosition(StrToWzID("S022"), kControl_Text_S022); RegisterControlPosition(StrToWzID("S025"), kControl_Text_S025); RegisterControlPosition(StrToWzID("S026"), kControl_Text_S026); RegisterControlPosition(StrToWzID("S035"), kControl_Text_S035); RegisterControlPosition(StrToWzID("S047"), kControl_Text_S047); RegisterControlPosition(StrToWzID("S048"), kControl_Text_S048); RegisterControlPosition(StrToWzID("S049"), kControl_Text_S049); RegisterControlPosition(StrToWzID("S050"), kControl_Text_S050); RegisterControlPosition(StrToWzID("S051"), kControl_Text_S051); RegisterControlPosition(StrToWzID("S011"), kControl_Text_S011); RegisterControlPosition(StrToWzID("S013"), kControl_Text_S013); RegisterControlPosition(StrToWzID("S014"), kControl_Text_S014); RegisterControlPosition(StrToWzID("S015"), kControl_Text_S015); RegisterControlPosition(StrToWzID("S016"), kControl_Text_S016); RegisterControlPosition(StrToWzID("S017"), kControl_Text_S017); RegisterControlPosition(StrToWzID("S018"), kControl_Text_S018); RegisterControlPosition(StrToWzID("S023"), kControl_Text_S023); RegisterControlPosition(StrToWzID("S024"), kControl_Text_S024); RegisterControlPosition(StrToWzID("S027"), kControl_Text_S027); RegisterControlPosition(StrToWzID("S028"), kControl_Text_S028); RegisterControlPosition(StrToWzID("S029"), kControl_Text_S029); RegisterControlPosition(StrToWzID("S030"), kControl_Text_S030); RegisterControlPosition(StrToWzID("S031"), kControl_Text_S031); RegisterControlPosition(StrToWzID("S032"), kControl_Text_S032); RegisterControlPosition(StrToWzID("T021"), kControl_Text_T021); RegisterControlPosition(StrToWzID("S036"), kControl_Text_S036); RegisterControlPosition(StrToWzID("S037"), kControl_Text_S037); RegisterControlPosition(StrToWzID("S038"), kControl_Text_S038); RegisterControlPosition(StrToWzID("S039"), kControl_Text_S039); RegisterControlPosition(StrToWzID("S040"), kControl_Text_S040); RegisterControlPosition(StrToWzID("S041"), kControl_Text_S041); RegisterControlPosition(StrToWzID("S042"), kControl_Text_S042); RegisterControlPosition(StrToWzID("S043"), kControl_Text_S043); RegisterControlPosition(StrToWzID("S044"), kControl_Text_S044); RegisterControlPosition(StrToWzID("S045"), kControl_Text_S045); RegisterControlPosition(StrToWzID("S046"), kControl_Text_S046); RegisterControlPosition(StrToWzID("S034"), kControl_Text_S034); RegisterControlPosition(StrToWzID("S033"), kControl_Text_S033); RegisterControlPosition(StrToWzID("E000"), kControl_Edit_E000); RegisterControlPosition(StrToWzID("E001"), kControl_Edit_E001); RegisterControlPosition(StrToWzID("E002"), kControl_Edit_E002); RegisterControlPosition(StrToWzID("E003"), kControl_Edit_E003); RegisterControlPosition(StrToWzID("E004"), kControl_Edit_E004); RegisterControlPosition(StrToWzID("E005"), kControl_Edit_E005); RegisterControlPosition(StrToWzID("E006"), kControl_Edit_E006); RegisterControlPosition(StrToWzID("E007"), kControl_Edit_E007); RegisterControlPosition(StrToWzID("E008"), kControl_Edit_E008); RegisterControlPosition(StrToWzID("E009"), kControl_Edit_E009); RegisterControlPosition(StrToWzID("E010"), kControl_Edit_E010); RegisterControlPosition(StrToWzID("E011"), kControl_Edit_E011); RegisterControlPosition(StrToWzID("L000"), kControl_List_L000); RegisterControlPosition(StrToWzID("L001"), kControl_List_L001); RegisterControlPosition(StrToWzID("L002"), kControl_List_L002); RegisterControlPosition(StrToWzID("L003"), kControl_List_L003); RegisterControlPosition(StrToWzID("L004"), kControl_List_L004); RegisterControlPosition(StrToWzID("L005"), kControl_List_L005); RegisterControlPosition(StrToWzID("L006"), kControl_List_L006); RegisterControlPosition(StrToWzID("L007"), kControl_List_L007); RegisterControlPosition(StrToWzID("P013"), kControl_Picture_P013); RegisterControlPosition(StrToWzID("P015"), kControl_Picture_P015); RegisterControlPosition(StrToWzID("P017"), kControl_Picture_P017); RegisterControlPosition(StrToWzID("P018"), kControl_Picture_P018); RegisterControlPosition(StrToWzID("P019"), kControl_Picture_P019); RegisterControlPosition(StrToWzID("P020"), kControl_Picture_P020); RegisterControlPosition(StrToWzID("P021"), kControl_Picture_P021); RegisterControlPosition(StrToWzID("P000"), kControl_Picture_P000); RegisterControlPosition(StrToWzID("P001"), kControl_Picture_P001); RegisterControlPosition(StrToWzID("P002"), kControl_Picture_P002); RegisterControlPosition(StrToWzID("P003"), kControl_Picture_P003); RegisterControlPosition(StrToWzID("P004"), kControl_Picture_P004); RegisterControlPosition(StrToWzID("P005"), kControl_Picture_P005); RegisterControlPosition(StrToWzID("P006"), kControl_Picture_P006); RegisterControlPosition(StrToWzID("P007"), kControl_Picture_P007); RegisterControlPosition(StrToWzID("P008"), kControl_Picture_P008); RegisterControlPosition(StrToWzID("P009"), kControl_Picture_P009); RegisterControlPosition(StrToWzID("P010"), kControl_Picture_P010); RegisterControlPosition(StrToWzID("P011"), kControl_Picture_P011); RegisterControlPosition(StrToWzID("P012"), kControl_Picture_P012); RegisterControlPosition(StrToWzID("P023"), kControl_Picture_P023); RegisterControlPosition(StrToWzID("P024"), kControl_Picture_P024); RegisterControlPosition(StrToWzID("P025"), kControl_Picture_P025); RegisterControlPosition(StrToWzID("P026"), kControl_Picture_P026); RegisterControlPosition(StrToWzID("P027"), kControl_Picture_P027); RegisterControlPosition(StrToWzID("P028"), kControl_Picture_P028); RegisterControlPosition(StrToWzID("P029"), kControl_Picture_P029); RegisterControlPosition(StrToWzID("P014"), kControl_Picture_P014); RegisterControlPosition(StrToWzID("P022"), kControl_Picture_P022); RegisterControlPosition(StrToWzID("P030"), kControl_Picture_P030); RegisterControlPosition(StrToWzID("P031"), kControl_Picture_P031); RegisterControlPosition(StrToWzID("P043"), kControl_Picture_P043); RegisterControlPosition(StrToWzID("P042"), kControl_Picture_P042); RegisterControlPosition(StrToWzID("P041"), kControl_Picture_P041); RegisterControlPosition(StrToWzID("P040"), kControl_Picture_P040); RegisterControlPosition(StrToWzID("P039"), kControl_Picture_P039); RegisterControlPosition(StrToWzID("P038"), kControl_Picture_P038); RegisterControlPosition(StrToWzID("P037"), kControl_Picture_P037); RegisterControlPosition(StrToWzID("P036"), kControl_Picture_P036); RegisterControlPosition(StrToWzID("P035"), kControl_Picture_P035); RegisterControlPosition(StrToWzID("P034"), kControl_Picture_P034); RegisterControlPosition(StrToWzID("P033"), kControl_Picture_P033); RegisterControlPosition(StrToWzID("P032"), kControl_Picture_P032); RegisterControlPosition(StrToWzID("PI04"), kControl_Picture_PI04); RegisterControlPosition(StrToWzID("P044"), kControl_Picture_P044); RegisterControlPosition(StrToWzID("P045"), kControl_Picture_P045); RegisterControlPosition(StrToWzID("P046"), kControl_Picture_P046); RegisterControlPosition(StrToWzID("P047"), kControl_Picture_P047); RegisterControlPosition(StrToWzID("P048"), kControl_Picture_P048); RegisterControlPosition(StrToWzID("P050"), kControl_Picture_P050); RegisterControlPosition(StrToWzID("P052"), kControl_Picture_P052); RegisterControlPosition(StrToWzID("P053"), kControl_Picture_P053); //! ±×·¡ÀÌ(disable) ÆÇ RegisterControlPosition(StrToWzID("P016"), kControl_Picture_P016); RegisterControlPosition(StrToWzID("P049"), kControl_Picture_P049); RegisterControlPosition(StrToWzID("P051"), kControl_Picture_P051); RegisterControlPosition(StrToWzID("P054"), kControl_Picture_P054); RegisterControlPosition(StrToWzID("P055"), kControl_Picture_P055); RegisterControlPosition(StrToWzID("TI07"), kControl_TextImage_TI07); RegisterControlPosition(StrToWzID("TI06"), kControl_TextImage_TI06); } //------------------------------------------------------------------------------ uiAutobotConditionBattle::~uiAutobotConditionBattle( void ) { QuickSlotContainer::Release(); } //------------------------------------------------------------------------------ SCSlotContainer* uiAutobotConditionBattle::GetSlotContainer() { return static_cast(this); } //------------------------------------------------------------------------------ void uiAutobotConditionBattle::Init(CDrawBase* drawbase) { m_pItemUnitRenderer = new ItemUnitRenderer; if (m_pItemUnitRenderer) { m_pItemUnitRenderer->Init(g_pSunRenderer, GetMaxSlotNum()); m_pItemUnitRenderer->ShowCooldown(TRUE); } //------------------------------------------------------------------------------ GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C005))->SetCheckState(true); GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C005))->SetDiscardMessage(true); int combo_index = 0; std::vector combo_vector; //! ¹üÀ§ ÁöÁ¤ combo_vector.clear(); combo_index = AutomaticInfoParser::Instance()->GetAutomaticInfo(eAUTO_RANGE_USER)->combo_index[0]; AutomaticComboInfoParser::Instance()->GetAutomaticComboInfo(combo_vector, combo_index); InsertItemToDropdown(kControl_List_L006, combo_vector); //! ȸº¹(hp ¹°¾à) combo_vector.clear(); combo_index = AutomaticInfoParser::Instance()->GetAutomaticInfo(eAUTO_CURE_HP)->combo_index[0]; AutomaticComboInfoParser::Instance()->GetAutomaticComboInfo(combo_vector, combo_index); InsertItemToDropdown(kControl_List_L002, combo_vector); //! ȸº¹(mp ¹°¾à) combo_vector.clear(); combo_index = AutomaticInfoParser::Instance()->GetAutomaticInfo(eAUTO_CURE_MPSP)->combo_index[0]; AutomaticComboInfoParser::Instance()->GetAutomaticComboInfo(combo_vector, combo_index); InsertItemToDropdown(kControl_List_L005, combo_vector); //! ȸº¹(Áï½Ãȸº¹) combo_vector.clear(); combo_index = AutomaticInfoParser::Instance()->GetAutomaticInfo(eAUTO_CURE_INSTANT)->combo_index[0]; AutomaticComboInfoParser::Instance()->GetAutomaticComboInfo(combo_vector, combo_index); InsertItemToDropdown(kControl_List_L001, combo_vector); //! ȸº¹(»ç·á) combo_vector.clear(); combo_index = AutomaticInfoParser::Instance()->GetAutomaticInfo(eAUTO_CURE_PET_FEED)->combo_index[0]; AutomaticComboInfoParser::Instance()->GetAutomaticComboInfo(combo_vector, combo_index); InsertItemToDropdown(kControl_List_L004, combo_vector); //! ÈÞ½Ä ¾É±â(hp) combo_vector.clear(); combo_index = AutomaticInfoParser::Instance()->GetAutomaticInfo(eAUTO_CURE_SITDOWN_HP)->combo_index[0]; AutomaticComboInfoParser::Instance()->GetAutomaticComboInfo(combo_vector, combo_index); InsertItemToDropdown(kControl_List_L000, combo_vector); //! ÈÞ½Ä ¾É±â(mp) combo_vector.clear(); combo_index = AutomaticInfoParser::Instance()->GetAutomaticInfo(eAUTO_CURE_SITDOWN_MP)->combo_index[0]; AutomaticComboInfoParser::Instance()->GetAutomaticComboInfo(combo_vector, combo_index); InsertItemToDropdown(kControl_List_L003, combo_vector); // ¾Æ ÁøÂ¥ ÄÁÆ®·Ñ ¿¢¼¼½ºÇÏ´Â°Ô ¹¹À̸® µå·¯¿ö ¤µ¤² RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(GetControlID_byPosition(kControl_Edit_E000)),(CCtrlStaticWZ*)GetControlWZ(GetControlID_byPosition(kControl_Text_S011))); RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(GetControlID_byPosition(kControl_Edit_E001)),(CCtrlStaticWZ*)GetControlWZ(GetControlID_byPosition(kControl_Text_S013))); RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(GetControlID_byPosition(kControl_Edit_E003)),(CCtrlStaticWZ*)GetControlWZ(GetControlID_byPosition(kControl_Text_S015))); RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(GetControlID_byPosition(kControl_Edit_E002)),(CCtrlStaticWZ*)GetControlWZ(GetControlID_byPosition(kControl_Text_S028))); RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(GetControlID_byPosition(kControl_Edit_E004)),(CCtrlStaticWZ*)GetControlWZ(GetControlID_byPosition(kControl_Text_S029))); RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(GetControlID_byPosition(kControl_Edit_E005)),(CCtrlStaticWZ*)GetControlWZ(GetControlID_byPosition(kControl_Text_S030))); RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(GetControlID_byPosition(kControl_Edit_E006)),(CCtrlStaticWZ*)GetControlWZ(GetControlID_byPosition(kControl_Text_S016))); RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(GetControlID_byPosition(kControl_Edit_E007)),(CCtrlStaticWZ*)GetControlWZ(GetControlID_byPosition(kControl_Text_S017))); RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(GetControlID_byPosition(kControl_Edit_E008)),(CCtrlStaticWZ*)GetControlWZ(GetControlID_byPosition(kControl_Text_S018))); RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(GetControlID_byPosition(kControl_Edit_E009)),(CCtrlStaticWZ*)GetControlWZ(GetControlID_byPosition(kControl_Text_S023))); RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(GetControlID_byPosition(kControl_Edit_E010)),(CCtrlStaticWZ*)GetControlWZ(GetControlID_byPosition(kControl_Text_S024))); RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(GetControlID_byPosition(kControl_Edit_E011)),(CCtrlStaticWZ*)GetControlWZ(GetControlID_byPosition(kControl_Text_S027))); //RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(StrToWzID("E000")),(CCtrlStaticWZ*)GetControlWZ(StrToWzID("S011"))); //RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(StrToWzID("E001")),(CCtrlStaticWZ*)GetControlWZ(StrToWzID("S013"))); //RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(StrToWzID("E003")),(CCtrlStaticWZ*)GetControlWZ(StrToWzID("S015"))); //RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(StrToWzID("E002")),(CCtrlStaticWZ*)GetControlWZ(StrToWzID("S028"))); //RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(StrToWzID("E004")),(CCtrlStaticWZ*)GetControlWZ(StrToWzID("S029"))); //RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(StrToWzID("E005")),(CCtrlStaticWZ*)GetControlWZ(StrToWzID("S030"))); //RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(StrToWzID("E006")),(CCtrlStaticWZ*)GetControlWZ(StrToWzID("S016"))); //RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(StrToWzID("E007")),(CCtrlStaticWZ*)GetControlWZ(StrToWzID("S017"))); //RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(StrToWzID("E008")),(CCtrlStaticWZ*)GetControlWZ(StrToWzID("S018"))); //RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(StrToWzID("E009")),(CCtrlStaticWZ*)GetControlWZ(StrToWzID("S023"))); //RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(StrToWzID("E010")),(CCtrlStaticWZ*)GetControlWZ(StrToWzID("S024"))); //RegisterEditControl( (CCtrlDxEditBox*)GetControlWZ(StrToWzID("E011")),(CCtrlStaticWZ*)GetControlWZ(StrToWzID("S027"))); for( size_t i=0;i!=12;++i) { GetEditControlWZ(i)->SetNumberic(true); GetEditControlWZ(i)->SetStyle(CTRL_ES_LEFT); GetEditControlWZ(i)->SetColorCaret(0xFFFFFFFF); } InitEditStateViewState(); } //------------------------------------------------------------------------------ void uiAutobotConditionBattle::Release(void) { SAFE_RELEASENDELETE(m_pItemUnitRenderer); } //------------------------------------------------------------------------------ void uiAutobotConditionBattle::OnUpdateSolarDialog() { if (m_pItemUnitRenderer) { m_pItemUnitRenderer->Update(); } } //------------------------------------------------------------------------------ void uiAutobotConditionBattle::OnRenderSolarDialog() { if (m_pItemUnitRenderer) { m_pItemUnitRenderer->Render(); } if( m_MouseOverObject.eMouseOverType == eMOUSE_OVER_SLOT ) { if (uiToolTipMan* tooltip = GET_DIALOG_MANAGER(uiToolTipMan, UIMAN_TOOLTIP) ) { tooltip->RegisterSlotInfoTooltip(m_MouseOverObject.pSlot); tooltip->SetTooltipDialogID(GetDialogKey()); } } } //------------------------------------------------------------------------------ void uiAutobotConditionBattle::OnShowWindow(BOOL val) { if (val == TRUE) { //! ÆÄƼ¿ø ¸®½ºÆ® ³Ö±â GetListControlWZ(GetControlID_byPosition(kControl_List_L007))->DeleteItemAll(); uiPartyMan* party_manager = GET_DIALOG_MANAGER(uiPartyMan, UIMAN_PARTY); if ((party_manager != NULL) && (party_manager->GetPartyNum() > 1)) { for (int i = 1; i < party_manager->GetPartyNum(); ++i) { InsertItemToDropdown(kControl_List_L007, (char*)(party_manager->GetParty(i).Get().m_szCharName), NULL); } } InitEditStateViewState(); keyMsg msg; ZeroMemory(&msg,sizeof(msg)); msg.dwType = eDoType_Dialog_Autobot; msg.wParam = uiAutobotConditionBattle::kDialog_ID; msg.DoSomething = GlobalFunc::DoShowWindowEx; g_KeyQueueManager.PushBack(msg); } else { g_KeyQueueManager.DeleteMsg(eDoType_Dialog_Autobot); } } //------------------------------------------------------------------------------ void uiAutobotConditionBattle::NetworkProc(MSG_BASE* msgbase) { } //------------------------------------------------------------------------------ void uiAutobotConditionBattle::MessageProc(SI_MESSAGE* message) { if( ProcessEditControlMessage(message) == true ) return; switch (message->eResultMsg) { case RT_MSG_LBUTTONCLICK: OnLButtonClick(message); break; case RT_MSG_MOUSEOVER: { m_MouseOverObject.eMouseOverType = eMOUSE_OVER_MAX; int mouse_x = Mouse::Instance()->GetMouseX(); int mouse_y = Mouse::Instance()->GetMouseY(); for( size_t i=kControl_Button_B010;i<=kControl_Button_B033;++i) { CControlWZ* pControl = GetControlWZ(GetControlID_byPosition(i)); RECT rect = pControl->GetSizeRect(); if (rect.left <= mouse_x && rect.right >= mouse_x) { if (rect.top <= mouse_y && rect.bottom >= mouse_y) { m_MouseOverObject.eMouseOverType = eMOUSE_OVER_SLOT; m_MouseOverObject.pSlot = &GetSlot(i-kControl_Button_B010); break; } } } } default: SolarDialog::MessageProc(message); break; } } //------------------------------------------------------------------------------ bool uiAutobotConditionBattle::OnLButtonClick(SI_MESSAGE* message) { bool result = true; UIControlPos control_pos = static_cast(GetControlPosition_byID(message->dwCtrlID)); switch (control_pos) { case kControl_CheckBT_C005: { //! ÀüÅõ ¼³Á¤ } break; case kControl_CheckBT_C006: { //! Áö¿ø ¼³Á¤ static_cast(GetMan())->ChangeTab(uiAutobotConditionSupport::kDialog_ID); GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C006))->SetCheckState(false); OnDropdownShow(kControl_Size, kControl_Size); } break; case kControl_CheckBT_C001: //!< Àüü»ç³É { if (IsChecked(kControl_CheckBT_C001)) { SetChecked(kControl_CheckBT_C007, false); SetChecked(kControl_CheckBT_C010, false); SetEnable(kControl_Button_B003, false); SetEnable(kControl_Button_B000, false); } OnDropdownShow(kControl_Size, kControl_Size); } break; case kControl_CheckBT_C007: //!< ÆÄƼ¿ø { if (IsChecked(kControl_CheckBT_C007)) { SetChecked(kControl_CheckBT_C001, false); SetChecked(kControl_CheckBT_C010, false); SetEnable(kControl_Button_B003, true); SetEnable(kControl_Button_B000, false); } OnDropdownShow(kControl_Size, kControl_Size); } break; case kControl_CheckBT_C010: //!< ÁöÁ¤¹üÀ§ { if (IsChecked(kControl_CheckBT_C010)) { SetChecked(kControl_CheckBT_C001, false); SetChecked(kControl_CheckBT_C007, false); SetEnable(kControl_Button_B003, false); SetEnable(kControl_Button_B000, true); } OnDropdownShow(kControl_Size, kControl_Size); } break; case kControl_CheckBT_C009: { //! º¸½º¹ß°ß½Ã µµ¸Á } break; case kControl_CheckBT_C011: { //! ¾ÆÀÌÅÛ Áݱâ GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C012))->SetCheckState(false); GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C013))->SetCheckState(false); GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C014))->SetCheckState(false); GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C015))->SetCheckState(false); GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C016))->SetCheckState(false); GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C017))->SetCheckState(false); GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C018))->SetCheckState(false); OnDropdownShow(kControl_Size, kControl_Size); } break; case kControl_CheckBT_C012: case kControl_CheckBT_C013: case kControl_CheckBT_C014: case kControl_CheckBT_C015: case kControl_CheckBT_C016: case kControl_CheckBT_C017: case kControl_CheckBT_C018: { //! ¾ÆÀÌÅÛ Áݱâ if (GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C012))->GetCheckState() || GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C013))->GetCheckState() || GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C014))->GetCheckState() || GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C015))->GetCheckState() || GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C016))->GetCheckState() || GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C017))->GetCheckState() || GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C018))->GetCheckState()) { GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C011))->SetCheckState(false); } OnDropdownShow(kControl_Size, kControl_Size); } break; case kControl_CheckBT_C024: case kControl_CheckBT_C025: case kControl_CheckBT_C026: case kControl_CheckBT_C027: case kControl_CheckBT_C030: case kControl_CheckBT_C000: { OnDropdownEnable(); } break; case kControl_Button_B999: { //´Ý±â¹öư(x) ShowInterface(FALSE); } break; case kControl_Button_B000: { //!< ¹üÀ§ OnDropdownShow(kControl_List_L006, kControl_Picture_P052); } break; case kControl_Button_B003: { //!< ÆÄƼ¿ø OnDropdownShow(kControl_List_L007, kControl_Picture_P053); } break; case kControl_Button_B004: { //!< hp ȸº¹ ¹°¾à ¸Ô±â OnDropdownShow(kControl_List_L002, kControl_Picture_P045); } break; case kControl_Button_B005: { //!< mp ȸº¹ ¹°¾à ¸Ô±â OnDropdownShow(kControl_List_L005, kControl_Picture_P048); } break; case kControl_Button_B006: { //!< Áï½Ãȸº¹ OnDropdownShow(kControl_List_L001, kControl_Picture_P044); } break; case kControl_Button_B007: { //!< »ç·á OnDropdownShow(kControl_List_L004, kControl_Picture_P047); } break; case kControl_Button_B008: { //!< ¾É±â ÈÞ½Ä hp OnDropdownShow(kControl_List_L000, kControl_Picture_PI04); } break; case kControl_Button_B009: { //! ¾É±â ÈÞ½Ä mp OnDropdownShow(kControl_List_L003, kControl_Picture_P046); } break; case kControl_Button_B010: //! ½½·Ô ¾ÆÀÌÅÛµé case kControl_Button_B011: case kControl_Button_B013: case kControl_Button_B012: case kControl_Button_B015: case kControl_Button_B014: case kControl_Button_B016: case kControl_Button_B017: case kControl_Button_B018: case kControl_Button_B019: case kControl_Button_B020: case kControl_Button_B021: case kControl_Button_B022: case kControl_Button_B023: case kControl_Button_B024: case kControl_Button_B025: case kControl_Button_B026: case kControl_Button_B027: case kControl_Button_B028: case kControl_Button_B029: case kControl_Button_B030: case kControl_Button_B031: case kControl_Button_B032: case kControl_Button_B033: { MouseHandler::Instance()->ItemTransaction(SI_AUTOMATIC_INFO, static_cast((GetControlPosition_byID(message->dwCtrlID) - kControl_Button_B010)), &(GetControlWZ(message->dwCtrlID)->GetSizeRect())); } break; case kControl_List_L000: { ChangeDropdownItem(control_pos, kControl_Text_S050); OnDropdownShow(kControl_Size, kControl_Size); } break; case kControl_List_L001: { ChangeDropdownItem(control_pos, kControl_Text_S048); OnDropdownShow(kControl_Size, kControl_Size); } break; case kControl_List_L002: { ChangeDropdownItem(control_pos, kControl_Text_S035); OnDropdownShow(kControl_Size, kControl_Size); } break; case kControl_List_L003: { ChangeDropdownItem(control_pos, kControl_Text_S051); OnDropdownShow(kControl_Size, kControl_Size); } break; case kControl_List_L004: { ChangeDropdownItem(control_pos, kControl_Text_S049); OnDropdownShow(kControl_Size, kControl_Size); } break; case kControl_List_L005: { ChangeDropdownItem(control_pos, kControl_Text_S047); OnDropdownShow(kControl_Size, kControl_Size); } break; case kControl_List_L006: { ChangeDropdownItem(control_pos, kControl_Text_S034); OnDropdownShow(kControl_Size, kControl_Size); } break; case kControl_List_L007: { ChangeDropdownItem(control_pos, kControl_Text_S033); OnDropdownShow(kControl_Size, kControl_Size); } break; case kControl_TextImage_TI07: { //! È®ÀÎ static_cast(GetMan())->UpdateCondition(); ShowInterface(FALSE); } break; case kControl_TextImage_TI06: { //! ÃʱâÈ­ DefaultUI(); } break; default: { } break; } return result; } //------------------------------------------------------------------------------ void uiAutobotConditionBattle::OnDropdownShow(UIControlPos list_index, UIControlPos picture_index) { //! ¸®½ºÆ® ¹Ú½º ¹è°æÀº ´Ù È÷µç ½ÃŲ´Ù. GetControlWZ(GetControlID_byPosition(kControl_Picture_PI04))->ShowWindowWZ(WZ_HIDE); GetControlWZ(GetControlID_byPosition(kControl_Picture_P044))->ShowWindowWZ(WZ_HIDE); GetControlWZ(GetControlID_byPosition(kControl_Picture_P045))->ShowWindowWZ(WZ_HIDE); GetControlWZ(GetControlID_byPosition(kControl_Picture_P046))->ShowWindowWZ(WZ_HIDE); GetControlWZ(GetControlID_byPosition(kControl_Picture_P047))->ShowWindowWZ(WZ_HIDE); GetControlWZ(GetControlID_byPosition(kControl_Picture_P048))->ShowWindowWZ(WZ_HIDE); GetControlWZ(GetControlID_byPosition(kControl_Picture_P052))->ShowWindowWZ(WZ_HIDE); GetControlWZ(GetControlID_byPosition(kControl_Picture_P053))->ShowWindowWZ(WZ_HIDE); for (int i = (int)kControl_List_L000; i <= (int)kControl_List_L007; ++i) { if ((static_cast(i) == list_index) && (GetListControlWZ(GetControlID_byPosition(list_index))->GetState() == WZ_HIDE)) { GetListControlWZ(GetControlID_byPosition(list_index))->ShowWindowWZ(WZ_SHOW); GetControlWZ(GetControlID_byPosition(picture_index))->ShowWindowWZ(WZ_SHOW); } else { GetListControlWZ(GetControlID_byPosition(static_cast(i)))->ShowWindowWZ(WZ_HIDE); } } } //------------------------------------------------------------------------------ int uiAutobotConditionBattle::GetCoolTime(SCSlot* slot) { if (slot != NULL) { if (slot->GetSlotType() == ST_ITEM) { SCItemSlot* item_slot = static_cast(slot); BASE_ITEMINFO* item_info = ItemInfoParser::Instance()->GetItemInfo(item_slot->GetCode()); if (item_info != NULL) { return item_info->m_dCoolTime / 1000; } } else if (slot->GetSlotType() == ST_SKILL) { SCSkillSlot* skill_slot = static_cast(slot); SkillScriptInfo* skill_info = SkillInfoParser::Instance()->GetSkillInfo(skill_slot->GetCode()); if (skill_info != NULL) { return skill_info->m_dwCoolTime / 1000; } } } return kDefaultCooltimeSecond;//!< ÃÖ¼Ò 10ÃÊ } //------------------------------------------------------------------------------ RC::eSLOT_INSERT_RESULT uiAutobotConditionBattle::InsertSlot(POSTYPE at_pos, SCSlot& slot) { //slot_safe_code:¾ÈÀüÇÑ ½½·Ôüũ ±¸¹®(»ðÀÔ) if (ValidPos(at_pos) == false) { return RC::RC_INSERT_SLOT_FAILED; } if (m_pItemUnitRenderer == NULL) { return RC::RC_INSERT_SLOT_FAILED; } CControlWZ* button_control = GetControlWZ(GetControlID_byPosition(kControl_Button_B010 + at_pos)); if(!button_control) { return RC::RC_INSERT_SLOT_FAILED; } DBSERIAL slot_serial = g_SlotKeyGenerator.GetKey(); if (slot_serial <= 0) { return RC::RC_INSERT_SLOT_FAILED; } RC::eSLOT_INSERT_RESULT slot_result = QuickSlotContainer::InsertSlot(at_pos, slot); QuickSlot& quick_slot = static_cast(GetSlot(at_pos)); quick_slot.SetOrgSerial(slot_serial); if(m_pItemUnitRenderer) { // 3D ¸ðµ¨¸µ Render m_pItemUnitRenderer->AddItemUnit(quick_slot.GetSerial(), quick_slot.GetOrgCode(), &(button_control->GetSizeRect()), &quick_slot, button_control); } if (slot_result == RC::RC_INSERT_SLOT_SUCCESS) { //! ½Ã°£À» ÄðŸÀÓº¸´Ù Å©°Ô ÇÑ´Ù. int slot_cool_time = GetCoolTime(quick_slot.GetOrgSlot()); TCHAR str[INTERFACE_STRING_LENGTH] = {NULL, }; GetEditText(at_pos, str, INTERFACE_STRING_LENGTH); int edit_cool_time = atoi(str); if (slot_cool_time > edit_cool_time) { SetEditText(at_pos, slot_cool_time); } } return slot_result; } //------------------------------------------------------------------------------ BOOL uiAutobotConditionBattle::DeleteSlot(POSTYPE at_pos, SCSlot* slotOut) { //slot_safe_code:¾ÈÀüÇÑ ½½·Ôüũ ±¸¹®(»èÁ¦) if ((ValidPos(at_pos) == false) || IsEmpty(at_pos)) { return FALSE; } if (m_pItemUnitRenderer == NULL) { return FALSE; } QuickSlot& quick_slot = (QuickSlot&)GetSlot(at_pos); if (quick_slot.GetOrgSerial() > 0) { g_SlotKeyGenerator.Restore((DWORD)quick_slot.GetOrgSerial()); m_pItemUnitRenderer->RemoveItemUnit(quick_slot.GetOrgSerial()); } return QuickSlotContainer::DeleteSlot(at_pos, slotOut); } //------------------------------------------------------------------------------ void uiAutobotConditionBattle::DeleteAllSlots(void) { int numSlots = GetMaxSlotNum(); for (int i = 0; i < numSlots; ++i) { if (IsEmpty(i) == FALSE) { DeleteSlot(i, NULL); } } } //------------------------------------------------------------------------------ bool uiAutobotConditionBattle::IsAttackSkillSlot(POSTYPE at_pos) { return (at_pos >= (uiAutobotConditionBattle::kSlotSize / 2)); } //------------------------------------------------------------------------------ bool uiAutobotConditionBattle::CanLinkSlot(const SCSlot* slot, POSTYPE to_pos) { if (slot == NULL) { return false; } TCHAR szMessage[INTERFACE_STRING_LENGTH] = {NULL, }; if (ST_QUICK == slot->GetSlotType()) { eSlotType org_slot_type = ((QuickSlot*)(slot))->GetOrgSlotType(); if (org_slot_type == ST_ITEM) { if (IsAttackSkillSlot(to_pos) == true) { return false; } } else if (org_slot_type == ST_SKILL) { SLOTCODE org_slot_code = ((QuickSlot*)(slot))->GetOrgCode(); SkillType skill_type = GetSkilType(org_slot_code); if (IsAttackSkillSlot(to_pos) == true) { if (skill_type != kSkill_Attack) { //! °ø°Ý ½ºÅ³¸¸ ¿Ã·Á ³õÀ»¼ö ÀÖ½À´Ï´Ù. return false; } } else { if (skill_type != kSkill_Defense) { //! °ø°Ý ½ºÅ³¸¸ ¿Ã·Á ³õÀ»¼ö ÀÖ½À´Ï´Ù. return false; } } } return true; } else if (ST_ITEM == slot->GetSlotType()) { if (IsAttackSkillSlot(to_pos) == true) { //! °ø°Ý ½½·Ô¿¡´Â ¾ÆÀÌÅÛÀ» ¿Ã·Á ³õÀ»¼ö ¾ø½À´Ï´Ù. return false; } bool is_possible = false; const BASE_ITEMINFO* item_info = ((SCItemSlot*)slot)->GetItemInfo(); if (item_info != NULL) { if (item_info->m_wType == eITEMTYPE_WASTE) { if ((item_info->m_byWasteType == eITEMWASTE_HPPOTION) || (item_info->m_byWasteType == eITEMWASTE_MPPOTION) || (item_info->m_byWasteType == eITEMWASTE_FUNCTION) || (item_info->m_byWasteType == eITEMWASTE_FUNCTION_HOLDUP_BUFF_POST_DEAD)) { is_possible = true; } } } //if (item_info == NULL || item_info->m_byMaterialType != eITEM_MATERIAL_TYPE_CAN_USE) if (is_possible == false) { //// ÀåÂø ¹× »ç¿ë °¡´ÉÇÑ ¾ÆÀÌÅÛ¸¸ Äü â¿¡ ¿Ã¸± ¼ö ÀÖ´Ù. //g_InterfaceManager.GetInterfaceString( eST_ITEM_MATERIAL_TYPE_CAN_EQUIP, szMessage, INTERFACE_STRING_LENGTH ); //GlobalFunc::OutputMsg_Notice(eOUTPUT_MSG_CHAT, szMessage ); return false; } return true; } else if (ST_SKILL == slot->GetSlotType()) { SkillType skill_type = GetSkilType(slot->GetCode()); if (IsAttackSkillSlot(to_pos) == true) { if (skill_type != kSkill_Attack) { //! °ø°Ý ½ºÅ³¸¸ ¿Ã·Á ³õÀ»¼ö ÀÖ½À´Ï´Ù. return false; } } else { if (skill_type != kSkill_Defense) { //! ¹æ¾î ½ºÅ³¸¸ ¿Ã·Á ³õÀ»¼ö ÀÖ½À´Ï´Ù. return false; } } return true; } return false; } //------------------------------------------------------------------------------ void uiAutobotConditionBattle::DefaultUI() { //! ¾ÆÀÌÅÛ Á¾·ùº°·Î ¿É¼Ç Ȱ¼º ¿©ºÎ ÆÇ´ë±â SetVisible(kControl_Picture_P016, WZ_HIDE); SetVisible(kControl_Picture_P049, WZ_HIDE); SetVisible(kControl_Picture_P051, WZ_HIDE); SetVisible(kControl_Picture_P054, WZ_HIDE); SetVisible(kControl_Picture_P055, WZ_HIDE); //! ±â´É º°·Î check button control Ȱ¼ºÈ­ ¿©ºÎ SLOTCODE item_code = 0; g_pHero->GetHeroEquipContainer()->IsEquipItem(eITEMTYPE_AUTO_HUNTING, &item_code); //------------------------------------------------------------------------------ SetEnableByItem(kControl_CheckBT_C001, true, item_code, kControl_Text_T006); // »ç³É¼³Á¤_¸ÊÀüü SetEnableByItem(kControl_CheckBT_C009, true, item_code, kControl_Text_S000); // »ç³É¼³Á¤_º¸½º°æ°í SetEnableByItem(kControl_CheckBT_C007, true, item_code, kControl_Text_S001); // »ç³É¼³Á¤_ÆÄƼ¿øÁÖº¯ SetEnableByItem(kControl_CheckBT_C010, true, item_code, kControl_Text_S002); // »ç³É¼³Á¤_ƯÁ¤¹üÀ§(ÀڽŠÁÖº¯) SetEnableByItem(kControl_CheckBT_C011, true, item_code, kControl_Text_S003); // Áݱ⼳Á¤_¸ðµç¾ÆÀÌÅÛ SetEnableByItem(kControl_CheckBT_C012, true, item_code, kControl_Text_S004); // Áݱ⼳Á¤_ÀϹݾÆÀÌÅÛ SetEnableByItem(kControl_CheckBT_C017, true, item_code, kControl_Text_S009); // Áݱ⼳Á¤_Äù½ºÆ®¾ÆÀÌÅÛ SetEnableByItem(kControl_CheckBT_C013, true, item_code, kControl_Text_S005); // Áݱ⼳Á¤_½ºÅæ¾ÆÀÌÅÛ SetEnableByItem(kControl_CheckBT_C014, true, item_code, kControl_Text_S006); // Áݱ⼳Á¤_¹«±â¾ÆÀÌÅÛ SetEnableByItem(kControl_CheckBT_C018, true, item_code, kControl_Text_S010); // Áݱ⼳Á¤_¹æ¾î±¸¾ÆÀÌÅÛ SetEnableByItem(kControl_CheckBT_C015, true, item_code, kControl_Text_S007); // Áݱ⼳Á¤_AC¾ÆÀÌÅÛ SetEnableByItem(kControl_CheckBT_C016, true, item_code, kControl_Text_S008); // Áݱ⼳Á¤_ÇÏÀÓ SetEnableByItem(kControl_CheckBT_C024, true, item_code, kControl_Text_S019); // ȸº¹¼³Á¤_HP SetEnableByItem(kControl_CheckBT_C026, true, item_code, kControl_Text_S021); // ȸº¹¼³Á¤_MPSP SetEnableByItem(kControl_CheckBT_C025, true, item_code, kControl_Text_S020); // ȸº¹¼³Á¤_Áï½Ãȸº¹ SetEnableByItem(kControl_CheckBT_C027, true, item_code, kControl_Text_S022); // ȸº¹¼³Á¤_»ç·á(µ¿¹° ¸ÔÀÌ) SetEnableByItem(kControl_CheckBT_C030, true, item_code, kControl_Text_S025); // ȸº¹¼³Á¤_ÈÞ½Ä(¾É±â, ÇØ´ç HP ÀÌÇÏÀϰæ¿ì) SetEnableByItem(kControl_CheckBT_C000, true, item_code, kControl_Text_S014); // ȸº¹¼³Á¤_ÈÞ½Ä(¾É±â, ÇØ´ç MP ÀÌÇÏÀϰæ¿ì) uiPartyMan* party_manager = GET_DIALOG_MANAGER(uiPartyMan, UIMAN_PARTY); if ((party_manager != NULL) && (party_manager->IsParty())) { SetEnableByItem(kControl_CheckBT_C007, true, item_code, kControl_Text_S001); // »ç³É¼³Á¤_ÆÄƼ¿øÁÖº¯ } else { SetEnableByItem(kControl_CheckBT_C007, false, item_code, kControl_Text_S001); // »ç³É¼³Á¤_ÆÄƼ¿øÁÖº¯ } if ((GameFramework::GetCurrentScene()->GetType() == SCENE_TYPE_FIELD) || (GameFramework::GetCurrentScene()->GetType() == SCENE_TYPE_CHUNTING) || (GameFramework::GetCurrentScene()->GetType() == SCENE_TYPE_MISSION)) { SetEnableByItem(kControl_CheckBT_C010, true, item_code, kControl_Text_S002); } else { SetEnableByItem(kControl_CheckBT_C010, false, item_code, kControl_Text_S002); } //------------------------------------------------------------------------------ //! ¿¡µðÆ®¹Ú½º¿¡ µðÆúÆ®°ªÀ¸·Î ¼³Á¤ for( size_t i=0;i!=GetEditCount();++i) { SetEditText(i, kDefaultCooltimeSecond); } //! ÄÞº¸¹Ú½º ù¹øÂ°°ÍÀ¸·Î ¼ÂÆÃ SelectDropdownItem(kControl_List_L000, kControl_Text_S050, 0); SelectDropdownItem(kControl_List_L001, kControl_Text_S048, 0); SelectDropdownItem(kControl_List_L002, kControl_Text_S035, 0); SelectDropdownItem(kControl_List_L003, kControl_Text_S051, 0); SelectDropdownItem(kControl_List_L004, kControl_Text_S049, 0); SelectDropdownItem(kControl_List_L005, kControl_Text_S047, 0); SelectDropdownItem(kControl_List_L006, kControl_Text_S034, 0); SelectDropdownItem(kControl_List_L007, kControl_Text_S033, 0); //»ç³É ¼³Á¤ SetCheckedByItem(kControl_CheckBT_C001, false, item_code); // »ç³É¼³Á¤_¸ÊÀüü SetCheckedByItem(kControl_CheckBT_C009, false, item_code); // »ç³É¼³Á¤_º¸½º°æ°í SetCheckedByItem(kControl_CheckBT_C007, false, item_code); // »ç³É¼³Á¤_ÆÄƼ¿øÁÖº¯ SetCheckedByItem(kControl_CheckBT_C010, false, item_code); // »ç³É¼³Á¤_ƯÁ¤¹üÀ§(ÀڽŠÁÖº¯) //! ÁÝ±â ¿É¼Ç SetCheckedByItem(kControl_CheckBT_C011, false, item_code); // Áݱ⼳Á¤_¸ðµç¾ÆÀÌÅÛ SetCheckedByItem(kControl_CheckBT_C012, false, item_code); // Áݱ⼳Á¤_ÀϹݾÆÀÌÅÛ SetCheckedByItem(kControl_CheckBT_C017, false, item_code); // Áݱ⼳Á¤_Äù½ºÆ®¾ÆÀÌÅÛ SetCheckedByItem(kControl_CheckBT_C013, false, item_code); // Áݱ⼳Á¤_½ºÅæ¾ÆÀÌÅÛ SetCheckedByItem(kControl_CheckBT_C014, false, item_code); // Áݱ⼳Á¤_¹«±â¾ÆÀÌÅÛ SetCheckedByItem(kControl_CheckBT_C018, false, item_code); // Áݱ⼳Á¤_¹æ¾î±¸¾ÆÀÌÅÛ SetCheckedByItem(kControl_CheckBT_C015, false, item_code); // Áݱ⼳Á¤_AC¾ÆÀÌÅÛ SetCheckedByItem(kControl_CheckBT_C016, false, item_code); // Áݱ⼳Á¤_ÇÏÀÓ //! ȸº¹ ¼³Á¤ SetCheckedByItem(kControl_CheckBT_C024, false, item_code); // ȸº¹¼³Á¤_HP SetCheckedByItem(kControl_CheckBT_C026, false, item_code); // ȸº¹¼³Á¤_MPSP SetCheckedByItem(kControl_CheckBT_C025, false, item_code); // ȸº¹¼³Á¤_Áï½Ãȸº¹ SetCheckedByItem(kControl_CheckBT_C027, false, item_code); // ȸº¹¼³Á¤_»ç·á(µ¿¹° ¸ÔÀÌ) SetCheckedByItem(kControl_CheckBT_C030, false, item_code); // ȸº¹¼³Á¤_ÈÞ½Ä(¾É±â, ÇØ´ç HP ÀÌÇÏÀϰæ¿ì) SetCheckedByItem(kControl_CheckBT_C000, false, item_code); // ȸº¹¼³Á¤_ÈÞ½Ä(¾É±â, ÇØ´ç MP ÀÌÇÏÀϰæ¿ì) OnDropdownEnable(); //! ½½·ÔÄÁÅ×ÀÌ³Ê DeleteAllSlots(); GetDialogWZ()->RequestFocus(NULL); } //------------------------------------------------------------------------------ bool uiAutobotConditionBattle::UpdateUI() { if (AutobotConditionManager::Instance()->IsLoaded() == false) { return false; } int option_value = 0; //------------------------------------------------------------------------------ //»ç³É ¼³Á¤ SetChecked(kControl_CheckBT_C009, AutobotConditionManager::Instance()->hunting().IsAvoidMonster(eNPC_BOSS)); SetChecked(kControl_CheckBT_C001, AutobotConditionManager::Instance()->hunting().hunting_type() == AutobotCondition_Hunting::kHuntingType_Free); SetChecked(kControl_CheckBT_C007, AutobotConditionManager::Instance()->hunting().hunting_type() == AutobotCondition_Hunting::kHuntingType_Party); SetChecked(kControl_CheckBT_C010, AutobotConditionManager::Instance()->hunting().hunting_type() == AutobotCondition_Hunting::kHuntingType_Area); uiPartyMan* party_manager = GET_DIALOG_MANAGER(uiPartyMan, UIMAN_PARTY); if ((party_manager == NULL) || (party_manager->IsParty() == false)) { SetEnable(kControl_CheckBT_C007, false); } if (IsChecked(kControl_CheckBT_C007)) { option_value = AutobotConditionManager::Instance()->hunting().party_follow_no(); SelectDropdownItem(kControl_List_L007, kControl_Text_S033, option_value); } if (IsChecked(kControl_CheckBT_C010)) { option_value = static_cast(AutobotConditionManager::Instance()->hunting().area_range()); SelectDropdownItemByComboValue(kControl_List_L006, kControl_Text_S034, option_value); } //------------------------------------------------------------------------------ //! ¾ÆÀÌÅÛ Áݱâ SetChecked(kControl_CheckBT_C011, AutobotConditionManager::Instance()->pickup().HasItemType(AutobotCondition::kItem_All)); SetChecked(kControl_CheckBT_C012, AutobotConditionManager::Instance()->pickup().HasItemType(AutobotCondition::kItem_Normal)); SetChecked(kControl_CheckBT_C013, AutobotConditionManager::Instance()->pickup().HasItemType(AutobotCondition::kItem_Stone)); SetChecked(kControl_CheckBT_C014, AutobotConditionManager::Instance()->pickup().HasItemType(AutobotCondition::kItem_Weapon)); SetChecked(kControl_CheckBT_C015, AutobotConditionManager::Instance()->pickup().HasItemType(AutobotCondition::kItem_AC)); SetChecked(kControl_CheckBT_C016, AutobotConditionManager::Instance()->pickup().HasItemType(AutobotCondition::kItem_Heim)); SetChecked(kControl_CheckBT_C017, AutobotConditionManager::Instance()->pickup().HasItemType(AutobotCondition::kItem_Quest)); SetChecked(kControl_CheckBT_C018, AutobotConditionManager::Instance()->pickup().HasItemType(AutobotCondition::kItem_Armor)); //------------------------------------------------------------------------------ //! ȸº¹ ¼³Á¤ SetChecked(kControl_CheckBT_C024, AutobotConditionManager::Instance()->recovery().hp_potion_percent() > 0.0f); SetChecked(kControl_CheckBT_C026, AutobotConditionManager::Instance()->recovery().mp_potion_percent() > 0.0f); SetChecked(kControl_CheckBT_C025, AutobotConditionManager::Instance()->recovery().immediate_potion_percent() > 0.0f); SetChecked(kControl_CheckBT_C027, AutobotConditionManager::Instance()->recovery().feed_potion_percent() > 0.0f); SetChecked(kControl_CheckBT_C030, AutobotConditionManager::Instance()->recovery().relax_hp_percent() > 0.0f); SetChecked(kControl_CheckBT_C000, AutobotConditionManager::Instance()->recovery().relax_mp_percent() > 0.0f); if (IsChecked(kControl_CheckBT_C024)) { option_value = static_cast(AutobotConditionManager::Instance()->recovery().hp_potion_percent()); SelectDropdownItemByComboValue(kControl_List_L002, kControl_Text_S035, option_value); } if (IsChecked(kControl_CheckBT_C026)) { option_value = static_cast(AutobotConditionManager::Instance()->recovery().mp_potion_percent()); SelectDropdownItemByComboValue(kControl_List_L005, kControl_Text_S047, option_value); } if (IsChecked(kControl_CheckBT_C025)) { option_value = static_cast(AutobotConditionManager::Instance()->recovery().immediate_potion_percent()); SelectDropdownItemByComboValue(kControl_List_L001, kControl_Text_S048, option_value); } if (IsChecked(kControl_CheckBT_C027)) { option_value = static_cast(AutobotConditionManager::Instance()->recovery().feed_potion_percent()); SelectDropdownItemByComboValue(kControl_List_L004, kControl_Text_S049, option_value); } if (IsChecked(kControl_CheckBT_C030)) { option_value = static_cast(AutobotConditionManager::Instance()->recovery().relax_hp_percent()); SelectDropdownItemByComboValue(kControl_List_L000, kControl_Text_S050, option_value); } if (IsChecked(kControl_CheckBT_C000)) { option_value = static_cast(AutobotConditionManager::Instance()->recovery().relax_mp_percent()); SelectDropdownItemByComboValue(kControl_List_L003, kControl_Text_S051, option_value); } //------------------------------------------------------------------------------ //! ½ºÅ³ µî·Ï int to_pos = 0; { AutobotCondition_Skill::ConditionIntervalSkillVector::iterator begin = AutobotConditionManager::Instance()->skill().interval_skill_vector().begin(); AutobotCondition_Skill::ConditionIntervalSkillVector::iterator end = AutobotConditionManager::Instance()->skill().interval_skill_vector().end(); for (; begin != end && to_pos < 12; ++begin, ++to_pos) { AutobotCondition_Skill::Slot slot = *begin; if (slot.slot_type == ST_SKILL) { ItemManager::Instance()->AutobotLinkSkill(to_pos, slot.slot_code); } else if (slot.slot_type == ST_ITEM) { SCItemSlot* item_slot = ItemManager::Instance()->FindFirstItemSlot(slot.container_index, slot.slot_code); if (item_slot != NULL) { ItemManager::Instance()->AutobotLinkItem(slot.container_index, item_slot->GetPos(), to_pos, item_slot->GetCode()); } } int second_time = slot.interval_millisecond / 1000; if (second_time < 1) { second_time = 1; } SetEditText(to_pos, second_time); } } { to_pos = 12; //!< °ø°Ý¿ë ½ºÅ³À» ¾Æ·¡ºÎÅÍ AutobotCondition_Skill::ConditionAttackSkillVector::iterator begin = AutobotConditionManager::Instance()->skill().attack_skill_vector().begin(); AutobotCondition_Skill::ConditionAttackSkillVector::iterator end = AutobotConditionManager::Instance()->skill().attack_skill_vector().end(); for (; begin != end && to_pos < 24; ++begin, ++to_pos) { AutobotCondition_Skill::Slot slot = *begin; if (slot.slot_type == ST_SKILL) { ItemManager::Instance()->AutobotLinkSkill(to_pos, slot.slot_code); } else if (slot.slot_type == ST_ITEM) { SCItemSlot* item_slot = ItemManager::Instance()->FindFirstItemSlot(slot.container_index, slot.slot_code); if (item_slot != NULL) { ItemManager::Instance()->AutobotLinkItem(slot.container_index, item_slot->GetPos(), to_pos, item_slot->GetCode()); } } } } OnDropdownEnable(); return true; } //------------------------------------------------------------------------------ bool uiAutobotConditionBattle::UpdateCondition() { //------------------------------------------------------------------------------ //! »ç³É ¼³Á¤ //AutobotConditionManager::Instance()->hunting().set_target_range(15.0f); if (IsChecked(kControl_CheckBT_C001) == true) { AutobotConditionManager::Instance()->hunting().set_hunting_type(AutobotCondition_Hunting::kHuntingType_Free); } else if (IsChecked(kControl_CheckBT_C007) == true) { int party_index = -1; uiPartyMan* party_manager = GET_DIALOG_MANAGER(uiPartyMan, UIMAN_PARTY); if (party_manager != NULL) { const char* party_name = GetCurDropdownItemText(kControl_List_L007); if (party_name != NULL) { party_index = party_manager->GetPartyIndex((TCHAR*)party_name); } } AutobotConditionManager::Instance()->hunting().set_hunting_type(AutobotCondition_Hunting::kHuntingType_Party); AutobotConditionManager::Instance()->hunting().set_party_follow_no(party_index); } else if (IsChecked(kControl_CheckBT_C010) == true) { BASE_AutomaticComboInfo* info = static_cast(GetCurDropdownItemData(kControl_List_L006)); if (info && g_pHero) { AutobotConditionManager::Instance()->hunting().set_hunting_type(AutobotCondition_Hunting::kHuntingType_Area); AutobotConditionManager::Instance()->hunting().set_area_position(g_pHero->GetPosition()); AutobotConditionManager::Instance()->hunting().set_area_range(static_cast(info->option_value)); } } else { AutobotConditionManager::Instance()->hunting().set_hunting_type(AutobotCondition_Hunting::kHuntingType_Max); } AutobotConditionManager::Instance()->hunting().avoid_monster_set().insert(eNPC_LUCKY_MONSTER); if (IsChecked(kControl_CheckBT_C009) == true) { AutobotConditionManager::Instance()->hunting().avoid_monster_set().insert(eNPC_BOSS); } //------------------------------------------------------------------------------ //! ¾ÆÀÌÅÛ Áݱâ if (IsChecked(kControl_CheckBT_C011)) { AutobotConditionManager::Instance()->pickup().Insert(AutobotCondition::kItem_All); } else { if (IsChecked(kControl_CheckBT_C012)) { AutobotConditionManager::Instance()->pickup().Insert(AutobotCondition::kItem_Normal); } if (IsChecked(kControl_CheckBT_C013)) { AutobotConditionManager::Instance()->pickup().Insert(AutobotCondition::kItem_Stone); } if (IsChecked(kControl_CheckBT_C014)) { AutobotConditionManager::Instance()->pickup().Insert(AutobotCondition::kItem_Weapon); } if (IsChecked(kControl_CheckBT_C015)) { AutobotConditionManager::Instance()->pickup().Insert(AutobotCondition::kItem_AC); } if (IsChecked(kControl_CheckBT_C016)) { AutobotConditionManager::Instance()->pickup().Insert(AutobotCondition::kItem_Heim); } if (IsChecked(kControl_CheckBT_C017)) { AutobotConditionManager::Instance()->pickup().Insert(AutobotCondition::kItem_Quest); } if (IsChecked(kControl_CheckBT_C018)) { AutobotConditionManager::Instance()->pickup().Insert(AutobotCondition::kItem_Armor); } } //------------------------------------------------------------------------------ //! ȸº¹ ¼³Á¤ BASE_AutomaticComboInfo* info = NULL; if (IsChecked(kControl_CheckBT_C024)) { //! ȸº¹ ¼³Á¤ : HP info = static_cast(GetCurDropdownItemData(kControl_List_L002)); AutobotConditionManager::Instance()->recovery().set_hp_potion_percent(static_cast(info->option_value)); } if (IsChecked(kControl_CheckBT_C026)) { //! ȸº¹ ¼³Á¤ : MP info = static_cast(GetCurDropdownItemData(kControl_List_L005)); AutobotConditionManager::Instance()->recovery().set_mp_potion_percent(static_cast(info->option_value)); } if (IsChecked(kControl_CheckBT_C025)) { //! ȸº¹ ¼³Á¤ : Áï½Ã info = static_cast(GetCurDropdownItemData(kControl_List_L001)); AutobotConditionManager::Instance()->recovery().set_immediate_potion_percent(static_cast(info->option_value)); } if (IsChecked(kControl_CheckBT_C027)) { //! ȸº¹ ¼³Á¤ : »ç·á info = static_cast(GetCurDropdownItemData(kControl_List_L004)); AutobotConditionManager::Instance()->recovery().set_feed_potion_percent(static_cast(info->option_value)); } if (IsChecked(kControl_CheckBT_C030)) { //! ȸº¹ ¼³Á¤ : ¾É±â mp info = static_cast(GetCurDropdownItemData(kControl_List_L000)); AutobotConditionManager::Instance()->recovery().set_relax_hp_percent(static_cast(info->option_value)); } if (IsChecked(kControl_CheckBT_C000)) { //! ȸº¹ ¼³Á¤ : ¾É±â mp info = static_cast(GetCurDropdownItemData(kControl_List_L003)); AutobotConditionManager::Instance()->recovery().set_relax_mp_percent(static_cast(info->option_value)); } //! ½ºÅ³ µî·Ï int max_slot = GetMaxSlotNum(); for (int i = 0; i < max_slot; ++i) { QuickSlot& quick_slot = static_cast(GetSlot(i)); if (quick_slot.IsEmptySlot() == false) { if (IsAttackSkillSlot(i) == true) { AutobotConditionManager::Instance()->skill().InsertAttackSkill(static_cast(quick_slot.GetOrgSlotIndex()), quick_slot.GetOrgSlotType(), quick_slot.GetOrgCode()); } else { std::string text = GetEditText(i); int second = atoi(text.c_str()); if( second < kDefaultCooltimeSecond ) { second = kDefaultCooltimeSecond; } AutobotConditionManager::Instance()->skill().InsertIntervalSkill(static_cast(quick_slot.GetOrgSlotIndex()), quick_slot.GetOrgSlotType(), quick_slot.GetOrgCode(), second * 1000); } } } return true; } //------------------------------------------------------------------------------ void uiAutobotConditionBattle::OnDropdownEnable() { SetEnable(kControl_Button_B004, GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C024))->GetCheckState()); SetEnable(kControl_Button_B006, GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C025))->GetCheckState()); SetEnable(kControl_Button_B005, GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C026))->GetCheckState()); SetEnable(kControl_Button_B007, GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C027))->GetCheckState()); SetEnable(kControl_Button_B008, GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C030))->GetCheckState()); SetEnable(kControl_Button_B009, GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C000))->GetCheckState()); SetEnable(kControl_Button_B003, GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C007))->GetCheckState()); SetEnable(kControl_Button_B000, GetCheckButtonControlWZ(GetControlID_byPosition(kControl_CheckBT_C010))->GetCheckState()); OnDropdownShow(kControl_Size, kControl_Size); } //------------------------------------------------------------------------------ eAUTO_HUNTING_TYPE uiAutobotConditionBattle::GetHuntingTypeFromControlIndex(DWORD control_index) { switch (control_index) { case kControl_CheckBT_C001: return eAUTO_RANGE_FIELD; case kControl_CheckBT_C009: return eAUTO_RANGE_BOSS; case kControl_CheckBT_C007: return eAUTO_RANGE_PARTY; case kControl_CheckBT_C010: return eAUTO_RANGE_USER; case kControl_CheckBT_C011: return eAUTO_PICKUP_ALL; case kControl_CheckBT_C012: return eAUTO_PICKUP_NORMAL; case kControl_CheckBT_C017: return eAUTO_PICKUP_QUEST; case kControl_CheckBT_C013: return eAUTO_PICKUP_STONE; case kControl_CheckBT_C014: return eAUTO_PICKUP_WEAPON; case kControl_CheckBT_C018: return eAUTO_PICKUP_ARMOR; case kControl_CheckBT_C015: return eAUTO_PICKUP_AC; case kControl_CheckBT_C016: return eAUTO_PICKUP_HEIM; //case kControl_CheckBT_C001: return eAUTO_PICKUP_ITEMTYPE; case kControl_CheckBT_C024: return eAUTO_CURE_HP; case kControl_CheckBT_C026: return eAUTO_CURE_MPSP; case kControl_CheckBT_C025: return eAUTO_CURE_INSTANT; case kControl_CheckBT_C027: return eAUTO_CURE_PET_FEED; case kControl_CheckBT_C030: return eAUTO_CURE_SITDOWN_HP; case kControl_CheckBT_C000: return eAUTO_CURE_SITDOWN_MP; } return eAUTO_TYPE_INVALID; } //------------------------------------------------------------------------------ uiAutobotConditionBattle::SkillType uiAutobotConditionBattle::GetSkilType(SLOTCODE skill_code) { if (skill_code == eACTION_START_SKILL_CODE) { //! ÀÚµ¿°ø°Ý return uiAutobotConditionBattle::kSkill_Attack; } ROOT_SKILLINFO* root_info = SkillInfoParser::Instance()->GetInfo(skill_code); if (root_info == NULL || root_info->IsSkill() == false) { return uiAutobotConditionBattle::kSkill_Max; } SkillScriptInfo* skill_info = static_cast(root_info); if (skill_info == NULL) { return uiAutobotConditionBattle::kSkill_Max; } //409 ½ºÅ¸ÀÏ //11236 ±Ù°Å¸®¹°¸® //11237 ¿ø°Å¸®¹°¸® //11238 º¸Á¶±â´É //11239 °­È­ //11240 ¾àÈ­ //11241 ȸº¹ //11242 º¯½Å //11243 ¼Òȯ //11244 ºÎȰ //11245 ¸¶¹ý switch (skill_info->m_wSkillAttribute) { case 409: //!<½ºÅ¸ÀÏ break; case 11238: //!<º¸Á¶±â´É case 11239: //!<°­È­ case 11241: //!<ȸº¹ case 11242: //!<º¯½Å case 11243: //!<¼Òȯ case 11244: //!<ºÎȰ { BASE_ABILITYINFO* ability_info = NULL; skill_info->SetFirst(); while (ability_info = skill_info->GetNext()) { if ((ability_info->m_byRangeType == SKILL_ABILITY_FRIEND) || (ability_info->m_byRangeType == SKILL_ABILITY_TARGETAREA_FRIEND) || (ability_info->m_byRangeType == SKILL_ABILITY_MYAREA_FRIEND) || (ability_info->m_byRangeType == SKILL_ABILITY_ME) || (ability_info->m_byRangeType == SKILL_ABILITY_SUMMON)) { return uiAutobotConditionBattle::kSkill_Defense; } } return uiAutobotConditionBattle::kSkill_Max; //if ((skill_info->m_byTarget == SKILL_TARGET_FRIEND) || // (skill_info->m_byTarget == SKILL_TARGET_ME) || // (skill_info->m_byTarget == SKILL_TARGET_REACHABLE_FRIEND) || // (skill_info->m_byTarget == SKILL_TARGET_REACHABLE_ME)) //{ // return uiAutobotConditionBattle::kSkill_Defense; //} } break; case 11240: //!< ¾àÈ­ case 11236: //!< ±Ù°Å¸®¹°¸® case 11237: //!< ¿ø°Å¸®¹°¸® case 11245: //!< ¸¶¹ý { BASE_ABILITYINFO* ability_info = NULL; skill_info->SetFirst(); while (ability_info = skill_info->GetNext()) { if ((ability_info->m_byRangeType == SKILL_ABILITY_ENEMY) || (ability_info->m_byRangeType == SKILL_ABILITY_TARGETAREA_ENEMY) || (ability_info->m_byRangeType == SKILL_ABILITY_MYAREA_ENEMY) || (ability_info->m_byRangeType == SKILL_ABILITY_PLAYER_ENEMY) || (ability_info->m_byRangeType == SKILL_ABILITY_MYAREA_CORPSE_ENEMY) || (ability_info->m_byRangeType == SKILL_ABILITY_CORPSE_ENEMY)) { return uiAutobotConditionBattle::kSkill_Attack; } } return uiAutobotConditionBattle::kSkill_Max; //if ((skill_info->m_byTarget == SKILL_TARGET_ENEMY) || // (skill_info->m_byTarget == SKILL_TARGET_AREA) || // (skill_info->m_byTarget == SKILL_TARGET_REACHABLE_ENEMY) || // (skill_info->m_byTarget == SKILL_TARGET_ENEMY_PLAYER) || // (skill_info->m_byTarget == SKILL_TARGET_ENEMY_AND_ME)) //{ // // ¾îºô¸®Æ¼ üũ // BASE_ABILITYINFO* ability_info = NULL; // skill_info->SetFirst(); // while (ability_info = skill_info->GetNext()) // { // if ((ability_info->m_wAbilityID == 0) || // (ability_info->m_wAbilityID == eABILITY_TELEPORT) || // (ability_info->m_wAbilityID >= eABILITY_MAX)) // { // return uiAutobotConditionBattle::kSkill_Max; // } // } // return uiAutobotConditionBattle::kSkill_Attack; //} } break; default: break; } return uiAutobotConditionBattle::kSkill_Max; } #endif //_YMS_AUTOBOT_GAME