Advertisement
Guest User

Cronic's Heroic Mode

a guest
Jan 2nd, 2016
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 55.17 KB | None | 0 0
  1. /********************************************************
  2. *               FrostwingCore Scripts                   *
  3. *                                                       *
  4. *               The Burning Crusade Trash               *
  5. *Bosses already support heroic mode via there instance  *
  6. *********************************************************/
  7.  
  8. // Wrath of Lich King
  9. /********************************************************
  10. *               FrostwingCore Scripts                   *
  11. *                                                       *
  12. *               Halls of Lightning                      *
  13. *Bosses already support heroic mode via there instance  *
  14. *Stats from wotlk.openwow.com & wowpedia                *
  15. *********************************************************/
  16. class Heroic_HallsofLightning : public MoonScriptCreatureAI
  17. {
  18. public:
  19.     MOONSCRIPT_FACTORY_FUNCTION(Heroic_HallsofLightning, MoonScriptCreatureAI);
  20.     Heroic_HallsofLightning(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  21.     {
  22.     }
  23.  
  24.     void OnLoad()
  25.     {
  26.         if (IsHeroic()) // Heroic Difficulty
  27.         {
  28.             switch (_unit->GetEntry())
  29.             {
  30.             case 28580:
  31.                 _unit->SetMaxHealth(65165);
  32.                 _unit->SetHealth(_unit->GetMaxHealth());
  33.                 _unit->SetMinDamage(6032.0f);
  34.                 _unit->SetMaxDamage(7852.0f);
  35.                 _unit->setLevel(RandomUInt(80, 81));
  36.                 break;
  37.             case 28578:
  38.                 _unit->SetMaxHealth(65165);
  39.                 _unit->SetHealth(_unit->GetMaxHealth());
  40.                 _unit->SetMinDamage(6032.0f);
  41.                 _unit->SetMaxDamage(7852.0f);
  42.                 _unit->setLevel(RandomUInt(80, 81));
  43.                 break;
  44.             case 28579:
  45.                 _unit->SetMaxHealth(65165);
  46.                 _unit->SetHealth(_unit->GetMaxHealth());
  47.                 _unit->SetMinDamage(6032.0f);
  48.                 _unit->SetMaxDamage(7852.0f);
  49.                 _unit->setLevel(RandomUInt(80, 81));
  50.                 break;
  51.             case 28583:
  52.                 _unit->SetMaxHealth(65165);
  53.                 _unit->SetHealth(_unit->GetMaxHealth());
  54.                 _unit->SetMinDamage(5525.0f);
  55.                 _unit->SetMaxDamage(7826.0f);
  56.                 _unit->setLevel(RandomUInt(80, 81));
  57.                 break;
  58.             case 28584:
  59.                 _unit->SetMaxHealth(65165);
  60.                 _unit->SetHealth(_unit->GetMaxHealth());
  61.                 _unit->SetMinDamage(5525.0f);
  62.                 _unit->SetMaxDamage(7826.0f);
  63.                 _unit->setLevel(RandomUInt(80, 81));
  64.                 break;
  65.             case 28965:
  66.                 _unit->SetMaxHealth(65165);
  67.                 _unit->SetHealth(_unit->GetMaxHealth());
  68.                 _unit->SetMinDamage(6032.0f);
  69.                 _unit->SetMaxDamage(7852.0f);
  70.                 _unit->setLevel(RandomUInt(80, 81));
  71.                 break;
  72.             case 28838:
  73.                 _unit->SetMaxHealth(130330);
  74.                 _unit->SetHealth(_unit->GetMaxHealth());
  75.                 _unit->SetMinDamage(6032.0f);
  76.                 _unit->SetMaxDamage(7852.0f);
  77.                 _unit->setLevel(RandomUInt(80, 81));
  78.                 break;
  79.             case 28961:
  80.                 _unit->SetMaxHealth(78198);
  81.                 _unit->SetHealth(_unit->GetMaxHealth());
  82.                 _unit->SetMinDamage(6032.0f);
  83.                 _unit->SetMaxDamage(7852.0f);
  84.                 _unit->setLevel(RandomUInt(80, 81));
  85.                 break;
  86.             case 28836:
  87.                 _unit->SetMaxHealth(65165);
  88.                 _unit->SetHealth(_unit->GetMaxHealth());
  89.                 _unit->SetMinDamage(5525.0f);
  90.                 _unit->SetMaxDamage(7826.0f);
  91.                 _unit->setLevel(RandomUInt(80, 81));
  92.                 break;
  93.             case 28582:
  94.                 _unit->SetMaxHealth(65165);
  95.                 _unit->SetHealth(_unit->GetMaxHealth());
  96.                 _unit->SetMinDamage(5525.0f);
  97.                 _unit->SetMaxDamage(7826.0f);
  98.                 _unit->setLevel(RandomUInt(80, 81));
  99.                 break;
  100.             case 28835:
  101.                 _unit->SetMaxHealth(130330);
  102.                 _unit->SetHealth(_unit->GetMaxHealth());
  103.                 _unit->SetMinDamage(5525.0f);
  104.                 _unit->SetMaxDamage(7826.0f);
  105.                 _unit->setLevel(RandomUInt(80, 81));
  106.                 break;
  107.             case 28837:
  108.                 _unit->SetMaxHealth(65165);
  109.                 _unit->SetHealth(_unit->GetMaxHealth());
  110.                 _unit->SetMinDamage(5525.0f);
  111.                 _unit->SetMaxDamage(7826.0f);
  112.                 _unit->setLevel(RandomUInt(80, 81));
  113.                 break;
  114.             case 28920:
  115.                 _unit->SetMaxHealth(126000);
  116.                 _unit->SetHealth(_unit->GetMaxHealth());
  117.                 _unit->SetMinDamage(5525.0f);
  118.                 _unit->SetMaxDamage(7826.0f);
  119.                 _unit->setLevel(RandomUInt(80, 81));
  120.                 break;
  121.             case 29240:
  122.                 _unit->SetMaxHealth(104264);
  123.                 _unit->SetHealth(_unit->GetMaxHealth());
  124.                 _unit->SetMinDamage(5525.0f);
  125.                 _unit->SetMaxDamage(7826.0f);
  126.                 _unit->setLevel(RandomUInt(80, 81));
  127.                 break;
  128.             case 28826:
  129.                 _unit->SetMaxHealth(65165);
  130.                 _unit->SetHealth(_unit->GetMaxHealth());
  131.                 _unit->SetMinDamage(6032.0f);
  132.                 _unit->SetMaxDamage(7852.0f);
  133.                 _unit->setLevel(RandomUInt(80, 81));
  134.                 break;
  135.             case 28547:
  136.                 _unit->SetMaxHealth(65165);
  137.                 _unit->SetHealth(_unit->GetMaxHealth());
  138.                 _unit->SetMinDamage(5525.0f);
  139.                 _unit->SetMaxDamage(7826.0f);
  140.                 _unit->setLevel(RandomUInt(80, 81));
  141.                 break;
  142.             }
  143.         }
  144.     }
  145. };
  146.  
  147. /********************************************************
  148. *               FrostwingCore Scripts                   *
  149. *                                                       *
  150. *                   Gun'Drak                            *
  151. *Bosses already support heroic mode via there instance  *
  152. *Stats from wotlk.openwow.com & wowpedia                *
  153. *********************************************************/
  154. class Heroic_Gundrak : public MoonScriptCreatureAI
  155. {
  156. public:
  157.     MOONSCRIPT_FACTORY_FUNCTION(Heroic_Gundrak, MoonScriptCreatureAI);
  158.     Heroic_Gundrak(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  159.     {
  160.     }
  161.  
  162.     void OnLoad()
  163.     {
  164.         if (IsHeroic()) // Heroic Difficulty
  165.         {
  166.             switch (_unit->GetEntry())
  167.             {
  168.             case 29713:
  169.                 _unit->SetMaxHealth(6517);
  170.                 _unit->SetHealth(_unit->GetMaxHealth());
  171.                 _unit->SetMinDamage(464.0f);
  172.                 _unit->SetMaxDamage(604.0f);
  173.                 _unit->setLevel(81);
  174.                 break;
  175.             case 29680:
  176.                 _unit->SetMaxHealth(6517);
  177.                 _unit->SetHealth(_unit->GetMaxHealth());
  178.                 _unit->SetMinDamage(464.0f);
  179.                 _unit->SetMaxDamage(604.0f);
  180.                 _unit->setLevel(81);
  181.                 break;
  182.             case 29774:
  183.                 _unit->SetMaxHealth(65165);
  184.                 _unit->SetHealth(_unit->GetMaxHealth());
  185.                 _unit->SetMinDamage(6032.0f);
  186.                 _unit->SetMaxDamage(7852.0f);
  187.                 _unit->setLevel(81);
  188.                 break;
  189.             case 29768:
  190.                 _unit->SetMaxHealth(65165);
  191.                 _unit->SetHealth(_unit->GetMaxHealth());
  192.                 _unit->SetMinDamage(6032.0f);
  193.                 _unit->SetMaxDamage(7852.0f);
  194.                 _unit->setLevel(81);
  195.                 break;
  196.             case 29820:
  197.                 _unit->SetMaxHealth(65165);
  198.                 _unit->SetHealth(_unit->GetMaxHealth());
  199.                 _unit->SetMinDamage(5525.0f);
  200.                 _unit->SetMaxDamage(7826.0f);
  201.                 _unit->setLevel(81);
  202.                 break;
  203.             case 29826:
  204.                 _unit->SetMaxHealth(65165);
  205.                 _unit->SetHealth(_unit->GetMaxHealth());
  206.                 _unit->SetMinDamage(5525.0f);
  207.                 _unit->SetMaxDamage(7826.0f);
  208.                 _unit->setLevel(81);
  209.                 break;
  210.             case 29832:
  211.                 _unit->SetMaxHealth(114039);
  212.                 _unit->SetHealth(_unit->GetMaxHealth());
  213.                 _unit->SetMinDamage(6032.0f);
  214.                 _unit->SetMaxDamage(7852.0f);
  215.                 _unit->setLevel(RandomUInt(80, 81));
  216.                 break;
  217.             case 29830:
  218.                 _unit->SetMaxHealth(65165);
  219.                 _unit->SetHealth(_unit->GetMaxHealth());
  220.                 _unit->SetMinDamage(6032.0f);
  221.                 _unit->SetMaxDamage(7852.0f);
  222.                 _unit->setLevel(RandomUInt(80, 81));
  223.                 break;
  224.             case 29829:
  225.                 _unit->SetMaxHealth(105893);
  226.                 _unit->SetHealth(_unit->GetMaxHealth());
  227.                 _unit->SetMinDamage(6032.0f);
  228.                 _unit->SetMaxDamage(7852.0f);
  229.                 _unit->setLevel(RandomUInt(80, 81));
  230.                 break;
  231.             case 29822:
  232.                 _unit->SetMaxHealth(65165);
  233.                 _unit->SetHealth(_unit->GetMaxHealth());
  234.                 _unit->SetMinDamage(5525.0f);
  235.                 _unit->SetMaxDamage(7826.0f);
  236.                 _unit->setLevel(81);
  237.                 break;
  238.             case 29834:
  239.                 _unit->SetMaxHealth(16291);
  240.                 _unit->SetHealth(_unit->GetMaxHealth());
  241.                 _unit->SetMinDamage(464.0f);
  242.                 _unit->SetMaxDamage(604.0f);
  243.                 _unit->setLevel(RandomUInt(80, 81));
  244.                 break;
  245.             case 29819:
  246.                 _unit->SetMaxHealth(65165);
  247.                 _unit->SetHealth(_unit->GetMaxHealth());
  248.                 _unit->SetMinDamage(6032.0f);
  249.                 _unit->SetMaxDamage(7852.0f);
  250.                 _unit->setLevel(81);
  251.                 break;
  252.             case 29874:
  253.                 _unit->SetMaxHealth(16291);
  254.                 _unit->SetHealth(_unit->GetMaxHealth());
  255.                 _unit->SetMinDamage(464.0f);
  256.                 _unit->SetMaxDamage(604.0f);
  257.                 _unit->setLevel(RandomUInt(80, 81));
  258.                 break;
  259.             case 29920:
  260.                 _unit->SetMaxHealth(65165);
  261.                 _unit->SetHealth(_unit->GetMaxHealth());
  262.                 _unit->SetMinDamage(6032.0f);
  263.                 _unit->SetMaxDamage(7852.0f);
  264.                 _unit->setLevel(81);
  265.                 break;
  266.             case 29982:
  267.                 _unit->SetMaxHealth(16291);
  268.                 _unit->SetHealth(_unit->GetMaxHealth());
  269.                 _unit->SetMinDamage(464.0f);
  270.                 _unit->SetMaxDamage(604.0f);
  271.                 _unit->setLevel(RandomUInt(80, 81));
  272.                 break;
  273.             case 29838:
  274.                 _unit->SetMaxHealth(130330);
  275.                 _unit->SetHealth(_unit->GetMaxHealth());
  276.                 _unit->SetMinDamage(6032.0f);
  277.                 _unit->SetMaxDamage(7852.0f);
  278.                 _unit->setLevel(81);
  279.                 break;
  280.             case 29836:
  281.                 _unit->SetMaxHealth(65165);
  282.                 _unit->SetHealth(_unit->GetMaxHealth());
  283.                 _unit->SetMinDamage(6032.0f);
  284.                 _unit->SetMaxDamage(7852.0f);
  285.                 _unit->setLevel(81);
  286.                 break;
  287.             }
  288.         }
  289.     }
  290. };
  291. /********************************************************
  292. *               FrostwingCore Scripts                   *
  293. *                                                       *
  294. *                   The Nexus                           *
  295. *Bosses already support heroic mode via there instance  *
  296. *Stats from wotlk.openwow.com & wowpedia                *
  297. *********************************************************/
  298. class Heroic_Nexus : public MoonScriptCreatureAI
  299. {
  300. public:
  301.     MOONSCRIPT_FACTORY_FUNCTION(Heroic_Nexus, MoonScriptCreatureAI);
  302.     Heroic_Nexus(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  303.     {
  304.     }
  305.  
  306.     void OnLoad()
  307.     {
  308.         if (IsHeroic()) // Heroic Difficulty
  309.         {
  310.             switch (_unit->GetEntry())
  311.             {
  312.             case 26800:
  313.                 _unit->SetMaxHealth(63000);
  314.                 _unit->SetHealth(_unit->GetMaxHealth());
  315.                 _unit->SetMinDamage(5486.0f);
  316.                 _unit->SetMaxDamage(7618.0f);
  317.                 _unit->setLevel(80);
  318.                 break;
  319.             case 26799:
  320.                 _unit->SetMaxHealth(63000);
  321.                 _unit->SetHealth(_unit->GetMaxHealth());
  322.                 _unit->SetMinDamage(5486.0f);
  323.                 _unit->SetMaxDamage(7618.0f);
  324.                 _unit->setLevel(80);
  325.                 break;
  326.             case 26802:
  327.                 _unit->SetMaxHealth(63000);
  328.                 _unit->SetHealth(_unit->GetMaxHealth());
  329.                 _unit->SetMinDamage(5421.0f);
  330.                 _unit->SetMaxDamage(7566.0f);
  331.                 _unit->setLevel(80);
  332.                 break;
  333.             case 26801:
  334.                 _unit->SetMaxHealth(63000);
  335.                 _unit->SetHealth(_unit->GetMaxHealth());
  336.                 _unit->SetMinDamage(5421.0f);
  337.                 _unit->SetMaxDamage(7566.0f);
  338.                 _unit->setLevel(80);
  339.                 break;
  340.             case 26805:
  341.                 _unit->SetMaxHealth(63000);
  342.                 _unit->SetHealth(_unit->GetMaxHealth());
  343.                 _unit->SetMinDamage(5421.0f);
  344.                 _unit->SetMaxDamage(7566.0f);
  345.                 _unit->setLevel(80);
  346.                 break;
  347.             case 26803:
  348.                 _unit->SetMaxHealth(63000);
  349.                 _unit->SetHealth(_unit->GetMaxHealth());
  350.                 _unit->SetMinDamage(5421.0f);
  351.                 _unit->SetMaxDamage(7566.0f);
  352.                 _unit->setLevel(80);
  353.                 break;
  354.             case 26734:
  355.                 _unit->SetMaxHealth(63000);
  356.                 _unit->SetHealth(_unit->GetMaxHealth());
  357.                 _unit->SetMinDamage(5486.0f);
  358.                 _unit->SetMaxDamage(7618.0f);
  359.                 _unit->setLevel(80);
  360.                 break;
  361.             case 26722:
  362.                 _unit->SetMaxHealth(130330);
  363.                 _unit->SetHealth(_unit->GetMaxHealth());
  364.                 _unit->SetMinDamage(5525.0f);
  365.                 _unit->SetMaxDamage(7826.0f);
  366.                 _unit->setLevel(80);
  367.                 break;
  368.             case 26735:
  369.                 _unit->SetMaxHealth(63000);
  370.                 _unit->SetHealth(_unit->GetMaxHealth());
  371.                 _unit->SetMinDamage(5421.0f);
  372.                 _unit->SetMaxDamage(7566.0f);
  373.                 _unit->setLevel(80);
  374.                 break;
  375.             case 26716:
  376.                 _unit->SetMaxHealth(130330);
  377.                 _unit->SetHealth(_unit->GetMaxHealth());
  378.                 _unit->SetMinDamage(5525.0f);
  379.                 _unit->SetMaxDamage(7826.0f);
  380.                 _unit->setLevel(80);
  381.                 break;
  382.             case 26727:
  383.                 _unit->SetMaxHealth(63000);
  384.                 _unit->SetHealth(_unit->GetMaxHealth());
  385.                 _unit->SetMinDamage(5421.0f);
  386.                 _unit->SetMaxDamage(7566.0f);
  387.                 _unit->setLevel(80);
  388.                 break;
  389.             case 26728:
  390.                 _unit->SetMaxHealth(63000);
  391.                 _unit->SetHealth(_unit->GetMaxHealth());
  392.                 _unit->SetMinDamage(5421.0f);
  393.                 _unit->SetMaxDamage(7566.0f);
  394.                 _unit->setLevel(80);
  395.                 break;
  396.             case 26729:
  397.                 _unit->SetMaxHealth(63000);
  398.                 _unit->SetHealth(_unit->GetMaxHealth());
  399.                 _unit->SetMinDamage(5486.0f);
  400.                 _unit->SetMaxDamage(7618.0f);
  401.                 _unit->setLevel(80);
  402.                 break;
  403.             case 26730:
  404.                 _unit->SetMaxHealth(63000);
  405.                 _unit->SetHealth(_unit->GetMaxHealth());
  406.                 _unit->SetMinDamage(5421.0f);
  407.                 _unit->SetMaxDamage(7566.0f);
  408.                 _unit->setLevel(80);
  409.                 break;
  410.             case 26793:
  411.                 _unit->SetMaxHealth(5670);
  412.                 _unit->SetHealth(_unit->GetMaxHealth());
  413.                 _unit->SetMinDamage(422.0f);
  414.                 _unit->SetMaxDamage(586.0f);
  415.                 _unit->setLevel(80);
  416.                 break;
  417.             case 26782:
  418.                 _unit->SetMaxHealth(63000);
  419.                 _unit->SetHealth(_unit->GetMaxHealth());
  420.                 _unit->SetMinDamage(5421.0f);
  421.                 _unit->SetMaxDamage(7566.0f);
  422.                 _unit->setLevel(80);
  423.                 break;
  424.             case 26792:
  425.                 _unit->SetMaxHealth(126000);
  426.                 _unit->SetHealth(_unit->GetMaxHealth());
  427.                 _unit->SetMinDamage(5486.0f);
  428.                 _unit->SetMaxDamage(7618.0f);
  429.                 _unit->setLevel(80);
  430.                 break;
  431.             case 28231:
  432.                 _unit->SetMaxHealth(63000);
  433.                 _unit->SetHealth(_unit->GetMaxHealth());
  434.                 _unit->SetMinDamage(5421.0f);
  435.                 _unit->SetMaxDamage(7566.0f);
  436.                 _unit->setLevel(80);
  437.                 break;
  438.             case 26918:
  439.                 _unit->SetMaxHealth(28350);
  440.                 _unit->SetHealth(_unit->GetMaxHealth());
  441.                 _unit->SetMinDamage(5421.0f);
  442.                 _unit->SetMaxDamage(7566.0f);
  443.                 _unit->setLevel(80);
  444.                 break;
  445.             case 26737:
  446.                 _unit->SetMaxHealth(63000);
  447.                 _unit->SetHealth(_unit->GetMaxHealth());
  448.                 _unit->SetMinDamage(5421.0f);
  449.                 _unit->SetMaxDamage(7566.0f);
  450.                 _unit->setLevel(80);
  451.                 break;
  452.             case 26746:
  453.                 _unit->SetMaxHealth(9576);
  454.                 _unit->SetHealth(_unit->GetMaxHealth());
  455.                 _unit->SetMinDamage(346.0f);
  456.                 _unit->SetMaxDamage(499.0f);
  457.                 _unit->setLevel(80);
  458.                 break;
  459.             }
  460.         }
  461.     }
  462. };
  463. /********************************************************
  464. *               FrostwingCore Scripts                   *
  465. *                                                       *
  466. *                   Pit of Saron                        *
  467. *Bosses already support heroic mode via there instance  *
  468. *Stats from wotlk.openwow.com & wowpedia                *
  469. *********************************************************/
  470. class Heroic_PitofSaron : public MoonScriptCreatureAI
  471. {
  472. public:
  473.     MOONSCRIPT_FACTORY_FUNCTION(Heroic_PitofSaron, MoonScriptCreatureAI);
  474.     Heroic_PitofSaron(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  475.     {
  476.     }
  477.  
  478.     void OnLoad()
  479.     {
  480.         if (IsHeroic()) // Heroic Difficulty
  481.         {
  482.             switch (_unit->GetEntry())
  483.             {
  484.             case 36788:
  485.                 _unit->SetMaxHealth(302400);
  486.                 _unit->SetHealth(_unit->GetMaxHealth());
  487.                 _unit->SetMinDamage(4498.0f);
  488.                 _unit->SetMaxDamage(6487.0f);
  489.                 break;
  490.             case 36881:
  491.                 _unit->SetMaxHealth(8013);
  492.                 _unit->SetHealth(_unit->GetMaxHealth());
  493.                 _unit->SetMinDamage(422.0f);
  494.                 _unit->SetMaxDamage(586.0f);
  495.                 break;
  496.             case 36830:
  497.                 _unit->SetMaxHealth(264600);
  498.                 _unit->SetHealth(_unit->GetMaxHealth());
  499.                 _unit->SetMinDamage(5486.0f);
  500.                 _unit->SetMaxDamage(7618.0f);
  501.                 break;
  502.             case 37712:
  503.                 _unit->SetMaxHealth(105840);
  504.                 _unit->SetHealth(_unit->GetMaxHealth());
  505.                 _unit->SetMinDamage(4498.0f);
  506.                 _unit->SetMaxDamage(6487.0f);
  507.                 break;
  508.             case 37713:
  509.                 _unit->SetMaxHealth(105840);
  510.                 _unit->SetHealth(_unit->GetMaxHealth());
  511.                 _unit->SetMinDamage(4498.0f);
  512.                 _unit->SetMaxDamage(6487.0f);
  513.                 break;
  514.             case 37711:
  515.                 _unit->SetMaxHealth(132300);
  516.                 _unit->SetHealth(_unit->GetMaxHealth());
  517.                 _unit->SetMinDamage(5486.0f);
  518.                 _unit->SetMaxDamage(7618.0f);
  519.                 break;
  520.             case 31260:
  521.                 _unit->SetMaxHealth(252000);
  522.                 _unit->SetHealth(_unit->GetMaxHealth());
  523.                 _unit->SetMinDamage(5486.0f);
  524.                 _unit->SetMaxDamage(7618.0f);
  525.                 break;
  526.             case 36891:
  527.                 _unit->SetMaxHealth(252000);
  528.                 _unit->SetHealth(_unit->GetMaxHealth());
  529.                 _unit->SetMinDamage(5486.0f);
  530.                 _unit->SetMaxDamage(7618.0f);
  531.                 break;
  532.             case 36886:
  533.                 _unit->SetMaxHealth(100800);
  534.                 _unit->SetHealth(_unit->GetMaxHealth());
  535.                 _unit->SetMinDamage(5421.0f);
  536.                 _unit->SetMaxDamage(7566.0f);
  537.                 break;
  538.             case 36879:
  539.                 _unit->SetMaxHealth(252000);
  540.                 _unit->SetHealth(_unit->GetMaxHealth());
  541.                 _unit->SetMinDamage(5421.0f);
  542.                 _unit->SetMaxDamage(7566.0f);
  543.                 break;
  544.             case 36893:
  545.                 _unit->SetMaxHealth(119700);
  546.                 _unit->SetHealth(_unit->GetMaxHealth());
  547.                 _unit->SetMinDamage(5421.0f);
  548.                 _unit->SetMaxDamage(7566.0f);
  549.                 break;
  550.             case 36892:
  551.                 _unit->SetMaxHealth(163800);
  552.                 _unit->SetHealth(_unit->GetMaxHealth());
  553.                 _unit->SetMinDamage(5421.0f);
  554.                 _unit->SetMaxDamage(7566.0f);
  555.                 break;
  556.             case 36840:
  557.                 _unit->SetMaxHealth(119700);
  558.                 _unit->SetHealth(_unit->GetMaxHealth());
  559.                 _unit->SetMinDamage(5421.0f);
  560.                 _unit->SetMaxDamage(7566.0f);
  561.                 break;
  562.             case 36841:
  563.                 _unit->SetMaxHealth(94500);
  564.                 _unit->SetHealth(_unit->GetMaxHealth());
  565.                 _unit->SetMinDamage(5421.0f);
  566.                 _unit->SetMaxDamage(7566.0f);
  567.                 break;
  568.             case 36842:
  569.                 _unit->SetMaxHealth(132300);
  570.                 _unit->SetHealth(_unit->GetMaxHealth());
  571.                 _unit->SetMinDamage(5421.0f);
  572.                 _unit->SetMaxDamage(7566.0f);
  573.                 break;
  574.             case 36877:
  575.                 _unit->SetMaxHealth(37800);
  576.                 _unit->SetHealth(_unit->GetMaxHealth());
  577.                 _unit->SetMinDamage(5421.0f);
  578.                 _unit->SetMaxDamage(7566.0f);
  579.                 break;
  580.             }
  581.         }
  582.     }
  583. };
  584.  
  585. /********************************************************
  586. *               FrostwingCore Scripts                   *
  587. *                                                       *
  588. *                   Violet Hold                         *
  589. *Bosses already support heroic mode via there instance  *
  590. *Stats from wotlk.openwow.com & wowpedia                *
  591. *********************************************************/
  592. class Violet1 : public MoonScriptCreatureAI
  593. {
  594. public:
  595.     MOONSCRIPT_FACTORY_FUNCTION(Violet1, MoonScriptCreatureAI);
  596.     Violet1(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  597.     {
  598.     }
  599.  
  600.     void OnLoad()
  601.     {
  602.         if (IsHeroic())
  603.         {
  604.                 _unit->SetMaxHealth(162913);
  605.                 _unit->SetHealth(_unit->GetMaxHealth());
  606.                 _unit->SetMinDamage(5525.0f);
  607.                 _unit->SetMaxDamage(7826.0f);
  608.                 _unit->setLevel(81);
  609.                 _unit->SetFaction(14);
  610.         }
  611.         ParentClass::OnLoad();
  612.     }
  613. };
  614.  
  615. class Violet2 : public MoonScriptCreatureAI
  616. {
  617. public:
  618.     MOONSCRIPT_FACTORY_FUNCTION(Violet2, MoonScriptCreatureAI);
  619.     Violet2(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  620.     {
  621.     }
  622.  
  623.     void OnLoad()
  624.     {
  625.         if (IsHeroic())
  626.         {
  627.             _unit->SetMaxHealth(162913);
  628.             _unit->SetHealth(_unit->GetMaxHealth());
  629.             _unit->SetMinDamage(6032.0f);
  630.             _unit->SetMaxDamage(7852.0f);
  631.             _unit->setLevel(81);
  632.         }
  633.         ParentClass::OnLoad();
  634.     }
  635. };
  636.  
  637. class Violet3 : public MoonScriptCreatureAI
  638. {
  639. public:
  640.     MOONSCRIPT_FACTORY_FUNCTION(Violet3, MoonScriptCreatureAI);
  641.     Violet3(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  642.     {
  643.     }
  644.  
  645.     void OnLoad()
  646.     {
  647.         if (IsHeroic())
  648.         {
  649.             _unit->SetMaxHealth(65165);
  650.             _unit->SetHealth(_unit->GetMaxHealth());
  651.             _unit->SetMinDamage(6032.0f);
  652.             _unit->SetMaxDamage(7852.0f);
  653.             _unit->setLevel(81);
  654.         }
  655.         ParentClass::OnLoad();
  656.     }
  657. };
  658.  
  659. class Violet4 : public MoonScriptCreatureAI
  660. {
  661. public:
  662.     MOONSCRIPT_FACTORY_FUNCTION(Violet4, MoonScriptCreatureAI);
  663.     Violet4(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  664.     {
  665.     }
  666.  
  667.     void OnLoad()
  668.     {
  669.         if (IsHeroic())
  670.         {
  671.             _unit->SetMaxHealth(65165);
  672.             _unit->SetHealth(_unit->GetMaxHealth());
  673.             _unit->SetMinDamage(6032.0f);
  674.             _unit->SetMaxDamage(7852.0f);
  675.             _unit->setLevel(81);
  676.         }
  677.         ParentClass::OnLoad();
  678.     }
  679. };
  680.  
  681. class Violet5 : public MoonScriptCreatureAI
  682. {
  683. public:
  684.     MOONSCRIPT_FACTORY_FUNCTION(Violet5, MoonScriptCreatureAI);
  685.     Violet5(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  686.     {
  687.     }
  688.  
  689.     void OnLoad()
  690.     {
  691.         if (IsHeroic())
  692.         {
  693.             _unit->SetMaxHealth(65165);
  694.             _unit->SetHealth(_unit->GetMaxHealth());
  695.             _unit->SetMinDamage(6032.0f);
  696.             _unit->SetMaxDamage(7852.0f);
  697.             _unit->setLevel(81);
  698.         }
  699.         ParentClass::OnLoad();
  700.     }
  701. };
  702.  
  703. /********************************************************
  704. *               FrostwingCore Scripts                   *
  705. *                                                       *
  706. *                   Drak'Tharon Keep                    *
  707. *Bosses already support heroic mode via there instance  *
  708. *Stats from wotlk.openwow.com & wowpedia                *
  709. *********************************************************/
  710. class RisenDrakkariSoulMage : public MoonScriptCreatureAI
  711. {
  712. public:
  713.     MOONSCRIPT_FACTORY_FUNCTION(RisenDrakkariSoulMage, MoonScriptCreatureAI);
  714.     RisenDrakkariSoulMage(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  715.     {
  716.     }
  717.  
  718.     void OnLoad()
  719.     {
  720.         if (IsHeroic())
  721.         {
  722.             _unit->SetMaxHealth(65165);
  723.             _unit->SetHealth(_unit->GetMaxHealth());
  724.             _unit->SetMinDamage(5525.0f);
  725.             _unit->SetMaxDamage(7826.0f);
  726.             _unit->setLevel(RandomUInt(80, 81));
  727.         }
  728.     }
  729. };
  730.  
  731. class RisenDrakkariSoulWarrior : public MoonScriptCreatureAI
  732. {
  733. public:
  734.     MOONSCRIPT_FACTORY_FUNCTION(RisenDrakkariSoulWarrior, MoonScriptCreatureAI);
  735.     RisenDrakkariSoulWarrior(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  736.     {
  737.     }
  738.  
  739.     void OnLoad()
  740.     {
  741.         if (IsHeroic())
  742.         {
  743.             _unit->SetMaxHealth(65165);
  744.             _unit->SetHealth(_unit->GetMaxHealth());
  745.             _unit->SetMinDamage(5525.0f);
  746.             _unit->SetMaxDamage(7826.0f);
  747.             _unit->setLevel(RandomUInt(80, 81));
  748.         }
  749.     }
  750. };
  751.  
  752. class ScourgeReanimator : public MoonScriptCreatureAI
  753. {
  754. public:
  755.     MOONSCRIPT_FACTORY_FUNCTION(ScourgeReanimator, MoonScriptCreatureAI);
  756.     ScourgeReanimator(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  757.     {
  758.     }
  759.  
  760.     void OnLoad()
  761.     {
  762.         if (IsHeroic())
  763.         {
  764.             _unit->SetMaxHealth(63000);
  765.             _unit->SetHealth(_unit->GetMaxHealth());
  766.             _unit->SetMinDamage(5525.0f);
  767.             _unit->SetMaxDamage(7826.0f);
  768.             _unit->setLevel(RandomUInt(80, 81));
  769.         }
  770.     }
  771. };
  772.  
  773. class FleshGhoul : public MoonScriptCreatureAI
  774. {
  775. public:
  776.     MOONSCRIPT_FACTORY_FUNCTION(FleshGhoul, MoonScriptCreatureAI);
  777.     FleshGhoul(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  778.     {
  779.     }
  780.  
  781.     void OnLoad()
  782.     {
  783.         if (IsHeroic())
  784.         {
  785.             _unit->SetMaxHealth(65165);
  786.             _unit->SetHealth(_unit->GetMaxHealth());
  787.             _unit->SetMinDamage(5525.0f);
  788.             _unit->SetMaxDamage(7826.0f);
  789.             _unit->setLevel(RandomUInt(80, 81));
  790.         }
  791.     }
  792. };
  793.  
  794. class GhoulTorment : public MoonScriptCreatureAI
  795. {
  796. public:
  797.     MOONSCRIPT_FACTORY_FUNCTION(GhoulTorment, MoonScriptCreatureAI);
  798.     GhoulTorment(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  799.     {
  800.     }
  801.  
  802.     void OnLoad()
  803.     {
  804.         if (IsHeroic())
  805.         {
  806.             _unit->SetMaxHealth(63000);
  807.             _unit->SetHealth(_unit->GetMaxHealth());
  808.             _unit->SetMinDamage(5525.0f);
  809.             _unit->SetMaxDamage(7826.0f);
  810.             _unit->setLevel(RandomUInt(80, 81));
  811.         }
  812.     }
  813. };
  814.  
  815. class Belcher : public MoonScriptCreatureAI
  816. {
  817. public:
  818.     MOONSCRIPT_FACTORY_FUNCTION(Belcher, MoonScriptCreatureAI);
  819.     Belcher(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  820.     {
  821.     }
  822.  
  823.     void OnLoad()
  824.     {
  825.         if (IsHeroic())
  826.         {
  827.             _unit->SetMaxHealth(130330);
  828.             _unit->SetHealth(_unit->GetMaxHealth());
  829.             _unit->SetMinDamage(5525.0f);
  830.             _unit->SetMaxDamage(7826.0f);
  831.             _unit->setLevel(RandomUInt(80, 81));
  832.         }
  833.     }
  834. };
  835.  
  836. class DrakkariInvader : public MoonScriptCreatureAI // DAMAGE GUESSED
  837. {
  838. public:
  839.     MOONSCRIPT_FACTORY_FUNCTION(DrakkariInvader, MoonScriptCreatureAI);
  840.     DrakkariInvader(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  841.     {
  842.     }
  843.  
  844.     void OnLoad()
  845.     {
  846.         if (IsHeroic())
  847.         {
  848.             _unit->SetMaxHealth(2000);
  849.             _unit->SetHealth(_unit->GetMaxHealth());
  850.             _unit->SetMinDamage(200.0f);
  851.             _unit->SetMaxDamage(325.0f);
  852.             _unit->setLevel(RandomUInt(80, 81));
  853.         }
  854.     }
  855. };
  856.  
  857. class DarkwebHatch : public MoonScriptCreatureAI
  858. {
  859. public:
  860.     MOONSCRIPT_FACTORY_FUNCTION(DarkwebHatch, MoonScriptCreatureAI);
  861.     DarkwebHatch(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  862.     {
  863.     }
  864.  
  865.     void OnLoad()
  866.     {
  867.         if (IsHeroic())
  868.         {
  869.             _unit->SetMaxHealth(12600);
  870.             _unit->SetHealth(_unit->GetMaxHealth());
  871.             _unit->SetMinDamage(578.0f);
  872.             _unit->SetMaxDamage(788.0f);
  873.             _unit->setLevel(RandomUInt(80, 81));
  874.         }
  875.     }
  876. };
  877.  
  878. class DarkwebRecluse : public MoonScriptCreatureAI
  879. {
  880. public:
  881.     MOONSCRIPT_FACTORY_FUNCTION(DarkwebRecluse, MoonScriptCreatureAI);
  882.     DarkwebRecluse(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  883.     {
  884.     }
  885.  
  886.     void OnLoad()
  887.     {
  888.         if (IsHeroic())
  889.         {
  890.             _unit->SetMaxHealth(65165);
  891.             _unit->SetHealth(_unit->GetMaxHealth());
  892.             _unit->SetMinDamage(6420.0f);
  893.             _unit->SetMaxDamage(8753.0f);
  894.             _unit->setLevel(RandomUInt(80, 81));
  895.         }
  896.     }
  897. };
  898.  
  899. class DrakkariGuardian : public MoonScriptCreatureAI
  900. {
  901. public:
  902.     MOONSCRIPT_FACTORY_FUNCTION(DrakkariGuardian, MoonScriptCreatureAI);
  903.     DrakkariGuardian(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  904.     {
  905.     }
  906.  
  907.     void OnLoad()
  908.     {
  909.         if (IsHeroic())
  910.         {
  911.             _unit->SetMaxHealth(65165);
  912.             _unit->SetHealth(_unit->GetMaxHealth());
  913.             _unit->SetMinDamage(5525.0f);
  914.             _unit->SetMaxDamage(7826.0f);
  915.             _unit->setLevel(RandomUInt(80, 81));
  916.         }
  917.     }
  918. };
  919.  
  920. class DrakkariShaman : public MoonScriptCreatureAI
  921. {
  922. public:
  923.     MOONSCRIPT_FACTORY_FUNCTION(DrakkariShaman, MoonScriptCreatureAI);
  924.     DrakkariShaman(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  925.     {
  926.     }
  927.  
  928.     void OnLoad()
  929.     {
  930.         if (IsHeroic())
  931.         {
  932.             _unit->SetMaxHealth(63000);
  933.             _unit->SetHealth(_unit->GetMaxHealth());
  934.             _unit->SetMinDamage(5525.0f);
  935.             _unit->SetMaxDamage(7826.0f);
  936.             _unit->setLevel(RandomUInt(80, 81));
  937.         }
  938.     }
  939. };
  940.  
  941. class CrystalHandler : public MoonScriptCreatureAI
  942. {
  943. public:
  944.     MOONSCRIPT_FACTORY_FUNCTION(CrystalHandler, MoonScriptCreatureAI);
  945.     CrystalHandler(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  946.     {
  947.     }
  948.  
  949.     void OnLoad()
  950.     {
  951.         if (IsHeroic())
  952.         {
  953.             _unit->SetMaxHealth(41704);
  954.             _unit->SetHealth(_unit->GetMaxHealth());
  955.             _unit->SetMinDamage(4807.0f);
  956.             _unit->SetMaxDamage(6567.0f);
  957.             _unit->setLevel(RandomUInt(80, 81));
  958.         }
  959.     }
  960. };
  961.  
  962. class FetidCorpse : public MoonScriptCreatureAI
  963. {
  964. public:
  965.     MOONSCRIPT_FACTORY_FUNCTION(FetidCorpse, MoonScriptCreatureAI);
  966.     FetidCorpse(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  967.     {
  968.     }
  969.  
  970.     void OnLoad()
  971.     {
  972.         if (IsHeroic())
  973.         {
  974.             _unit->SetMaxHealth(3780);
  975.             _unit->SetHealth(_unit->GetMaxHealth());
  976.             _unit->SetMinDamage(578.0f);
  977.             _unit->SetMaxDamage(788.0f);
  978.             _unit->setLevel(RandomUInt(80, 81));
  979.         }
  980.     }
  981. };
  982.  
  983. class HulkingCorpse : public MoonScriptCreatureAI
  984. {
  985. public:
  986.     MOONSCRIPT_FACTORY_FUNCTION(HulkingCorpse, MoonScriptCreatureAI);
  987.     HulkingCorpse(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  988.     {
  989.     }
  990.  
  991.     void OnLoad()
  992.     {
  993.         if (IsHeroic())
  994.         {
  995.             _unit->SetMaxHealth(25200);
  996.             _unit->SetHealth(_unit->GetMaxHealth());
  997.             _unit->SetMinDamage(4807.0f);
  998.             _unit->SetMaxDamage(5567.0f);
  999.             _unit->setLevel(RandomUInt(80, 81));
  1000.         }
  1001.     }
  1002. };
  1003.  
  1004. class RisenShadowCaster : public MoonScriptCreatureAI
  1005. {
  1006. public:
  1007.     MOONSCRIPT_FACTORY_FUNCTION(RisenShadowCaster, MoonScriptCreatureAI);
  1008.     RisenShadowCaster(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1009.     {
  1010.     }
  1011.  
  1012.     void OnLoad()
  1013.     {
  1014.         if (IsHeroic())
  1015.         {
  1016.             _unit->SetMaxHealth(3128);
  1017.             _unit->SetHealth(_unit->GetMaxHealth());
  1018.             _unit->SetMinDamage(578.0f);
  1019.             _unit->SetMaxDamage(788.0f);
  1020.             _unit->setLevel(RandomUInt(80, 81));
  1021.         }
  1022.     }
  1023. };
  1024.  
  1025. class DrakkariBat : public MoonScriptCreatureAI
  1026. {
  1027. public:
  1028.     MOONSCRIPT_FACTORY_FUNCTION(DrakkariBat, MoonScriptCreatureAI);
  1029.     DrakkariBat(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1030.     {
  1031.     }
  1032.  
  1033.     void OnLoad()
  1034.     {
  1035.         if (IsHeroic())
  1036.         {
  1037.             _unit->SetMaxHealth(12600);
  1038.             _unit->SetHealth(_unit->GetMaxHealth());
  1039.             _unit->SetMinDamage(578.0f);
  1040.             _unit->SetMaxDamage(788.0f);
  1041.             _unit->setLevel(RandomUInt(80, 81));
  1042.         }
  1043.     }
  1044. };
  1045.  
  1046. class DrakkariBatRider : public MoonScriptCreatureAI
  1047. {
  1048. public:
  1049.     MOONSCRIPT_FACTORY_FUNCTION(DrakkariBatRider, MoonScriptCreatureAI);
  1050.     DrakkariBatRider(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1051.     {
  1052.     }
  1053.  
  1054.     void OnLoad()
  1055.     {
  1056.         if (IsHeroic())
  1057.         {
  1058.             _unit->SetMaxHealth(63000);
  1059.             _unit->SetHealth(_unit->GetMaxHealth());
  1060.             _unit->SetMinDamage(5525.0f);
  1061.             _unit->SetMaxDamage(7826.0f);
  1062.             _unit->setLevel(RandomUInt(80, 81));
  1063.         }
  1064.     }
  1065. };
  1066.  
  1067. class DrakkariGutripper : public MoonScriptCreatureAI
  1068. {
  1069. public:
  1070.     MOONSCRIPT_FACTORY_FUNCTION(DrakkariGutripper, MoonScriptCreatureAI);
  1071.     DrakkariGutripper(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1072.     {
  1073.     }
  1074.  
  1075.     void OnLoad()
  1076.     {
  1077.         if (IsHeroic())
  1078.         {
  1079.             _unit->SetMaxHealth(65165);
  1080.             _unit->SetHealth(_unit->GetMaxHealth());
  1081.             _unit->SetMinDamage(5525.0f);
  1082.             _unit->SetMaxDamage(7826.0f);
  1083.             _unit->setLevel(RandomUInt(80, 81));
  1084.         }
  1085.     }
  1086. };
  1087.  
  1088. class DrakkariMount : public MoonScriptCreatureAI
  1089. {
  1090. public:
  1091.     MOONSCRIPT_FACTORY_FUNCTION(DrakkariMount, MoonScriptCreatureAI);
  1092.     DrakkariMount(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1093.     {
  1094.     }
  1095.  
  1096.     void OnLoad()
  1097.     {
  1098.         if (IsHeroic())
  1099.         {
  1100.             _unit->SetMaxHealth(26066);
  1101.             _unit->SetHealth(_unit->GetMaxHealth());
  1102.             _unit->SetMinDamage(725.0f);
  1103.             _unit->SetMaxDamage(1025.0f);
  1104.             _unit->setLevel(RandomUInt(80, 81));
  1105.         }
  1106.     }
  1107. };
  1108.  
  1109. class DrakkariScytheclaw : public MoonScriptCreatureAI
  1110. {
  1111. public:
  1112.     MOONSCRIPT_FACTORY_FUNCTION(DrakkariScytheclaw, MoonScriptCreatureAI);
  1113.     DrakkariScytheclaw(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1114.     {
  1115.     }
  1116.  
  1117.     void OnLoad()
  1118.     {
  1119.         if (IsHeroic())
  1120.         {
  1121.             _unit->SetMaxHealth(65165);
  1122.             _unit->SetHealth(_unit->GetMaxHealth());
  1123.             _unit->SetMinDamage(5525.0f);
  1124.             _unit->SetMaxDamage(7826.0f);
  1125.             _unit->setLevel(RandomUInt(80, 81));
  1126.         }
  1127.     }
  1128. };
  1129.  
  1130. class DrakkariHandler : public MoonScriptCreatureAI
  1131. {
  1132. public:
  1133.     MOONSCRIPT_FACTORY_FUNCTION(DrakkariHandler, MoonScriptCreatureAI);
  1134.     DrakkariHandler(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1135.     {
  1136.     }
  1137.  
  1138.     void OnLoad()
  1139.     {
  1140.         if (IsHeroic())
  1141.         {
  1142.             _unit->SetMaxHealth(63000);
  1143.             _unit->SetHealth(_unit->GetMaxHealth());
  1144.             _unit->SetMinDamage(5525.0f);
  1145.             _unit->SetMaxDamage(7826.0f);
  1146.             _unit->setLevel(RandomUInt(80, 81));
  1147.         }
  1148.     }
  1149. };
  1150.  
  1151. class DrakkariCommander : public MoonScriptCreatureAI
  1152. {
  1153. public:
  1154.     MOONSCRIPT_FACTORY_FUNCTION(DrakkariCommander, MoonScriptCreatureAI);
  1155.     DrakkariCommander(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1156.     {
  1157.     }
  1158.  
  1159.     void OnLoad()
  1160.     {
  1161.         if (IsHeroic())
  1162.         {
  1163.             _unit->SetMaxHealth(65165);
  1164.             _unit->SetHealth(_unit->GetMaxHealth());
  1165.             _unit->SetMinDamage(5525.0f);
  1166.             _unit->SetMaxDamage(7826.0f);
  1167.             _unit->setLevel(RandomUInt(80, 81));
  1168.         }
  1169.     }
  1170. };
  1171.  
  1172. class DrakkariDK : public MoonScriptCreatureAI
  1173. {
  1174. public:
  1175.     MOONSCRIPT_FACTORY_FUNCTION(DrakkariDK, MoonScriptCreatureAI);
  1176.     DrakkariDK(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1177.     {
  1178.     }
  1179.  
  1180.     void OnLoad()
  1181.     {
  1182.         if (IsHeroic())
  1183.         {
  1184.             _unit->SetMaxHealth(100800);
  1185.             _unit->SetHealth(_unit->GetMaxHealth());
  1186.             _unit->SetMinDamage(5525.0f);
  1187.             _unit->SetMaxDamage(7826.0f);
  1188.             _unit->setLevel(RandomUInt(80, 81));
  1189.         }
  1190.     }
  1191. };
  1192.  
  1193. class ScourgeBrute : public MoonScriptCreatureAI
  1194. {
  1195. public:
  1196.     MOONSCRIPT_FACTORY_FUNCTION(ScourgeBrute, MoonScriptCreatureAI);
  1197.     ScourgeBrute(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1198.     {
  1199.     }
  1200.  
  1201.     void OnLoad()
  1202.     {
  1203.         if (IsHeroic())
  1204.         {
  1205.             _unit->SetMaxHealth(65165);
  1206.             _unit->SetHealth(_unit->GetMaxHealth());
  1207.             _unit->SetMinDamage(5525.0f);
  1208.             _unit->SetMaxDamage(7826.0f);
  1209.             _unit->setLevel(RandomUInt(80, 81));
  1210.         }
  1211.     }
  1212. };
  1213. /********************************************************
  1214. *               FrostwingCore Scripts                   *
  1215. *   |                                                   *
  1216. *   V               Utgarde Pinnacle                    *
  1217. *Bosses already support heroic mode via there instance  *
  1218. *Stats from wotlk.openwow.com & wowpedia                *
  1219. *********************************************************/
  1220.  
  1221. class Heroic_UtgardePinnacle : public MoonScriptCreatureAI
  1222. {
  1223. public:
  1224.     MOONSCRIPT_FACTORY_FUNCTION(Heroic_UtgardePinnacle, MoonScriptCreatureAI);
  1225.     Heroic_UtgardePinnacle(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1226.     {
  1227.     }
  1228.  
  1229.     void OnLoad()
  1230.     {
  1231.         if (IsHeroic()) // Normal Modes
  1232.         {
  1233.             switch (_unit->GetEntry())
  1234.             {
  1235.             case 26550:
  1236.                 _unit->SetMaxHealth(65165);
  1237.                 _unit->SetHealth(_unit->GetMaxHealth());
  1238.                 _unit->SetMinDamage(6032.0f);
  1239.                 _unit->SetMaxDamage(7852.0f);
  1240.                 _unit->setLevel(RandomUInt(80, 81));
  1241.                 break;
  1242.             case 26553:
  1243.                 _unit->SetMaxHealth(65165);
  1244.                 _unit->SetHealth(_unit->GetMaxHealth());
  1245.                 _unit->SetMinDamage(6032.0f);
  1246.                 _unit->SetMaxDamage(7852.0f);
  1247.                 _unit->setLevel(RandomUInt(80, 81));
  1248.                 break;
  1249.             case 26554:
  1250.                 _unit->SetMaxHealth(65165);
  1251.                 _unit->SetHealth(_unit->GetMaxHealth());
  1252.                 _unit->SetMinDamage(6032.0f);
  1253.                 _unit->SetMaxDamage(7852.0f);
  1254.                 _unit->setLevel(RandomUInt(80, 81));
  1255.                 break;
  1256.             case 26536:
  1257.                 _unit->SetMaxHealth(4725);
  1258.                 _unit->SetHealth(_unit->GetMaxHealth());
  1259.                 _unit->SetMinDamage(556.0f);
  1260.                 _unit->SetMaxDamage(758.0f);
  1261.                 _unit->setLevel(RandomUInt(80, 81));
  1262.                 break;
  1263.             case 26555:
  1264.                 _unit->SetMaxHealth(130330);
  1265.                 _unit->SetHealth(_unit->GetMaxHealth());
  1266.                 _unit->SetMinDamage(6032.0f);
  1267.                 _unit->SetMaxDamage(7852.0f);
  1268.                 _unit->setLevel(RandomUInt(80, 81));
  1269.                 break;
  1270.             case 26672:
  1271.                 _unit->SetMaxHealth(63000);
  1272.                 _unit->SetHealth(_unit->GetMaxHealth());
  1273.                 _unit->SetMinDamage(6032.0f);
  1274.                 _unit->SetMaxDamage(7852.0f);
  1275.                 _unit->setLevel(RandomUInt(80, 81));
  1276.                 break;
  1277.             case 26670:
  1278.                 _unit->SetMaxHealth(65165);
  1279.                 _unit->SetHealth(_unit->GetMaxHealth());
  1280.                 _unit->SetMinDamage(6032.0f);
  1281.                 _unit->SetMaxDamage(7852.0f);
  1282.                 _unit->setLevel(RandomUInt(80, 81));
  1283.                 break;
  1284.             case 26669:
  1285.                 _unit->SetMaxHealth(65165);
  1286.                 _unit->SetHealth(_unit->GetMaxHealth());
  1287.                 _unit->SetMinDamage(6032.0f);
  1288.                 _unit->SetMaxDamage(7852.0f);
  1289.                 _unit->setLevel(RandomUInt(80, 81));
  1290.                 break;
  1291.             case 26696:
  1292.                 _unit->SetMaxHealth(65165);
  1293.                 _unit->SetHealth(_unit->GetMaxHealth());
  1294.                 _unit->SetMinDamage(6032.0f);
  1295.                 _unit->SetMaxDamage(7852.0f);
  1296.                 _unit->setLevel(RandomUInt(80, 81));
  1297.                 break;
  1298.             case 26694:
  1299.                 _unit->SetMaxHealth(50400);
  1300.                 _unit->SetHealth(_unit->GetMaxHealth());
  1301.                 _unit->SetMinDamage(6032.0f);
  1302.                 _unit->SetMaxDamage(7852.0f);
  1303.                 _unit->setLevel(RandomUInt(80, 81));
  1304.                 break;
  1305.             case 28368:
  1306.                 _unit->SetMaxHealth(52130);
  1307.                 _unit->SetHealth(_unit->GetMaxHealth());
  1308.                 _unit->SetMinDamage(6032.0f);
  1309.                 _unit->SetMaxDamage(7852.0f);
  1310.                 _unit->setLevel(RandomUInt(80, 81));
  1311.                 break;
  1312.             }
  1313.         }
  1314.     }
  1315. };
  1316.  
  1317. /********************************************************
  1318. *               FrostwingCore Scripts                   *
  1319. *   |                                                   *
  1320. *   V               Halls of Stone                      *
  1321. *Bosses already support heroic mode via there instance  *
  1322. *Stats from wotlk.openwow.com & wowpedia                *
  1323. *********************************************************/
  1324.  
  1325. class Heroic_HallsofStone : public MoonScriptCreatureAI
  1326. {
  1327. public:
  1328.     MOONSCRIPT_FACTORY_FUNCTION(Heroic_HallsofStone, MoonScriptCreatureAI);
  1329.     Heroic_HallsofStone(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1330.     {
  1331.     }
  1332.  
  1333.     void OnLoad()
  1334.     {
  1335.         if (IsHeroic())
  1336.         {
  1337.             switch (_unit->GetEntry())
  1338.             {
  1339.             case 27966:
  1340.                 _unit->SetMaxHealth(63000);
  1341.                 _unit->SetHealth(_unit->GetMaxHealth());
  1342.                 _unit->SetMinDamage(5417.0f);
  1343.                 _unit->SetMaxDamage(7561.0f);
  1344.                 _unit->setLevel(RandomUInt(80, 81));
  1345.                 break;
  1346.             case 27962:
  1347.                 _unit->SetMaxHealth(RandomUInt(63000, 65165));
  1348.                 _unit->SetHealth(_unit->GetMaxHealth());
  1349.                 _unit->SetMinDamage(5417.0f);
  1350.                 _unit->SetMaxDamage(7839.0f);
  1351.                 _unit->setLevel(RandomUInt(80, 81));
  1352.                 break;
  1353.             case 27969:
  1354.                 _unit->SetMaxHealth(130330);
  1355.                 _unit->SetHealth(_unit->GetMaxHealth());
  1356.                 _unit->SetMinDamage(5641.0f);
  1357.                 _unit->SetMaxDamage(7839.0f);
  1358.                 _unit->setLevel(RandomUInt(80, 81));
  1359.                 break;
  1360.             case 27964:
  1361.                 _unit->SetMaxHealth(65165);
  1362.                 _unit->SetHealth(_unit->GetMaxHealth());
  1363.                 _unit->SetMinDamage(4513.0f);
  1364.                 _unit->SetMaxDamage(6271.0f);
  1365.                 _unit->setLevel(RandomUInt(80, 81));
  1366.                 break;
  1367.             case 27965:
  1368.                 _unit->SetMaxHealth(RandomUInt(63000, 65165));
  1369.                 _unit->SetHealth(_unit->GetMaxHealth());
  1370.                 _unit->SetMinDamage(5417.0f);
  1371.                 _unit->SetMaxDamage(7839.0f);
  1372.                 _unit->setLevel(RandomUInt(80, 81));
  1373.                 break;
  1374.             case 27963:
  1375.                 _unit->SetMaxHealth(RandomUInt(50400, 52430));
  1376.                 _unit->SetHealth(_unit->GetMaxHealth());
  1377.                 _unit->SetMinDamage(4499.0f);
  1378.                 _unit->SetMaxDamage(6710.0f);
  1379.                 _unit->setLevel(RandomUInt(80, 81));
  1380.                 break;
  1381.             case 27960:
  1382.                 _unit->SetMaxHealth(RandomUInt(63000, 65165));
  1383.                 _unit->SetHealth(_unit->GetMaxHealth());
  1384.                 _unit->SetMinDamage(5480.0f);
  1385.                 _unit->SetMaxDamage(7905.0f);
  1386.                 _unit->setLevel(RandomUInt(80, 81));
  1387.                 break;
  1388.             case 27961:
  1389.                 _unit->SetMaxHealth(63000);
  1390.                 _unit->SetHealth(_unit->GetMaxHealth());
  1391.                 _unit->SetMinDamage(5480.0f);
  1392.                 _unit->SetMaxDamage(7624.0f);
  1393.                 _unit->setLevel(RandomUInt(80, 81));
  1394.                 break;
  1395.             case 27149:
  1396.                 _unit->SetMaxHealth(50400);
  1397.                 _unit->SetHealth(_unit->GetMaxHealth());
  1398.                 _unit->SetMinDamage(5417.0f);
  1399.                 _unit->SetMaxDamage(7561.0f);
  1400.                 _unit->setLevel(RandomUInt(80, 81));
  1401.                 break;
  1402.             case 27972:
  1403.                 _unit->SetMaxHealth(RandomUInt(126000, 130330));
  1404.                 _unit->SetHealth(_unit->GetMaxHealth());
  1405.                 _unit->SetMinDamage(3611.0f);
  1406.                 _unit->SetMaxDamage(5225.0f);
  1407.                 _unit->setLevel(RandomUInt(80, 81));
  1408.                 break;
  1409.             case 27970:
  1410.                 _unit->SetMaxHealth(126000);
  1411.                 _unit->SetHealth(_unit->GetMaxHealth());
  1412.                 _unit->SetMinDamage(5480.0f);
  1413.                 _unit->SetMaxDamage(7624.0f);
  1414.                 _unit->setLevel(RandomUInt(80, 81));
  1415.                 break;
  1416.             case 27971:
  1417.                 _unit->SetMaxHealth(RandomUInt(126000, 130330));
  1418.                 _unit->SetHealth(_unit->GetMaxHealth());
  1419.                 _unit->SetMinDamage(5480.0f);
  1420.                 _unit->SetMaxDamage(7905.0f);
  1421.                 _unit->setLevel(RandomUInt(80, 81));
  1422.                 break;
  1423.             case 27973:
  1424.                 _unit->SetMaxHealth(25200);
  1425.                 _unit->SetHealth(_unit->GetMaxHealth());
  1426.                 _unit->SetMinDamage(422.0f);
  1427.                 _unit->SetMaxDamage(586.0f);
  1428.                 _unit->setLevel(RandomUInt(80, 81));
  1429.                 break;
  1430.             case 27984:
  1431.                 _unit->SetMaxHealth(RandomUInt(20160, 20972));
  1432.                 _unit->SetHealth(_unit->GetMaxHealth());
  1433.                 _unit->SetMinDamage(346.0f);
  1434.                 _unit->SetMaxDamage(516.0f);
  1435.                 _unit->setLevel(RandomUInt(80, 81));
  1436.                 break;
  1437.             case 27985:
  1438.                 _unit->SetMaxHealth(67405);
  1439.                 _unit->SetHealth(_unit->GetMaxHealth());
  1440.                 _unit->SetMinDamage(5951.0f);
  1441.                 _unit->SetMaxDamage(8200.0f);
  1442.                 _unit->setLevel(RandomUInt(80, 81));
  1443.                 break;
  1444.             }
  1445.         }
  1446.     }
  1447. };
  1448.  
  1449. /********************************************************
  1450. *               FrostwingCore Scripts                   *
  1451. *   |                                                   *
  1452. *   V               Forge of Souls                      *
  1453. *Bosses already support heroic mode via there instance  *
  1454. *Stats from wotlk.openwow.com & wowpedia                *
  1455. *********************************************************/
  1456.  
  1457. class WatchmanAI : public MoonScriptCreatureAI
  1458. {
  1459.     MOONSCRIPT_FACTORY_FUNCTION(WatchmanAI, MoonScriptCreatureAI);
  1460.     WatchmanAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1461.     {
  1462.     };
  1463.  
  1464.     void OnLoad()
  1465.     {
  1466.         if (IsHeroic())
  1467.         {
  1468.             _unit->SetMaxHealth(132300);
  1469.             _unit->SetHealth(_unit->GetMaxHealth());
  1470.             _unit->SetMinDamage(5486.0f);
  1471.             _unit->SetMaxDamage(7618.0f);
  1472.         }
  1473.         ParentClass::OnLoad();
  1474.     };
  1475. };
  1476.  
  1477. class AdeptAI : public MoonScriptCreatureAI
  1478. {
  1479.     MOONSCRIPT_FACTORY_FUNCTION(AdeptAI, MoonScriptCreatureAI);
  1480.     AdeptAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1481.     {
  1482.     };
  1483.  
  1484.     void OnLoad()
  1485.     {
  1486.         if (IsHeroic())
  1487.         {
  1488.             _unit->SetMaxHealth(105000);
  1489.             _unit->SetHealth(_unit->GetMaxHealth());
  1490.             _unit->SetMinDamage(5486.0f);
  1491.             _unit->SetMaxDamage(7618.0f);
  1492.         }
  1493.         ParentClass::OnLoad();
  1494.     };
  1495. };
  1496.  
  1497. class AnimatorAI : public MoonScriptCreatureAI
  1498. {
  1499.     MOONSCRIPT_FACTORY_FUNCTION(AnimatorAI, MoonScriptCreatureAI);
  1500.     AnimatorAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1501.     {
  1502.     };
  1503.  
  1504.     void OnLoad()
  1505.     {
  1506.         if (IsHeroic())
  1507.         {
  1508.             _unit->SetMaxHealth(132000);
  1509.             _unit->SetHealth(_unit->GetMaxHealth());
  1510.             _unit->SetMinDamage(5486.0f);
  1511.             _unit->SetMaxDamage(7618.0f);
  1512.         }
  1513.         ParentClass::OnLoad();
  1514.     };
  1515. };
  1516.  
  1517. class BoneAI : public MoonScriptCreatureAI
  1518. {
  1519.     MOONSCRIPT_FACTORY_FUNCTION(BoneAI, MoonScriptCreatureAI);
  1520.     BoneAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1521.     {
  1522.     };
  1523.  
  1524.     void OnLoad()
  1525.     {
  1526.         if (IsHeroic())
  1527.         {
  1528.             _unit->SetMaxHealth(132000);
  1529.             _unit->SetHealth(_unit->GetMaxHealth());
  1530.             _unit->SetMinDamage(5486.0f);
  1531.             _unit->SetMaxDamage(7618.0f);
  1532.         }
  1533.         ParentClass::OnLoad();
  1534.     };
  1535. };
  1536.  
  1537. class ReaperAI : public MoonScriptCreatureAI
  1538. {
  1539.     MOONSCRIPT_FACTORY_FUNCTION(ReaperAI, MoonScriptCreatureAI);
  1540.     ReaperAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1541.     {
  1542.     };
  1543.  
  1544.     void OnLoad()
  1545.     {
  1546.         if (IsHeroic())
  1547.         {
  1548.             _unit->SetMaxHealth(132000);
  1549.             _unit->SetHealth(_unit->GetMaxHealth());
  1550.             _unit->SetMinDamage(5486.0f);
  1551.             _unit->SetMaxDamage(7618.0f);
  1552.         }
  1553.         ParentClass::OnLoad();
  1554.     };
  1555. };
  1556.  
  1557. class HorrorAI : public MoonScriptCreatureAI
  1558. {
  1559.     MOONSCRIPT_FACTORY_FUNCTION(HorrorAI, MoonScriptCreatureAI);
  1560.     HorrorAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1561.     {
  1562.     };
  1563.  
  1564.     void OnLoad()
  1565.     {
  1566.         if (IsHeroic())
  1567.         {
  1568.             _unit->SetMaxHealth(94500);
  1569.             _unit->SetHealth(_unit->GetMaxHealth());
  1570.             _unit->SetMinDamage(5486.0f);
  1571.             _unit->SetMaxDamage(7618.0f);
  1572.         }
  1573.         ParentClass::OnLoad();
  1574.     };
  1575. };
  1576.  
  1577. class WardenAI : public MoonScriptCreatureAI
  1578. {
  1579.     MOONSCRIPT_FACTORY_FUNCTION(WardenAI, MoonScriptCreatureAI);
  1580.     WardenAI(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1581.     {
  1582.     };
  1583.  
  1584.     void OnLoad()
  1585.     {
  1586.         if (IsHeroic()) // Heroic Mode stats set until ascemu supports heroic modes.
  1587.         {
  1588.             _unit->SetMaxHealth(94500);
  1589.             _unit->SetHealth(_unit->GetMaxHealth());
  1590.             _unit->SetMinDamage(5486.0f);
  1591.             _unit->SetMaxDamage(7618.0f);
  1592.         }
  1593.         ParentClass::OnLoad();
  1594.     };
  1595. };
  1596.  
  1597. /********************************************************
  1598. *               FrostwingCore Scripts                   *
  1599. *   |                                                   *
  1600. *   V           Ahn'kahet: The Old Kingdom              *
  1601. *Bosses already support heroic mode via there instance  *
  1602. *Stats from wotlk.openwow.com & wowpedia                *
  1603. *********************************************************/
  1604. class Heroic_Ahnkahet : public MoonScriptCreatureAI
  1605. {
  1606. public:
  1607.     MOONSCRIPT_FACTORY_FUNCTION(Heroic_Ahnkahet, MoonScriptCreatureAI);
  1608.     Heroic_Ahnkahet(Creature* pCreature) : MoonScriptCreatureAI(pCreature)
  1609.     {
  1610.     }
  1611.  
  1612.     void OnLoad()
  1613.     {
  1614.         if (IsHeroic())
  1615.         {
  1616.             switch (_unit->GetEntry())
  1617.             {
  1618.             case 30338:
  1619.                 _unit->SetMaxHealth(250);
  1620.                 _unit->SetHealth(_unit->GetMaxHealth());
  1621.                 _unit->SetMinDamage(422.0f);
  1622.                 _unit->SetMaxDamage(586.0f);
  1623.                 _unit->setLevel(80);
  1624.                 break;
  1625.             case 30114:
  1626.                 _unit->SetMaxHealth(10080);
  1627.                 _unit->SetHealth(_unit->GetMaxHealth());
  1628.                 _unit->SetMinDamage(346.0f);
  1629.                 _unit->SetMaxDamage(499.0f);
  1630.                 _unit->setLevel(80);
  1631.                 break;
  1632.             case 30414:
  1633.                 _unit->SetMaxHealth(130330);
  1634.                 _unit->SetHealth(_unit->GetMaxHealth());
  1635.                 _unit->SetMinDamage(5525.0f);
  1636.                 _unit->SetMaxDamage(7852.0f);
  1637.                 _unit->setLevel(81);
  1638.                 break;
  1639.             case 30287:
  1640.                 _unit->SetMaxHealth(18900);
  1641.                 _unit->SetHealth(_unit->GetMaxHealth());
  1642.                 _unit->SetMinDamage(422.0f);
  1643.                 _unit->SetMaxDamage(586.0f);
  1644.                 _unit->setLevel(80);
  1645.                 break;
  1646.             case 30276:
  1647.                 _unit->SetMaxHealth(65165);
  1648.                 _unit->SetHealth(_unit->GetMaxHealth());
  1649.                 _unit->SetMinDamage(5525.0f);
  1650.                 _unit->SetMaxDamage(7852.0f);
  1651.                 _unit->setLevel(81);
  1652.                 break;
  1653.             case 30278:
  1654.                 _unit->SetMaxHealth(65165);
  1655.                 _unit->SetHealth(_unit->GetMaxHealth());
  1656.                 _unit->SetMinDamage(5525.0f);
  1657.                 _unit->SetMaxDamage(7852.0f);
  1658.                 _unit->setLevel(81);
  1659.                 break;
  1660.             case 30329:
  1661.                 _unit->SetMaxHealth(130330);
  1662.                 _unit->SetHealth(_unit->GetMaxHealth());
  1663.                 _unit->SetMinDamage(5525.0f);
  1664.                 _unit->SetMaxDamage(7852.0f);
  1665.                 _unit->setLevel(81);
  1666.                 break;
  1667.             case 30416:
  1668.                 _unit->SetMaxHealth(65165);
  1669.                 _unit->SetHealth(_unit->GetMaxHealth());
  1670.                 _unit->SetMinDamage(5525.0f);
  1671.                 _unit->SetMaxDamage(7852.0f);
  1672.                 _unit->setLevel(81);
  1673.                 break;
  1674.             case 30419:
  1675.                 _unit->SetMaxHealth(65165);
  1676.                 _unit->SetHealth(_unit->GetMaxHealth());
  1677.                 _unit->SetMinDamage(5525.0f);
  1678.                 _unit->SetMaxDamage(7852.0f);
  1679.                 _unit->setLevel(81);
  1680.                 break;
  1681.             case 30418:
  1682.                 _unit->SetMaxHealth(65165);
  1683.                 _unit->SetHealth(_unit->GetMaxHealth());
  1684.                 _unit->SetMinDamage(5525.0f);
  1685.                 _unit->SetMaxDamage(7852.0f);
  1686.                 _unit->setLevel(81);
  1687.                 break;
  1688.             case 30319:
  1689.                 _unit->SetMaxHealth(65165);
  1690.                 _unit->SetHealth(_unit->GetMaxHealth());
  1691.                 _unit->SetMinDamage(5525.0f);
  1692.                 _unit->SetMaxDamage(7852.0f);
  1693.                 _unit->setLevel(81);
  1694.                 break;
  1695.             case 30179:
  1696.                 _unit->SetMaxHealth(65165);
  1697.                 _unit->SetHealth(_unit->GetMaxHealth());
  1698.                 _unit->SetMinDamage(5525.0f);
  1699.                 _unit->SetMaxDamage(7852.0f);
  1700.                 _unit->setLevel(81);
  1701.                 break;
  1702.             case 30111:
  1703.                 _unit->SetMaxHealth(65165);
  1704.                 _unit->SetHealth(_unit->GetMaxHealth());
  1705.                 _unit->SetMinDamage(5525.0f);
  1706.                 _unit->SetMaxDamage(7852.0f);
  1707.                 _unit->setLevel(81);
  1708.                 break;
  1709.             case 30285:
  1710.                 _unit->SetMaxHealth(65165);
  1711.                 _unit->SetHealth(_unit->GetMaxHealth());
  1712.                 _unit->SetMinDamage(6032.0f);
  1713.                 _unit->SetMaxDamage(7852.0f);
  1714.                 _unit->setLevel(81);
  1715.                 break;
  1716.             case 30286:
  1717.                 _unit->SetMaxHealth(65165);
  1718.                 _unit->SetHealth(_unit->GetMaxHealth());
  1719.                 _unit->SetMinDamage(6032.0f);
  1720.                 _unit->SetMaxDamage(7852.0f);
  1721.                 _unit->setLevel(81);
  1722.                 break;
  1723.             case 30284:
  1724.                 _unit->SetMaxHealth(130330);
  1725.                 _unit->SetHealth(_unit->GetMaxHealth());
  1726.                 _unit->SetMinDamage(6032.0f);
  1727.                 _unit->SetMaxDamage(7852.0f);
  1728.                 _unit->setLevel(81);
  1729.                 break;
  1730.             case 30283:
  1731.                 _unit->SetMaxHealth(65165);
  1732.                 _unit->SetHealth(_unit->GetMaxHealth());
  1733.                 _unit->SetMinDamage(6032.0f);
  1734.                 _unit->SetMaxDamage(7852.0f);
  1735.                 _unit->setLevel(81);
  1736.                 break;
  1737.             case 30277:
  1738.                 _unit->SetMaxHealth(65165);
  1739.                 _unit->SetHealth(_unit->GetMaxHealth());
  1740.                 _unit->SetMinDamage(6032.0f);
  1741.                 _unit->SetMaxDamage(7852.0f);
  1742.                 _unit->setLevel(81);
  1743.                 break;
  1744.             case 30279:
  1745.                 _unit->SetMaxHealth(65165);
  1746.                 _unit->SetHealth(_unit->GetMaxHealth());
  1747.                 _unit->SetMinDamage(6032.0f);
  1748.                 _unit->SetMaxDamage(7852.0f);
  1749.                 _unit->setLevel(81);
  1750.                 break;
  1751.             }
  1752.         }
  1753.     }
  1754. };
  1755.  
  1756.  
  1757. void SetupHeroicMode(ScriptMgr* mgr)
  1758. {
  1759.     // MISC
  1760.     // The Burning Crusade (Heroic Trash Support)
  1761.     // Wrath of Lich King (Heroic Trash Support)
  1762.     //Start Halls of Lightning
  1763.     mgr->register_creature_script(28580, &Heroic_HallsofLightning::Create);
  1764.     mgr->register_creature_script(28578, &Heroic_HallsofLightning::Create);
  1765.     mgr->register_creature_script(28579, &Heroic_HallsofLightning::Create);
  1766.     mgr->register_creature_script(28583, &Heroic_HallsofLightning::Create);
  1767.     mgr->register_creature_script(28584, &Heroic_HallsofLightning::Create);
  1768.     mgr->register_creature_script(28965, &Heroic_HallsofLightning::Create);
  1769.     mgr->register_creature_script(28838, &Heroic_HallsofLightning::Create);
  1770.     mgr->register_creature_script(28961, &Heroic_HallsofLightning::Create);
  1771.     mgr->register_creature_script(28836, &Heroic_HallsofLightning::Create);
  1772.     mgr->register_creature_script(28582, &Heroic_HallsofLightning::Create);
  1773.     mgr->register_creature_script(28835, &Heroic_HallsofLightning::Create);
  1774.     mgr->register_creature_script(28837, &Heroic_HallsofLightning::Create);
  1775.     mgr->register_creature_script(28920, &Heroic_HallsofLightning::Create);
  1776.     mgr->register_creature_script(29240, &Heroic_HallsofLightning::Create);
  1777.     mgr->register_creature_script(28826, &Heroic_HallsofLightning::Create);
  1778.     mgr->register_creature_script(28547, &Heroic_HallsofLightning::Create);
  1779.     //End Halls of Lightning
  1780.     //Start Gun'drak
  1781.     mgr->register_creature_script(29713, &Heroic_Gundrak::Create);
  1782.     mgr->register_creature_script(29680, &Heroic_Gundrak::Create);
  1783.     mgr->register_creature_script(29774, &Heroic_Gundrak::Create);
  1784.     mgr->register_creature_script(29768, &Heroic_Gundrak::Create);
  1785.     mgr->register_creature_script(29820, &Heroic_Gundrak::Create);
  1786.     mgr->register_creature_script(29826, &Heroic_Gundrak::Create);
  1787.     mgr->register_creature_script(29832, &Heroic_Gundrak::Create);
  1788.     mgr->register_creature_script(29830, &Heroic_Gundrak::Create);
  1789.     mgr->register_creature_script(29829, &Heroic_Gundrak::Create);
  1790.     mgr->register_creature_script(29822, &Heroic_Gundrak::Create);
  1791.     mgr->register_creature_script(29834, &Heroic_Gundrak::Create);
  1792.     mgr->register_creature_script(29819, &Heroic_Gundrak::Create);
  1793.     mgr->register_creature_script(29874, &Heroic_Gundrak::Create);
  1794.     mgr->register_creature_script(29920, &Heroic_Gundrak::Create);
  1795.     mgr->register_creature_script(29982, &Heroic_Gundrak::Create);
  1796.     mgr->register_creature_script(29838, &Heroic_Gundrak::Create);
  1797.     mgr->register_creature_script(29836, &Heroic_Gundrak::Create);
  1798.     //end Gun'drak
  1799.     //Start The Nexus
  1800.     mgr->register_creature_script(26800, &Heroic_Nexus::Create);
  1801.     mgr->register_creature_script(26799, &Heroic_Nexus::Create);
  1802.     mgr->register_creature_script(26802, &Heroic_Nexus::Create);
  1803.     mgr->register_creature_script(26801, &Heroic_Nexus::Create);
  1804.     mgr->register_creature_script(26805, &Heroic_Nexus::Create);
  1805.     mgr->register_creature_script(26803, &Heroic_Nexus::Create);
  1806.     mgr->register_creature_script(26734, &Heroic_Nexus::Create);
  1807.     mgr->register_creature_script(26722, &Heroic_Nexus::Create);
  1808.     mgr->register_creature_script(26735, &Heroic_Nexus::Create);
  1809.     mgr->register_creature_script(26716, &Heroic_Nexus::Create);
  1810.     mgr->register_creature_script(26727, &Heroic_Nexus::Create);
  1811.     mgr->register_creature_script(26728, &Heroic_Nexus::Create);
  1812.     mgr->register_creature_script(26729, &Heroic_Nexus::Create);
  1813.     mgr->register_creature_script(26730, &Heroic_Nexus::Create);
  1814.     mgr->register_creature_script(26793, &Heroic_Nexus::Create);
  1815.     mgr->register_creature_script(26782, &Heroic_Nexus::Create);
  1816.     mgr->register_creature_script(26792, &Heroic_Nexus::Create);
  1817.     mgr->register_creature_script(28231, &Heroic_Nexus::Create);
  1818.     mgr->register_creature_script(26918, &Heroic_Nexus::Create);
  1819.     mgr->register_creature_script(26737, &Heroic_Nexus::Create);
  1820.     mgr->register_creature_script(26746, &Heroic_Nexus::Create);
  1821.     //End The Nexus
  1822.     // Start Pit Of Saron
  1823.     mgr->register_creature_script(36788, &Heroic_PitofSaron::Create);
  1824.     mgr->register_creature_script(36881, &Heroic_PitofSaron::Create);
  1825.     mgr->register_creature_script(36830, &Heroic_PitofSaron::Create);
  1826.     mgr->register_creature_script(37712, &Heroic_PitofSaron::Create);
  1827.     mgr->register_creature_script(37713, &Heroic_PitofSaron::Create);
  1828.     mgr->register_creature_script(37711, &Heroic_PitofSaron::Create);
  1829.     mgr->register_creature_script(31260, &Heroic_PitofSaron::Create);
  1830.     mgr->register_creature_script(36886, &Heroic_PitofSaron::Create);
  1831.     mgr->register_creature_script(36879, &Heroic_PitofSaron::Create);
  1832.     mgr->register_creature_script(36893, &Heroic_PitofSaron::Create);
  1833.     mgr->register_creature_script(36892, &Heroic_PitofSaron::Create);
  1834.     mgr->register_creature_script(36840, &Heroic_PitofSaron::Create);
  1835.     mgr->register_creature_script(36841, &Heroic_PitofSaron::Create);
  1836.     mgr->register_creature_script(36842, &Heroic_PitofSaron::Create);
  1837.     mgr->register_creature_script(36877, &Heroic_PitofSaron::Create);
  1838.     // End Pit of Saron
  1839.     //Start Ahn'Kahet
  1840.     mgr->register_creature_script(30338, &Heroic_Ahnkahet::Create);
  1841.     mgr->register_creature_script(30114, &Heroic_Ahnkahet::Create);
  1842.     mgr->register_creature_script(30278, &Heroic_Ahnkahet::Create);
  1843.     mgr->register_creature_script(30418, &Heroic_Ahnkahet::Create);
  1844.     mgr->register_creature_script(30285, &Heroic_Ahnkahet::Create);
  1845.     mgr->register_creature_script(30277, &Heroic_Ahnkahet::Create);
  1846.     mgr->register_creature_script(30414, &Heroic_Ahnkahet::Create);
  1847.     mgr->register_creature_script(30329, &Heroic_Ahnkahet::Create);
  1848.     mgr->register_creature_script(30319, &Heroic_Ahnkahet::Create);
  1849.     mgr->register_creature_script(30286, &Heroic_Ahnkahet::Create);
  1850.     mgr->register_creature_script(30279, &Heroic_Ahnkahet::Create);
  1851.     mgr->register_creature_script(30287, &Heroic_Ahnkahet::Create);
  1852.     mgr->register_creature_script(30416, &Heroic_Ahnkahet::Create);
  1853.     mgr->register_creature_script(30179, &Heroic_Ahnkahet::Create);
  1854.     mgr->register_creature_script(30284, &Heroic_Ahnkahet::Create);
  1855.     mgr->register_creature_script(30276, &Heroic_Ahnkahet::Create);
  1856.     mgr->register_creature_script(30419, &Heroic_Ahnkahet::Create);
  1857.     mgr->register_creature_script(30111, &Heroic_Ahnkahet::Create);
  1858.     mgr->register_creature_script(30283, &Heroic_Ahnkahet::Create);
  1859.     //End Ahn'Kahet
  1860.     //Start Violet Hold
  1861.     mgr->register_creature_script(30893, &Violet1::Create);
  1862.     mgr->register_creature_script(30660, &Violet2::Create);
  1863.     mgr->register_creature_script(32191, &Violet3::Create);
  1864.     mgr->register_creature_script(30668, &Violet4::Create);
  1865.     mgr->register_creature_script(30666, &Violet5::Create);
  1866.     //End Violet Hold
  1867.     //Start Drak'tharon Keep
  1868.     mgr->register_creature_script(26636, &RisenDrakkariSoulMage::Create);
  1869.     mgr->register_creature_script(26635, &RisenDrakkariSoulWarrior::Create);
  1870.     mgr->register_creature_script(26626, &ScourgeReanimator::Create);
  1871.     mgr->register_creature_script(27871, &FleshGhoul::Create);
  1872.     mgr->register_creature_script(26621, &GhoulTorment::Create);
  1873.     mgr->register_creature_script(26624, &Belcher::Create);
  1874.     mgr->register_creature_script(26674, &DarkwebHatch::Create);
  1875.     mgr->register_creature_script(26625, &DarkwebRecluse::Create);
  1876.     mgr->register_creature_script(26620, &DrakkariGuardian::Create);
  1877.     mgr->register_creature_script(26639, &DrakkariShaman::Create);
  1878.     mgr->register_creature_script(26627, &CrystalHandler::Create);
  1879.     mgr->register_creature_script(27598, &FetidCorpse::Create);
  1880.     mgr->register_creature_script(27597, &HulkingCorpse::Create);
  1881.     mgr->register_creature_script(27600, &RisenShadowCaster::Create);
  1882.     mgr->register_creature_script(26622, &DrakkariBat::Create);
  1883.     mgr->register_creature_script(26638, &DrakkariBatRider::Create);
  1884.     mgr->register_creature_script(26641, &DrakkariGutripper::Create);
  1885.     mgr->register_creature_script(26628, &DrakkariScytheclaw::Create);
  1886.     mgr->register_creature_script(27753, &DrakkariInvader::Create);
  1887.     mgr->register_creature_script(26824, &DrakkariMount::Create);
  1888.     mgr->register_creature_script(26637, &DrakkariHandler::Create);
  1889.     mgr->register_creature_script(27431, &DrakkariCommander::Create);
  1890.     mgr->register_creature_script(26830, &DrakkariDK::Create);
  1891.     mgr->register_creature_script(26623, &ScourgeBrute::Create);
  1892.     //End Drak'tharon Keep
  1893.     //Start Utgarde Pinnacle
  1894.     mgr->register_creature_script(26550, &Heroic_UtgardePinnacle::Create);
  1895.     mgr->register_creature_script(26553, &Heroic_UtgardePinnacle::Create);
  1896.     mgr->register_creature_script(26554, &Heroic_UtgardePinnacle::Create);
  1897.     mgr->register_creature_script(26536, &Heroic_UtgardePinnacle::Create);
  1898.     mgr->register_creature_script(26555, &Heroic_UtgardePinnacle::Create);
  1899.     mgr->register_creature_script(26672, &Heroic_UtgardePinnacle::Create);
  1900.     mgr->register_creature_script(26670, &Heroic_UtgardePinnacle::Create);
  1901.     mgr->register_creature_script(26669, &Heroic_UtgardePinnacle::Create);
  1902.     mgr->register_creature_script(26696, &Heroic_UtgardePinnacle::Create);
  1903.     mgr->register_creature_script(26694, &Heroic_UtgardePinnacle::Create);
  1904.     mgr->register_creature_script(28368, &Heroic_UtgardePinnacle::Create);
  1905.     //End Utgarde Pinnacle
  1906.     //Start <<Halls of Stone>>
  1907.     mgr->register_creature_script(27973, &Heroic_HallsofStone::Create);
  1908.     mgr->register_creature_script(27966, &Heroic_HallsofStone::Create);
  1909.     mgr->register_creature_script(27962, &Heroic_HallsofStone::Create);
  1910.     mgr->register_creature_script(27969, &Heroic_HallsofStone::Create);
  1911.     mgr->register_creature_script(27964, &Heroic_HallsofStone::Create);
  1912.     mgr->register_creature_script(27965, &Heroic_HallsofStone::Create);
  1913.     mgr->register_creature_script(27963, &Heroic_HallsofStone::Create);
  1914.     mgr->register_creature_script(27960, &Heroic_HallsofStone::Create);
  1915.     mgr->register_creature_script(27961, &Heroic_HallsofStone::Create);
  1916.     mgr->register_creature_script(28149, &Heroic_HallsofStone::Create);
  1917.     mgr->register_creature_script(27972, &Heroic_HallsofStone::Create);
  1918.     mgr->register_creature_script(27970, &Heroic_HallsofStone::Create);
  1919.     mgr->register_creature_script(27971, &Heroic_HallsofStone::Create);
  1920.     mgr->register_creature_script(27985, &Heroic_HallsofStone::Create);
  1921.     //End <<Halls of Stone>>
  1922.     // Start <<Forge of Souls>>
  1923.     mgr->register_creature_script(36478, &WatchmanAI::Create);
  1924.     mgr->register_creature_script(36620, &AdeptAI::Create);
  1925.     mgr->register_creature_script(36516, &AnimatorAI::Create);
  1926.     mgr->register_creature_script(36564, &BoneAI::Create);
  1927.     mgr->register_creature_script(36499, &ReaperAI::Create);
  1928.     mgr->register_creature_script(36522, &HorrorAI::Create);
  1929.     mgr->register_creature_script(36666, &WardenAI::Create);
  1930.     // End <<Forge of Souls>>
  1931. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement