Changeset 233 for trunk/src/game/SpellHandler.cpp
- Timestamp:
- 11/19/08 13:49:07 (17 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/game/SpellHandler.cpp
r207 r233 353 353 return; 354 354 355 // Remove possess/charm aura from the possessed/charmed as well355 // Remove possess/charm/sight aura from the possessed/charmed as well 356 356 // TODO: Remove this once the ability to cancel aura sets at once is implemented 357 if(_player->GetCharm() )357 if(_player->GetCharm() || _player->GetFarsightTarget()) 358 358 { 359 359 for (int i = 0; i < 3; ++i) … … 361 361 if (spellInfo->EffectApplyAuraName[i] == SPELL_AURA_MOD_POSSESS || 362 362 spellInfo->EffectApplyAuraName[i] == SPELL_AURA_MOD_POSSESS_PET || 363 spellInfo->EffectApplyAuraName[i] == SPELL_AURA_MOD_CHARM) 363 spellInfo->EffectApplyAuraName[i] == SPELL_AURA_MOD_CHARM || 364 spellInfo->EffectApplyAuraName[i] == SPELL_AURA_BIND_SIGHT) 364 365 { 365 366 _player->RemoveAurasDueToSpellByCancel(spellId); 366 _player->GetCharm()->RemoveAurasDueToSpellByCancel(spellId); 367 if (_player->GetCharm()) 368 _player->GetCharm()->RemoveAurasDueToSpellByCancel(spellId); 369 else if (_player->GetFarsightTarget()->GetTypeId() != TYPEID_DYNAMICOBJECT) 370 ((Unit*)_player->GetFarsightTarget())->RemoveAurasDueToSpellByCancel(spellId); 367 371 return; 368 372 } … … 465 469 466 470 Creature* totem = ObjectAccessor::GetCreature(*_player,_player->m_TotemSlot[slotId]); 467 if(totem && totem->isTotem()) 471 // Don't unsummon sentry totem 472 if(totem && totem->isTotem() && totem->GetEntry() != SENTRY_TOTEM_ENTRY) 468 473 ((Totem*)totem)->UnSummon(); 469 474 }