本文整理汇总了C++中CMover::GetId方法的典型用法代码示例。如果您正苦于以下问题:C++ CMover::GetId方法的具体用法?C++ CMover::GetId怎么用?C++ CMover::GetId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CMover
的用法示例。
在下文中一共展示了CMover::GetId方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RunScript
void CWndDialog::RunScript( const char* szKey, DWORD dwParam, DWORD dwQuest )
{
CMover* pMover = prj.GetMover( m_idMover );
if( pMover )
g_DPlay.SendScriptDialogReq( pMover->GetId(), szKey, dwParam, dwQuest, pMover->GetId(), g_pPlayer->GetId() );
m_timer.Set( SEC( 1 ) );
}
示例2: DamageToTarget
//
// nDmgCnt : 일반적으론 0 : 지속데미지를 사용할경우에 0이 아닌값이 들어온다.
//
void CSfx::DamageToTarget( int nDmgCnt, float fDmgAngle, float fDmgPower, int nMaxDmgCnt )
{
CMover* pObjSrc = (CMover*)prj.GetCtrl( m_idSrc );
CCtrl* pObjDest = prj.GetCtrl( m_idDest );
if( IsInvalidObj(pObjSrc) ) return; // 지금은 걍 리턴하지만 이렇게 실패한경우는 m_idSfxHit을 Clear해주는작업이 필요하다.
if( IsInvalidObj(pObjDest) ) return;
if( pObjDest->GetType() == OT_MOVER )
{
CMover* pMover = (CMover*) pObjDest;
#ifdef __CLIENT
PLAYSND( pMover->GetProp()->dwSndDmg2, &pMover->GetPos() ); // 마법류 맞을때 타격음.
#endif
#ifdef __CLIENT
// 쏜놈이 플레이어이거나 / 쏜놈은 플레이어가 아닌데 맞은놈이 플레이어일경우 전송
if( pObjSrc->IsActiveMover() || (pObjSrc->IsPlayer() == FALSE && pObjDest->IsActiveObj()) )
{
pMover->SetDmgCnt( 10 ); // 발사체 맞아도 이제 흔들린다,
g_DPlay.SendSfxHit( m_idSfxHit, m_nMagicPower, m_dwSkill, pObjSrc->GetId(), nDmgCnt, fDmgAngle, fDmgPower );
if( nMaxDmgCnt == 1 ) // 한방짜리 데미지만 id를 클리어 함.
m_idSfxHit = 0; // 0으로 해놔야 this가 삭제될때 SendSfxClear를 또 보내지 않는다.
}
#endif // __CLIENT
}
}
示例3:
void CMover::CMD_SetCollect( CObj *pObj )
{
if( IsInvalidObj( pObj ) ) return;
if( pObj->GetType() != OT_MOVER ) return;
if( m_pActMover->IsActAttack() ) return;
if( m_pActMover->IsActJump() ) return;
if( m_pActMover->IsActDamage() ) return;
if( IsDie() ) return; // 죽었을때 사용금지.
//
if( GetCollector())
{
CMover *pTarget = (CMover *)pObj;
ClearActParam();
SetDestObj( pTarget->GetId(), 3.0f ); // 이동할 목표물을 idTarget으로 설정.
SetCmd( OBJACT_COLLECT, pTarget->GetId() ); // 사정거리가 되었을때 실행할 명령 셋팅.
}
}
示例4: OnDraw
void CWndIndirectTalk::OnDraw( C2DRender* p2DRender )
{
CWorld* pWorld = g_WorldMng();
CMover* pMover = (CMover*)pWorld->GetObjFocus();
CWndEdit* pWndEdit = (CWndEdit*)GetDlgItem( WIDC_EDIT1 );
TCHAR szNum[ 32 ];
if( pMover && pMover->GetType() == OT_MOVER )
itoa( pMover->GetId(), szNum, 10 );
else
itoa( 0, szNum, 10 );
pWndEdit->SetString( szNum );
}
示例5:
//
// 비행중 공격 액션 처리
//
void CActionMover::_ProcessStateAttack2( DWORD dwState, int nParam )
{
CMover* pMover = m_pMover;
CModelObject *pModel = (CModelObject *)pMover->m_pModel;
switch( dwState )
{
case OBJSTA_ATK1:
if( pModel->IsEndFrame() )
ResetState( OBJSTA_ATK_ALL );
if( pModel->m_nPause > 0 )
{
--pModel->m_nPause;
}
else
{
if( pModel->IsAttrHit() )
{
CMover* pHitObj = prj.GetMover( m_objidHit );
if( IsInvalidObj( pHitObj ) || pHitObj->IsDie() ) // 타겟이 거시기하거나 죽었으면 취소
return;
BOOL bSuccess = pHitObj->m_pActMover->SendDamage( AF_GENERIC, pMover->GetId() );
if( bSuccess == FALSE )
return;
#ifdef __CLIENT
ItemProp* pItemProp = pMover->GetActiveHandItemProp();
if( pItemProp )
{
D3DXVECTOR3 v = pMover->GetPos();
PLAYSND( pItemProp->dwSndAttack1, &v );
}
#endif
if( GetMover()->IsPlayer() )
{
pModel->m_nPause = 5; // frame 멈춤
}
else
{
pModel->m_nPause = 0; // 몬스터는 멈추지 않음
pHitObj->m_pModel->m_nPause = 0;
}
}
}
break;
}
}
示例6: SetNPC
void CQuiz::SetNPC()
{
CMover* pMover = (CMover*)CreateObj( D3DDEVICE, OT_MOVER, m_sNPC.dwNPCId );
if( !pMover )
{
Error( "CQuiz::SetNPC() - pMover is NULL - %d, %s", m_sNPC.dwNPCId, m_sNPC.strCharKey.c_str() );
return;
}
lstrcpy( pMover->m_szCharacterKey, m_sNPC.strCharKey.c_str() );
pMover->InitNPCProperty();
pMover->InitCharacter( pMover->GetCharacter() );
pMover->SetPos( m_sNPC.vPos );
pMover->InitMotion( MTI_STAND );
pMover->UpdateLocalMatrix();
pMover->AddItToGlobalId();
m_sNPC.idNpc = pMover->GetId();
CWorld* pWorld = g_WorldMng.GetWorld( WI_WORLD_MADRIGAL );
if( pWorld )
pWorld->ADDOBJ( pMover, FALSE, nDefaultLayer );
}
示例7: OnDamageMsgC
DWORD CActionMover::OnDamageMsgC( DWORD dwMsg, CMover* pAttacker, DWORD dwAtkFlags, int nParam )
{
CMover* pMover = GetMover();
BOOL bValid = IsValidObj( pMover ) && IsValidObj( pAttacker );
if( !bValid || IsState( OBJSTA_DIE_ALL ) )
return 0;
if( IsSit() ) // 앉아있다가 맞으면 앉기해제 한다.
ResetState( OBJSTA_MOVE_ALL );
SendActMsg( OBJMSG_STAND );
// 날때린놈에 대한 정보를 기록함.
if( pMover->IsNPC() && pAttacker->IsPlayer() ) // 맞은놈은 NPC , 어태커가 플레이어 일때만 적용됨
{
pMover->m_idAttacker = pAttacker->GetId(); // 날 때린넘이 어떤놈인가를 기록함.
pMover->m_idTargeter = pAttacker->GetId();
}
pAttacker->m_idLastHitMover = pMover->GetId(); // 어태커가 마지막으로 때렸던넘이 나란걸 기록함.
if( (dwAtkFlags & AF_GENERIC) )
{
ItemProp* pAttackerProp = pAttacker->GetActiveHandItemProp();
D3DXVECTOR3 vLocal;
if( pAttackerProp && pAttackerProp->dwItemKind3 == IK3_YOYO )
{
vLocal = pMover->GetPos();
vLocal.y += 1.0f;
}
else
{
AngleToVectorXZ( &vLocal, pAttacker->GetAngle(), 1.0f );
vLocal += pMover->GetPos(); //gmpbigsun : 피격자 일반 effect 09_12_17
vLocal.y += 1.0f; // 2006/6/20 xuzhu
}
if( pAttackerProp && pAttackerProp->dwSfxObj3 != NULL_ID )
CreateSfx( g_Neuz.m_pd3dDevice, pAttackerProp->dwSfxObj3, vLocal );
if( pAttackerProp && pAttackerProp->dwSfxObj5 != NULL_ID ) //gmpbigsun: 공격자 일반 effect 09_12_17
{
vLocal = pAttacker->GetPos( );
CreateSfx( g_Neuz.m_pd3dDevice, pAttackerProp->dwSfxObj5, vLocal );
}
}
else if ( (dwAtkFlags & AF_MONSTER_SP_CLIENT) )
{
// hitter
ItemProp* pAttackerProp = prj.GetItemProp( nParam >> 16 );
assert( pAttackerProp );
DWORD dwSfxObj = pAttackerProp->dwSfxObj3; // gmpbigsun:특수공격에 이펙트가 있다면 3번사용.
if( dwSfxObj != NULL_ID )
CreateSfx( D3DDEVICE, dwSfxObj, pMover->GetPos() );
// attacker
dwSfxObj = pAttackerProp->dwSfxObj5;
if( NULL_ID != dwSfxObj )
CreateSfx( D3DDEVICE, dwSfxObj, pAttacker->GetPos() );
}
示例8: if
int CWndWorld::ControlFlying( DWORD dwMessage, CPoint point )
{
static float fTurnAngle = 0.0f;
static BOOL s_bTraceKeyed = 0, s_bSelectKeyed = 0, s_bTurbo2 = 0;
// static BOOL s_bFastTurn;
int nMsg = 0;
// BOOL bFlyKey;
BOOL bUp, bDown, bLeft, bRight;
BOOL bAcc = FALSE;
BOOL bTurbo;
// BOOL bFastTurn = FALSE;
BYTE nFrame = MAX_CORR_SIZE_150;
CMover* pMover = CMover::GetActiveMover();
bUp = g_bKeyTable[g_Neuz.Key.chUp];
bDown = g_bKeyTable['S'];
// 좌/우 회전
bLeft = g_bKeyTable[g_Neuz.Key.chLeft];
bRight = g_bKeyTable['D'];
// 급선회.
// bFastTurn = g_bKeyTable[ VK_SHIFT ];
// CMover* pMoverTarget = (CMover*)g_WorldMng.Get()->GetObjFocus() ;
// 가속 상태면 전진 명령 계속 보냄
bool fMoved = false;
bool fBehavior = false;
if( pMover->m_pActMover->IsStateFlag( OBJSTAF_ACC ) ) {
if( pMover->SendActMsg( OBJMSG_FORWARD ) == 1 ) {
fMoved = true;
}
}
else {
if( pMover->SendActMsg( OBJMSG_STAND ) == 1 ) {
fMoved = true;
}
}
//
bAcc = g_bKeyTable[VK_SPACE];
if( bAcc && !s_bAccKeyed ) // 키 누른순간에만 토글시킴.
{
if( pMover->m_pActMover->IsStateFlag( OBJSTAF_ACC ) ) // 가속중이었다면
{
pMover->SendActMsg( OBJMSG_ACC_STOP ); // 가속 멈춤
if( pMover->m_pActMover->IsActTurn() )
{
fMoved = true;
}
}
else
{
// 가속중이 아니었다면 가속 시킴.
if( pMover->SendActMsg( OBJMSG_ACC_START ) == 0 )
g_WndMng.PutString( prj.GetText( TID_GAME_AIRFUELEMPTY ) );
else
{
if( pMover->SendActMsg( OBJMSG_FORWARD ) == 1 )
fMoved = true;
}
}
}
s_bAccKeyed = bAcc;
bTurbo = g_bKeyTable[g_Neuz.Key.chWalk];
if( bTurbo && !s_bTurbo2 ) // 토글 방식.
{
if( pMover->m_pActMover->IsStateFlag( OBJSTAF_TURBO ) )
{
if( pMover->SendActMsg( OBJMSG_MODE_TURBO_OFF ) == 1 )
fMoved = true;
} else
{
if( pMover->SendActMsg( OBJMSG_MODE_TURBO_ON ) == 1 )
fMoved = true;
}
}
s_bTurbo2 = bTurbo;
if( pMover->m_pActMover->IsFly() )
{
if( g_bKeyTable[g_Neuz.Key.chTrace] && !s_bTraceKeyed )
{
CCtrl* pFocusObj = (CCtrl*)(pMover->GetWorld()->GetObjFocus());
if( pFocusObj && pFocusObj->GetType() == OT_MOVER )
{
CMover* pFocusMover = (CMover*)pFocusObj;
if( pMover->m_dwFlag & MVRF_TRACKING ) // 이미 실행중이면 해제.
{
pMover->m_dwFlag &= (~MVRF_TRACKING); // 추적모드해제.
pMover->m_idTracking = NULL_ID;
} else
{
// 비행중 추적모드.
pMover->m_dwFlag |= MVRF_TRACKING; // 추적모드.
pMover->m_idTracking = pFocusMover->GetId();
}
} else
//.........这里部分代码省略.........
示例9: _ProcessWall
// 싸이킥 월
void CCommonCtrl::_ProcessWall( void )
{
if( m_nCount == 0 )
{
#ifdef __CLIENT
m_pSfxModel = new CSfxModel;
m_pSfxModel2 = new CSfxModel;
m_pSfxModel->SetSfx( "sfx_sklpsypsychicwall02" );
m_pSfxModel2->SetSfx( "sfx_sklpsypsychicwall04" );
#endif
}
D3DXVECTOR3 vPos = GetPos();
#ifndef __CLIENT
CObj* pObj;
BOOL bApply;
#endif //__CLIENT
int nRange = 4;
// 일반적으로 fDepth가 가장 길기때문에 검사 영역은 fDepth로 했다.
float fDepth = 3;
if( fDepth <= 4.0f ) nRange = 4;
else if( fDepth <= 8.0f ) nRange = 8;
else if( fDepth <= 16.0f ) nRange = 16;
else nRange = 32;
#ifdef __WORLDSERVER
CMover *pAttacker = prj.GetMover( m_idAttacker );
if( IsInvalidObj( pAttacker ) ) // 일단 어태커가 사라지면 컨트롤도 사라지게 하자.
{
DestroyWall();
return;
}
int nMin = m_pAddSkillProp->dwAbilityMin + (pAttacker->GetLevel() + (pAttacker->GetInt() / 10) * (int)m_pAddSkillProp->dwSkillLvl);
int nMax = m_pAddSkillProp->dwAbilityMax + (pAttacker->GetLevel() + (pAttacker->GetInt() / 10) * (int)m_pAddSkillProp->dwSkillLvl);
int nDamage = xRandom( nMin, nMax );
#if __VER >= 9 // __SKILL_0706
int nMinPVP = m_pAddSkillProp->dwAbilityMinPVP + ( pAttacker->GetLevel() + ( pAttacker->GetInt() / 10 ) * (int)m_pAddSkillProp->dwSkillLvl );
int nMaxPVP = m_pAddSkillProp->dwAbilityMaxPVP + ( pAttacker->GetLevel() + ( pAttacker->GetInt() / 10 ) * (int)m_pAddSkillProp->dwSkillLvl );
int nDamagePVP = xRandom( nMinPVP, nMaxPVP );
#endif // __SKILL_0706
int nHitPoint = 0;
int nTargetHP = 0;
FOR_LINKMAP( GetWorld(), vPos, pObj, nRange, CObj::linkDynamic, GetLayer() )
{
bApply = FALSE;
if( pObj->GetType() == OT_MOVER ) // 대상이 무버일때만.
{
CMover *pTarget = (CMover *)pObj;
if( pTarget->IsPeaceful() == FALSE ) // NPC가 아닌경우만 적용
bApply = TRUE;
#if __VER >= 8 // #ifdef __JHMA_VER_8_5_1 // 8.5차 경비병 범위스킬 공격효과 불가로 수정 World
if( pAttacker->IsPlayer() && pAttacker->IsChaotic() == FALSE && pTarget->GetProp()->dwClass == RANK_GUARD )
bApply = FALSE;
#endif // #endif // __JHMA_VER_8_5_1 // 8.5차 경비병 범위스킬 공격효과 불가로 수정 World
if( bApply )
{
if( IsValidObj( pTarget ) && pTarget->IsLive() )
{
if( pObj->IsRangeObj( vPos, 1.0f ) )
{
if( IsValidObj(pAttacker) )
{
nTargetHP = pTarget->GetHitPoint();
nHitPoint = nTargetHP - nDamage;
if( nHitPoint > 0 )
{
pTarget->m_nHitPoint = nHitPoint;
g_UserMng.AddDamage( pTarget, pAttacker->GetId(), nDamage, AF_GENERIC );
}
else
{
pAttacker->SubExperience( pTarget ); // pTarget를 죽이고 난후의 m_pAttacker 경험치 처리.
pTarget->DropItemByDied( pAttacker ); // 몬스터였다면 아이템 드랍.
pAttacker->m_nAtkCnt = 0; // 타겟을 죽였으면 공격자의 어택카운트 클리어
pTarget->DoDie( pAttacker ); // pTarget 죽어라.
pTarget->m_nHitPoint = 0;
}
}
m_nLife ++; // 부딪힐때마다 카운트 올라감
if( m_nLife >= (int)(m_pAddSkillProp->dwSkillLvl / 2) )
DestroyWall();
// 뒤로 밀리기 처리.
#if __VER >= 10 // __AI_0711
if( pTarget->IsRank( RANK_MIDBOSS ) == FALSE )
#endif // __AI_0711
{
FLOAT fPushAngle = pTarget->GetAngle() + 180.0f;
FLOAT fPower = 0.825f;
AngleToVectorXZ( &pTarget->m_pActMover->m_vDeltaE, fPushAngle, fPower );
g_UserMng.AddPushPower( pTarget, pTarget->GetPos(), pTarget->GetAngle(), fPushAngle, fPower );
}
}
//.........这里部分代码省略.........
示例10: if
BOOL CAIMonster2::SelectTarget()
{
CMover *pMover = GetMover();
CWorld *pWorld = GetWorld();
int nAttackFirstRange = pMover->GetProp()->m_nAttackFirstRange;
FLOAT fRadius = pMover->GetRadiusXZ(); // this의 반지름
FLOAT fRadiusSq = fRadius * fRadius; // 반지름Sq버전.
CMover *pLastAttacker = prj.GetMover( m_idLastAttacker );
if( IsValidObj( pLastAttacker ) && pLastAttacker->IsDie() )
{
m_idLastAttacker = NULL_ID;
pLastAttacker = NULL;
}
if( pLastAttacker == NULL ) // LastAttacker가 없어졌으면 타겟 다시 잡을 수 있도록 하자.
{
m_idLastAttacker = NULL_ID;
}
else
{
D3DXVECTOR3 vDist = pLastAttacker->GetPos() - pMover->GetPos();
FLOAT fDistSq = D3DXVec3LengthSq( &vDist ); // 목표지점까지의 거리.
if( fDistSq >= fRadiusSq * 10.0f ) // 라스트어태커가 내 반지름의 10배이상 떨어져있으면
{
// 타겟 포기
m_idLastAttacker = NULL_ID;
pLastAttacker = NULL;
}
}
m_idTarget = NULL_ID;
m_vTarget.x = m_vTarget.y = m_vTarget.z = 0; // 일단 이건 안쓰는걸로 하자.
if( m_idLastAttacker == NULL_ID ) // 아직 날 때린쉐리가 없다.
{
CMover* pTarget = NULL;
pTarget = ScanTarget( pMover, nAttackFirstRange, JOB_ALL );
if( pTarget )
{
if( pMover->IsFlyingNPC() == pTarget->m_pActMover->IsFly() ) // 위상이 같으면 OK
m_idTarget = pTarget->GetId();
else
return FALSE;
}
else
return FALSE;
}
else
{
// 날 때린 쉐리가 있다.
DWORD dwNum = xRandom( 100 ); // 0 ~ 99까지으 난수.
DWORD dwAggroRate = 50;
if( IsValidObj( pLastAttacker ) )
{
if( pLastAttacker->GetJob() == JOB_MERCENARY ) // 마지막으로 날때린 쉐리가 머서면 어그로 좀더 주자.
dwAggroRate = 70;
}
if( dwNum < dwAggroRate )
{
// dwAggroRate% 확률로 마지막으로 날 때린넘 공격.
m_idTarget = m_idLastAttacker; // 날 공격한 쉐리를 타겟으로 지정하자.
}
else if( dwNum < 75 )
{
// 50미터 반경내에서 가장 쎈넘을 잡자.
CMover *pTarget = ScanTargetStrong( pMover, (float)( nAttackFirstRange ) );
if( pTarget )
{
// this가 비행형 몬스터거나 || 타겟이 비행중이 아닐때만 공격.
if( pMover->IsFlyingNPC() == pTarget->m_pActMover->IsFly() )
m_idTarget = pTarget->GetId();
else
m_idTarget = m_idLastAttacker; // 타겟이 공격하기가 여의치 않으면 마지막으로 때린쉐리 공격하자.
}
else
m_idTarget = m_idLastAttacker; // 타겟이 공격하기가 여의치 않으면 마지막으로 때린쉐리 공격하자.
}
else if( dwNum < 100 )
{
// 오버힐하는 어시를 죽이자.
CMover *pTarget = ScanTargetOverHealer( pMover, (float)( nAttackFirstRange ) );
if( pTarget )
{
// this가 비행형 몬스터거나 || 타겟이 비행중이 아닐때만 공격.
if( pMover->IsFlyingNPC() == pTarget->m_pActMover->IsFly() )
m_idTarget = pTarget->GetId();
else
m_idTarget = m_idLastAttacker; // 타겟이 공격하기가 여의치 않으면 마지막으로 때린쉐리 공격하자.
}
else
m_idTarget = m_idLastAttacker; // 타겟이 공격하기가 여의치 않으면 마지막으로 때린쉐리 공격하자.
}
}
return TRUE;
}
示例11: if
//.........这里部分代码省略.........
#ifdef __CLIENT
if( dwMsg == OBJMSG_MAGICSKILL && pMover->HasBuffByIk3( IK3_TEXT_DISGUISE ) )
nParam1 = MTI_ATK1;
#endif
pMover->SetMotion( nParam1, ANILOOP_1PLAY, MOP_SWDFORCE | MOP_NO_TRANS | MOP_FIXED ); // 해당 동작애니 시작.
pMover->OnAttackStart( pHitObj, dwMsg ); // 공격시작 핸들러.
m_nMotionHitCount = 0;
break;
}
//-------------------- 맞았다.
case OBJMSG_DAMAGE:
case OBJMSG_DAMAGE_FORCE: // 강공격에 맞았다. 날아감.
{
CMover* pAttacker = PreProcessDamage( pMover, (OBJID)nParam2, nParam4, nParam5 );
if( pAttacker == NULL )
return 0;
if( dwMsg == OBJMSG_DAMAGE_FORCE ) // 강공격으로 들어왔을때
if( pMover->CanFlyByAttack() == FALSE ) // 날아가지 못하는 상태면.
dwMsg = OBJMSG_DAMAGE; // 일반 데미지로 바꿈.
// 실제 가격한 데미지를 리턴함.
int nDamage = _ProcessMsgDmg( dwMsg, pAttacker, (DWORD)nParam1, nParam3, nParam4, nParam5 );
#if __VER >= 10 // __METEONYKER_0608
#ifdef __WORLDSERVER
#if __VER >= 12 // __NEW_ITEMCREATEMON_SERVER
if( pAttacker->IsPlayer() && CCreateMonster::GetInstance()->IsAttackAble( static_cast<CUser*>(pAttacker), pMover ) )
#endif // __NEW_ITEMCREATEMON_SERVER
#endif // __WORLDSERVER
pMover->PostAIMsg( AIMSG_DAMAGE, pAttacker->GetId(), nDamage );
#endif // __METEONYKER_0608
return nDamage;
}
break;
// HP가 0이 된 순간 호출
case OBJMSG_DIE:
{
if( IsSit() ) // 앉아있는상태였으면 해제
ResetState( OBJSTA_MOVE_ALL );
ClearState(); // 죽을땐 다른 동작 하고 있던거 다 클리어 시켜버리자.
m_vDelta.x = m_vDelta.z = 0; // 죽었으면 델타값 클리어.
pMover->RemoveInvisible();
#ifdef __WORLDSERVER
pMover->PostAIMsg( AIMSG_DIE, nParam2 );
#endif
CMover *pAttacker = (CMover *)nParam2;
if( pAttacker )
{
if( pMover->IsPlayer() && pAttacker->IsPlayer() ) // 죽은놈과 죽인놈이 플레이어고
{
#ifdef __WORLDSERVER
if( pMover->m_nDuel == 1 && pMover->m_idDuelOther == pAttacker->GetId() ) // 둘이 듀얼중이었으면
{
pMover->ClearDuel();
pAttacker->ClearDuel();
((CUser*)pMover)->AddSetDuel( pMover );
((CUser*)pAttacker)->AddSetDuel( pAttacker );
}
else if( pMover->m_nDuel == 2 && pMover->m_idDuelParty == pAttacker->m_idparty )