Pelf

ICC check for enter(2)

Aug 4th, 2011
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.42 KB | None | 0 0
  1. diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
  2. index be7375b..dda70d0 100755
  3. --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
  4. +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
  5. @@ -106,8 +106,15 @@ class boss_lord_marrowgar : public CreatureScript
  6.                  events.ScheduleEvent(EVENT_ENRAGE, 600000);
  7.              }
  8.  
  9. -            void EnterCombat(Unit* /*who*/)
  10. +            void EnterCombat(Unit* who)
  11.              {
  12. +               if (!instance->CheckRequiredBosses(DATA_LORD_MARROWGAR, who->ToPlayer()))
  13. +                {
  14. +                    EnterEvadeMode();
  15. +                    instance->DoCastSpellOnPlayers(LIGHT_S_HAMMER_TELEPORT);
  16. +                    return;
  17. +                }
  18. +
  19.                  Talk(SAY_AGGRO);
  20.  
  21.                  me->setActive(true);
  22. diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
  23. index 25d8618..994e273 100755
  24. --- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
  25. +++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
  26. @@ -15,6 +15,7 @@
  27.   * with this program. If not, see <http://www.gnu.org/licenses/>.
  28.   */
  29.  
  30. +#include "Group.h"
  31.  #include "ObjectMgr.h"
  32.  #include "ScriptMgr.h"
  33.  #include "InstanceScript.h"
  34. @@ -960,6 +976,23 @@ class instance_icecrown_citadel : public InstanceMapScript
  35.              {
  36.                  if (player && player->isGameMaster())
  37.                      return true;
  38. +              
  39. +               if (player && ((instance->GetDifficulty() == RAID_DIFFICULTY_10MAN_HEROIC) ||
  40. +                   (instance->GetDifficulty() == RAID_DIFFICULTY_25MAN_HEROIC)))
  41. +               {
  42. +                   uint64 _leaderguid;
  43. +                   _leaderguid = player->GetGroup()->GetLeaderGUID();
  44. +                   Player* _leader = sObjectMgr->GetPlayer(_leaderguid);
  45. +                   if (!_leader || !player->IsInMap(_leader))
  46. +                       return false;
  47. +                   switch (instance->GetDifficulty())
  48. +                   {
  49. +                       case RAID_DIFFICULTY_10MAN_HEROIC:
  50. +                           return _leader->GetAchievementMgr().HasAchieved(sAchievementStore.LookupEntry(4530));
  51. +                       case RAID_DIFFICULTY_25MAN_HEROIC:
  52. +                           return _leader->GetAchievementMgr().HasAchieved(sAchievementStore.LookupEntry(4597));
  53. +                   }
  54. +               }
  55.  
  56.                  switch (bossId)
  57.                  {
Advertisement
Add Comment
Please, Sign In to add comment