Advertisement
stoneharry

Untitled

Jan 22nd, 2012
3,446
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 28.94 KB | None | 0 0
  1. # HG changeset patch
  2. # User Hadox
  3. Added Additional data required
  4.  
  5. diff -r 8a68f4e4f865 -r 67b2d6e391d5 src/server/game/Scripting/ScriptLoader.cpp
  6. --- a/src/server/game/Scripting/ScriptLoader.cpp    Mon Jan 16 13:43:58 2012 +0200
  7. +++ b/src/server/game/Scripting/ScriptLoader.cpp    Mon Jan 16 14:07:12 2012 +0200
  8. @@ -479,6 +479,7 @@
  9.  void AddSC_icecrown_citadel_teleport();
  10.  void AddSC_instance_icecrown_citadel();
  11.  void AddSC_icecrown_citadel();
  12. +void AddSC_boss_gunship_battle();
  13.  
  14.  void AddSC_dalaran();
  15.  void AddSC_borean_tundra();
  16. @@ -1175,6 +1176,7 @@
  17.      AddSC_boss_lichking();
  18.      AddSC_instance_icecrown_citadel();
  19.      AddSC_icecrown_citadel();
  20. +    AddSC_boss_gunship_battle();
  21.  
  22.      AddSC_dalaran();
  23.      AddSC_wintergrasp();
  24. diff -r 8a68f4e4f865 -r 67b2d6e391d5 src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h
  25. --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h   Mon Jan 16 13:43:58 2012 +0200
  26. +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h   Mon Jan 16 14:07:12 2012 +0200
  27. @@ -109,6 +109,23 @@
  28.      GUID_EDGE_DESTROY_WARNING       = 48,
  29.      DATA_BEEN_WAITING_ACHIEVEMENT   = 49,
  30.      DATA_NECK_DEEP_ACHIEVEMENT      = 50,
  31. +    
  32. +    // misc
  33. +    DATA_MURADIN_BRONZEBEARD        = 66,
  34. +    DATA_GUNSHIP_BATTLE             = 67,
  35. +    GUID_PLAYER_LOCATION            = 69,
  36. +
  37. +    // Gunship
  38. +    DATA_FIRST_SQUAD_STATE                  = 100,
  39. +    DATA_SECOND_SQUAD_STATE                 = 101,
  40. +    DATA_SPIRE_FROSTWYRM_STATE              = 102,
  41. +    DATA_GB_HIGH_OVERLORD_SAURFANG          = 103,
  42. +    DATA_GB_MURADIN_BRONZEBEARD             = 104,
  43. +    DATA_HIGH_OVERLORD_SAURFANG_NOT_VISUAL  = 105,
  44. +    DATA_GB_BATTLE_MAGE                     = 106,
  45. +    DATA_SKYBREAKER_BOSS                    = 107,
  46. +    DATA_ORGRIMMAR_HAMMER_BOSS              = 108,
  47. +    DATA_MURADIN_BRONZEBEARD_NOT_VISUAL     = 109,
  48.  
  49.  };
  50.  
  51. @@ -163,6 +180,36 @@
  52.      NPC_REANIMATED_ADHERENT                     = 38010,
  53.      NPC_VENGEFUL_SHADE                          = 38222,
  54.  
  55. +    // Gunship Battle
  56. +    NPC_GB_SKYBREAKER                           = 37540,
  57. +    NPC_GB_ORGRIMS_HAMMER                       = 37215,
  58. +    NPC_GB_HIGH_OVERLORD_SAURFANG               = 36939,
  59. +    NPC_GB_MURADIN_BRONZEBEARD                  = 36948,
  60. +    NPC_GB_HIHG_CAPTAIN_JUSTIN_BARTLETT         = 37182,
  61. +    NPC_GB_HIGH_OVERLORD_SAURFANG_NOT_VISUAL    = 50004,
  62. +    NPC_GB_MURADIN_BRONZEBEARD_NOT_VISUAL       = 50006,
  63. +    NPC_GB_SKYBREAKER_SORCERER                 = 37026,
  64. +    NPC_GB_SKYBREAKER_SORCERERS                 = 37116,
  65. +    NPC_GB_KORKRON_REAVER                       = 37920,
  66. +    NPC_GB_KORKRON_REAVERS                      = 36957,
  67. +    NPC_GB_KORKRON_SERGANTE                     = 36960,
  68. +    NPC_GB_SKYBREAKER_SERGANTE                  = 36961,
  69. +    NPC_GB_KORKRON_BATTLE_MAGE                  = 37117,
  70. +    NPC_GB_SKYBREAKER_MARINE                    = 36950,
  71. +    NPC_GB_KORKRON_ROCKETEER                    = 36982,
  72. +    NPC_GB_SKYBREAKER_MORTAR_SOLDIER            = 36978,
  73. +    NPC_GB_KORKRON_AXETHROWER                   = 36968,
  74. +    NPC_GB_SKYBREAKER_RIFLEMAN                  = 36969,
  75. +    NPC_GB_SKYBREAKER_DECKHAND                  = 36970,
  76. +    NPC_GB_ZAFOD_BOOMBOX                        = 37184,
  77. +    NPC_GB_ALLIANCE_CANON                       = 36838,
  78. +    NPC_GB_HORDE_CANON                          = 36839,
  79. +    NPC_GB_INVISIBLE_STALKER                    = 32780,
  80. +    NPC_GB_PORTAL                               = 37227,
  81. +    NPC_GB_GUNSHIP_HULL                         = 37547,
  82. +    NPC_KORKRON_INVOKER                         = 37033,
  83. +    NPC_SPIRE_FROSTWYRM                            = 37230,
  84. +
  85.      // Deathbringer Saurfang
  86.      NPC_DEATHBRINGER_SAURFANG                   = 37813,
  87.      NPC_BLOOD_BEAST                             = 38508,
  88. @@ -290,6 +337,20 @@
  89.      GO_ORATORY_OF_THE_DAMNED_ENTRANCE       = 201563,
  90.      GO_LADY_DEATHWHISPER_ELEVATOR           = 202220,
  91.  
  92. +    //Gunship Battle
  93. +    GO_ORGRIM_S_HAMMER_HORDE_ICC            = 201812,
  94. +    GO_ORGRIM_S_HAMMER_ALLIANCE_ICC         = 201581,
  95. +    GO_THE_SKYBREAKER_HORDE_ICC             = 201811,
  96. +    GO_THE_SKYBREAKER_ALLIANCE_ICC          = 201580,
  97. +    GO_CAPITAN_CHEST_A_10N                  = 201872,
  98. +    GO_CAPITAN_CHEST_A_25N                  = 201873,
  99. +    GO_CAPITAN_CHEST_A_10H                  = 201874,
  100. +    GO_CAPITAN_CHEST_A_25H                  = 201875,
  101. +    GO_CAPITAN_CHEST_H_10N                  = 202177,
  102. +    GO_CAPITAN_CHEST_H_25N                  = 202178,
  103. +    GO_CAPITAN_CHEST_H_10H                  = 202179,
  104. +    GO_CAPITAN_CHEST_H_25H                  = 202180,
  105. +
  106.      // Deathbringer Saurfang
  107.      GO_SAURFANG_S_DOOR                      = 201825,
  108.      GO_DEATHBRINGER_S_CACHE_10N             = 202239,
  109. diff -r 8a68f4e4f865 -r 67b2d6e391d5 src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
  110. --- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp    Mon Jan 16 13:43:58 2012 +0200
  111. +++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp    Mon Jan 16 14:07:12 2012 +0200
  112. @@ -13,6 +13,8 @@
  113.  #include "ScriptMgr.h"
  114.  #include "InstanceScript.h"
  115.  #include "ScriptedCreature.h"
  116. +#include "MapManager.h"
  117. +#include "Transport.h"
  118.  #include "Map.h"
  119.  #include "PoolMgr.h"
  120.  #include "icecrown_citadel.h"
  121. @@ -83,6 +85,18 @@
  122.                  LoadDoorData(doorData);
  123.                  TeamInInstance = 0;
  124.                  HeroicAttempts = MaxHeroicAttempts;
  125. +                /* Gunship Battle */
  126. +                FirstSquadState = 0;
  127. +                SecondSquadState = 0;
  128. +                SkybreakerBossGUID = 0;
  129. +                OrgrimmarBossGUID = 0;
  130. +                DeathbringerSaurfangGbGUID = 0;
  131. +                MuradinBronzebeardGbGUID = 0;
  132. +                DeathbringerSaurfangNotVisualGUID = 0;
  133. +                MuradinBronzebeardNotVisualGUID = 0;
  134. +                GbBattleMageGUID = 0;
  135. +                /* Gunship Battle */
  136.                  LadyDeathwisperElevatorGUID = 0;
  137.                  DeathbringerSaurfangGUID = 0;
  138.                  DeathbringerSaurfangDoorGUID = 0;
  139. @@ -155,6 +169,8 @@
  140.              {
  141.                  if (!TeamInInstance)
  142.                      TeamInInstance = player->GetTeam();
  143. +
  144. +                PrepareGunshipEvent(); // Spawn Gunship Event
  145.              }
  146.  
  147.              void OnCreatureCreate(Creature* creature)
  148. @@ -169,6 +185,28 @@
  149.  
  150.                  switch (creature->GetEntry())
  151.                  {
  152. +                     case NPC_GB_SKYBREAKER:
  153. +                         SkybreakerBossGUID = creature->GetGUID();
  154. +                         break;
  155. +                     case NPC_GB_ORGRIMS_HAMMER:
  156. +                         OrgrimmarBossGUID = creature->GetGUID();
  157. +                         break;
  158. +                     case NPC_GB_HIGH_OVERLORD_SAURFANG:
  159. +                         DeathbringerSaurfangGbGUID = creature->GetGUID();
  160. +                         break;
  161. +                     case NPC_GB_MURADIN_BRONZEBEARD:
  162. +                         MuradinBronzebeardGbGUID = creature->GetGUID();
  163. +                         break;
  164. +                     case NPC_GB_HIGH_OVERLORD_SAURFANG_NOT_VISUAL:
  165. +                         DeathbringerSaurfangNotVisualGUID = creature->GetGUID();
  166. +                         break;
  167. +                     case NPC_GB_MURADIN_BRONZEBEARD_NOT_VISUAL:
  168. +                         MuradinBronzebeardNotVisualGUID = creature->GetGUID();
  169. +                         break;
  170. +                     case NPC_GB_SKYBREAKER_SORCERERS:
  171. +                     case NPC_GB_KORKRON_BATTLE_MAGE:
  172. +                         GbBattleMageGUID = creature->GetGUID();
  173. +                         break;
  174.                      case NPC_KOR_KRON_GENERAL:
  175.                          if (TeamInInstance == ALLIANCE)
  176.                              creature->UpdateEntry(NPC_ALLIANCE_COMMANDER, ALLIANCE);
  177. @@ -601,6 +639,22 @@
  178.                          return uiTerenasFighter;
  179.                      case GUID_SPIRIT_WARDEN:
  180.                          return uiSpiritWarden;
  181. +                        /* Gunship battle */
  182. +                    case DATA_SKYBREAKER_BOSS:
  183. +                        return SkybreakerBossGUID;
  184. +                    case DATA_ORGRIMMAR_HAMMER_BOSS:
  185. +                        return OrgrimmarBossGUID;
  186. +                    case DATA_GB_HIGH_OVERLORD_SAURFANG:
  187. +                        return DeathbringerSaurfangGbGUID;
  188. +                    case DATA_GB_MURADIN_BRONZEBEARD:
  189. +                        return MuradinBronzebeardGbGUID;
  190. +                    case DATA_HIGH_OVERLORD_SAURFANG_NOT_VISUAL:
  191. +                        return DeathbringerSaurfangNotVisualGUID;
  192. +                    case DATA_MURADIN_BRONZEBEARD_NOT_VISUAL:
  193. +                        return MuradinBronzebeardNotVisualGUID;
  194. +                    case DATA_GB_BATTLE_MAGE:
  195. +                        return GbBattleMageGUID;
  196. +                        /* Gunship battle */
  197.                      case DATA_DEATHBRINGER_SAURFANG:
  198.                          return DeathbringerSaurfangGUID;
  199.                      case DATA_SAURFANG_EVENT_NPC:
  200. @@ -669,7 +723,6 @@
  201.                  switch (type)
  202.                  {
  203.                      case DATA_LADY_DEATHWHISPER:
  204. -                        SetBossState(DATA_GUNSHIP_EVENT, state); // TEMP HACK UNTIL GUNSHIP SCRIPTED
  205.                          if (state == DONE)
  206.                          {
  207.                              if (GameObject* elevator = instance->GetGameObject(LadyDeathwisperElevatorGUID))
  208. @@ -1238,9 +1291,210 @@
  209.                  }
  210.              }
  211.  
  212. +            void PrepareGunshipEvent()
  213. +            {
  214. +                if (isPrepared || GetBossState(DATA_GUNSHIP_EVENT) == DONE)
  215. +                    return;
  216. +
  217. +                if(TeamInInstance == ALLIANCE)
  218. +                {
  219. +                    if(Transport* th = sMapMgr->LoadTransportInMap(instance, GO_ORGRIM_S_HAMMER_ALLIANCE_ICC, 108000))
  220. +                    {
  221. +                        th->AddNPCPassengerInInstance(NPC_GB_ORGRIMS_HAMMER, 1.845810f, 1.268872f, 34.526218f, 1.5890f);
  222. +                        th->AddNPCPassengerInInstance(NPC_GB_HIGH_OVERLORD_SAURFANG, 37.18615f, 0.00016f, 36.78849f, 3.13683f);
  223. +                        th->AddNPCPassengerInInstance(NPC_GB_INVISIBLE_STALKER, 37.18615f, 0.00016f, 36.78849f, 3.13683f);
  224. +                        th->AddNPCPassengerInInstance(NPC_GB_KORKRON_BATTLE_MAGE, 47.2929f, -4.308941f, 37.5555f, 3.05033f);
  225. +                        th->AddNPCPassengerInInstance(NPC_GB_KORKRON_BATTLE_MAGE, 47.34621f, 4.032004f, 37.70952f, 3.05033f);
  226. +                        th->AddNPCPassengerInInstance(NPC_GB_KORKRON_BATTLE_MAGE, 15.03016f, 0.00016f, 37.70952f, 1.55138f);
  227. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -13.19547f, -27.160213f, 35.47252f, 3.10672f);
  228. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -18.33902f, -25.230491f, 33.04052f, 3.00672f);
  229. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -60.1251f, -1.27014f, 42.8335f, 5.16073f);
  230. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -48.2651f, 16.78034f, 34.2515f, 0.04292f);
  231. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -14.8356f, 27.931688f, 33.363f, 1.73231f);
  232. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 10.2702f, 20.62966f, 35.37483f, 1.6f);
  233. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 39.32459f, 14.50176f, 36.88428f, 1.6f);
  234. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 46.17223f, -6.638763f, 37.35444f, 1.32f);
  235. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 27.4456f, -13.397498f, 36.34746f, 1.6f);
  236. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 18.16184f, 1.37897f, 35.31705f, 1.6f);
  237. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -18.11516f, -0.196236f, 45.15709f, 2.9f);
  238. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -18.11844f, -0.19624f, 49.18192f, 1.6f);
  239. +
  240. +                        if (instance->ToInstanceMap()->GetMaxPlayers() == 10)
  241. +                        {
  242. +                            th->AddNPCPassengerInInstance(NPC_GB_KORKRON_AXETHROWER, -3.170555f, 28.30652f, 34.21082f, 1.66527f);
  243. +                            th->AddNPCPassengerInInstance(NPC_GB_KORKRON_AXETHROWER, -12.0928f, 27.65942f, 33.58557f, 1.66527f);
  244. +                            th->AddNPCPassengerInInstance(NPC_GB_KORKRON_AXETHROWER, 14.92804f, 26.18018f, 35.47803f, 1.66527f);
  245. +                            th->AddNPCPassengerInInstance(NPC_GB_KORKRON_AXETHROWER, 24.70331f, 25.36584f, 35.97845f, 1.66527f);
  246. +                            th->AddNPCPassengerInInstance(NPC_GB_KORKRON_ROCKETEER, -11.44849f, -25.71838f, 33.64343f, 1.49248f);
  247. +                            th->AddNPCPassengerInInstance(NPC_GB_KORKRON_ROCKETEER, 12.30336f, -25.69653f, 35.32373f, 1.49248f);
  248. +                        }
  249. +                        else
  250. +                        {
  251. +                            th->AddNPCPassengerInInstance(NPC_GB_KORKRON_AXETHROWER, -3.170555f, 28.30652f, 34.21082f, 1.66527f);
  252. +                            th->AddNPCPassengerInInstance(NPC_GB_KORKRON_AXETHROWER, -12.0928f, 27.65942f, 33.58557f, 1.66527f);
  253. +                            th->AddNPCPassengerInInstance(NPC_GB_KORKRON_AXETHROWER, 14.92804f, 26.18018f, 35.47803f, 1.66527f);
  254. +                            th->AddNPCPassengerInInstance(NPC_GB_KORKRON_AXETHROWER, 24.70331f, 25.36584f, 35.97845f, 1.66527f);
  255. +                            th->AddNPCPassengerInInstance(NPC_GB_KORKRON_AXETHROWER, 19.92804f, 27.18018f, 35.47803f, 1.66527f);
  256. +                            th->AddNPCPassengerInInstance(NPC_GB_KORKRON_AXETHROWER, -7.70331f, 28.36584f, 33.88557f, 1.66527f);
  257. +                            th->AddNPCPassengerInInstance(NPC_GB_KORKRON_ROCKETEER, -11.44849f, -25.71838f, 33.64343f, 1.49248f);
  258. +                            th->AddNPCPassengerInInstance(NPC_GB_KORKRON_ROCKETEER, 12.30336f, -25.69653f, 35.32373f, 1.49248f);
  259. +                            th->AddNPCPassengerInInstance(NPC_GB_KORKRON_ROCKETEER, -3.44849f, -25.71838f, 34.21082f, 1.49248f);
  260. +                            th->AddNPCPassengerInInstance(NPC_GB_KORKRON_ROCKETEER, 3.30336f, -25.69653f, 35.32373f, 1.49248f);
  261. +                        }
  262. +                    }
  263. +
  264. +                    if(Transport* t = sMapMgr->LoadTransportInMap(instance, GO_THE_SKYBREAKER_ALLIANCE_ICC, 108000))
  265. +                    {
  266. +                        t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER, -17.156807f, -1.633260f, 20.81273f, 4.52672f);
  267. +                        t->AddNPCPassengerInInstance(NPC_GB_MURADIN_BRONZEBEARD, 13.51547f, -0.160213f, 20.87252f, 3.10672f);
  268. +                        t->AddNPCPassengerInInstance(NPC_GB_HIHG_CAPTAIN_JUSTIN_BARTLETT, 42.78902f, -0.010491f, 25.24052f, 3.00672f);
  269. +                        t->AddNPCPassengerInInstance(NPC_GB_HIGH_OVERLORD_SAURFANG_NOT_VISUAL, -12.9806f, -22.9462f, 21.659f, 4.72416f);
  270. +                        t->AddNPCPassengerInInstance(NPC_GB_ZAFOD_BOOMBOX, 18.8042f, 9.907914f, 20.33559f, 3.10672f);
  271. +                        t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_DECKHAND, -64.8423f, 4.4658f, 23.4352f, 2.698897f);
  272. +                        t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_DECKHAND, 35.54972f, 19.93269f, 25.0333f, 4.71242f);
  273. +                        t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_DECKHAND, -36.39837f, 3.13127f, 20.4496f, 1.5708f);
  274. +                        t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_DECKHAND, -36.23974f, -2.75767f, 20.4506f, 4.69496f);
  275. +                        t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_DECKHAND, 41.94677f, 44.08411f, 24.66587f, 1.62032f);
  276. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 13.51547f, -0.160213f, 20.87252f, 3.10672f);
  277. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 42.78902f, -0.010491f, 25.24052f, 3.00672f);
  278. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 14.0551f, 3.65014f, 20.7935f, 3.16073f);
  279. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 14.0551f, -4.65034f, 20.7915f, 3.04292f);
  280. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -17.8356f, 0.031688f, 20.823f, 4.73231f);
  281. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -34.2702f, -26.18966f, 21.37483f, 1.6f);
  282. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -11.64459f, -19.85176f, 20.88428f, 1.6f);
  283. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -19.88223f, -6.578763f, 20.57444f, 1.6f);
  284. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -41.4456f, -7.647498f, 20.49746f, 1.6f);
  285. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 0.554884f, -1.232897f, 20.53705f, 1.6f);
  286. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -50.16516f, 9.716236f, 23.58709f, 1.6f);
  287. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 11.45844f, 16.36624f, 20.54192f, 1.6f);
  288. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 19.72286f, -2.193787f, 33.06982f, 1.6f);
  289. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 19.72286f, -2.193787f, 33.06982f, 1.6f);
  290. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 8.599396f, -28.55855f, 24.79919f, 1.6f);
  291. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 38.94339f, -33.808f,  25.39618f, 1.6f);
  292. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 58.15474f, 0.748094f, 41.87663f, 1.6f);
  293. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 5.607554f, -6.350654f, 34.00357f, 1.6f);
  294. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 4.780305f, -29.05227f, 35.09634f, 1.6f);
  295. +
  296. +                        if (instance->ToInstanceMap()->GetMaxPlayers() == 10)
  297. +                        {
  298. +                            t->AddNPCPassengerInInstance(NPC_GB_ALLIANCE_CANON, -5.15231f, -22.9462f, 21.659f, 4.72416f);
  299. +                            t->AddNPCPassengerInInstance(NPC_GB_ALLIANCE_CANON, -28.0876f, -22.9462f, 21.659f, 4.72416f);
  300. +                        }
  301. +                        else
  302. +                        {
  303. +                            t->AddNPCPassengerInInstance(NPC_GB_ALLIANCE_CANON, -5.15231f, -22.9462f, 21.659f, 4.72416f);
  304. +                            t->AddNPCPassengerInInstance(NPC_GB_ALLIANCE_CANON, -14.9806f, -22.9462f, 21.659f, 4.72416f);
  305. +                            t->AddNPCPassengerInInstance(NPC_GB_ALLIANCE_CANON, -21.7406f, -22.9462f, 21.659f, 4.72416f);
  306. +                            t->AddNPCPassengerInInstance(NPC_GB_ALLIANCE_CANON, -28.0876f, -22.9462f, 21.659f, 4.72416f);
  307. +                        }
  308. +                    }
  309. +                }
  310. +
  311. +                if(TeamInInstance == HORDE)
  312. +                {
  313. +                    if(Transport* t = sMapMgr->LoadTransportInMap(instance, GO_THE_SKYBREAKER_HORDE_ICC, 77800))
  314. +                    {
  315. +                        t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER, -17.156807f, -1.633260f, 20.81273f, 4.52672f);
  316. +                        t->AddNPCPassengerInInstance(NPC_GB_MURADIN_BRONZEBEARD, 13.51547f, -0.160213f, 20.87252f, 3.10672f);
  317. +                        t->AddNPCPassengerInInstance(NPC_GB_HIHG_CAPTAIN_JUSTIN_BARTLETT, 42.78902f, -0.010491f, 25.24052f, 3.00672f);
  318. +                        t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_SORCERERS, 14.0551f, 3.65014f, 20.7935f, 3.16073f);
  319. +                        t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_SORCERERS, 14.0551f, -4.65034f, 20.7915f, 3.04292f);
  320. +                        t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_SORCERERS, -17.8356f, 0.031688f, 20.823f, 4.73231f);
  321. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 13.51547f, -0.160213f, 20.87252f, 3.10672f);
  322. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 42.78902f, -0.010491f, 25.24052f, 3.00672f);
  323. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 14.0551f, 3.65014f, 20.7935f, 3.16073f);
  324. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 14.0551f, -4.65034f, 20.7915f, 3.04292f);
  325. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -17.8356f, 0.031688f, 20.823f, 4.73231f);
  326. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -34.2702f, -26.18966f, 21.37483f, 1.6f);
  327. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -11.64459f, -19.85176f, 20.88428f, 1.6f);
  328. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -19.88223f, -6.578763f, 20.57444f, 1.6f);
  329. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -41.4456f, -7.647498f, 20.49746f, 1.6f);
  330. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 0.554884f, -1.232897f, 20.53705f, 1.6f);
  331. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -50.16516f, 9.716236f, 23.58709f, 1.6f);
  332. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 11.45844f, 16.36624f, 20.54192f, 1.6f);
  333. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 19.72286f, -2.193787f, 33.06982f, 1.6f);
  334. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 19.72286f, -2.193787f, 33.06982f, 1.6f);
  335. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 8.599396f, -28.55855f, 24.79919f, 1.6f);
  336. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 38.94339f, -33.808f,  25.39618f, 1.6f);
  337. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 58.15474f, 0.748094f, 41.87663f, 1.6f);
  338. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 5.607554f, -6.350654f, 34.00357f, 1.6f);
  339. +                        t->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 4.780305f, -29.05227f, 35.09634f, 1.6f);
  340. +
  341. +                        if(instance->ToInstanceMap()->GetMaxPlayers() == 10)
  342. +                        {
  343. +                            t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_RIFLEMAN, -5.15231f, -22.9462f, 21.659f, 4.72416f);
  344. +                            t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_RIFLEMAN, -14.9806f, -22.9462f, 21.659f, 4.72416f);
  345. +                            t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_RIFLEMAN, -21.7406f, -22.9462f, 21.659f, 4.72416f);
  346. +                            t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_RIFLEMAN, -28.0876f, -22.9462f, 21.659f, 4.72416f);
  347. +                            t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_MORTAR_SOLDIER, -8.61003f, 15.483f, 20.4158f, 4.69854f);
  348. +                            t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_MORTAR_SOLDIER, -27.9583f, 14.8875f, 20.4428f, 4.77865f);
  349. +                        }
  350. +                        else
  351. +                        {
  352. +                            t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_RIFLEMAN, 0.15231f, -22.9462f, 21.659f, 4.72416f);
  353. +                            t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_RIFLEMAN, -5.15231f, -22.9462f, 21.659f, 4.72416f);
  354. +                            t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_RIFLEMAN, -14.9806f, -22.9462f, 21.659f, 4.72416f);
  355. +                            t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_RIFLEMAN, -21.7406f, -22.9462f, 21.659f, 4.72416f);
  356. +                            t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_RIFLEMAN, -28.0876f, -22.9462f, 21.659f, 4.72416f);
  357. +                            t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_RIFLEMAN, -33.0876f, -22.9462f, 21.659f, 4.72416f);
  358. +                            t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_MORTAR_SOLDIER, -8.61003f, 15.483f, 20.4158f, 4.69854f);
  359. +                            t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_MORTAR_SOLDIER, -27.9583f, 14.8875f, 20.4428f, 4.77865f);
  360. +                            t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_MORTAR_SOLDIER, -15.61003f, 15.483f, 20.4158f, 4.69854f);
  361. +                            t->AddNPCPassengerInInstance(NPC_GB_SKYBREAKER_MORTAR_SOLDIER, -20.9583f, 14.8875f, 20.4428f, 4.77865f);
  362. +                        }
  363. +                    }
  364. +
  365. +                    if(Transport* th = sMapMgr->LoadTransportInMap(instance,GO_ORGRIM_S_HAMMER_HORDE_ICC, 77800))
  366. +                    {
  367. +                        th->AddNPCPassengerInInstance(NPC_GB_ORGRIMS_HAMMER, 1.845810f, 1.268872f, 34.526218f, 1.5890f);
  368. +                        th->AddNPCPassengerInInstance(NPC_GB_HIGH_OVERLORD_SAURFANG, 37.18615f, 0.00016f, 36.78849f, 3.13683f);
  369. +                        th->AddNPCPassengerInInstance(NPC_GB_MURADIN_BRONZEBEARD_NOT_VISUAL, -7.09684f, 30.582f, 34.5013f, 1.53591f);
  370. +                        th->AddNPCPassengerInInstance(NPC_GB_INVISIBLE_STALKER, 37.30764f, -0.143823f, 36.7936f, 3.13683f);
  371. +                        th->AddNPCPassengerInInstance(NPC_GB_ZAFOD_BOOMBOX, 35.18615f, 15.30652f, 37.64343f, 3.05033f);
  372. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -13.19547f, -27.160213f, 35.47252f, 3.10672f);
  373. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -18.33902f, -25.230491f, 33.04052f, 3.00672f);
  374. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -60.1251f, -1.27014f, 42.8335f, 5.16073f);
  375. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -48.2651f, 16.78034f, 34.2515f, 0.04292f);
  376. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -14.8356f, 27.931688f, 33.363f, 1.73231f);
  377. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 10.2702f, 20.62966f, 35.37483f, 1.6f);
  378. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 39.32459f, 14.50176f, 36.88428f, 1.6f);
  379. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 46.17223f, -6.638763f, 37.35444f, 1.32f);
  380. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 27.4456f, -13.397498f, 36.34746f, 1.6f);
  381. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, 18.16184f, 1.37897f, 35.31705f, 1.6f);
  382. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -18.11516f, -0.196236f, 45.15709f, 2.9f);
  383. +                        th->AddNPCPassengerInInstance(NPC_GB_GUNSHIP_HULL, -18.11844f, -0.19624f, 49.18192f, 1.6f);
  384. +
  385. +                        if(instance->ToInstanceMap()->GetMaxPlayers() == 10)
  386. +                        {
  387. +                            th->AddNPCPassengerInInstance(NPC_GB_HORDE_CANON, 22.6225f, 28.9309f, 36.3929f, 1.53591f);
  388. +                            th->AddNPCPassengerInInstance(NPC_GB_HORDE_CANON, -21.7509f, 29.4207f, 34.2588f, 1.53591f);
  389. +                        }
  390. +                        else
  391. +                        {
  392. +                            th->AddNPCPassengerInInstance(NPC_GB_HORDE_CANON, 22.6225f, 28.9309f, 36.3929f, 1.53591f);
  393. +                            th->AddNPCPassengerInInstance(NPC_GB_HORDE_CANON, 9.87745f, 30.5047f, 35.7147f, 1.53591f);
  394. +                            th->AddNPCPassengerInInstance(NPC_GB_HORDE_CANON, -7.09684f, 30.582f, 34.5013f, 1.53591f);
  395. +                            th->AddNPCPassengerInInstance(NPC_GB_HORDE_CANON, -21.7509f, 29.4207f, 34.2588f, 1.53591f);
  396. +                        }
  397. +                    }
  398. +                }
  399. +                isPrepared = true;
  400. +            }
  401. +
  402.          protected:
  403.              std::set<uint64> ColdflameJetGUIDs;
  404.              uint64 LadyDeathwisperElevatorGUID;
  405. +            /* Gunship battle */
  406. +            uint32 FirstSquadState;
  407. +            uint32 SecondSquadState;
  408. +            uint64 SkybreakerBossGUID;
  409. +            uint64 OrgrimmarBossGUID;
  410. +            uint64 DeathbringerSaurfangGbGUID;
  411. +            uint64 MuradinBronzebeardGbGUID;
  412. +            uint64 DeathbringerSaurfangNotVisualGUID;
  413. +            uint64 MuradinBronzebeardNotVisualGUID;
  414. +            uint64 GbBattleMageGUID;
  415. +            /* Gunship battle */
  416.              uint64 DeathbringerSaurfangGUID;
  417.              uint64 DeathbringerSaurfangDoorGUID;
  418.              uint64 DeathbringerSaurfangEventGUID; // Muradin Bronzebeard or High Overlord Saurfang
  419. @@ -1286,6 +1540,11 @@
  420.              uint64 uihangingman;
  421.              bool  IsNeckDeep;
  422.              bool  IsNecroticStack;
  423. +            uint64 GunShipControllerGUID;
  424. +            uint64 GBMuradinGUID;
  425. +            uint64 GBSaurfangGUID;
  426. +            uint64 GBSkybreakerGUID;
  427. +            uint64 GBOgrimsHammerGUID;
  428.              uint32 TeamInInstance;
  429.              uint32 BloodQuickeningTimer;
  430.              uint32 ColdflameJetsState;
  431. @@ -1299,6 +1558,7 @@
  432.              bool IsOozeDanceEligible;
  433.              bool IsNauseaEligible;
  434.              bool IsOrbWhispererEligible;
  435. +            bool isPrepared;
  436.          };
  437.  
  438.          InstanceScript* GetInstanceScript(InstanceMap* map) const
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement