Updated backport patch for 0.12 MaNGOS branch. Patch by DasBlub.
authordeverend <deverend@5f9c896b-1e26-0410-94da-f77f675e2462>
Sat, 3 Apr 2010 21:28:07 +0000 (3 21:28 +0000)
committerdeverend <deverend@5f9c896b-1e26-0410-94da-f77f675e2462>
Sat, 3 Apr 2010 21:28:07 +0000 (3 21:28 +0000)
git-svn-id: https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2@1664 5f9c896b-1e26-0410-94da-f77f675e2462

patches/custom/ScriptDev2_1663_to_MaNGOS_0.12.patch [moved from patches/custom/ScriptDev2_1318_to_MaNGOS_0.12.patch with 82% similarity]

@@ -1,7 +1,7 @@
 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();