Quantcast
Channel: RaGEZONE - MMO Development Forums
Viewing all articles
Browse latest Browse all 14637

[Release] Invisible fix source

$
0
0
GLCharacterSkill.cpp
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
        }

GLCharClient.cpp
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;

GLCharClient.cpp
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;                                                               
                }

source from -> http://forum.ragezone.com/f528/dash-...e-code-951386/

Viewing all articles
Browse latest Browse all 14637

Trending Articles