Permalink
Browse files

Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4

Conflicts:
	src/server/game/AI/EventAI/CreatureEventAI.cpp
	src/server/game/AI/EventAI/CreatureEventAI.h
	src/server/game/Achievements/AchievementMgr.cpp
  • Loading branch information...
Vincent-Michael committed Jan 5, 2013
2 parents f6b6558 + 7dd0cd4 commit d5163d846fcbbd94655f0ba93c81a3e2bd302b3c
Showing with 603 additions and 93 deletions.
  1. +8 −0 sql/updates/world/2012_01_05_00_world_sai.sql
  2. +2 −2 sql/updates/world/2013_01_03_14_world_spell_area.sql
  3. +8 −0 sql/updates/world/2013_01_03_16_world_various_fixes.sql
  4. +3 −0 sql/updates/world/2013_01_04_00_world_creature_text.sql
  5. +38 −0 sql/updates/world/2013_01_04_01_world_sai.sql
  6. +29 −0 sql/updates/world/2013_01_04_02_world_misc.sql
  7. +1 −1 src/server/collision/BoundingIntervalHierarchy.cpp
  8. +6 −0 src/server/game/AI/CoreAI/PetAI.cpp
  9. +3 −3 src/server/game/Achievements/AchievementMgr.cpp
  10. +1 −2 src/server/game/Addons/AddonMgr.h
  11. +1 −0 src/server/game/Battlefield/Battlefield.cpp
  12. +1 −1 src/server/game/Battlegrounds/ArenaTeam.cpp
  13. +1 −2 src/server/game/Battlegrounds/BattlegroundMgr.cpp
  14. +1 −0 src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
  15. +1 −2 src/server/game/Entities/Pet/Pet.cpp
  16. +10 −1 src/server/game/Entities/Player/Player.cpp
  17. +3 −5 src/server/game/Entities/Unit/StatSystem.cpp
  18. +20 −2 src/server/game/Entities/Unit/Unit.cpp
  19. +36 −20 src/server/game/Entities/Vehicle/Vehicle.cpp
  20. +15 −4 src/server/game/Entities/Vehicle/Vehicle.h
  21. +1 −1 src/server/game/Globals/ObjectMgr.cpp
  22. +1 −2 src/server/game/Handlers/CharacterHandler.cpp
  23. +1 −1 src/server/game/Loot/LootMgr.cpp
  24. +1 −0 src/server/game/Maps/MapManager.cpp
  25. +3 −1 src/server/game/Movement/Spline/MoveSplineInit.cpp
  26. +2 −0 src/server/game/Scripting/ScriptLoader.cpp
  27. +5 −0 src/server/game/Scripting/ScriptMgr.cpp
  28. +4 −0 src/server/game/Scripting/ScriptMgr.h
  29. +1 −1 src/server/game/Server/WorldSocketMgr.cpp
  30. +1 −1 src/server/game/Warden/WardenWin.cpp
  31. +1 −1 src/server/scripts/Commands/cs_lookup.cpp
  32. +1 −0 src/server/scripts/EasternKingdoms/CMakeLists.txt
  33. +331 −0 src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
  34. +24 −19 src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp
  35. +27 −9 src/server/scripts/EasternKingdoms/Scholomance/scholomance.h
  36. +2 −2 src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
  37. +2 −2 src/server/shared/Dynamic/LinkedReference/Reference.h
  38. +4 −3 src/server/shared/Utilities/Util.cpp
  39. +1 −1 src/server/worldserver/RemoteAccess/RARunnable.cpp
  40. +2 −4 src/tools/vmap4_extractor/model.cpp
