INT	CActionItem_Skill::GetCooldownTime()
{
	SCLIENT_SKILL* pSkill = const_cast<SCLIENT_SKILL*>(GetSkillImpl());

	if( pSkill )
	{
		if( m_nCooldownTime.size() == 0 )
		{
			SplitStringLevelOne pSplitL1;
			pSplitL1.Reset();
			pSplitL1.Init( '|', NULL );
			pSplitL1.DoSplit( pSkill->GetSkillData()->m_lpsznCoolDownTime);
			INT iLineCount	= pSplitL1.GetResultLineCount();

			m_nCooldownTime.resize(iLineCount+1);

			for( INT nID = 0; nID< iLineCount; ++nID )
			{
				m_nCooldownTime[nID] = atoi( pSplitL1.GetResultLine(nID) );
			}
		}

		if(pSkill->m_nLevel >0 && m_nCooldownTime.size() >= pSkill->m_nLevel)
		{
			return m_nCooldownTime[pSkill->m_nLevel-1];
		}
		if (pSkill->m_nLevel == 0)
		{
			return m_nCooldownTime[0];
		}
	}
	return 0;
}