First things first. It is not possible, even with the latest core of MaNGOS to be able to use the current Outland flying mounts in Azeroth. You can however make your own mount, or edit an existing one that will. Also the mounts can not be summoned like a traditional mount, they have to be equipped like an item. The best way I've found is to make it a trinket.
That's the purpose of this guide, to show you how to add the custom Azeroth-capable mount to your server and what needs to be edited in the MaNGOS source code to make the custom Azeroth-capable mount work.
Okay so MaNGOS first. All these steps are the same for all the latest MaNGOS cores so unless you havn't updated it in a long time (4-5 months) these are the changes you need to make:
Go to Player.cpp and find the following segment of code:
Code:
// remove new continent flight forms
if( !isGameMaster() &&
GetVirtualMapForMapAndZone(GetMapId(),newZone) != 530)
{
RemoveSpellsCausingAura(SPELL_AURA_MOD_SPEED_MOUNTED_FLIGHT);
RemoveSpellsCausingAura(SPELL_AURA_FLY);
}
change it like so:
Code:
// remove new continent flight forms
// if( !isGameMaster() &&
// GetVirtualMapForMapAndZone(GetMapId(),newZone) != 530)
// {
// RemoveSpellsCausingAura(SPELL_AURA_MOD_SPEED_MOUNTED_FLIGHT);
// RemoveSpellsCausingAura(SPELL_AURA_FLY);
// }
Now go to Spell.cpp and look for this segment of code:
Code:
case SPELL_AURA_FLY:
{
// not allow cast fly spells at old maps by players (all spells is self target)
if(m_caster->GetTypeId()==TYPEID_PLAYER)
{
if( !((Player*)m_caster)->isGameMaster() &&
GetVirtualMapForMapAndZone(m_caster->GetMapId(),m_caster->GetZoneId()) != 530)
return SPELL_FAILED_NOT_HERE;
}
};break;
default:break;
and change it like so:
Code:
case SPELL_AURA_FLY:
//{
// not allow cast fly spells at old maps by players (all spells is self target)
// if(m_caster->GetTypeId()==TYPEID_PLAYER)
// {
// if( !((Player*)m_caster)->isGameMaster() &&
// GetVirtualMapForMapAndZone(m_caster->GetMapId(),m_caster->GetZoneId()) != 530)
// return SPELL_FAILED_NOT_HERE;
// }
//};break;
default:break;
Now the only thing to do is either edit an existing mount so the players can use it in a trinket spot or add your own. Keep in mind if you add your own it will show up in the players backpack as a question mark due to changes Blizzard made to the client in 2.4.
To edit an existing mount make the following changes to the item in the item_template table. To find the item id for the mount you are changing either look the mount up in-game on a gm account (.lookup item) or look it up on thottbot whichever you prefer.
Class = 4
Flags = 64
Inventory = 12 (so it will be equippable in the trinket slot)
RequiredSkill = 0 (so players don't have to have the riding skill to use it)
RequiredSkillRank = 0 (so players don't have to have a certain rank of riding skill to use it)
spelltrigger_1 = 1 (make the mount active on equip)
spellcategory_1 = 0
spellcategorycooldown_1 = -1
Or you can add a new item to the item_template file just take an existing mount, and add it as a new item then make the changes above. Or you can go here ( hxxp://filebeam.com/506f5d57f390c803ce9d764c09529bbf ) and download the .sql file where I've done that for you; just run the query inside the file. It will add the new mount with item id 99999.
I've also gone ahead and compiled the latest MaNGOS core with the source code revisions already in them. You can find that here hxxp://filebeam.com/e09c94ccf71d29deaf80ddd43d88e491
I would personally recommend that you only give this item out to players who deserve it. Due to the nature of the mount being equippable the movement speed increase will stack with normal mounts. Also since Blizzard has not redone the Azeroth maps you'll find that if you go too high in a city for example the textures will disappear.
If there are any questions or problems I will do my best to address them in a timely manner. Enjoy!