@@ -0,0 +1,8 @@
+-- Fixup some runtime errors, linked events that were not SMART_EVENT_LINK
+UPDATE `smart_scripts` SET `event_type`=61 WHERE `entryorguid`=38017 AND `id`=1 AND `source_type`=0;
+UPDATE `smart_scripts` SET `event_type`=61 WHERE `entryorguid`=1443 AND `id`=1 AND `source_type`=0;
+UPDATE `smart_scripts` SET `event_type`=61 WHERE `entryorguid`=3448 AND `id` IN (1, 2, 3) AND `source_type`=0;
+UPDATE `smart_scripts` SET `event_type`=61 WHERE `entryorguid`=3616 AND `id` IN (1, 2) AND `source_type`=0;
+UPDATE `smart_scripts` SET `event_type`=61 WHERE `entryorguid`=4049 AND `id`=1 AND `source_type`=0;
+UPDATE `smart_scripts` SET `event_type`=61 WHERE `entryorguid`=305400 AND `id` IN (1, 2) AND `source_type`=9;
+UPDATE `smart_scripts` SET `event_type`=61 WHERE `entryorguid`=83600 AND `id` IN (1, 2, 3) AND `source_type`=9;
@@ -1,4 +1,4 @@
-- add aura to be able to hand in quests
DELETE FROM `spell_area` WHERE `spell`=52217;
-INSERT INTO `spell_area` (`spell`,`area`,`quest_start`,`quest_start_active`,`quest_end`,`aura_spell`,`racemask`,`gender`,`autocast`) VALUES
-(52217,4306,12574,1,0,0,0,2,1);
+INSERT INTO `spell_area` (`spell`,`area`,`quest_start`,`quest_end`,`aura_spell`,`racemask`,`gender`,`autocast`,`quest_start_status`,`quest_end_status`) VALUES
+(52217,4306,12574,0,0,0,2,1,1,64);
@@ -0,0 +1,8 @@
+-- NPC talk text convert from creature_ai_text. Moving boss to cpp.
+UPDATE `creature_template` SET `minlevel`=63,`maxlevel`=63,`InhabitType`=5,`AIName`= '', `ScriptName`= 'boss_kirtonos_the_herald' WHERE `entry`=10506;
+UPDATE `gameobject_template` SET `AIName`= '', `ScriptName`= 'go_brazier_of_the_herald' WHERE `entry`=175564;
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=10506;
+DELETE FROM `creature_ai_texts` WHERE `entry`=-448;
+DELETE FROM `creature_text` WHERE `entry` IN (10506);
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
+(10506,0,0, '%s lets out a shrill cry.',16,0,100,0,0,0, 'Kirtonos The Herald - Emote');
@@ -0,0 +1,3 @@
+DELETE FROM `creature_text` WHERE `entry`=4295;
+INSERT INTO `creature_text`(`entry`,`text`,`type`,`language`,`comment`) VALUES
+(4295,"There is no escape for you. The Crusade shall destroy all who carry the scourge's taint.",12,7,"Scarlet Myrmidon - Talk on low HP");
@@ -0,0 +1,38 @@
+-- Arcane Wraith SAI
+SET @ENTRY := 15273;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,8,0,100,1,28730,0,0,0,27,15468,28730,0,0,0,0,7,0,0,0,0,0,0,0,"Arcane Wraith - On Spellhit Arcane Torrent - Quest Credit"),
+(@ENTRY,0,1,0,8,0,100,1,25046,0,0,0,27,15468,28730,0,0,0,0,7,0,0,0,0,0,0,0,"Arcane Wraith - On Spellhit Arcane Torrent - Quest Credit"),
+(@ENTRY,0,2,0,0,0,100,0,10100,16500,12700,24800,11,37361,0,0,0,0,0,2,0,0,0,0,0,0,0,"Arcane Wraith - In Combat - Cast Arcane Bolt");
+
+-- Mana Wyrm SAI
+SET @ENTRY := 15274;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,8,0,100,1,28730,0,0,0,27,15468,28730,0,0,0,0,7,0,0,0,0,0,0,0,"Mana Wyrm - On Spellhit Arcane Torrent - Quest Credit"),
+(@ENTRY,0,1,0,8,0,100,1,25046,0,0,0,27,15468,28730,0,0,0,0,7,0,0,0,0,0,0,0,"Mana Wyrm - On Spellhit Arcane Torrent - Quest Credit");
+
+-- Feral Tender SAI
+SET @ENTRY := 15294;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,8,0,100,1,28730,0,0,0,27,15468,28730,0,0,0,0,7,0,0,0,0,0,0,0,"Feral Tender - On Spellhit Arcane Torrent - Quest Credit"),
+(@ENTRY,0,1,0,8,0,100,1,25046,0,0,0,27,15468,28730,0,0,0,0,7,0,0,0,0,0,0,0,"Feral Tender - On Spellhit Arcane Torrent - Quest Credit"),
+(@ENTRY,0,2,0,2,0,100,0,0,50,15300,22900,11,31325,0,0,0,0,0,1,0,0,0,0,0,0,0,"Feral Tender - At 50% HP - Cast Renew");
+
+-- Tainted Arcane Wraith SAI
+SET @ENTRY := 15298;
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=@ENTRY;
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,8,0,100,1,28730,0,0,0,27,15468,28730,0,0,0,0,7,0,0,0,0,0,0,0,"Tainted Arcane Wraith - On Spellhit Arcane Torrent - Quest Credit"),
+(@ENTRY,0,1,0,8,0,100,1,25046,0,0,0,27,15468,28730,0,0,0,0,7,0,0,0,0,0,0,0,"Tainted Arcane Wraith - On Spellhit Arcane Torrent - Quest Credit"),
+(@ENTRY,0,2,0,0,0,100,0,9000,18800,21100,32200,11,25603,0,0,0,0,0,2,0,0,0,0,0,0,0,"Tainted Arcane Wraith - In Combat - Cast Slow");
@@ -0,0 +1,29 @@
+-- Add Gossip for Harrison Jones
+UPDATE `creature_template` SET `gossip_menu_id`=8932 WHERE `entry`=24358;
+DELETE FROM `gossip_menu` WHERE `entry`=8932 AND `text_id`=12135;
+INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8932,12135);
+DELETE FROM `gossip_menu_option` WHERE `menu_id`=8932 AND `id`=0;
+INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`) VALUES
+(8932,0,0, 'Thanks for the concern, but we intend to explore Zul''Aman.',1,1);
+
+-- Pathing for Harrison Jones Entry: 24358
+SET @NPC := 86177;
+SET @PATH := @NPC * 10;
+DELETE FROM `waypoint_data` WHERE `id`IN (@PATH,@PATH+1,@PATH+2);
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,112.1772,1670.18,42.02158,0,0,0,100,0),
+(@PATH,2,82.44975,1655.312,42.02155,0,0,0,100,0),
+(@PATH,3,114.1627,1661.469,42.02158,0,0,0,100,0),
+(@PATH,4,131.8243,1644.853,42.0216,0,0,0,100,0),
+(@PATH+1,1,121.897,1639.106,42.19081,0,0,0,100,0),
+(@PATH+1,2,120.8522,1637.931,42.37172,0,0,0,100,0),
+(@PATH+1,3,120.7898,1609.063,43.49005,0,0,0,100,0),
+(@PATH+2,1,120.6967,1603.713,43.4503,0,0,0,100,0);
+
+-- Text for Harrison Jones from sniff
+DELETE FROM `creature_text` WHERE `entry` IN (24358);
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
+(24358,0,0, 'Suit yourself. At least five of you must assist me if we''re to get inside. Follow me....',14,0,100,1,0,0, 'Harrison Jones - Gong Event Say 0'),
+(24358,1,0, 'According to my calculations, if enough of us bang the gong at once the seal on these doors will break and we can enter.',14,0,100,1,0,0, 'Harrison Jones - Gong Event Say 1'),
+(24358,2,0, 'I''ve researched this site extensively and I won''t allow any dim-witted treasure hunters to swoop in and steal what belongs in a museum. I''ll lead this charge...',14,0,100,0,0,0, 'Harrison Jones - Gong Event Say 2'),
+(24358,3,0, 'In fact, it would be best if you just stay here. You''d only get in my way....',14,0,100,0,0,0, 'Harrison Jones - Gong Event Say 3');
@@ -241,7 +241,7 @@ void BIH::subdivide(int left, int right, std::vector<uint32> &tempTree, buildDat
bool BIH::writeToFile(FILE* wf) const
{
uint32 treeSize = tree.size();
- uint32 check=0, count=0;
+ uint32 check=0, count;
check += fwrite(&bounds.low(), sizeof(float), 3, wf);
check += fwrite(&bounds.high(), sizeof(float), 3, wf);
check += fwrite(&treeSize, sizeof(uint32), 1, wf);
@@ -251,6 +251,12 @@ void PetAI::UpdateAI(const uint32 diff)
for (TargetSpellList::const_iterator itr = targetSpellStore.begin(); itr != targetSpellStore.end(); ++itr)
delete itr->second;
}
+
+ // Update speed as needed to prevent dropping too far behind and despawning
+ me->UpdateSpeed(MOVE_RUN, true);
+ me->UpdateSpeed(MOVE_WALK, true);
+ me->UpdateSpeed(MOVE_FLIGHT, true);
+
}
void PetAI::UpdateAllies()
@@ -1845,9 +1845,6 @@ void AchievementMgr<T>::RemoveTimedAchievement(AchievementCriteriaTimedTypes typ
template<>
void AchievementMgr<Player>::CompletedAchievement(AchievementEntry const* achievement, Player* referencePlayer)
{
- sLog->outInfo(LOG_FILTER_ACHIEVEMENTSYS, "AchievementMgr::CompletedAchievement(%u). Player: %s (%u)",
- achievement->ID, GetOwner()->GetName().c_str(), GetOwner()->GetGUIDLow());
-
// disable for gamemasters with GM-mode enabled
if (GetOwner()->isGameMaster())
return;
@@ -1862,6 +1859,9 @@ void AchievementMgr<Player>::CompletedAchievement(AchievementEntry const* achiev
if (!GetOwner()->GetSession()->PlayerLoading())
SendAchievementEarned(achievement);
+ sLog->outInfo(LOG_FILTER_ACHIEVEMENTSYS, "AchievementMgr::CompletedAchievement(%u). Player: %s (%u)",
+ achievement->ID, GetOwner()->GetName().c_str(), GetOwner()->GetGUIDLow());
+
CompletedAchievementData& ca = m_completedAchievements[achievement->ID];
ca.date = time(NULL);
ca.changed = true;
@@ -37,9 +37,8 @@ struct AddonInfo
struct SavedAddon
{
- SavedAddon(const std::string& name, uint32 crc)
+ SavedAddon(const std::string& name, uint32 crc) : Name(name)
{
- Name = name;
CRC = crc;
}
@@ -42,6 +42,7 @@ Battlefield::Battlefield()
m_TypeId = 0;
m_BattleId = 0;
m_ZoneId = 0;
+ m_Map = NULL;
m_MapId = 0;
m_MaxPlayer = 0;
m_MinPlayer = 0;
@@ -337,7 +337,7 @@ void ArenaTeam::Disband(WorldSession* session)
// Broadcast update
if (session)
{
- BroadcastEvent(ERR_ARENA_TEAM_DISBANDED_S, 0, 2, session->GetPlayerName().c_str(), GetName(), "");
+ BroadcastEvent(ERR_ARENA_TEAM_DISBANDED_S, 0, 2, session->GetPlayerName(), GetName(), "");
if (Player* player = session->GetPlayer())
sLog->outDebug(LOG_FILTER_ARENAS, "Player: %s [GUID: %u] disbanded arena team type: %u [Id: %u].", player->GetName().c_str(), player->GetGUIDLow(), GetType(), GetId());
@@ -1443,9 +1443,8 @@ BattlegroundTypeId BattlegroundMgr::GetRandomBG(BattlegroundTypeId bgTypeId)
if (weight)
{
- uint32 selectedWeight = 0;
// Select a random value
- selectedWeight = urand(0, weight - 1);
+ uint32 selectedWeight = urand(0, weight - 1);
// Select the correct bg (if we have in DB A(10), B(20), C(10), D(15) --> [0---A---9|10---B---29|30---C---39|40---D---54])
weight = 0;
for (BattlegroundSelectionWeightMap::const_iterator it = selectionWeights.begin(); it != selectionWeights.end(); ++it)
@@ -30,6 +30,7 @@
BattlegroundAB::BattlegroundAB()
{
+ m_IsInformedNearVictory = false;
m_BuffChange = true;
BgObjects.resize(BG_AB_OBJECT_MAX);
BgCreatures.resize(BG_AB_ALL_NODES_COUNT + 5);//+5 for aura triggers
@@ -1733,8 +1733,7 @@ void Pet::resetTalentsForAllPetsOf(Player* owner, Pet* online_pet /*= NULL*/)
ss << id;
need_comma = true;
- }
- while (resultPets->NextRow());
+ } while (resultPets->NextRow());
ss << ") AND spell IN (";
@@ -1744,7 +1744,8 @@ void Player::Update(uint32 p_time)
{
if (p_time >= m_nextSave)
{
- // m_nextSave reseted in SaveToDB call
+ // m_nextSave reset in SaveToDB call
+ sScriptMgr->OnPlayerSave(this);
SaveToDB();
sLog->outDebug(LOG_FILTER_PLAYER, "Player '%s' (GUID: %u) saved", GetName().c_str(), GetGUIDLow());
}
@@ -16039,6 +16040,8 @@ void Player::ItemRemovedQuestCheck(uint32 entry, uint32 count)
void Player::KilledMonster(CreatureTemplate const* cInfo, uint64 guid)
{
+ ASSERT(cInfo);
+
if (cInfo->Entry)
KilledMonsterCredit(cInfo->Entry, guid);
@@ -16191,6 +16194,12 @@ void Player::CastedCreatureOrGO(uint32 entry, uint64 guid, uint32 spell_id)
if (reqTarget != entry) // if entry doesn't match, check for killcredits referenced in template
{
CreatureTemplate const* cinfo = sObjectMgr->GetCreatureTemplate(entry);
+ if (!cinfo)
+ {
+ sLog->outError(LOG_FILTER_PLAYER, "Player::CastedCreatureOrGO: GetCreatureTemplate failed for entry %u. Skipping.", entry);
+ continue;
+ }
+
for (uint8 k = 0; k < MAX_KILL_CREDIT; ++k)
if (cinfo->KillCredit[k] == reqTarget)
entry = cinfo->KillCredit[k];
@@ -186,10 +186,9 @@ void Player::UpdateResistances(uint32 school)
void Player::UpdateArmor()
{
- float value = 0.0f;
UnitMods unitMod = UNIT_MOD_ARMOR;
- value = GetModifierValue(unitMod, BASE_VALUE); // base armor (from items)
+ float value = GetModifierValue(unitMod, BASE_VALUE); // base armor (from items)
value *= GetModifierValue(unitMod, BASE_PCT); // armor percent from items
value += GetModifierValue(unitMod, TOTAL_VALUE);
@@ -916,10 +915,9 @@ bool Guardian::UpdateStats(Stats stat)
case STAT_STRENGTH: mod = 0.7f; break; // Default Owner's Strength scale
default: break;
}
- // Ravenous Dead
- AuraEffect const* aurEff = NULL;
+
// Check just if owner has Ravenous Dead since it's effect is not an aura
- aurEff = owner->GetAuraEffect(SPELL_AURA_MOD_TOTAL_STAT_PERCENTAGE, SPELLFAMILY_DEATHKNIGHT, 3010, 0);
+ AuraEffect const* aurEff = owner->GetAuraEffect(SPELL_AURA_MOD_TOTAL_STAT_PERCENTAGE, SPELLFAMILY_DEATHKNIGHT, 3010, 0);
if (aurEff)
{
SpellInfo const* spellInfo = aurEff->GetSpellInfo(); // Then get the SpellProto and add the dummy effect value
@@ -11455,9 +11455,27 @@ void Unit::UpdateSpeed(UnitMoveType mtype, bool forced)
case MOVE_SWIM:
case MOVE_FLIGHT:
{
- // Set creature speed rate from CreatureInfo
+ // Set creature speed rate
if (GetTypeId() == TYPEID_UNIT)
- speed *= ToCreature()->GetCreatureTemplate()->speed_run; // at this point, MOVE_WALK is never reached
+ {
+ Unit* pOwner = GetCharmerOrOwner();
+ if (isPet() && !isInCombat() && pOwner) // Must check for owner or crash on "Tame Beast"
+ {
+ // For every yard over 5, increase speed by 0.01
+ // to help prevent pet from lagging behind and despawning
+ float dist = GetDistance(pOwner);
+ float base_rate = 1.00f; // base speed is 100% of owner speed
+
+ if (dist < 5)
+ dist = 5;
+
+ float mult = base_rate + ((dist - 5) * 0.01f);
+
+ speed *= pOwner->GetSpeedRate(mtype) * mult; // pets derive speed from owner when not in combat
+ }
+ else
+ speed *= ToCreature()->GetCreatureTemplate()->speed_run; // at this point, MOVE_WALK is never reached
+ }
// Normalize speed by 191 aura SPELL_AURA_USE_NORMAL_MOVEMENT_SPEED if need
// TODO: possible affect only on MOVE_RUN
Oops, something went wrong.

0 comments on commit d5163d8

Please sign in to comment.