*Note: this patch may do not have any use for TC.

[7645] Fixed problems wit temporary unsummoned pets and cleanup code. Author: VladimirMangos

    * Save temporary unsummoned pet to current slot (instead non_in_slot mode) and
      prevent save as current pet summoned while temporay unsummon (arena)
    * Prevent overwrite temporary summoned pet data
    * At player loading set temporary unsummoned pet data instead pet loading
      if pet expected to be temporary unsummoned in current player state (loading in taxi flight/etc)
    * Restore proper pet at arena leave and unsummon in arena summoned.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-04-11 14:47:38 -05:00
parent f4d69d1b3b
commit 3120221deb
8 changed files with 103 additions and 94 deletions
+3 -2
View File
@@ -1998,8 +1998,9 @@ class TRINITY_DLL_SPEC Player : public Unit
// Temporarily removed pet cache
uint32 GetTemporaryUnsummonedPetNumber() const { return m_temporaryUnsummonedPetNumber; }
void SetTemporaryUnsummonedPetNumber(uint32 petnumber) { m_temporaryUnsummonedPetNumber = petnumber; }
uint32 GetOldPetSpell() const { return m_oldpetspell; }
void SetOldPetSpell(uint32 petspell) { m_oldpetspell = petspell; }
void UnsummonPetTemporaryIfAny();
void ResummonPetTemporaryUnSummonedIfAny();
bool IsPetNeedBeTemporaryUnsummoned() const { return !IsInWorld() || !isAlive() || IsMounted() /*+in flight*/; }
void SendCinematicStart(uint32 CinematicSequenceId);
void SendMovieStart(uint32 MovieId);