Index: include/precompiled.h
===================================================================
---- include/precompiled.h (revision 1318)
-+++ include/precompiled.h (working copy)
+--- include/precompiled.h (revision 1663)
++++ include/precompiled.h (working copy)
@@ -11,6 +11,11 @@
#include "sc_grid_searchers.h"
#include "sc_instance.h"
@@ -16,9 +16,9 @@ Index: include/precompiled.h
BOOL APIENTRY DllMain( HANDLE hModule,
Index: include/sc_creature.cpp
===================================================================
---- include/sc_creature.cpp (revision 1318)
-+++ include/sc_creature.cpp (working copy)
-@@ -460,7 +460,7 @@
+--- include/sc_creature.cpp (revision 1663)
++++ include/sc_creature.cpp (working copy)
+@@ -457,7 +457,7 @@
Unit* pUnit = NULL;
MaNGOS::MostHPMissingInRange u_check(m_creature, fRange, uiMinHPDiff);
@@ -27,7 +27,7 @@ Index: include/sc_creature.cpp
/*
typedef TYPELIST_4(GameObject, Creature*except pets*, DynamicObject, Corpse*Bones*) AllGridObjectTypes;
-@@ -484,7 +484,7 @@
+@@ -480,7 +480,7 @@
std::list<Creature*> pList;
MaNGOS::FriendlyCCedInRange u_check(m_creature, fRange);
@@ -36,7 +36,7 @@ Index: include/sc_creature.cpp
TypeContainerVisitor<MaNGOS::CreatureListSearcher<MaNGOS::FriendlyCCedInRange>, GridTypeMapContainer > grid_creature_searcher(searcher);
-@@ -504,7 +504,7 @@
+@@ -499,7 +499,7 @@
std::list<Creature*> pList;
MaNGOS::FriendlyMissingBuffInRange u_check(m_creature, fRange, uiSpellId);
@@ -45,7 +45,7 @@ Index: include/sc_creature.cpp
TypeContainerVisitor<MaNGOS::CreatureListSearcher<MaNGOS::FriendlyMissingBuffInRange>, GridTypeMapContainer > grid_creature_searcher(searcher);
-@@ -524,7 +524,7 @@
+@@ -518,7 +518,7 @@
cell.SetNoCreate();
PlayerAtMinimumRangeAway check(m_creature, fMinimumRange);
@@ -53,11 +53,11 @@ Index: include/sc_creature.cpp
+ MaNGOS::PlayerSearcher<PlayerAtMinimumRangeAway> searcher(pPlayer, check);
TypeContainerVisitor<MaNGOS::PlayerSearcher<PlayerAtMinimumRangeAway>, GridTypeMapContainer> visitor(searcher);
- CellLock<GridReadGuard> cell_lock(cell, pair);
+ Map * map = m_creature->GetMap();
Index: include/sc_gossip.h
===================================================================
---- include/sc_gossip.h (revision 1318)
-+++ include/sc_gossip.h (working copy)
+--- include/sc_gossip.h (revision 1663)
++++ include/sc_gossip.h (working copy)
@@ -42,9 +42,7 @@
#define GOSSIP_TEXT_WARSONGULCH "Warsong Gulch"
#define GOSSIP_TEXT_ARENA "Arena"
@@ -100,8 +100,8 @@ Index: include/sc_gossip.h
GOSSIP_ACTION_TRADE = 1,
Index: include/sc_grid_searchers.cpp
===================================================================
---- include/sc_grid_searchers.cpp (revision 1318)
-+++ include/sc_grid_searchers.cpp (working copy)
+--- include/sc_grid_searchers.cpp (revision 1663)
++++ include/sc_grid_searchers.cpp (working copy)
@@ -15,7 +15,7 @@
cell.SetNoCreate();
@@ -111,7 +111,7 @@ Index: include/sc_grid_searchers.cpp
TypeContainerVisitor<MaNGOS::GameObjectLastSearcher<MaNGOS::NearestGameObjectEntryInObjectRangeCheck>, GridTypeMapContainer> go_searcher(searcher);
-@@ -36,7 +36,7 @@
+@@ -35,7 +35,7 @@
cell.SetNoCreate();
MaNGOS::NearestCreatureEntryWithLiveStateInObjectRangeCheck creature_check(*pSource, uiEntry, true, fMaxSearchRange);
@@ -120,7 +120,7 @@ Index: include/sc_grid_searchers.cpp
TypeContainerVisitor<MaNGOS::CreatureLastSearcher<MaNGOS::NearestCreatureEntryWithLiveStateInObjectRangeCheck>, GridTypeMapContainer> creature_searcher(searcher);
-@@ -54,7 +54,7 @@
+@@ -52,7 +52,7 @@
cell.SetNoCreate();
AllGameObjectsWithEntryInRange check(pSource, uiEntry, fMaxSearchRange);
@@ -128,8 +128,8 @@ Index: include/sc_grid_searchers.cpp
+ MaNGOS::GameObjectListSearcher<AllGameObjectsWithEntryInRange> searcher(lList, check);
TypeContainerVisitor<MaNGOS::GameObjectListSearcher<AllGameObjectsWithEntryInRange>, GridTypeMapContainer> visitor(searcher);
- CellLock<GridReadGuard> cell_lock(cell, pair);
-@@ -69,7 +69,7 @@
+ cell.Visit(pair, visitor, *(pSource->GetMap()), *pSource, fMaxSearchRange);
+@@ -66,7 +66,7 @@
cell.SetNoCreate();
AllCreaturesOfEntryInRange check(pSource, uiEntry, fMaxSearchRange);
@@ -137,11 +137,11 @@ Index: include/sc_grid_searchers.cpp
+ MaNGOS::CreatureListSearcher<AllCreaturesOfEntryInRange> searcher(lList, check);
TypeContainerVisitor<MaNGOS::CreatureListSearcher<AllCreaturesOfEntryInRange>, GridTypeMapContainer> visitor(searcher);
- CellLock<GridReadGuard> cell_lock(cell, pair);
+ cell.Visit(pair, visitor, *(pSource->GetMap()), *pSource, fMaxSearchRange);
Index: scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp
===================================================================
---- scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp (revision 1318)
-+++ scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp (working copy)
+--- scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp (revision 1663)
++++ scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp (working copy)
@@ -90,7 +90,8 @@
#define INFERNAL_MODEL_INVISIBLE 11686 //Infernal Effects
#define SPELL_INFERNAL_RELAY 30834
@@ -164,7 +164,7 @@ Index: scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp
//damage
const CreatureInfo *cinfo = m_creature->GetCreatureInfo();
-@@ -411,7 +415,10 @@
+@@ -407,7 +411,10 @@
m_creature->CastSpell(m_creature, SPELL_THRASH_AURA, true);
//models
@@ -176,7 +176,7 @@ Index: scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp
//damage
const CreatureInfo *cinfo = m_creature->GetCreatureInfo();
-@@ -449,6 +456,8 @@
+@@ -445,6 +452,8 @@
Creature *axe = m_creature->SummonCreature(MALCHEZARS_AXE, m_creature->GetPositionX(), m_creature->GetPositionY(), m_creature->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000);
if (axe)
{
@@ -185,10 +185,29 @@ Index: scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp
axe->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
axe->setFaction(m_creature->getFaction());
+Index: scripts/eastern_kingdoms/shadowfang_keep/shadowfang_keep.cpp
+===================================================================
+--- scripts/eastern_kingdoms/shadowfang_keep/shadowfang_keep.cpp (revision 1663)
++++ scripts/eastern_kingdoms/shadowfang_keep/shadowfang_keep.cpp (working copy)
+@@ -91,10 +91,10 @@
+ else
+ DoScriptText(EMOTE_UNLOCK_DOOR_AD, m_creature);
+ break;
+- case 12:
+- if (m_uiNpcEntry != NPC_ASH)
+- m_creature->HandleEmoteCommand(EMOTE_ONESHOT_USESTANDING);
+- break;
++// case 12:
++// if (m_uiNpcEntry != NPC_ASH)
++// m_creature->HandleEmoteCommand(EMOTE_ONESHOT_USESTANDING);
++// break;
+ case 13:
+ if (m_uiNpcEntry == NPC_ASH)
+ DoScriptText(SAY_POST_DOOR_AS, m_creature);
Index: scripts/eastern_kingdoms/zulgurub/boss_renataki.cpp
===================================================================
---- scripts/eastern_kingdoms/zulgurub/boss_renataki.cpp (revision 1318)
-+++ scripts/eastern_kingdoms/zulgurub/boss_renataki.cpp (working copy)
+--- scripts/eastern_kingdoms/zulgurub/boss_renataki.cpp (revision 1663)
++++ scripts/eastern_kingdoms/zulgurub/boss_renataki.cpp (working copy)
@@ -27,8 +27,6 @@
#define SPELL_AMBUSH 24337
#define SPELL_THOUSANDBLADES 24649
@@ -212,8 +231,8 @@ Index: scripts/eastern_kingdoms/zulgurub/boss_renataki.cpp
+ m_creature->SetUInt32Value(UNIT_FIELD_DISPLAYID,11686);
Invisible = true;
- Invisible_Timer = 15000 + rand()%15000;
-@@ -96,9 +97,12 @@
+ Invisible_Timer = urand(15000, 30000);
+@@ -95,9 +96,12 @@
m_creature->InterruptSpell(CURRENT_GENERIC_SPELL);
m_creature->SetDisplayId(15268);
@@ -229,8 +248,8 @@ Index: scripts/eastern_kingdoms/zulgurub/boss_renataki.cpp
Visible_Timer = 4000;
Index: scripts/kalimdor/azuremyst_isle.cpp
===================================================================
---- scripts/kalimdor/azuremyst_isle.cpp (revision 1318)
-+++ scripts/kalimdor/azuremyst_isle.cpp (working copy)
+--- scripts/kalimdor/azuremyst_isle.cpp (revision 1663)
++++ scripts/kalimdor/azuremyst_isle.cpp (working copy)
@@ -76,7 +76,6 @@
m_creature->CastSpell(m_creature, SPELL_IRRIDATION, true);
@@ -252,9 +271,9 @@ Index: scripts/kalimdor/azuremyst_isle.cpp
m_creature->CastSpell(m_creature, SPELL_STUNNED, true);
Index: scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp
===================================================================
---- scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp (revision 1318)
-+++ scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp (working copy)
-@@ -161,8 +161,10 @@
+--- scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp (revision 1663)
++++ scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp (working copy)
+@@ -158,8 +158,10 @@
#define SPEED_RUN (1.0f)
#define SPEED_MOUNT (1.6f)
@@ -267,7 +286,7 @@ Index: scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp
#define THRALL_MODEL_UNEQUIPPED 17292
#define THRALL_MODEL_EQUIPPED 18165
-@@ -235,7 +237,12 @@
+@@ -232,7 +234,12 @@
break;
case 9:
DoScriptText(SAY_TH_ARMORY, m_creature);
@@ -281,7 +300,7 @@ Index: scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp
break;
case 10:
m_creature->SetDisplayId(THRALL_MODEL_EQUIPPED);
-@@ -392,7 +399,12 @@
+@@ -386,7 +393,12 @@
{
DoUnmount();
HadMount = false;
@@ -297,9 +316,9 @@ Index: scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp
Index: scripts/northrend/dragonblight.cpp
===================================================================
---- scripts/northrend/dragonblight.cpp (revision 1318)
-+++ scripts/northrend/dragonblight.cpp (working copy)
-@@ -100,7 +100,6 @@
+--- scripts/northrend/dragonblight.cpp (revision 1663)
++++ scripts/northrend/dragonblight.cpp (working copy)
+@@ -101,7 +101,6 @@
if (uiAction == GOSSIP_ACTION_INFO_DEF+1)
{
pPlayer->CLOSE_GOSSIP_MENU();
@@ -307,13 +326,28 @@ Index: scripts/northrend/dragonblight.cpp
}
return true;
+Index: scripts/outland/auchindoun/auchenai_crypts/boss_exarch_maladaar.cpp
+===================================================================
+--- scripts/outland/auchindoun/auchenai_crypts/boss_exarch_maladaar.cpp (revision 1663)
++++ scripts/outland/auchindoun/auchenai_crypts/boss_exarch_maladaar.cpp (working copy)
+@@ -107,10 +107,6 @@
+ DoCastSpellIfCan(m_creature->getVictim(), SPELL_MOONFIRE);
+ m_uiSpellTimer = 10000;
+ break;
+- case CLASS_DEATH_KNIGHT:
+- DoCastSpellIfCan(m_creature->getVictim(), SPELL_PLAGUE_STRIKE);
+- m_uiSpellTimer = 10000;
+- break;
+ }
+ }
+ else
Index: scripts/outland/black_temple/boss_illidan.cpp
===================================================================
---- scripts/outland/black_temple/boss_illidan.cpp (revision 1318)
-+++ scripts/outland/black_temple/boss_illidan.cpp (working copy)
+--- scripts/outland/black_temple/boss_illidan.cpp (revision 1663)
++++ scripts/outland/black_temple/boss_illidan.cpp (working copy)
@@ -206,9 +206,6 @@
- #define CENTER_Y 305.297
- #define CENTER_Z 353.192
+ #define CENTER_Y 305.297f
+ #define CENTER_Z 353.192f
-#define EQUIP_ID_MAIN_HAND 32837
-#define EQUIP_ID_OFF_HAND 32838
@@ -327,13 +361,13 @@ Index: scripts/outland/black_temple/boss_illidan.cpp
// Unequip warglaives if needed
- SetEquipmentSlots(false, EQUIP_UNEQUIP, EQUIP_UNEQUIP, EQUIP_NO_CHANGE);
- m_creature->RemoveMonsterMoveFlag(MONSTER_MOVE_LEVITATING);
+ m_creature->RemoveSplineFlag(SPLINEFLAG_NO_SPLINE);
-
+ m_creature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_DISPLAY, 0);
IsTalking = false;
TalkCount = 0;
-@@ -1230,12 +1226,14 @@
+@@ -1226,12 +1222,14 @@
if (DemonTransformation[count].equip)
{
// Requip warglaives if needed
@@ -350,7 +384,7 @@ Index: scripts/outland/black_temple/boss_illidan.cpp
}
if (DemonTransformation[count].phase != 8)
-@@ -1308,7 +1306,8 @@
+@@ -1304,7 +1302,8 @@
// We no longer wear the glaives!
// since they are now channeling the flames (or will be)
@@ -360,7 +394,7 @@ Index: scripts/outland/black_temple/boss_illidan.cpp
for(uint8 i = 0; i < 2; ++i)
{
-@@ -1442,7 +1441,8 @@
+@@ -1437,7 +1436,8 @@
break;
case 8:
// Equip our warglaives!
@@ -370,7 +404,7 @@ Index: scripts/outland/black_temple/boss_illidan.cpp
// Hostile if we weren't before
m_creature->setFaction(14);
break;
-@@ -1708,7 +1708,8 @@
+@@ -1700,7 +1700,8 @@
}
// Re-equip our warblades!
@@ -382,9 +416,9 @@ Index: scripts/outland/black_temple/boss_illidan.cpp
LandTimer = 5000;
Index: scripts/world/item_scripts.cpp
===================================================================
---- scripts/world/item_scripts.cpp (revision 1318)
-+++ scripts/world/item_scripts.cpp (working copy)
-@@ -49,7 +49,7 @@
+--- scripts/world/item_scripts.cpp (revision 1663)
++++ scripts/world/item_scripts.cpp (working copy)
+@@ -48,7 +48,7 @@
pPlayer->SendEquipError(EQUIP_ERR_NONE, pItem, NULL);
if (const SpellEntry* pSpellInfo = GetSpellStore()->LookupEntry(SPELL_ARCANE_CHARGES))
@@ -395,9 +429,9 @@ Index: scripts/world/item_scripts.cpp
}
Index: scripts/world/npcs_special.cpp
===================================================================
---- scripts/world/npcs_special.cpp (revision 1318)
-+++ scripts/world/npcs_special.cpp (working copy)
-@@ -708,9 +708,6 @@
+--- scripts/world/npcs_special.cpp (revision 1663)
++++ scripts/world/npcs_special.cpp (working copy)
+@@ -733,9 +733,6 @@
if (Patient)
{
@@ -407,3 +441,4 @@ Index: scripts/world/npcs_special.cpp
Patients.push_back(Patient->GetGUID());
((npc_injured_patientAI*)Patient->AI())->Doctorguid = m_creature->GetGUID();
+