aboutsummaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
Diffstat (limited to 'src/game')
-rw-r--r--src/game/CreatureAI.cpp3
-rw-r--r--src/game/ObjectMgr.cpp9
-rw-r--r--src/game/Player.cpp7
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)