diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp | 4 | ||||
| -rw-r--r-- | src/game/Spell.cpp | 3 | ||||
| -rw-r--r-- | src/game/Unit.cpp | 2 | 
3 files changed, 5 insertions, 4 deletions
| diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp index 356fd85ef68..461f41de6eb 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp @@ -116,7 +116,7 @@ struct TRINITY_DLL_DECL boss_twinemperorsAI : public ScriptedAI              if (ohealth <= 0)              {                  pOtherBoss->setDeathState(JUST_DIED); -                pOtherBoss->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); +                pOtherBoss->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);              }          }      } @@ -128,7 +128,7 @@ struct TRINITY_DLL_DECL boss_twinemperorsAI : public ScriptedAI          {              pOtherBoss->SetHealth(0);              pOtherBoss->setDeathState(JUST_DIED); -            pOtherBoss->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); +            pOtherBoss->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);              ((boss_twinemperorsAI *)pOtherBoss->AI())->DontYellWhenDead = true;          }          if (!DontYellWhenDead)                              // I hope AI is not threaded diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 9513149be89..539a5480aeb 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -2090,7 +2090,8 @@ void Spell::prepare(SpellCastTargets * targets, Aura* triggeredByAura)      // set timer base at cast time      ReSetTimer(); -    if(m_IsTriggeredSpell || !m_casttime && !m_spellInfo->StartRecoveryTime && GetCurrentContainer() == CURRENT_GENERIC_SPELL) +    //item: first cast may destroy item and second cast causes crash +    if(m_IsTriggeredSpell || !m_casttime && !m_spellInfo->StartRecoveryTime && !m_castItemGUID && GetCurrentContainer() == CURRENT_GENERIC_SPELL)          cast(true);      else      { diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index fc76eadfe45..85f13097a14 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -641,7 +641,7 @@ uint32 Unit::DealDamage(Unit *pVictim, uint32 damage, CleanDamage const* cleanDa                  CreatureInfo const* cInfo = ((Creature*)pVictim)->GetCreatureInfo();                  if(cInfo && cInfo->lootid) -                    pVictim->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); +                    pVictim->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);                  // some critters required for quests                  if(GetTypeId() == TYPEID_PLAYER) | 
