diff options
| author | jackpoz <giacomopoz@gmail.com> | 2019-09-01 19:05:29 +0200 |
|---|---|---|
| committer | jackpoz <giacomopoz@gmail.com> | 2019-09-01 19:05:29 +0200 |
| commit | 4074cb0f01d106c69546c3cb944d6fcf92ade456 (patch) | |
| tree | 7778679cc29f8c7e6c2b3d583cf74b66d0ec3e82 /src | |
| parent | dab66cb8d0e94433f5e63b42fca3105a1a3af2d4 (diff) | |
Core/Creature: Fix another pet assert
Fix an assert triggered when dismissing a Warlock pet while it's casting a spell
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Handlers/PetHandler.cpp | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 5aef93cf67c..1dce8415082 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -3158,7 +3158,11 @@ void Creature::ReleaseSpellFocus(Spell const* focusSpell, bool withDelay) void Creature::ReacquireSpellFocusTarget() { - ASSERT(HasSpellFocus()); + if (!HasSpellFocus()) + { + TC_LOG_ERROR("entities.unit", "Creature::ReacquireSpellFocusTarget() being called with HasSpellFocus() returning false. %s", GetDebugInfo().c_str()); + return; + } SetGuidValue(UNIT_FIELD_TARGET, _spellFocusInfo.Target); diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp index c2cf331e4af..b10ebe22ce4 100644 --- a/src/server/game/Handlers/PetHandler.cpp +++ b/src/server/game/Handlers/PetHandler.cpp @@ -255,8 +255,7 @@ void WorldSession::HandlePetActionHelper(Unit* pet, ObjectGuid guid1, uint32 spe if (((Pet*)pet)->getPetType() == HUNTER_PET) GetPlayer()->RemovePet((Pet*)pet, PET_SAVE_AS_DELETED); else - // dismissing a summoned pet is like killing them (this prevents returning a soulshard...) - pet->setDeathState(CORPSE); + GetPlayer()->RemovePet((Pet*)pet, PET_SAVE_NOT_IN_SLOT); } else if (pet->HasUnitTypeMask(UNIT_MASK_MINION)) { |
