diff options
Diffstat (limited to 'src/game')
| -rw-r--r-- | src/game/CreatureAI.cpp | 3 | ||||
| -rw-r--r-- | src/game/ObjectMgr.cpp | 9 | ||||
| -rw-r--r-- | src/game/Player.cpp | 7 |
3 files changed, 17 insertions, 2 deletions
diff --git a/src/game/CreatureAI.cpp b/src/game/CreatureAI.cpp index a3a903c23a6..afa34c1d3e0 100644 --- a/src/game/CreatureAI.cpp +++ b/src/game/CreatureAI.cpp @@ -93,12 +93,13 @@ void CreatureAI::DoZoneInCombat(Creature* creature) creature->AddThreat(pPlayer, 0.0f); } + /* Causes certain things to never leave the threat list (Priest Lightwell, etc): for(Unit::ControlList::const_iterator itr = pPlayer->m_Controlled.begin(); itr != pPlayer->m_Controlled.end(); ++itr) { creature->SetInCombatWith(*itr); (*itr)->SetInCombatWith(creature); creature->AddThreat(*itr, 0.0f); - } + }*/ } } } diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp index 73a85e55a41..588722213cb 100644 --- a/src/game/ObjectMgr.cpp +++ b/src/game/ObjectMgr.cpp @@ -5284,6 +5284,15 @@ uint32 ObjectMgr::GetTaxiMountDisplayId( uint32 id, uint32 team, bool allowed_al else mount_entry = node->MountCreatureID[0]; + // Fix for Alliance not being able to use Acherus taxi + // only one mount type for both sides + if (mount_entry == 0 && allowed_alt_team) + { + // Simply reverse the selection. At least one team in theory should + // have a valid mount ID to choose + mount_entry = (team == ALLIANCE) ? node->MountCreatureID[0] : node->MountCreatureID[1]; + } + CreatureInfo const *mount_info = GetCreatureTemplate(mount_entry); if (mount_info) { diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 7d7f9427f9e..603cf24319f 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -17965,7 +17965,12 @@ bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc } // get mount model (in case non taximaster (npc==NULL) allow more wide lookup) - uint32 mount_display_id = objmgr.GetTaxiMountDisplayId(sourcenode, GetTeam(), npc == NULL); + // + // Hack-Fix for Alliance not being able to use Acherus taxi. There is + // only one mount ID for both sides. Probably not good to use 315 in case DBC nodes + // change but I couldn't find a suitable alternative. OK to use class because only DK + // can use this taxi. + uint32 mount_display_id = objmgr.GetTaxiMountDisplayId(sourcenode, GetTeam(), npc == NULL || (sourcenode == 315 && getClass() == CLASS_DEATH_KNIGHT)); // in spell case allow 0 model if ((mount_display_id == 0 && spellid == 0) || sourcepath == 0) |
