*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

View File

@@ -814,9 +814,8 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder * holder)
SendDoFlight( MountId, path, startNode );
}
// Load pet if any and player is alive and not in taxi flight
if(pCurrChar->isAlive() && pCurrChar->m_taxi.GetTaxiSource()==0)
pCurrChar->LoadPet();
// Load pet if any (if player not alive and in taxi flight or another then pet will remember as temporary unsummoned)
pCurrChar->LoadPet();
// Set FFA PvP for non GM in non-rest mode
if(sWorld.IsFFAPvPRealm() && !pCurrChar->isGameMaster() && !pCurrChar->HasFlag(PLAYER_FLAGS,PLAYER_FLAGS_RESTING) )