- Timestamp:
- 11/19/08 13:45:31 (17 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/game/Spell.cpp
r196 r197 2730 2730 // Clear combo at finish state 2731 2731 if(m_caster->GetTypeId() == TYPEID_PLAYER && NeedsComboPoints(m_spellInfo)) 2732 ((Player*)m_caster)->ClearComboPoints(); 2732 { 2733 // Not drop combopoints if any miss exist 2734 bool needDrop = true; 2735 for(std::list<TargetInfo>::iterator ihit= m_UniqueTargetInfo.begin();ihit != m_UniqueTargetInfo.end();++ihit) 2736 if (ihit->missCondition != SPELL_MISS_NONE) 2737 { 2738 needDrop = false; 2739 break; 2740 } 2741 if (needDrop) 2742 ((Player*)m_caster)->ClearComboPoints(); 2743 } 2733 2744 2734 2745 // call triggered spell only at successful cast (after clear combo points -> for add some if need) … … 3412 3423 return SPELL_FAILED_BAD_TARGETS; 3413 3424 3414 if( VMAP::VMapFactory::checkSpellForLoS(m_spellInfo->Id) && !m_caster->IsWithinLOSInMap(target))3425 if(!m_IsTriggeredSpell && VMAP::VMapFactory::checkSpellForLoS(m_spellInfo->Id) && !m_caster->IsWithinLOSInMap(target)) 3415 3426 return SPELL_FAILED_LINE_OF_SIGHT; 3416 3427