void Cube_open(LPCHARACTER ch)
{
LPCHARACTER npc = ch->GetQuestNPC();
if (!npc)
return;
DWORD npcVNUM = npc->GetRaceNum();
if (FN_check_valid_npc(npcVNUM) == false)
return;
if (ch->GetExchange() || ch->GetMyShop() || ch->GetShopOwner() || ch->IsOpenSafebox() || ch->IsCubeOpen() || ch->IsAcceOpened(true) || ch->IsAcceOpened(false))
{
ch->ChatPacket(CHAT_TYPE_INFO, "Cannot open refinement window");
return;
}
SendDateCubeRenewalPackets(ch, CUBE_RENEWAL_SUB_HEADER_CLEAR_DATES_RECEIVE);
SendDateCubeRenewalPackets(ch, CUBE_RENEWAL_SUB_HEADER_DATES_RECEIVE, npcVNUM);
SendDateCubeRenewalPackets(ch, CUBE_RENEWAL_SUB_HEADER_DATES_LOADING);
SendDateCubeRenewalPackets(ch, CUBE_RENEWAL_SUB_HEADER_OPEN_RECEIVE);
ch->SetCubeNpc(npc);
}