[8015] More dislpay id selection fixes...

* Allow have only A2 or H2 display ids for less strincted DB field data.
* Check model data existance for all provided display ids atserver startup.
* Avoid explicit access to creature info display fields but use display selection functions.
* Rename GetTaxiMount to more clear for returned value GetTaxiMountDisplayId.
* Check display ids in `creature_model_info` at server load.
This commit is contained in:
VladimirMangos 2009-06-14 21:06:41 +04:00
parent a1b941b059
commit 08fe4933c5
14 changed files with 169 additions and 122 deletions

View file

@ -752,7 +752,7 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder * holder)
{
sLog.outDebug( "WORLD: Restart character %u taxi flight", pCurrChar->GetGUIDLow() );
uint32 MountId = objmgr.GetTaxiMount(sourceNode, pCurrChar->GetTeam(),true);
uint32 mountDisplayId = objmgr.GetTaxiMountDisplayId(sourceNode, pCurrChar->GetTeam(),true);
uint32 path = pCurrChar->m_taxi.GetCurrentTaxiPath();
// search appropriate start path node
@ -794,7 +794,7 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder * holder)
}
}
SendDoFlight( MountId, path, startNode );
SendDoFlight( mountDisplayId, path, startNode );
}
// Load pet if any (if player not alive and in taxi flight or another then pet will remember as temporary unsummoned)