aboutsummaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
authormaximius <none@none>2009-10-06 13:16:10 -0700
committermaximius <none@none>2009-10-06 13:16:10 -0700
commitdd84dfd56da21763840491c1ff2f363d73e9d6de (patch)
tree7bf91ea4888031cc71b0b18d0d7106404dca35f3 /src/game
parenta3de0f7ba0dbe107fd5b66f3d3518764abb2c0f6 (diff)
*Utgarde Pinnacle: Svala fixes - Fix some crashes, complete ritual code and change defines by enums, by Tartalo
*Fix Acherus Flightmaster for Alliance, by MrSmite *Fix The Party's Over achievement (Prince Taldaram) & Implement Good Grief achievement (Maiden of Grief), by Tartalo *Fix certaint things entering the threat list and never leaving, bugging mob's HP regeneration (ie: Priest's Lightwell).. again. Thanks Gyullo. --HG-- branch : trunk
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)