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; }