GLCharacterSkill.cpp
under -> void GLCharacter::SkillReaction
GLCharClient.cpp
under -> void GLCharClient::MsgProcess
GLCharClient.cpp
under -> void GLCharClient::UPDATE_DATA
source from -> http://forum.ragezone.com/f528/dash-...e-code-951386/
under -> void GLCharacter::SkillReaction
Code:
if ( emTARGET==TAR_SPEC || emTARGET==TAR_SELF_TOSPEC ) {
if ( m_sTARIDS[0].wID != USHRT_MAX )
{
STARGETID sRotateTarID ( static_cast<EMCROW>(m_sTARIDS[0].wCrow), static_cast<DWORD>(m_sTARIDS[0].wID) );
GLCOPY* pTarget = GLGaeaClient::GetInstance().GetCopyActor ( sRotateTarID );
if ( pTarget )
{
D3DXVECTOR3 vDirection = pTarget->GetPosition() - m_vPos;
D3DXVec3Normalize ( &vDirection, &vDirection );
m_vDir = vDirection;
}
}
// Note : ÇöÁ¦ À§Ä¡¿Í ¹æÇâÀ¸·Î Transform ¸ÞÆ®¸¯½º °è»ê.
//
D3DXMATRIX matTrans, matYRot;
D3DXMatrixTranslation ( &matTrans, m_vPos.x, m_vPos.y, m_vPos.z );
float fThetaY = DXGetThetaYFromDirection ( m_vDir, m_vDirOrig );
D3DXMatrixRotationY ( &matYRot, fThetaY );
m_matTrans = matYRot * matTrans;
TurnAction ( GLAT_SKILL ); //invi fix by mAc14
}
else if ( emTARGET==TAR_ZONE_SPEC ) {
D3DXVECTOR3 vDirection = m_vTARPOS - m_vPos;
D3DXVec3Normalize ( &vDirection, &vDirection );
m_vDir = vDirection;
TurnAction ( GLAT_SKILL ); //invi fix by mAc14
}
else if ( emTARGET==TAR_SELF ) {
TurnAction ( GLAT_SELF_SKILL );
}
else if ( emTARGET==TAR_BUFF) {
TurnAction ( GLAT_SELF_SKILL2 ); //invi fix by mAc14
}
under -> void GLCharClient::MsgProcess
Code:
case NET_MSG_GCTRL_REQ_SKILL_BRD:
{
GLMSG::SNETPC_REQ_SKILL_BRD *pNetMsg = (GLMSG::SNETPC_REQ_SKILL_BRD *)nmg;
m_idACTIVESKILL = pNetMsg->skill_id;
m_wACTIVESKILL_LEVEL = pNetMsg->wLEVEL;
m_vTARPOS = pNetMsg->vTARPOS;
m_wTARNUM = pNetMsg->wTARNUM;
if ( m_wTARNUM > EMTARGET_NET )
{
break;
}
else
{
memcpy ( m_sTARIDS, pNetMsg->sTARIDS, sizeof(STARID)*m_wTARNUM );
// Note : ½ºÅ³ÀÌ ¹ßµ¿µÊ.
PGLSKILL pSkill = GLSkillMan::GetInstance().GetData ( m_idACTIVESKILL.wMainID, m_idACTIVESKILL.wSubID );
if ( !pSkill ) return;
//invi fix by mAc14
if( pSkill->m_sBASIC.emIMPACT_TAR == TAR_SPEC ||
pSkill->m_sBASIC.emIMPACT_TAR == TAR_SELF_TOSPEC ||
pSkill->m_sBASIC.emIMPACT_TAR == TAR_ZONE_SPEC ) TurnAction ( GLAT_SKILL );
if( pSkill->m_sBASIC.emIMPACT_TAR == TAR_SELF ) TurnAction ( GLAT_SELF_SKILL );
if( pSkill->m_sBASIC.emIMPACT_TAR == TAR_BUFF ) TurnAction ( GLAT_SELF_SKILL2 );
}
}
break;
under -> void GLCharClient::UPDATE_DATA
Code:
//052713 by mAc14
case EMSPECA_INVISIBLE: {
m_bINVISIBLE = true;
if(IsSTATE(EM_ACT_RUN)) ReSetSTATE(EM_ACT_RUN);
if( sSKEFF.fAGE <= 0.0f ||
IsACTION(GLAT_SKILL) ||
IsACTION(GLAT_SELF_SKILL) ||
IsACTION(GLAT_ATTACK) ||
IsACTION(GLAT_TALK) ||
IsACTION(GLAT_GATHERING)) {
DISABLESKEFF(i);
SetSTATE( EM_ACT_RUN );
}
break;
}