[7797] Use DBC data for mount model selection in more cases.

* Use alt.team mount data for take player team model id if DB not provide own team creature id in spell taxi call case.
* Remove unddeded hacks for model ids from Spell::EffectSendTaxi
* Provide spell target for SPELL_EFFECT_SEND_TAXI for spell with target mode 0 for this effect.
This commit is contained in:
VladimirMangos 2009-05-07 22:34:21 +04:00
parent a587590ab5
commit 3989212ad1
7 changed files with 16 additions and 33 deletions

View file

@ -4639,7 +4639,7 @@ void ObjectMgr::GetTaxiPath( uint32 source, uint32 destination, uint32 &path, ui
path = dest_i->second.ID;
}
uint16 ObjectMgr::GetTaxiMount( uint32 id, uint32 team )
uint16 ObjectMgr::GetTaxiMount( uint32 id, uint32 team, bool allowed_alt_team /* = false */)
{
uint16 mount_entry = 0;
uint16 mount_id = 0;
@ -4650,6 +4650,9 @@ uint16 ObjectMgr::GetTaxiMount( uint32 id, uint32 team )
if (team == ALLIANCE)
{
mount_entry = node->MountCreatureID[1];
if(!mount_entry && allowed_alt_team)
mount_entry = node->MountCreatureID[0];
CreatureInfo const *ci = GetCreatureTemplate(mount_entry);
if(ci)
mount_id = ci->DisplayID_A;
@ -4657,6 +4660,10 @@ uint16 ObjectMgr::GetTaxiMount( uint32 id, uint32 team )
if (team == HORDE)
{
mount_entry = node->MountCreatureID[0];
if(!mount_entry && allowed_alt_team)
mount_entry = node->MountCreatureID[1];
CreatureInfo const *ci = GetCreatureTemplate(mount_entry);
if(ci)
mount_id = ci->DisplayID_H;