//////////////////////////////////////////////////////////////////////////
// 스텟 초기화
bool local_initStat(CPC* ch, CItem* item, bool bprolong, RequestClient::doItemUse* packet)
{
	ch->m_statpt_remain += ch->m_statpt_str + ch->m_statpt_dex + ch->m_statpt_int + ch->m_statpt_con;

	ch->m_statpt_str = ch->m_statpt_dex = ch->m_statpt_int = ch->m_statpt_con = 0;
	ch->InitStat();

	{
		CNetMsg::SP rmsg(new CNetMsg);
		StatPointRemainMsg(rmsg, ch);
		SEND_Q(rmsg, ch->m_desc);
	}

	ch->CalcStatus(true);
	ch->m_hp = ch->m_maxHP;
	ch->m_mp = ch->m_maxMP;

	{
		CNetMsg::SP rmsg(new CNetMsg);
		StatPointRemainMsg(rmsg, ch);
		SEND_Q(rmsg, ch->m_desc);
	}

	return true;
}
bool local_initAllStatAndSkill(CPC* ch, CItem* item, bool bprolong, RequestClient::doItemUse* packet)
{
	ch->m_statpt_remain += ch->m_statpt_str + ch->m_statpt_dex + ch->m_statpt_int + ch->m_statpt_con;

	ch->m_statpt_str = ch->m_statpt_dex = ch->m_statpt_int = ch->m_statpt_con = 0;
	ch->InitStat();

	{
		CNetMsg::SP rmsg(new CNetMsg);
		StatPointRemainMsg(rmsg, ch);
		SEND_Q(rmsg, ch->m_desc);
	}

	ch->CalcStatus(true);
	ch->m_hp = ch->m_maxHP;
	ch->m_mp = ch->m_maxMP;

	ch->InitSkill(&ch->m_activeSkillList);
	ch->InitSkill(&ch->m_passiveSkillList, true);
	ch->InitSSkill();
	if( ch->m_job != JOB_NIGHTSHADOW )
		ch->m_job2 = 0;
	ch->InitStat();

	ch->CalcStatus(true);

	ch->resetCoolTime(&ch->m_activeSkillList);

	{
		CNetMsg::SP rmsg(new CNetMsg);
		ResponseClient::makeSkillListMsg(rmsg, ch);
		SEND_Q(rmsg, ch->m_desc);
	}
	{
		CNetMsg::SP rmsg(new CNetMsg);
		ResponseClient::makeSSkillList(rmsg, ch);
		SEND_Q(rmsg, ch->m_desc);
	}
	{
		CNetMsg::SP rmsg(new CNetMsg);
		ResponseClient::makeChangeJobReset(rmsg, ch);
		SEND_Q(rmsg, ch->m_desc);
	}

	return true;
}
void do_GMStatPoint(CPC *a1, char *a2)
{
    short v2; // [sp+8h] [bp-20h]@19
    short v3; // [sp+Ah] [bp-1Eh]@16
    short v4; // [sp+Ch] [bp-1Ch]@10
    short v4_2;
    short v6; // [sp+26h] [bp-2h]@4
    char *v7; // [sp+34h] [bp+Ch]@4
    char *v8; // [sp+34h] [bp+Ch]@10
    char *v9; // [sp+34h] [bp+Ch]@13
    char *v10; // [sp+34h] [bp+Ch]@16

    if(a2)
    {
        if(*a2)
        {
            v7 = AnyOneArg(a2, g_buf, 0);
            v6 = atoi(g_buf);

            if(v6 >= 0)
            {
                a1->Unk740 = v6;

                CNetMsg v5;

                StatPointRemainMsg(v5, a1);

                if(a1->Unk768)
                    a1->Unk768->WriteToOutput(v5);

                if(v7 && *v7)
                {
                    v8 = AnyOneArg(v7, g_buf, 0);
                    v4_2 = atoi(g_buf);

                    if(v8 && *v8)
                    {
                        v9 = AnyOneArg(v8, g_buf, 0);
                        v4 = atoi(g_buf);

                        if(v9 && *v9)
                        {
                            v10 = AnyOneArg(v9, g_buf, 0);
                            v3 = atoi(g_buf);

                            if(v10 && *v10)
                            {
                                AnyOneArg(v10, g_buf, 0);
                                v2 = atoi(g_buf);

                                if(v4 >= 0 && v4_2 >= 0 && v3 >= 0 && v2 >= 0)
                                {
                                    a1->Unk742 = v4_2;
                                    a1->Unk744 = v4;
                                    a1->Unk746 = v3;
                                    a1->Unk748 = v2;

                                    a1->InitStat();
                                    a1->CalcStatus(true);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}