243 lines
8.7 KiB
C++
243 lines
8.7 KiB
C++
|
|
#include "StdAfx.h"
|
|||
|
|
#include "DnSkillPropComponent.h"
|
|||
|
|
#include "DnTableDB.h"
|
|||
|
|
#include "EtMatrixEx.h"
|
|||
|
|
#include "DnWorldProp.h"
|
|||
|
|
#include "DnProjectile.h"
|
|||
|
|
#include "DnMonsterActor.h"
|
|||
|
|
|
|||
|
|
|
|||
|
|
CDnSkillPropComponent::CDnSkillPropComponent(void)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
CDnSkillPropComponent::~CDnSkillPropComponent(void)
|
|||
|
|
{
|
|||
|
|
SAFE_RELEASE_SPTR( m_hSkill );
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
void CDnSkillPropComponent::Initialize( int iSkillID, int iSkillLevel )
|
|||
|
|
{
|
|||
|
|
if( iSkillID == 0 || iSkillLevel == 0 )
|
|||
|
|
return;
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>´<EFBFBD>.
|
|||
|
|
DNTableFileFormat* pSkillTable = GetDNTable( CDnTableDB::TSKILL );
|
|||
|
|
DNTableFileFormat* pSkillLevelTable = GetDNTable( CDnTableDB::TSKILLLEVEL );
|
|||
|
|
|
|||
|
|
vector<int> vlSkillLevelList;
|
|||
|
|
if( pSkillLevelTable->GetItemIDListFromField( "_SkillIndex", iSkillID, vlSkillLevelList ) <= 0 )
|
|||
|
|
{
|
|||
|
|
_ASSERT( !"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><>ų<EFBFBD><C5B3><EFBFBD><EFBFBD> <20><>ų <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD> <20><>ų <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̺<EFBFBD><CCBA><EFBFBD><EFBFBD><EFBFBD> ã<><C3A3> <20><> <20><><EFBFBD><EFBFBD>." );
|
|||
|
|
//return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
int iSkillLevelTableID = -1;
|
|||
|
|
for( int i = 0; i < (int)vlSkillLevelList.size(); ++i )
|
|||
|
|
{
|
|||
|
|
int iNowLevel = pSkillLevelTable->GetFieldFromLablePtr( vlSkillLevelList.at(i), "_SkillLevel" )->GetInteger();
|
|||
|
|
if( iNowLevel == iSkillLevel )
|
|||
|
|
{
|
|||
|
|
iSkillLevelTableID = vlSkillLevelList.at( i );
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
_ASSERT( -1 != iSkillLevelTableID && "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><>ų<EFBFBD><C5B3> <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>." );
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD> ȿ<><C8BF> <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD>
|
|||
|
|
CDnSkill::StateEffectStruct StateEffect;
|
|||
|
|
char caLable[ 64 ];
|
|||
|
|
ZeroMemory( caLable, sizeof(caLable) );
|
|||
|
|
for( int i = 0; i < CDnSkill::MAX_STATE_EFFECT_COUNT; ++i )
|
|||
|
|
{
|
|||
|
|
sprintf_s( caLable, "_EffectClass%d", i + 1 );
|
|||
|
|
StateEffect.nID = pSkillTable->GetFieldFromLablePtr( iSkillID, caLable )->GetInteger();
|
|||
|
|
|
|||
|
|
if( StateEffect.nID < 1 )
|
|||
|
|
continue;
|
|||
|
|
|
|||
|
|
sprintf_s( caLable, "_EffectClass%dApplyType", i + 1 );
|
|||
|
|
StateEffect.ApplyType = (CDnSkill::StateEffectApplyType)pSkillTable->GetFieldFromLablePtr( iSkillID, caLable )->GetInteger();
|
|||
|
|
|
|||
|
|
sprintf_s( caLable, "_EffectClassValue%d", i + 1 );
|
|||
|
|
StateEffect.szValue = pSkillLevelTable->GetFieldFromLablePtr( iSkillLevelTableID, caLable )->GetString();
|
|||
|
|
|
|||
|
|
sprintf_s( caLable, "_EffectClassValue%dDuration", i + 1 );
|
|||
|
|
StateEffect.nDurationTime = pSkillLevelTable->GetFieldFromLablePtr( iSkillLevelTableID, caLable )->GetInteger();
|
|||
|
|
|
|||
|
|
m_vlStateEffectList.push_back( StateEffect );
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
m_SkillInfo.iSkillID = iSkillID;
|
|||
|
|
m_SkillInfo.iSkillLevelID = iSkillLevelTableID;
|
|||
|
|
m_SkillInfo.iLevel = iSkillLevel;
|
|||
|
|
m_SkillInfo.eDurationType = (CDnSkill::DurationTypeEnum)pSkillTable->GetFieldFromLablePtr( iSkillID, "_DurationType" )->GetInteger();
|
|||
|
|
m_SkillInfo.eTargetType = (CDnSkill::TargetTypeEnum)pSkillTable->GetFieldFromLablePtr( iSkillID, "_TargetType" )->GetInteger();
|
|||
|
|
m_SkillInfo.iSkillDuplicateMethod = pSkillTable->GetFieldFromLablePtr( iSkillID, "_SkillDuplicate" )->GetInteger();
|
|||
|
|
m_SkillInfo.iDuplicateCount = pSkillTable->GetFieldFromLablePtr( iSkillID, "_EffectAmassCount" )->GetInteger();
|
|||
|
|
m_SkillInfo.iDissolvable = pSkillTable->GetFieldFromLablePtr( iSkillID, "_Dissolvable" )->GetInteger();
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̹Ƿ<CCB9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ե<EFBFBD> <20><>ų<EFBFBD>̶<EFBFBD><CCB6><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
|||
|
|
m_SkillInfo.bFromBuffProp = true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
void CDnSkillPropComponent::OnSignal( DnActorHandle hActor, DnPropHandle hProp, SignalTypeEnum Type, void *pPtr, LOCAL_TIME LocalTime,
|
|||
|
|
LOCAL_TIME SignalStartTime, LOCAL_TIME SignalEndTime, int nSignalIndex )
|
|||
|
|
{
|
|||
|
|
switch( Type )
|
|||
|
|
{
|
|||
|
|
case STE_Projectile:
|
|||
|
|
{
|
|||
|
|
ProjectileStruct *pStruct = (ProjectileStruct *)pPtr;
|
|||
|
|
|
|||
|
|
MatrixEx LocalCross = *hProp->GetMatEx();
|
|||
|
|
CDnProjectile *pProjectile = CDnProjectile::CreateProjectile( hProp->GetRoom(), hActor, LocalCross, pStruct );
|
|||
|
|
if( pProjectile == NULL ) break;
|
|||
|
|
|
|||
|
|
pProjectile->SetShooterProp( hProp );
|
|||
|
|
|
|||
|
|
if( m_SkillInfo.iSkillID != 0 )
|
|||
|
|
{
|
|||
|
|
int iNumStateEffect = (int)m_vlStateEffectList.size();
|
|||
|
|
for( int iStateEffect = 0; iStateEffect < iNumStateEffect; ++iStateEffect )
|
|||
|
|
pProjectile->AddStateEffect( m_vlStateEffectList.at(iStateEffect) );
|
|||
|
|
|
|||
|
|
if( !m_hSkill )
|
|||
|
|
m_hSkill = CDnSkill::CreateSkill( hActor, m_SkillInfo.iSkillID, m_SkillInfo.iLevel );
|
|||
|
|
|
|||
|
|
pProjectile->SetParentSkill( m_hSkill );
|
|||
|
|
pProjectile->SetParentSkillInfo( m_SkillInfo );
|
|||
|
|
|
|||
|
|
//bool bActorAttachWeapon = false;
|
|||
|
|
//if( pStruct->nWeaponTableID == 0 && GetWeapon(1) ) bActorAttachWeapon = true;
|
|||
|
|
|
|||
|
|
//OnProjectile( pProjectile, bActorAttachWeapon );
|
|||
|
|
//OnSkillProjectile( pProjectile );
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
break;
|
|||
|
|
|
|||
|
|
default:
|
|||
|
|
hActor->OnSignal( Type, pPtr, LocalTime, SignalStartTime, SignalEndTime, nSignalIndex );
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#ifdef PRE_ADD_HIT_PROP_ADD_SE
|
|||
|
|
//void CDnSkillPropComponent::ApplyStateBlowsToTheseTargets( DnActorHandle hPropActor, DNVector(DnActorHandle)& vlhActors )
|
|||
|
|
void CDnSkillPropComponent::ApplyStateBlowsToTheseTargets( DnActorHandle hPropActor, DNVector(DnActorHandle)& vlhActors, HitStruct * pStruct )
|
|||
|
|
{
|
|||
|
|
if( !m_hSkill )
|
|||
|
|
m_hSkill = CDnSkill::CreateSkill( hPropActor, m_SkillInfo.iSkillID, m_SkillInfo.iLevel );
|
|||
|
|
|
|||
|
|
if( !m_hSkill )
|
|||
|
|
return;
|
|||
|
|
|
|||
|
|
int iNumActorApplyStateEffect = (int)vlhActors.size();
|
|||
|
|
for( int i = 0; i < iNumActorApplyStateEffect; ++i )
|
|||
|
|
{
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><CFB6><EFBFBD> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
if (vlhActors[ i ]->IsAppliedThisStateBlow(STATE_BLOW::BLOW_149))
|
|||
|
|
continue;
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ʈ <20>ñ׳<C3B1><D7B3><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
// <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD> <20>־<EFBFBD><D6BE>ֵ<EFBFBD><D6B5><EFBFBD> ó<><C3B3><EFBFBD>Ѵ<EFBFBD>.
|
|||
|
|
// <20><><EFBFBD>߿<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD> <20>÷<EFBFBD><C3B7>̾<EFBFBD>ó<EFBFBD><C3B3> <20><>ų <20><>ø ó<><C3B3> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>䱸<EFBFBD>Ǹ<EFBFBD>
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> hit signal ó<><C3B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>.
|
|||
|
|
|
|||
|
|
//// <20><>ų <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ʊ<EFBFBD><C6B1>ΰ<EFBFBD> Ÿ<><C5B8><EFBFBD>ΰ<EFBFBD><CEB0><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
|||
|
|
//switch( m_hSkill->GetTargetType() )
|
|||
|
|
//{
|
|||
|
|
// case CDnSkill::Enemy:
|
|||
|
|
// case CDnSkill::Self:
|
|||
|
|
// if( hPropActor->GetTeam() == vlhActors[ i ]->GetTeam() )
|
|||
|
|
// continue;
|
|||
|
|
// break;
|
|||
|
|
|
|||
|
|
// case CDnSkill::Friend:
|
|||
|
|
// case CDnSkill::Party:
|
|||
|
|
// if( hPropActor->GetTeam() != vlhActors[ i ]->GetTeam() )
|
|||
|
|
// continue;
|
|||
|
|
// break;
|
|||
|
|
|
|||
|
|
// // <20><>ų <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ʊ<EFBFBD>/<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF> <20><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>θ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>Ѵ<EFBFBD>.
|
|||
|
|
// case CDnSkill::All:
|
|||
|
|
// break;
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
// // <20><><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> Add <20>ÿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD> ó<><C3B3> <20>ʿ<EFBFBD>.
|
|||
|
|
// // <20>ش<EFBFBD> Actor<6F><72> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF> <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>쿡 <20><><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> <20>߰<EFBFBD> <20><>Ŵ.
|
|||
|
|
// map<int, bool> mapDuplicateResult;
|
|||
|
|
// CDnSkill::CanApply eResult = CDnSkill::CanApplySkillStateEffect( vlhActors[i], m_hSkill, mapDuplicateResult );
|
|||
|
|
// if( CDnSkill::CanApply::Fail != eResult )
|
|||
|
|
// {
|
|||
|
|
for( DWORD k = 0; k < m_hSkill->GetStateEffectCount(); k++ )
|
|||
|
|
{
|
|||
|
|
CDnSkill::StateEffectStruct *pLocalStruct = m_hSkill->GetStateEffectFromIndex(k);
|
|||
|
|
//
|
|||
|
|
//#if defined(PRE_ADD_SKIP_STATEBLOW)
|
|||
|
|
// #74389 [<5B><><EFBFBD><EFBFBD>Ʈ <20>巡<EFBFBD><E5B7A1>] HitStateEffect <20>Ӽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
|||
|
|
if( pStruct && pStruct->szSkipStateBlows && CDnSkill::IsSkipStateBlow(pStruct->szSkipStateBlows, (STATE_BLOW::emBLOW_INDEX)pLocalStruct->nID) )
|
|||
|
|
continue;
|
|||
|
|
//#endif // PRE_ADD_SKIP_STATEBLOW
|
|||
|
|
//
|
|||
|
|
// // <20>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><>ų<EFBFBD><C5B3> <20><><EFBFBD>쿣 Self <20><><EFBFBD><EFBFBD> Target <20><> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE>ִ<EFBFBD>.
|
|||
|
|
// // Self <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD> <20>ڽſ<DABD><C5BF><EFBFBD> <20>̹<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD> <20><><EFBFBD><EFBFBD> Hit <20>ñ׳<C3B1> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD>̱<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Target <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>.
|
|||
|
|
// switch( pLocalStruct->ApplyType )
|
|||
|
|
// {
|
|||
|
|
// case CDnSkill::ApplySelf:
|
|||
|
|
// continue;
|
|||
|
|
// break;
|
|||
|
|
//
|
|||
|
|
// case CDnSkill::ApplyTarget:
|
|||
|
|
// break;
|
|||
|
|
//
|
|||
|
|
// case CDnSkill::ApplyEnemy:
|
|||
|
|
// if( hPropActor->GetTeam() == vlhActors[ i ]->GetTeam() )
|
|||
|
|
// continue;
|
|||
|
|
// break;
|
|||
|
|
//
|
|||
|
|
// case CDnSkill::ApplyFriend:
|
|||
|
|
// if( hPropActor->GetTeam() != vlhActors[ i ]->GetTeam() )
|
|||
|
|
// continue;
|
|||
|
|
// break;
|
|||
|
|
// }
|
|||
|
|
//
|
|||
|
|
// // <20><><EFBFBD><EFBFBD> <20><>ų <20><>ø<EFBFBD><C3B8> <20><><EFBFBD>쿣 <20><>ų ȿ<><C8BF> <20>߿<EFBFBD> Ȯ<><C8AE> üũ<C3BC>ϴ<EFBFBD> <20>͵<EFBFBD><CDB5><EFBFBD> <20>̹<EFBFBD> CanApplySkillStateEffect <20><><EFBFBD><EFBFBD> Ȯ<><C8AE>üũ<C3BC>ǰ<EFBFBD>
|
|||
|
|
// // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̴<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⼱ Ȯ<><C8AE> üũ <20>Ȱ<EFBFBD><C8B0><EFBFBD> Ȯ<><C8AE><EFBFBD>ϰ<EFBFBD> <20>ȰŶ<C8B0><C5B6><EFBFBD> <20>ٽ<EFBFBD> Ȯ<><C8AE> üũ <20><><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD> <20>Լ<EFBFBD> ȣ<><C8A3> <20><><EFBFBD>ش<EFBFBD>.
|
|||
|
|
// bool bAllowAddThisSE = true;
|
|||
|
|
// bool bCheckCanBegin = true;
|
|||
|
|
// if( CDnSkill::ApplyDuplicateSameSkill == eResult )
|
|||
|
|
// {
|
|||
|
|
// map<int, bool>::iterator iter = mapDuplicateResult.find( pLocalStruct->nID );
|
|||
|
|
// // <20>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ͱ<EFBFBD> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD> <20>ɷ<EFBFBD><C9B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD> <20>׳<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF> <20>߰<EFBFBD> <20><>ƾ <20><><EFBFBD><EFBFBD>.
|
|||
|
|
// if( mapDuplicateResult.end() != iter )
|
|||
|
|
// {
|
|||
|
|
// // <20><><EFBFBD><EFBFBD> <20><>ų<EFBFBD><C5B3> Ȯ<><C8AE><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ɷ<EFBFBD><C9B7>־ CanAdd <20><> ȣ<><C8A3><EFBFBD>غ<EFBFBD><D8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
|
// // <20>̷<EFBFBD> <20><><EFBFBD>쿣 <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF> <20>߰<EFBFBD><DFB0><EFBFBD><EFBFBD><EFBFBD> <20>ʴ´<CAB4>.
|
|||
|
|
// if( false == (iter->second) )
|
|||
|
|
// bAllowAddThisSE = false;
|
|||
|
|
// else
|
|||
|
|
// // <20>̹<EFBFBD> CanAdd <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̹Ƿ<CCB9> CmdAddStateEffect ȣ<><C8A3> <20><> <20><><EFBFBD><EFBFBD> üũ<C3BC><C5A9><EFBFBD><EFBFBD> <20>ʵ<EFBFBD><CAB5><EFBFBD> <20><><EFBFBD>ش<EFBFBD>.
|
|||
|
|
// bCheckCanBegin = false;
|
|||
|
|
// }
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
//if( bAllowAddThisSE )
|
|||
|
|
//{
|
|||
|
|
//// <20><><EFBFBD>⼭ <20><><EFBFBD>ϵǾ<CFB5> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD> <20><><EFBFBD>ش<EFBFBD>. [2010/12/08 semozz]
|
|||
|
|
//vlhActors[i]->RemoveResetStateBlow();
|
|||
|
|
|
|||
|
|
vlhActors[i]->CmdAddStateEffect( m_hSkill->GetInfo(), (STATE_BLOW::emBLOW_INDEX)pLocalStruct->nID,
|
|||
|
|
pLocalStruct->nDurationTime, pLocalStruct->szValue.c_str()/*, false, bCheckCanBegin*/ );
|
|||
|
|
//}
|
|||
|
|
}
|
|||
|
|
//}
|
|||
|
|
// <20><>ų <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>¸<EFBFBD><C2B8><EFBFBD>Ʈ <20>ʱ<EFBFBD>ȭ [2010/12/09 semozz]
|
|||
|
|
//vlhActors[i]->InitStateBlowIDToRemove();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
#endif // #ifdef PRE_ADD_HIT_PROP_ADD_SE
|