void CInputMain::Refine(LPCHARACTER ch, const char* c_pData) { const TPacketCGRefine* p = reinterpret_cast(c_pData); ch->ChatPacket(CHAT_TYPE_INFO, "type %d", p->type); ch->ChatPacket(CHAT_TYPE_INFO, "Begging of refine"); if (ch->GetExchange() || ch->IsOpenSafebox() || ch->GetShopOwner() || ch->GetMyShop() || ch->IsCubeOpen()) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("â°í,°Ĺ·ˇĂ˘µîŔĚ ż­¸° »óĹÂżˇĽ­´Â °ł·®Ŕ» ÇŇĽö°ˇ ľř˝Ŕ´Ď´Ů")); ch->ClearRefineMode(); return; } if (p->type == 255) { ch->ClearRefineMode(); return; } if (p->pos >= INVENTORY_MAX_NUM) { ch->ClearRefineMode(); return; } LPITEM item = ch->GetInventoryItem(p->pos); if (!item) { ch->ClearRefineMode(); return; } ch->SetRefineTime(); ch->ChatPacket(CHAT_TYPE_INFO, "Part 2"); ch->ChatPacket(CHAT_TYPE_INFO, " ": REFINE_TYPE_NORMAL); if (p->type == REFINE_TYPE_NORMAL) { ch->ChatPacket(CHAT_TYPE_INFO, "Part 3"); sys_log (0, "refine_type_noraml"); ch->DoRefine(item); } else if (p->type == REFINE_TYPE_SCROLL || p->type == REFINE_TYPE_HYUNIRON || p->type == REFINE_TYPE_MUSIN || p->type == REFINE_TYPE_BDRAGON) { ch->ChatPacket(CHAT_TYPE_INFO, "Part 4"); sys_log (0, "refine_type_scroll, ..."); ch->DoRefineWithScroll(item); } else if (p->type == REFINE_TYPE_MONEY_ONLY) { const LPITEM item = ch->GetInventoryItem(p->pos); ch->ChatPacket(CHAT_TYPE_INFO, "Part 5"); if (NULL != item) { if (500 <= item->GetRefineSet()) { LogManager::instance().HackLog("DEVIL_TOWER_REFINE_HACK", ch); } else { if (ch->GetQuestFlag("deviltower_zone.can_refine")) { ch->DoRefine(item, true); ch->SetQuestFlag("deviltower_zone.can_refine", 0); } else { ch->ChatPacket(CHAT_TYPE_INFO, "»ç±Í Ÿżö żĎ·á ş¸»óŔş ÇŃąř±îÁö »çżë°ˇ´ÉÇŐ´Ď´Ů."); } } } } else { /** * DO USUNIĘCIA ELSE */ ch->ChatPacket(CHAT_TYPE_INFO, "else"); ch->ChatPacket(CHAT_TYPE_INFO, "End of input_main.cpp"); ch->DoRefineWithScroll(item); ch->DoRefineWithScroll(item); } ch->ClearRefineMode();