aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2021_10_05_03_world_allied_races.sql1120
-rw-r--r--src/server/game/Entities/Player/Player.h2
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp34
-rw-r--r--src/server/game/Globals/ObjectMgr.h4
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp38
-rw-r--r--src/server/game/World/World.cpp7
-rw-r--r--src/server/game/World/World.h1
-rw-r--r--src/server/worldserver/worldserver.conf.dist8
8 files changed, 1198 insertions, 16 deletions
diff --git a/sql/updates/world/master/2021_10_05_03_world_allied_races.sql b/sql/updates/world/master/2021_10_05_03_world_allied_races.sql
new file mode 100644
index 00000000000..845042a297d
--- /dev/null
+++ b/sql/updates/world/master/2021_10_05_03_world_allied_races.sql
@@ -0,0 +1,1120 @@
+--
+SET @RACE_NIGHTBORNE := 27;
+SET @RACE_HIGHMOUNTAIN_TAUREN := 28;
+SET @RACE_VOID_ELF := 29;
+SET @RACE_LF_DRAENEI := 30;
+SET @RACE_ZANDALARI := 31;
+SET @RACE_KUL_TIRAN := 32;
+SET @RACE_DARK_IRON_DWARF := 34;
+SET @RACE_VULPERA := 35;
+SET @RACE_MAGHAR_ORC := 36;
+SET @RACE_MECHAGNOME := 37;
+--
+SET @CLASS_WARRIOR := 1;
+SET @CLASS_PALADIN := 2;
+SET @CLASS_HUNTER := 3;
+SET @CLASS_ROGUE := 4;
+SET @CLASS_PRIEST := 5;
+SET @CLASS_DEATH_KNIGHT := 6;
+SET @CLASS_SHAMAN := 7;
+SET @CLASS_MAGE := 8;
+SET @CLASS_WARLOCK := 9;
+SET @CLASS_MONK := 10;
+SET @CLASS_DRUID := 11;
+SET @CLASS_DEMON_HUNTER := 12;
+
+ALTER TABLE `playercreateinfo`
+ ADD `intro_movie_id` int(10) unsigned DEFAULT NULL AFTER `npe_transport_guid`,
+ ADD `intro_scene_id` int(10) unsigned DEFAULT NULL AFTER `intro_movie_id`,
+ ADD `npe_intro_scene_id` int(10) unsigned DEFAULT NULL AFTER `intro_scene_id`;
+
+UPDATE `playercreateinfo` SET `npe_intro_scene_id`=2236 WHERE `race` IN (1,3,4,7,11,22,25) AND `class` NOT IN (@CLASS_DEATH_KNIGHT,@CLASS_DEMON_HUNTER); -- Alliance
+UPDATE `playercreateinfo` SET `npe_intro_scene_id`=2486 WHERE `race` IN (2,5,6,8,9,10,26) AND `class` NOT IN (@CLASS_DEATH_KNIGHT,@CLASS_DEMON_HUNTER); -- Horde
+UPDATE `playercreateinfo` SET `intro_movie_id`=469 WHERE `class`=@CLASS_DEMON_HUNTER;
+UPDATE `playercreateinfo` SET `intro_scene_id`=2394 WHERE `race` IN (25,26) AND `class`=@CLASS_DEATH_KNIGHT; -- Panda DKs
+
+DELETE FROM `playercreateinfo` WHERE `race` IN (@RACE_NIGHTBORNE, @RACE_HIGHMOUNTAIN_TAUREN, @RACE_VOID_ELF, @RACE_LF_DRAENEI, @RACE_ZANDALARI, @RACE_KUL_TIRAN, @RACE_DARK_IRON_DWARF, @RACE_VULPERA, @RACE_MAGHAR_ORC, @RACE_MECHAGNOME);
+INSERT INTO `playercreateinfo` (`race`,`class`,`map`,`position_x`,`position_y`,`position_z`,`orientation`,`intro_movie_id`,`intro_scene_id`) VALUES
+-- Nightborne
+(@RACE_NIGHTBORNE,@CLASS_WARRIOR,1220,288.381011962890625,3352.22998046875,145.444000244140625,2.3515344,NULL,1900),
+(@RACE_NIGHTBORNE,@CLASS_HUNTER,1220,288.381011962890625,3352.22998046875,145.444000244140625,2.3515344,NULL,1900),
+(@RACE_NIGHTBORNE,@CLASS_MAGE,1220,288.381011962890625,3352.22998046875,145.444000244140625,2.3515344,NULL,1900),
+(@RACE_NIGHTBORNE,@CLASS_ROGUE,1220,288.381011962890625,3352.22998046875,145.444000244140625,2.3515344,NULL,1900),
+(@RACE_NIGHTBORNE,@CLASS_PRIEST,1220,288.381011962890625,3352.22998046875,145.444000244140625,2.3515344,NULL,1900),
+(@RACE_NIGHTBORNE,@CLASS_WARLOCK,1220,288.381011962890625,3352.22998046875,145.444000244140625,2.3515344,NULL,1900),
+(@RACE_NIGHTBORNE,@CLASS_MONK,1220,288.381011962890625,3352.22998046875,145.444000244140625,2.3515344,NULL,1900),
+(@RACE_NIGHTBORNE,@CLASS_DEATH_KNIGHT,2297,481.803009033203125,-2124.659912109375,840.85699462890625,3.1104908,NULL,2394),
+
+-- Highmountain Tauren
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_WARRIOR,1220,4079.050048828125,4392.3798828125,670.60302734375,5.181551,NULL,1901),
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_HUNTER,1220,4079.050048828125,4392.3798828125,670.60302734375,5.181551,NULL,1901),
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,1220,4079.050048828125,4392.3798828125,670.60302734375,5.181551,NULL,1901),
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_SHAMAN,1220,4079.050048828125,4392.3798828125,670.60302734375,5.181551,NULL,1901),
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_MONK,1220,4079.050048828125,4392.3798828125,670.60302734375,5.181551,NULL,1901),
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DEATH_KNIGHT,2297,481.803009033203125,-2124.659912109375,840.85699462890625,3.1104908,NULL,2394),
+
+-- Maghar Orc
+(@RACE_MAGHAR_ORC,@CLASS_WARRIOR,1,1968.949951171875,-4742.919921875,37.19570159912109375,1.2225107,NULL,2138),
+(@RACE_MAGHAR_ORC,@CLASS_HUNTER,1,1968.949951171875,-4742.919921875,37.19570159912109375,1.2225107,NULL,2138),
+(@RACE_MAGHAR_ORC,@CLASS_MAGE,1,1968.949951171875,-4742.919921875,37.19570159912109375,1.2225107,NULL,2138),
+(@RACE_MAGHAR_ORC,@CLASS_ROGUE,1,1968.949951171875,-4742.919921875,37.19570159912109375,1.2225107,NULL,2138),
+(@RACE_MAGHAR_ORC,@CLASS_PRIEST,1,1968.949951171875,-4742.919921875,37.19570159912109375,1.2225107,NULL,2138),
+(@RACE_MAGHAR_ORC,@CLASS_SHAMAN,1,1968.949951171875,-4742.919921875,37.19570159912109375,1.2225107,NULL,2138),
+(@RACE_MAGHAR_ORC,@CLASS_MONK,1,1968.949951171875,-4742.919921875,37.19570159912109375,1.2225107,NULL,2138),
+(@RACE_MAGHAR_ORC,@CLASS_DEATH_KNIGHT,2297,481.803009033203125,-2124.659912109375,840.85699462890625,3.1104908,NULL,2394),
+
+-- Zandalari Troll
+(@RACE_ZANDALARI,@CLASS_WARRIOR,1642,-1127.300048828125,805.42999267578125,500.22900390625,3.184004,NULL,2247),
+(@RACE_ZANDALARI,@CLASS_HUNTER,1642,-1127.300048828125,805.42999267578125,500.22900390625,3.184004,NULL,2247),
+(@RACE_ZANDALARI,@CLASS_MAGE,1642,-1127.300048828125,805.42999267578125,500.22900390625,3.184004,NULL,2247),
+(@RACE_ZANDALARI,@CLASS_ROGUE,1642,-1127.300048828125,805.42999267578125,500.22900390625,3.184004,NULL,2247),
+(@RACE_ZANDALARI,@CLASS_PRIEST,1642,-1127.300048828125,805.42999267578125,500.22900390625,3.184004,NULL,2247),
+(@RACE_ZANDALARI,@CLASS_PALADIN,1642,-1127.300048828125,805.42999267578125,500.22900390625,3.184004,NULL,2247),
+(@RACE_ZANDALARI,@CLASS_DRUID,1642,-1127.300048828125,805.42999267578125,500.22900390625,3.184004,NULL,2247),
+(@RACE_ZANDALARI,@CLASS_SHAMAN,1642,-1127.300048828125,805.42999267578125,500.22900390625,3.184004,NULL,2247),
+(@RACE_ZANDALARI,@CLASS_MONK,1642,-1127.300048828125,805.42999267578125,500.22900390625,3.184004,NULL,2247),
+(@RACE_ZANDALARI,@CLASS_DEATH_KNIGHT,2297,481.803009033203125,-2124.659912109375,840.85699462890625,3.1104908,NULL,2394),
+
+-- Vulpera
+(@RACE_VULPERA,@CLASS_WARRIOR,1,1945.5400390625,-4635.64013671875,33.23099899291992187,5.653418,NULL,2395),
+(@RACE_VULPERA,@CLASS_HUNTER,1,1945.5400390625,-4635.64013671875,33.23099899291992187,5.653418,NULL,2395),
+(@RACE_VULPERA,@CLASS_MAGE,1,1945.5400390625,-4635.64013671875,33.23099899291992187,5.653418,NULL,2395),
+(@RACE_VULPERA,@CLASS_ROGUE,1,1945.5400390625,-4635.64013671875,33.23099899291992187,5.653418,NULL,2395),
+(@RACE_VULPERA,@CLASS_PRIEST,1,1945.5400390625,-4635.64013671875,33.23099899291992187,5.653418,NULL,2395),
+(@RACE_VULPERA,@CLASS_WARLOCK,1,1945.5400390625,-4635.64013671875,33.23099899291992187,5.653418,NULL,2395),
+(@RACE_VULPERA,@CLASS_SHAMAN,1,1945.5400390625,-4635.64013671875,33.23099899291992187,5.653418,NULL,2395),
+(@RACE_VULPERA,@CLASS_MONK,1,1945.5400390625,-4635.64013671875,33.23099899291992187,5.653418,NULL,2395),
+(@RACE_VULPERA,@CLASS_DEATH_KNIGHT,2297,481.803009033203125,-2124.659912109375,840.85699462890625,3.1104908,NULL,2394),
+
+-- Void Elf
+(@RACE_VOID_ELF,@CLASS_WARRIOR,1865,2121,3318,54.7061004638671875,0.08726646,NULL,1903),
+(@RACE_VOID_ELF,@CLASS_HUNTER,1865,2121,3318,54.7061004638671875,0.08726646,NULL,1903),
+(@RACE_VOID_ELF,@CLASS_MAGE,1865,2121,3318,54.7061004638671875,0.08726646,NULL,1903),
+(@RACE_VOID_ELF,@CLASS_ROGUE,1865,2121,3318,54.7061004638671875,0.08726646,NULL,1903),
+(@RACE_VOID_ELF,@CLASS_PRIEST,1865,2121,3318,54.7061004638671875,0.08726646,NULL,1903),
+(@RACE_VOID_ELF,@CLASS_WARLOCK,1865,2121,3318,54.7061004638671875,0.08726646,NULL,1903),
+(@RACE_VOID_ELF,@CLASS_MONK,1865,2121,3318,54.7061004638671875,0.08726646,NULL,1903),
+(@RACE_VOID_ELF,@CLASS_DEATH_KNIGHT,2297,481.803009033203125,-2124.659912109375,840.85699462890625,3.1104908,NULL,2394),
+
+-- Lightforged Draenei
+(@RACE_LF_DRAENEI,@CLASS_WARRIOR,1860,458.822998046875,1449.6099853515625,757.572998046875,0.46642527,NULL,1902),
+(@RACE_LF_DRAENEI,@CLASS_HUNTER,1860,458.822998046875,1449.6099853515625,757.572998046875,0.46642527,NULL,1902),
+(@RACE_LF_DRAENEI,@CLASS_MAGE,1860,458.822998046875,1449.6099853515625,757.572998046875,0.46642527,NULL,1902),
+(@RACE_LF_DRAENEI,@CLASS_PRIEST,1860,458.822998046875,1449.6099853515625,757.572998046875,0.46642527,NULL,1902),
+(@RACE_LF_DRAENEI,@CLASS_PALADIN,1860,458.822998046875,1449.6099853515625,757.572998046875,0.46642527,NULL,1902),
+(@RACE_LF_DRAENEI,@CLASS_DEATH_KNIGHT,2297,481.803009033203125,-2124.659912109375,840.85699462890625,3.1104908,NULL,2394),
+
+-- Dark Iron Dwarf
+(@RACE_DARK_IRON_DWARF,@CLASS_WARRIOR,2081,1621.1300048828125,536.64898681640625,201.4799957275390625,5.497962,NULL,2137),
+(@RACE_DARK_IRON_DWARF,@CLASS_HUNTER,2081,1621.1300048828125,536.64898681640625,201.4799957275390625,5.497962,NULL,2137),
+(@RACE_DARK_IRON_DWARF,@CLASS_MAGE,2081,1621.1300048828125,536.64898681640625,201.4799957275390625,5.497962,NULL,2137),
+(@RACE_DARK_IRON_DWARF,@CLASS_ROGUE,2081,1621.1300048828125,536.64898681640625,201.4799957275390625,5.497962,NULL,2137),
+(@RACE_DARK_IRON_DWARF,@CLASS_PRIEST,2081,1621.1300048828125,536.64898681640625,201.4799957275390625,5.497962,NULL,2137),
+(@RACE_DARK_IRON_DWARF,@CLASS_WARLOCK,2081,1621.1300048828125,536.64898681640625,201.4799957275390625,5.497962,NULL,2137),
+(@RACE_DARK_IRON_DWARF,@CLASS_PALADIN,2081,1621.1300048828125,536.64898681640625,201.4799957275390625,5.497962,NULL,2137),
+(@RACE_DARK_IRON_DWARF,@CLASS_SHAMAN,2081,1621.1300048828125,536.64898681640625,201.4799957275390625,5.497962,NULL,2137),
+(@RACE_DARK_IRON_DWARF,@CLASS_MONK,2081,1621.1300048828125,536.64898681640625,201.4799957275390625,5.497962,NULL,2137),
+(@RACE_DARK_IRON_DWARF,@CLASS_DEATH_KNIGHT,2297,481.803009033203125,-2124.659912109375,840.85699462890625,3.1104908,NULL,2394),
+
+-- Kul Tiran
+(@RACE_KUL_TIRAN,@CLASS_WARRIOR,1643,1072.030029296875,-484.800994873046875,9.700130462646484375,1.3448513,NULL,2239),
+(@RACE_KUL_TIRAN,@CLASS_HUNTER,1643,1072.030029296875,-484.800994873046875,9.700130462646484375,1.3448513,NULL,2239),
+(@RACE_KUL_TIRAN,@CLASS_MAGE,1643,1072.030029296875,-484.800994873046875,9.700130462646484375,1.3448513,NULL,2239),
+(@RACE_KUL_TIRAN,@CLASS_ROGUE,1643,1072.030029296875,-484.800994873046875,9.700130462646484375,1.3448513,NULL,2239),
+(@RACE_KUL_TIRAN,@CLASS_PRIEST,1643,1072.030029296875,-484.800994873046875,9.700130462646484375,1.3448513,NULL,2239),
+(@RACE_KUL_TIRAN,@CLASS_DRUID,1643,1072.030029296875,-484.800994873046875,9.700130462646484375,1.3448513,NULL,2239),
+(@RACE_KUL_TIRAN,@CLASS_SHAMAN,1643,1072.030029296875,-484.800994873046875,9.700130462646484375,1.3448513,NULL,2239),
+(@RACE_KUL_TIRAN,@CLASS_MONK,1643,1072.030029296875,-484.800994873046875,9.700130462646484375,1.3448513,NULL,2239),
+(@RACE_KUL_TIRAN,@CLASS_DEATH_KNIGHT,2297,481.803009033203125,-2124.659912109375,840.85699462890625,3.1104908,NULL,2394),
+
+-- Mechagnome
+(@RACE_MECHAGNOME,@CLASS_WARRIOR,2268,711.45001220703125,606.843994140625,-238.526992797851562,2.214142,NULL,2393),
+(@RACE_MECHAGNOME,@CLASS_HUNTER,2268,711.45001220703125,606.843994140625,-238.526992797851562,2.214142,NULL,2393),
+(@RACE_MECHAGNOME,@CLASS_MAGE,2268,711.45001220703125,606.843994140625,-238.526992797851562,2.214142,NULL,2393),
+(@RACE_MECHAGNOME,@CLASS_ROGUE,2268,711.45001220703125,606.843994140625,-238.526992797851562,2.214142,NULL,2393),
+(@RACE_MECHAGNOME,@CLASS_PRIEST,2268,711.45001220703125,606.843994140625,-238.526992797851562,2.214142,NULL,2393),
+(@RACE_MECHAGNOME,@CLASS_WARLOCK,2268,711.45001220703125,606.843994140625,-238.526992797851562,2.214142,NULL,2393),
+(@RACE_MECHAGNOME,@CLASS_MONK,2268,711.45001220703125,606.843994140625,-238.526992797851562,2.214142,NULL,2393),
+(@RACE_MECHAGNOME,@CLASS_DEATH_KNIGHT,2297,481.803009033203125,-2124.659912109375,840.85699462890625,3.1104908,NULL,2394);
+
+-- ------------------------------------------------------------------------------------------------------------------------------------------------
+DELETE FROM `playercreateinfo_action` WHERE `race` IN (@RACE_NIGHTBORNE,@RACE_HIGHMOUNTAIN_TAUREN,@RACE_VOID_ELF,@RACE_LF_DRAENEI,@RACE_ZANDALARI,@RACE_KUL_TIRAN,@RACE_DARK_IRON_DWARF,@RACE_VULPERA,@RACE_MAGHAR_ORC,@RACE_MECHAGNOME);
+INSERT INTO `playercreateinfo_action` (`race`,`class`,`button`,`action`,`type`) VALUES
+-- Nightborne Warrior
+(@RACE_NIGHTBORNE,@CLASS_WARRIOR,11,258845,0), -- Nightborne Manasaber
+(@RACE_NIGHTBORNE,@CLASS_WARRIOR,10,260364,0), -- Arcane Pulse
+(@RACE_NIGHTBORNE,@CLASS_WARRIOR,8,1715,0), -- Hamstring
+(@RACE_NIGHTBORNE,@CLASS_WARRIOR,7,6552,0), -- Pummel
+(@RACE_NIGHTBORNE,@CLASS_WARRIOR,6,34428,0), -- Victory Rush
+(@RACE_NIGHTBORNE,@CLASS_WARRIOR,5,163201,0), -- Execute
+(@RACE_NIGHTBORNE,@CLASS_WARRIOR,4,23922,0), -- Shield Slam
+(@RACE_NIGHTBORNE,@CLASS_WARRIOR,3,2565,0), -- Shield Block
+(@RACE_NIGHTBORNE,@CLASS_WARRIOR,2,1680,0), -- Whirlwind
+(@RACE_NIGHTBORNE,@CLASS_WARRIOR,1,1464,0), -- Slam
+(@RACE_NIGHTBORNE,@CLASS_WARRIOR,0,100,0), -- Charge
+-- Nightborne Hunter
+(@RACE_NIGHTBORNE,@CLASS_HUNTER,11,258845,0), -- Nightborne Manasaber
+(@RACE_NIGHTBORNE,@CLASS_HUNTER,10,260364,0), -- Arcane Pulse
+(@RACE_NIGHTBORNE,@CLASS_HUNTER,9,186257,0), -- Aspect of the Cheetah
+(@RACE_NIGHTBORNE,@CLASS_HUNTER,8,186265,0), -- Aspect of the Turtle
+(@RACE_NIGHTBORNE,@CLASS_HUNTER,7,109304,0), -- Exhilaration
+(@RACE_NIGHTBORNE,@CLASS_HUNTER,6,187650,0), -- Freezing Trap
+(@RACE_NIGHTBORNE,@CLASS_HUNTER,5,5384,0), -- Feign Death
+(@RACE_NIGHTBORNE,@CLASS_HUNTER,4,781,0), -- Disengage
+(@RACE_NIGHTBORNE,@CLASS_HUNTER,3,195645,0), -- Wing Clip
+(@RACE_NIGHTBORNE,@CLASS_HUNTER,2,257284,0), -- Hunter's Mark
+(@RACE_NIGHTBORNE,@CLASS_HUNTER,1,185358,0), -- Arcane Shot
+(@RACE_NIGHTBORNE,@CLASS_HUNTER,0,56641,0), -- Steady Shot
+-- Nightborne Mage
+(@RACE_NIGHTBORNE,@CLASS_MAGE,11,258845,0), -- Nightborne Manasaber
+(@RACE_NIGHTBORNE,@CLASS_MAGE,10,260364,0), -- Arcane Pulse
+(@RACE_NIGHTBORNE,@CLASS_MAGE,9,190336,0), -- Conjure Refreshment
+(@RACE_NIGHTBORNE,@CLASS_MAGE,8,130,0), -- Slow Fall
+(@RACE_NIGHTBORNE,@CLASS_MAGE,7,1459,0), -- Arcane Intellect
+(@RACE_NIGHTBORNE,@CLASS_MAGE,6,2139,0), -- Counterspell
+(@RACE_NIGHTBORNE,@CLASS_MAGE,5,118,0), -- Polymorph
+(@RACE_NIGHTBORNE,@CLASS_MAGE,4,122,0), -- Frost Nova
+(@RACE_NIGHTBORNE,@CLASS_MAGE,3,1953,0), -- Blink
+(@RACE_NIGHTBORNE,@CLASS_MAGE,2,1449,0), -- Arcane Explosion
+(@RACE_NIGHTBORNE,@CLASS_MAGE,1,319836,0), -- Fire Blast
+(@RACE_NIGHTBORNE,@CLASS_MAGE,0,116,0), -- Frostbolt
+-- Nightborne Rogue
+(@RACE_NIGHTBORNE,@CLASS_ROGUE,72,1833,0), -- Cheap Shot
+(@RACE_NIGHTBORNE,@CLASS_ROGUE,11,258845,0), -- Nightborne Manasaber
+(@RACE_NIGHTBORNE,@CLASS_ROGUE,10,260364,0), -- Arcane Pulse
+(@RACE_NIGHTBORNE,@CLASS_ROGUE,5,1766,0), -- Kick
+(@RACE_NIGHTBORNE,@CLASS_ROGUE,4,2983,0), -- Sprint
+(@RACE_NIGHTBORNE,@CLASS_ROGUE,3,185311,0), -- Crimson Vial
+(@RACE_NIGHTBORNE,@CLASS_ROGUE,2,315496,0), -- Slice and Dice
+(@RACE_NIGHTBORNE,@CLASS_ROGUE,1,196819,0), -- Eviscerate
+(@RACE_NIGHTBORNE,@CLASS_ROGUE,0,1752,0), -- Sinister Strike
+-- Nightborne Priest
+(@RACE_NIGHTBORNE,@CLASS_PRIEST,11,258845,0), -- Nightborne Manasaber
+(@RACE_NIGHTBORNE,@CLASS_PRIEST,10,260364,0), -- Arcane Pulse
+(@RACE_NIGHTBORNE,@CLASS_PRIEST,9,2006,0), -- Resurrection
+(@RACE_NIGHTBORNE,@CLASS_PRIEST,8,21562,0), -- Power Word: Fortitude
+(@RACE_NIGHTBORNE,@CLASS_PRIEST,7,19236,0), -- Desperate Prayer
+(@RACE_NIGHTBORNE,@CLASS_PRIEST,6,586,0), -- Fade
+(@RACE_NIGHTBORNE,@CLASS_PRIEST,5,8122,0), -- Psychic Scream
+(@RACE_NIGHTBORNE,@CLASS_PRIEST,4,2061,0), -- Flash Heal
+(@RACE_NIGHTBORNE,@CLASS_PRIEST,3,17,0), -- Power Word: Shield
+(@RACE_NIGHTBORNE,@CLASS_PRIEST,2,585,0), -- Smite
+(@RACE_NIGHTBORNE,@CLASS_PRIEST,1,8092,0), -- Mind Blast
+(@RACE_NIGHTBORNE,@CLASS_PRIEST,0,589,0), -- Shadow Word: Pain
+-- Nightborne Warlock
+(@RACE_NIGHTBORNE,@CLASS_WARLOCK,11,258845,0), -- Nightborne Manasaber
+(@RACE_NIGHTBORNE,@CLASS_WARLOCK,10,260364,0), -- Arcane Pulse
+(@RACE_NIGHTBORNE,@CLASS_WARLOCK,7,6201,0), -- Create Healthstone
+(@RACE_NIGHTBORNE,@CLASS_WARLOCK,6,755,0), -- Health Funnel
+(@RACE_NIGHTBORNE,@CLASS_WARLOCK,5,5782,0), -- Fear
+(@RACE_NIGHTBORNE,@CLASS_WARLOCK,4,104773,0), -- Unending Resolve
+(@RACE_NIGHTBORNE,@CLASS_WARLOCK,3,702,0), -- Curse of Weakness
+(@RACE_NIGHTBORNE,@CLASS_WARLOCK,2,234153,0), -- Drain Life
+(@RACE_NIGHTBORNE,@CLASS_WARLOCK,1,686,0), -- Shadow Bolt
+(@RACE_NIGHTBORNE,@CLASS_WARLOCK,0,172,0), -- Corruption
+-- Nightborne Monk
+(@RACE_NIGHTBORNE,@CLASS_MONK,11,258845,0), -- Nightborne Manasaber
+(@RACE_NIGHTBORNE,@CLASS_MONK,10,260364,0), -- Arcane Pulse
+(@RACE_NIGHTBORNE,@CLASS_MONK,8,119381,0), -- Leg Sweep
+(@RACE_NIGHTBORNE,@CLASS_MONK,7,116670,0), -- Vivify
+(@RACE_NIGHTBORNE,@CLASS_MONK,6,109132,0), -- Roll
+(@RACE_NIGHTBORNE,@CLASS_MONK,5,117952,0), -- Crackling Jade Lightning
+(@RACE_NIGHTBORNE,@CLASS_MONK,4,322109,0), -- Touch of Death
+(@RACE_NIGHTBORNE,@CLASS_MONK,3,101546,0), -- Spinning Crane Kick
+(@RACE_NIGHTBORNE,@CLASS_MONK,2,322101,0), -- Expel Harm
+(@RACE_NIGHTBORNE,@CLASS_MONK,1,100784,0), -- Blackout Kick
+(@RACE_NIGHTBORNE,@CLASS_MONK,0,100780,0), -- Tiger Palm
+-- Nightborne Death Knight
+(@RACE_NIGHTBORNE,@CLASS_DEATH_KNIGHT,9,260364,0), -- Arcane Pulse
+(@RACE_NIGHTBORNE,@CLASS_DEATH_KNIGHT,5,47528,0), -- Mind Freeze
+(@RACE_NIGHTBORNE,@CLASS_DEATH_KNIGHT,4,49576,0), -- Death Grip
+(@RACE_NIGHTBORNE,@CLASS_DEATH_KNIGHT,3,43265,0), -- Death and Decay
+(@RACE_NIGHTBORNE,@CLASS_DEATH_KNIGHT,2,49998,0), -- Death Strike
+(@RACE_NIGHTBORNE,@CLASS_DEATH_KNIGHT,1,47541,0), -- Death Coil
+(@RACE_NIGHTBORNE,@CLASS_DEATH_KNIGHT,0,316239,0), -- Rune Strike
+
+-- Highmountain Tauren Warrior
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_WARRIOR,11,258060,0), -- Highmountain Thunderhoof
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_WARRIOR,10,255654,0), -- Bull Rush
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_WARRIOR,8,1715,0), -- Hamstring
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_WARRIOR,7,6552,0), -- Pummel
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_WARRIOR,6,34428,0), -- Victory Rush
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_WARRIOR,5,163201,0), -- Execute
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_WARRIOR,4,23922,0), -- Shield Slam
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_WARRIOR,3,2565,0), -- Shield Block
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_WARRIOR,2,1680,0), -- Whirlwind
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_WARRIOR,1,1464,0), -- Slam
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_WARRIOR,0,100,0), -- Charge
+-- Highmountain Tauren Hunter
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_HUNTER,11,258060,0), -- Highmountain Thunderhoof
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_HUNTER,10,255654,0), -- Bull Rush
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_HUNTER,9,186257,0), -- Aspect of the Cheetah
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_HUNTER,8,186265,0), -- Aspect of the Turtle
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_HUNTER,7,109304,0), -- Exhilaration
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_HUNTER,6,187650,0), -- Freezing Trap
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_HUNTER,5,5384,0), -- Feign Death
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_HUNTER,4,781,0), -- Disengage
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_HUNTER,3,195645,0), -- Wing Clip
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_HUNTER,2,257284,0), -- Hunter's Mark
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_HUNTER,1,185358,0), -- Arcane Shot
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_HUNTER,0,56641,0), -- Steady Shot
+-- Highmountain Tauren Druid
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,119,258060,0), -- Highmountain Thunderhoof
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,118,255654,0), -- Bull Rush
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,112,8936,0), -- Regrowth
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,111,1850,0), -- Dash
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,110,339,0), -- Entangling Roots
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,109,5176,0), -- Wrath
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,108,8921,0), -- Moonfire
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,96,33917,0), -- Mangle
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,73,22568,0), -- Ferocious Bite
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,72,5221,0), -- Shred
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,11,258060,0), -- Highmountain Thunderhoof
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,10,255654,0), -- Bull Rush
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,4,8936,0), -- Regrowth
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,3,1850,0), -- Dash
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,2,339,0), -- Entangling Roots
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,1,5176,0), -- Wrath
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DRUID,0,8921,0), -- Moonfire
+-- Highmountain Tauren Shaman
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_SHAMAN,11,258060,0), -- Highmountain Thunderhoof
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_SHAMAN,10,255654,0), -- Bull Rush
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_SHAMAN,9,2645,0), -- Ghost Wolf
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_SHAMAN,6,2484,0), -- Earthbind Totem
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_SHAMAN,5,8004,0), -- Healing Surge
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_SHAMAN,4,192106,0), -- Lightning Shield
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_SHAMAN,3,318038,0), -- Flametongue Weapon
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_SHAMAN,2,73899,0), -- Primal Strike
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_SHAMAN,1,188196,0), -- Lightning Bolt
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_SHAMAN,0,188389,0), -- Flame Shock
+-- Highmountain Tauren Monk
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_MONK,11,258060,0), -- Highmountain Thunderhoof
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_MONK,10,255654,0), -- Bull Rush
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_MONK,8,119381,0), -- Leg Sweep
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_MONK,7,116670,0), -- Vivify
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_MONK,6,109132,0), -- Roll
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_MONK,5,117952,0), -- Crackling Jade Lightning
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_MONK,4,322109,0), -- Touch of Death
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_MONK,3,101546,0), -- Spinning Crane Kick
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_MONK,2,322101,0), -- Expel Harm
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_MONK,1,100784,0), -- Blackout Kick
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_MONK,0,100780,0), -- Tiger Palm
+-- Highmountain Tauren Death Knight
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DEATH_KNIGHT,9,255654,0), -- Bull Rush
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DEATH_KNIGHT,5,49576,0), -- Death Grip
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DEATH_KNIGHT,4,47528,0), -- Mind Freeze
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DEATH_KNIGHT,3,43265,0), -- Death and Decay
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DEATH_KNIGHT,2,49998,0), -- Death Strike
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DEATH_KNIGHT,1,47541,0), -- Death Coil
+(@RACE_HIGHMOUNTAIN_TAUREN,@CLASS_DEATH_KNIGHT,0,316239,0), -- Rune Strike
+
+-- Maghar Orc Warrior
+(@RACE_MAGHAR_ORC,@CLASS_WARRIOR,11,267274,0), -- Mag'har Direwolf
+(@RACE_MAGHAR_ORC,@CLASS_WARRIOR,10,274738,0), -- Ancestral Call
+(@RACE_MAGHAR_ORC,@CLASS_WARRIOR,8,1715,0), -- Hamstring
+(@RACE_MAGHAR_ORC,@CLASS_WARRIOR,7,6552,0), -- Pummel
+(@RACE_MAGHAR_ORC,@CLASS_WARRIOR,6,34428,0), -- Victory Rush
+(@RACE_MAGHAR_ORC,@CLASS_WARRIOR,5,163201,0), -- Execute
+(@RACE_MAGHAR_ORC,@CLASS_WARRIOR,4,23922,0), -- Shield Slam
+(@RACE_MAGHAR_ORC,@CLASS_WARRIOR,3,2565,0), -- Shield Block
+(@RACE_MAGHAR_ORC,@CLASS_WARRIOR,2,1680,0), -- Whirlwind
+(@RACE_MAGHAR_ORC,@CLASS_WARRIOR,1,1464,0), -- Slam
+(@RACE_MAGHAR_ORC,@CLASS_WARRIOR,0,100,0), -- Charge
+-- Maghar Orc Hunter
+(@RACE_MAGHAR_ORC,@CLASS_HUNTER,11,267274,0), -- Mag'har Direwolf
+(@RACE_MAGHAR_ORC,@CLASS_HUNTER,10,274738,0), -- Ancestral Call
+(@RACE_MAGHAR_ORC,@CLASS_HUNTER,9,186257,0), -- Aspect of the Cheetah
+(@RACE_MAGHAR_ORC,@CLASS_HUNTER,8,186265,0), -- Aspect of the Turtle
+(@RACE_MAGHAR_ORC,@CLASS_HUNTER,7,109304,0), -- Exhilaration
+(@RACE_MAGHAR_ORC,@CLASS_HUNTER,6,187650,0), -- Freezing Trap
+(@RACE_MAGHAR_ORC,@CLASS_HUNTER,5,5384,0), -- Feign Death
+(@RACE_MAGHAR_ORC,@CLASS_HUNTER,4,781,0), -- Disengage
+(@RACE_MAGHAR_ORC,@CLASS_HUNTER,3,195645,0), -- Wing Clip
+(@RACE_MAGHAR_ORC,@CLASS_HUNTER,2,257284,0), -- Hunter's Mark
+(@RACE_MAGHAR_ORC,@CLASS_HUNTER,1,185358,0), -- Arcane Shot
+(@RACE_MAGHAR_ORC,@CLASS_HUNTER,0,56641,0), -- Steady Shot
+-- Maghar Orc Mage
+(@RACE_MAGHAR_ORC,@CLASS_MAGE,11,267274,0), -- Mag'har Direwolf
+(@RACE_MAGHAR_ORC,@CLASS_MAGE,10,274738,0), -- Ancestral Call
+(@RACE_MAGHAR_ORC,@CLASS_MAGE,9,190336,0), -- Conjure Refreshment
+(@RACE_MAGHAR_ORC,@CLASS_MAGE,8,130,0), -- Slow Fall
+(@RACE_MAGHAR_ORC,@CLASS_MAGE,7,1459,0), -- Arcane Intellect
+(@RACE_MAGHAR_ORC,@CLASS_MAGE,6,2139,0), -- Counterspell
+(@RACE_MAGHAR_ORC,@CLASS_MAGE,5,118,0), -- Polymorph
+(@RACE_MAGHAR_ORC,@CLASS_MAGE,4,122,0), -- Frost Nova
+(@RACE_MAGHAR_ORC,@CLASS_MAGE,3,1953,0), -- Blink
+(@RACE_MAGHAR_ORC,@CLASS_MAGE,2,1449,0), -- Arcane Explosion
+(@RACE_MAGHAR_ORC,@CLASS_MAGE,1,319836,0), -- Fire Blast
+(@RACE_MAGHAR_ORC,@CLASS_MAGE,0,116,0), -- Frostbolt
+-- Maghar Orc Rogue
+(@RACE_MAGHAR_ORC,@CLASS_ROGUE,72,1833,0), -- Cheap Shot
+(@RACE_MAGHAR_ORC,@CLASS_ROGUE,11,267274,0), -- Mag'har Direwolf
+(@RACE_MAGHAR_ORC,@CLASS_ROGUE,10,274738,0), -- Ancestral Call
+(@RACE_MAGHAR_ORC,@CLASS_ROGUE,5,1766,0), -- Kick
+(@RACE_MAGHAR_ORC,@CLASS_ROGUE,4,2983,0), -- Sprint
+(@RACE_MAGHAR_ORC,@CLASS_ROGUE,3,185311,0), -- Crimson Vial
+(@RACE_MAGHAR_ORC,@CLASS_ROGUE,2,315496,0), -- Slice and Dice
+(@RACE_MAGHAR_ORC,@CLASS_ROGUE,1,196819,0), -- Eviscerate
+(@RACE_MAGHAR_ORC,@CLASS_ROGUE,0,1752,0), -- Sinister Strike
+-- Maghar Orc Priest
+(@RACE_MAGHAR_ORC,@CLASS_PRIEST,11,267274,0), -- Mag'har Direwolf
+(@RACE_MAGHAR_ORC,@CLASS_PRIEST,10,274738,0), -- Ancestral Call
+(@RACE_MAGHAR_ORC,@CLASS_PRIEST,9,2006,0), -- Resurrection
+(@RACE_MAGHAR_ORC,@CLASS_PRIEST,8,21562,0), -- Power Word: Fortitude
+(@RACE_MAGHAR_ORC,@CLASS_PRIEST,7,19236,0), -- Desperate Prayer
+(@RACE_MAGHAR_ORC,@CLASS_PRIEST,6,586,0), -- Fade
+(@RACE_MAGHAR_ORC,@CLASS_PRIEST,5,8122,0), -- Psychic Scream
+(@RACE_MAGHAR_ORC,@CLASS_PRIEST,4,2061,0), -- Flash Heal
+(@RACE_MAGHAR_ORC,@CLASS_PRIEST,3,17,0), -- Power Word: Shield
+(@RACE_MAGHAR_ORC,@CLASS_PRIEST,2,585,0), -- Smite
+(@RACE_MAGHAR_ORC,@CLASS_PRIEST,1,8092,0), -- Mind Blast
+(@RACE_MAGHAR_ORC,@CLASS_PRIEST,0,589,0), -- Shadow Word: Pain
+-- Maghar Orc Shaman
+(@RACE_MAGHAR_ORC,@CLASS_SHAMAN,11,267274,0), -- Mag'har Direwolf
+(@RACE_MAGHAR_ORC,@CLASS_SHAMAN,10,274738,0), -- Ancestral Call
+(@RACE_MAGHAR_ORC,@CLASS_SHAMAN,9,2645,0), -- Ghost Wolf
+(@RACE_MAGHAR_ORC,@CLASS_SHAMAN,6,2484,0), -- Earthbind Totem
+(@RACE_MAGHAR_ORC,@CLASS_SHAMAN,5,8004,0), -- Healing Surge
+(@RACE_MAGHAR_ORC,@CLASS_SHAMAN,4,192106,0), -- Lightning Shield
+(@RACE_MAGHAR_ORC,@CLASS_SHAMAN,3,318038,0), -- Flametongue Weapon
+(@RACE_MAGHAR_ORC,@CLASS_SHAMAN,2,73899,0), -- Primal Strike
+(@RACE_MAGHAR_ORC,@CLASS_SHAMAN,1,188196,0), -- Lightning Bolt
+(@RACE_MAGHAR_ORC,@CLASS_SHAMAN,0,188389,0), -- Flame Shock
+-- Maghar Orc Monk
+(@RACE_MAGHAR_ORC,@CLASS_MONK,11,267274,0), -- Mag'har Direwolf
+(@RACE_MAGHAR_ORC,@CLASS_MONK,10,274738,0), -- Ancestral Call
+(@RACE_MAGHAR_ORC,@CLASS_MONK,8,119381,0), -- Leg Sweep
+(@RACE_MAGHAR_ORC,@CLASS_MONK,7,116670,0), -- Vivify
+(@RACE_MAGHAR_ORC,@CLASS_MONK,6,109132,0), -- Roll
+(@RACE_MAGHAR_ORC,@CLASS_MONK,5,117952,0), -- Crackling Jade Lightning
+(@RACE_MAGHAR_ORC,@CLASS_MONK,4,322109,0), -- Touch of Death
+(@RACE_MAGHAR_ORC,@CLASS_MONK,3,101546,0), -- Spinning Crane Kick
+(@RACE_MAGHAR_ORC,@CLASS_MONK,2,322101,0), -- Expel Harm
+(@RACE_MAGHAR_ORC,@CLASS_MONK,1,100784,0), -- Blackout Kick
+(@RACE_MAGHAR_ORC,@CLASS_MONK,0,100780,0), -- Tiger Palm
+-- Maghar Orc Death Knight
+(@RACE_MAGHAR_ORC,@CLASS_DEATH_KNIGHT,9,274738,0), -- Ancestral Call
+(@RACE_MAGHAR_ORC,@CLASS_DEATH_KNIGHT,5,47528,0), -- Mind Freeze
+(@RACE_MAGHAR_ORC,@CLASS_DEATH_KNIGHT,4,49576,0), -- Death Grip
+(@RACE_MAGHAR_ORC,@CLASS_DEATH_KNIGHT,3,43265,0), -- Death and Decay
+(@RACE_MAGHAR_ORC,@CLASS_DEATH_KNIGHT,2,49998,0), -- Death Strike
+(@RACE_MAGHAR_ORC,@CLASS_DEATH_KNIGHT,1,47541,0), -- Death Coil
+(@RACE_MAGHAR_ORC,@CLASS_DEATH_KNIGHT,0,316239,0), -- Rune Strike
+
+-- Zandalari Troll Warrior
+(@RACE_ZANDALARI,@CLASS_WARRIOR,11,263707,0), -- Zandalari Direhorn
+(@RACE_ZANDALARI,@CLASS_WARRIOR,10,292752,0), -- Embrace of the Loa
+(@RACE_ZANDALARI,@CLASS_WARRIOR,8,1715,0), -- Hamstring
+(@RACE_ZANDALARI,@CLASS_WARRIOR,7,6552,0), -- Pummel
+(@RACE_ZANDALARI,@CLASS_WARRIOR,6,34428,0), -- Victory Rush
+(@RACE_ZANDALARI,@CLASS_WARRIOR,5,163201,0), -- Execute
+(@RACE_ZANDALARI,@CLASS_WARRIOR,4,23922,0), -- Shield Slam
+(@RACE_ZANDALARI,@CLASS_WARRIOR,3,2565,0), -- Shield Block
+(@RACE_ZANDALARI,@CLASS_WARRIOR,2,1680,0), -- Whirlwind
+(@RACE_ZANDALARI,@CLASS_WARRIOR,1,1464,0), -- Slam
+(@RACE_ZANDALARI,@CLASS_WARRIOR,0,100,0), -- Charge
+-- Zandalari Troll Hunter
+(@RACE_ZANDALARI,@CLASS_HUNTER,11,263707,0), -- Zandalari Direhorn
+(@RACE_ZANDALARI,@CLASS_HUNTER,10,292752,0), -- Embrace of the Loa
+(@RACE_ZANDALARI,@CLASS_HUNTER,9,186257,0), -- Aspect of the Cheetah
+(@RACE_ZANDALARI,@CLASS_HUNTER,8,186265,0), -- Aspect of the Turtle
+(@RACE_ZANDALARI,@CLASS_HUNTER,7,109304,0), -- Exhilaration
+(@RACE_ZANDALARI,@CLASS_HUNTER,6,187650,0), -- Freezing Trap
+(@RACE_ZANDALARI,@CLASS_HUNTER,5,5384,0), -- Feign Death
+(@RACE_ZANDALARI,@CLASS_HUNTER,4,781,0), -- Disengage
+(@RACE_ZANDALARI,@CLASS_HUNTER,3,195645,0), -- Wing Clip
+(@RACE_ZANDALARI,@CLASS_HUNTER,2,257284,0), -- Hunter's Mark
+(@RACE_ZANDALARI,@CLASS_HUNTER,1,185358,0), -- Arcane Shot
+(@RACE_ZANDALARI,@CLASS_HUNTER,0,56641,0), -- Steady Shot
+-- Zandalari Troll Mage
+(@RACE_ZANDALARI,@CLASS_MAGE,11,263707,0), -- Zandalari Direhorn
+(@RACE_ZANDALARI,@CLASS_MAGE,10,292752,0), -- Embrace of the Loa
+(@RACE_ZANDALARI,@CLASS_MAGE,9,190336,0), -- Conjure Refreshment
+(@RACE_ZANDALARI,@CLASS_MAGE,8,130,0), -- Slow Fall
+(@RACE_ZANDALARI,@CLASS_MAGE,7,1459,0), -- Arcane Intellect
+(@RACE_ZANDALARI,@CLASS_MAGE,6,2139,0), -- Counterspell
+(@RACE_ZANDALARI,@CLASS_MAGE,5,118,0), -- Polymorph
+(@RACE_ZANDALARI,@CLASS_MAGE,4,122,0), -- Frost Nova
+(@RACE_ZANDALARI,@CLASS_MAGE,3,1953,0), -- Blink
+(@RACE_ZANDALARI,@CLASS_MAGE,2,1449,0), -- Arcane Explosion
+(@RACE_ZANDALARI,@CLASS_MAGE,1,319836,0), -- Fire Blast
+(@RACE_ZANDALARI,@CLASS_MAGE,0,116,0), -- Frostbolt
+-- Zandalari Troll Rogue
+(@RACE_ZANDALARI,@CLASS_ROGUE,72,1833,0), -- Cheap Shot
+(@RACE_ZANDALARI,@CLASS_ROGUE,11,263707,0), -- Zandalari Direhorn
+(@RACE_ZANDALARI,@CLASS_ROGUE,10,292752,0), -- Embrace of the Loa
+(@RACE_ZANDALARI,@CLASS_ROGUE,5,1766,0), -- Kick
+(@RACE_ZANDALARI,@CLASS_ROGUE,4,2983,0), -- Sprint
+(@RACE_ZANDALARI,@CLASS_ROGUE,3,185311,0), -- Crimson Vial
+(@RACE_ZANDALARI,@CLASS_ROGUE,2,315496,0), -- Slice and Dice
+(@RACE_ZANDALARI,@CLASS_ROGUE,1,196819,0), -- Eviscerate
+(@RACE_ZANDALARI,@CLASS_ROGUE,0,1752,0), -- Sinister Strike
+-- Zandalari Troll Priest
+(@RACE_ZANDALARI,@CLASS_PRIEST,11,263707,0), -- Zandalari Direhorn
+(@RACE_ZANDALARI,@CLASS_PRIEST,10,292752,0), -- Embrace of the Loa
+(@RACE_ZANDALARI,@CLASS_PRIEST,9,2006,0), -- Resurrection
+(@RACE_ZANDALARI,@CLASS_PRIEST,8,21562,0), -- Power Word: Fortitude
+(@RACE_ZANDALARI,@CLASS_PRIEST,7,19236,0), -- Desperate Prayer
+(@RACE_ZANDALARI,@CLASS_PRIEST,6,586,0), -- Fade
+(@RACE_ZANDALARI,@CLASS_PRIEST,5,8122,0), -- Psychic Scream
+(@RACE_ZANDALARI,@CLASS_PRIEST,4,2061,0), -- Flash Heal
+(@RACE_ZANDALARI,@CLASS_PRIEST,3,17,0), -- Power Word: Shield
+(@RACE_ZANDALARI,@CLASS_PRIEST,2,585,0), -- Smite
+(@RACE_ZANDALARI,@CLASS_PRIEST,1,8092,0), -- Mind Blast
+(@RACE_ZANDALARI,@CLASS_PRIEST,0,589,0), -- Shadow Word: Pain
+-- Zandalari Troll Paladin
+(@RACE_ZANDALARI,@CLASS_PALADIN,11,290608,0), -- Crusader's Direhorn
+(@RACE_ZANDALARI,@CLASS_PALADIN,10,292752,0), -- Embrace of the Loa
+(@RACE_ZANDALARI,@CLASS_PALADIN,7,85673,0), -- Word of Glory
+(@RACE_ZANDALARI,@CLASS_PALADIN,6,642,0), -- Divine Shield
+(@RACE_ZANDALARI,@CLASS_PALADIN,5,19750,0), -- Flash of Light
+(@RACE_ZANDALARI,@CLASS_PALADIN,4,853,0), -- Hammer of Justice
+(@RACE_ZANDALARI,@CLASS_PALADIN,3,53600,0), -- Shield of the Righteous
+(@RACE_ZANDALARI,@CLASS_PALADIN,2,26573,0), -- Consecration
+(@RACE_ZANDALARI,@CLASS_PALADIN,1,35395,0), -- Crusader Strike
+(@RACE_ZANDALARI,@CLASS_PALADIN,0,20271,0), -- Judgment
+-- Zandalari Troll Druid
+(@RACE_ZANDALARI,@CLASS_DRUID,119,263707,0), -- Zandalari Direhorn
+(@RACE_ZANDALARI,@CLASS_DRUID,118,292752,0), -- Embrace of the Loa
+(@RACE_ZANDALARI,@CLASS_DRUID,112,8936,0), -- Regrowth
+(@RACE_ZANDALARI,@CLASS_DRUID,111,1850,0), -- Dash
+(@RACE_ZANDALARI,@CLASS_DRUID,110,339,0), -- Entangling Roots
+(@RACE_ZANDALARI,@CLASS_DRUID,109,5176,0), -- Wrath
+(@RACE_ZANDALARI,@CLASS_DRUID,108,8921,0), -- Moonfire
+(@RACE_ZANDALARI,@CLASS_DRUID,96,33917,0), -- Mangle
+(@RACE_ZANDALARI,@CLASS_DRUID,85,22568,0), -- Ferocious Bite
+(@RACE_ZANDALARI,@CLASS_DRUID,84,5221,0), -- Shred
+(@RACE_ZANDALARI,@CLASS_DRUID,73,22568,0), -- Ferocious Bite
+(@RACE_ZANDALARI,@CLASS_DRUID,72,5221,0), -- Shred
+(@RACE_ZANDALARI,@CLASS_DRUID,11,263707,0), -- Zandalari Direhorn
+(@RACE_ZANDALARI,@CLASS_DRUID,10,292752,0), -- Embrace of the Loa
+(@RACE_ZANDALARI,@CLASS_DRUID,4,8936,0), -- Regrowth
+(@RACE_ZANDALARI,@CLASS_DRUID,3,1850,0), -- Dash
+(@RACE_ZANDALARI,@CLASS_DRUID,2,339,0), -- Entangling Roots
+(@RACE_ZANDALARI,@CLASS_DRUID,1,5176,0), -- Wrath
+(@RACE_ZANDALARI,@CLASS_DRUID,0,8921,0), -- Moonfire
+-- Zandalari Troll Shaman
+(@RACE_ZANDALARI,@CLASS_SHAMAN,11,263707,0), -- Zandalari Direhorn
+(@RACE_ZANDALARI,@CLASS_SHAMAN,10,292752,0), -- Embrace of the Loa
+(@RACE_ZANDALARI,@CLASS_SHAMAN,9,2645,0), -- Ghost Wolf
+(@RACE_ZANDALARI,@CLASS_SHAMAN,6,2484,0), -- Earthbind Totem
+(@RACE_ZANDALARI,@CLASS_SHAMAN,5,8004,0), -- Healing Surge
+(@RACE_ZANDALARI,@CLASS_SHAMAN,4,192106,0), -- Lightning Shield
+(@RACE_ZANDALARI,@CLASS_SHAMAN,3,318038,0), -- Flametongue Weapon
+(@RACE_ZANDALARI,@CLASS_SHAMAN,2,73899,0), -- Primal Strike
+(@RACE_ZANDALARI,@CLASS_SHAMAN,1,188196,0), -- Lightning Bolt
+(@RACE_ZANDALARI,@CLASS_SHAMAN,0,188389,0), -- Flame Shock
+-- Zandalari Troll Monk
+(@RACE_ZANDALARI,@CLASS_MONK,11,263707,0), -- Zandalari Direhorn
+(@RACE_ZANDALARI,@CLASS_MONK,10,292752,0), -- Embrace of the Loa
+(@RACE_ZANDALARI,@CLASS_MONK,8,119381,0), -- Leg Sweep
+(@RACE_ZANDALARI,@CLASS_MONK,7,116670,0), -- Vivify
+(@RACE_ZANDALARI,@CLASS_MONK,6,109132,0), -- Roll
+(@RACE_ZANDALARI,@CLASS_MONK,5,117952,0), -- Crackling Jade Lightning
+(@RACE_ZANDALARI,@CLASS_MONK,4,322109,0), -- Touch of Death
+(@RACE_ZANDALARI,@CLASS_MONK,3,101546,0), -- Spinning Crane Kick
+(@RACE_ZANDALARI,@CLASS_MONK,2,322101,0), -- Expel Harm
+(@RACE_ZANDALARI,@CLASS_MONK,1,100784,0), -- Blackout Kick
+(@RACE_ZANDALARI,@CLASS_MONK,0,100780,0), -- Tiger Palm
+-- Zandalari Troll Death Knight
+(@RACE_ZANDALARI,@CLASS_DEATH_KNIGHT,9,291944,0), -- Regeneratin'
+(@RACE_ZANDALARI,@CLASS_DEATH_KNIGHT,5,49576,0), -- Death Grip
+(@RACE_ZANDALARI,@CLASS_DEATH_KNIGHT,4,47528,0), -- Mind Freeze
+(@RACE_ZANDALARI,@CLASS_DEATH_KNIGHT,3,43265,0), -- Death and Decay
+(@RACE_ZANDALARI,@CLASS_DEATH_KNIGHT,2,49998,0), -- Death Strike
+(@RACE_ZANDALARI,@CLASS_DEATH_KNIGHT,1,47541,0), -- Death Coil
+(@RACE_ZANDALARI,@CLASS_DEATH_KNIGHT,0,316239,0), -- Rune Strike
+
+-- Vulpera Warrior
+(@RACE_VULPERA,@CLASS_WARRIOR,11,306423,0), -- Caravan Hyena
+(@RACE_VULPERA,@CLASS_WARRIOR,10,312411,0), -- Bag of Tricks
+(@RACE_VULPERA,@CLASS_WARRIOR,8,1715,0), -- Hamstring
+(@RACE_VULPERA,@CLASS_WARRIOR,7,6552,0), -- Pummel
+(@RACE_VULPERA,@CLASS_WARRIOR,6,34428,0), -- Victory Rush
+(@RACE_VULPERA,@CLASS_WARRIOR,5,163201,0), -- Execute
+(@RACE_VULPERA,@CLASS_WARRIOR,4,23922,0), -- Shield Slam
+(@RACE_VULPERA,@CLASS_WARRIOR,3,2565,0), -- Shield Block
+(@RACE_VULPERA,@CLASS_WARRIOR,2,1680,0), -- Whirlwind
+(@RACE_VULPERA,@CLASS_WARRIOR,1,1464,0), -- Slam
+(@RACE_VULPERA,@CLASS_WARRIOR,0,100,0), -- Charge
+-- Vulpera Hunter
+(@RACE_VULPERA,@CLASS_HUNTER,11,306423,0), -- Caravan Hyena
+(@RACE_VULPERA,@CLASS_HUNTER,10,312411,0), -- Bag of Tricks
+(@RACE_VULPERA,@CLASS_HUNTER,9,186257,0), -- Aspect of the Cheetah
+(@RACE_VULPERA,@CLASS_HUNTER,8,186265,0), -- Aspect of the Turtle
+(@RACE_VULPERA,@CLASS_HUNTER,7,109304,0), -- Exhilaration
+(@RACE_VULPERA,@CLASS_HUNTER,6,187650,0), -- Freezing Trap
+(@RACE_VULPERA,@CLASS_HUNTER,5,5384,0), -- Feign Death
+(@RACE_VULPERA,@CLASS_HUNTER,4,781,0), -- Disengage
+(@RACE_VULPERA,@CLASS_HUNTER,3,195645,0), -- Wing Clip
+(@RACE_VULPERA,@CLASS_HUNTER,2,257284,0), -- Hunter's Mark
+(@RACE_VULPERA,@CLASS_HUNTER,1,185358,0), -- Arcane Shot
+(@RACE_VULPERA,@CLASS_HUNTER,0,56641,0), -- Steady Shot
+-- Vulpera Mage
+(@RACE_VULPERA,@CLASS_MAGE,11,306423,0), -- Caravan Hyena
+(@RACE_VULPERA,@CLASS_MAGE,10,312411,0), -- Bag of Tricks
+(@RACE_VULPERA,@CLASS_MAGE,9,190336,0), -- Conjure Refreshment
+(@RACE_VULPERA,@CLASS_MAGE,8,130,0), -- Slow Fall
+(@RACE_VULPERA,@CLASS_MAGE,7,1459,0), -- Arcane Intellect
+(@RACE_VULPERA,@CLASS_MAGE,6,2139,0), -- Counterspell
+(@RACE_VULPERA,@CLASS_MAGE,5,118,0), -- Polymorph
+(@RACE_VULPERA,@CLASS_MAGE,4,122,0), -- Frost Nova
+(@RACE_VULPERA,@CLASS_MAGE,3,1953,0), -- Blink
+(@RACE_VULPERA,@CLASS_MAGE,2,1449,0), -- Arcane Explosion
+(@RACE_VULPERA,@CLASS_MAGE,1,319836,0), -- Fire Blast
+(@RACE_VULPERA,@CLASS_MAGE,0,116,0), -- Frostbolt
+-- Vulpera Rogue
+(@RACE_VULPERA,@CLASS_ROGUE,72,1833,0), -- Cheap Shot
+(@RACE_VULPERA,@CLASS_ROGUE,11,306423,0), -- Caravan Hyena
+(@RACE_VULPERA,@CLASS_ROGUE,10,312411,0), -- Bag of Tricks
+(@RACE_VULPERA,@CLASS_ROGUE,5,1766,0), -- Kick
+(@RACE_VULPERA,@CLASS_ROGUE,4,2983,0), -- Sprint
+(@RACE_VULPERA,@CLASS_ROGUE,3,185311,0), -- Crimson Vial
+(@RACE_VULPERA,@CLASS_ROGUE,2,315496,0), -- Slice and Dice
+(@RACE_VULPERA,@CLASS_ROGUE,1,196819,0), -- Eviscerate
+(@RACE_VULPERA,@CLASS_ROGUE,0,1752,0), -- Sinister Strike
+-- Vulpera Priest
+(@RACE_VULPERA,@CLASS_PRIEST,11,306423,0), -- Caravan Hyena
+(@RACE_VULPERA,@CLASS_PRIEST,10,312411,0), -- Bag of Tricks
+(@RACE_VULPERA,@CLASS_PRIEST,9,2006,0), -- Resurrection
+(@RACE_VULPERA,@CLASS_PRIEST,8,21562,0), -- Power Word: Fortitude
+(@RACE_VULPERA,@CLASS_PRIEST,7,19236,0), -- Desperate Prayer
+(@RACE_VULPERA,@CLASS_PRIEST,6,586,0), -- Fade
+(@RACE_VULPERA,@CLASS_PRIEST,5,8122,0), -- Psychic Scream
+(@RACE_VULPERA,@CLASS_PRIEST,4,2061,0), -- Flash Heal
+(@RACE_VULPERA,@CLASS_PRIEST,3,17,0), -- Power Word: Shield
+(@RACE_VULPERA,@CLASS_PRIEST,2,585,0), -- Smite
+(@RACE_VULPERA,@CLASS_PRIEST,1,8092,0), -- Mind Blast
+(@RACE_VULPERA,@CLASS_PRIEST,0,589,0), -- Shadow Word: Pain
+-- Vulpera Warlock
+(@RACE_VULPERA,@CLASS_WARLOCK,11,306423,0), -- Caravan Hyena
+(@RACE_VULPERA,@CLASS_WARLOCK,10,312411,0), -- Bag of Tricks
+(@RACE_VULPERA,@CLASS_WARLOCK,7,6201,0), -- Create Healthstone
+(@RACE_VULPERA,@CLASS_WARLOCK,6,755,0), -- Health Funnel
+(@RACE_VULPERA,@CLASS_WARLOCK,5,5782,0), -- Fear
+(@RACE_VULPERA,@CLASS_WARLOCK,4,104773,0), -- Unending Resolve
+(@RACE_VULPERA,@CLASS_WARLOCK,3,702,0), -- Curse of Weakness
+(@RACE_VULPERA,@CLASS_WARLOCK,2,234153,0), -- Drain Life
+(@RACE_VULPERA,@CLASS_WARLOCK,1,686,0), -- Shadow Bolt
+(@RACE_VULPERA,@CLASS_WARLOCK,0,172,0), -- Corruption
+-- Vulpera Shaman
+(@RACE_VULPERA,@CLASS_SHAMAN,11,306423,0), -- Caravan Hyena
+(@RACE_VULPERA,@CLASS_SHAMAN,10,312411,0), -- Bag of Tricks
+(@RACE_VULPERA,@CLASS_SHAMAN,9,2645,0), -- Ghost Wolf
+(@RACE_VULPERA,@CLASS_SHAMAN,6,2484,0), -- Earthbind Totem
+(@RACE_VULPERA,@CLASS_SHAMAN,5,8004,0), -- Healing Surge
+(@RACE_VULPERA,@CLASS_SHAMAN,4,192106,0), -- Lightning Shield
+(@RACE_VULPERA,@CLASS_SHAMAN,3,318038,0), -- Flametongue Weapon
+(@RACE_VULPERA,@CLASS_SHAMAN,2,73899,0), -- Primal Strike
+(@RACE_VULPERA,@CLASS_SHAMAN,1,188196,0), -- Lightning Bolt
+(@RACE_VULPERA,@CLASS_SHAMAN,0,188389,0), -- Flame Shock
+-- Vulpera Monk
+(@RACE_VULPERA,@CLASS_MONK,11,306423,0), -- Caravan Hyena
+(@RACE_VULPERA,@CLASS_MONK,10,312411,0), -- Bag of Tricks
+(@RACE_VULPERA,@CLASS_MONK,8,119381,0), -- Leg Sweep
+(@RACE_VULPERA,@CLASS_MONK,7,116670,0), -- Vivify
+(@RACE_VULPERA,@CLASS_MONK,6,109132,0), -- Roll
+(@RACE_VULPERA,@CLASS_MONK,5,117952,0), -- Crackling Jade Lightning
+(@RACE_VULPERA,@CLASS_MONK,4,322109,0), -- Touch of Death
+(@RACE_VULPERA,@CLASS_MONK,3,101546,0), -- Spinning Crane Kick
+(@RACE_VULPERA,@CLASS_MONK,2,322101,0), -- Expel Harm
+(@RACE_VULPERA,@CLASS_MONK,1,100784,0), -- Blackout Kick
+(@RACE_VULPERA,@CLASS_MONK,0,100780,0), -- Tiger Palm
+-- Vulpera Death Knight
+(@RACE_VULPERA,@CLASS_DEATH_KNIGHT,9,312411,0), -- Bag of Tricks
+(@RACE_VULPERA,@CLASS_DEATH_KNIGHT,5,49576,0), -- Death Grip
+(@RACE_VULPERA,@CLASS_DEATH_KNIGHT,4,47528,0), -- Mind Freeze
+(@RACE_VULPERA,@CLASS_DEATH_KNIGHT,3,43265,0), -- Death and Decay
+(@RACE_VULPERA,@CLASS_DEATH_KNIGHT,2,49998,0), -- Death Strike
+(@RACE_VULPERA,@CLASS_DEATH_KNIGHT,1,47541,0), -- Death Coil
+(@RACE_VULPERA,@CLASS_DEATH_KNIGHT,0,316239,0), -- Rune Strike
+
+-- Void Elf Warrior
+(@RACE_VOID_ELF,@CLASS_WARRIOR,11,259202,0), -- Starcursed Voidstrider
+(@RACE_VOID_ELF,@CLASS_WARRIOR,10,256948,0), -- Spatial Rift
+(@RACE_VOID_ELF,@CLASS_WARRIOR,8,1715,0), -- Hamstring
+(@RACE_VOID_ELF,@CLASS_WARRIOR,7,6552,0), -- Pummel
+(@RACE_VOID_ELF,@CLASS_WARRIOR,6,34428,0), -- Victory Rush
+(@RACE_VOID_ELF,@CLASS_WARRIOR,5,163201,0), -- Execute
+(@RACE_VOID_ELF,@CLASS_WARRIOR,4,23922,0), -- Shield Slam
+(@RACE_VOID_ELF,@CLASS_WARRIOR,3,2565,0), -- Shield Block
+(@RACE_VOID_ELF,@CLASS_WARRIOR,2,1680,0), -- Whirlwind
+(@RACE_VOID_ELF,@CLASS_WARRIOR,1,1464,0), -- Slam
+(@RACE_VOID_ELF,@CLASS_WARRIOR,0,100,0), -- Charge
+-- Void Elf Hunter
+(@RACE_VOID_ELF,@CLASS_HUNTER,11,259202,0), -- Starcursed Voidstrider
+(@RACE_VOID_ELF,@CLASS_HUNTER,10,256948,0), -- Spatial Rift
+(@RACE_VOID_ELF,@CLASS_HUNTER,9,186257,0), -- Aspect of the Cheetah
+(@RACE_VOID_ELF,@CLASS_HUNTER,8,186265,0), -- Aspect of the Turtle
+(@RACE_VOID_ELF,@CLASS_HUNTER,7,109304,0), -- Exhilaration
+(@RACE_VOID_ELF,@CLASS_HUNTER,6,187650,0), -- Freezing Trap
+(@RACE_VOID_ELF,@CLASS_HUNTER,5,5384,0), -- Feign Death
+(@RACE_VOID_ELF,@CLASS_HUNTER,4,781,0), -- Disengage
+(@RACE_VOID_ELF,@CLASS_HUNTER,3,195645,0), -- Wing Clip
+(@RACE_VOID_ELF,@CLASS_HUNTER,2,257284,0), -- Hunter's Mark
+(@RACE_VOID_ELF,@CLASS_HUNTER,1,185358,0), -- Arcane Shot
+(@RACE_VOID_ELF,@CLASS_HUNTER,0,56641,0), -- Steady Shot
+-- Void Elf Mage
+(@RACE_VOID_ELF,@CLASS_MAGE,11,259202,0), -- Starcursed Voidstrider
+(@RACE_VOID_ELF,@CLASS_MAGE,10,256948,0), -- Spatial Rift
+(@RACE_VOID_ELF,@CLASS_MAGE,9,190336,0), -- Conjure Refreshment
+(@RACE_VOID_ELF,@CLASS_MAGE,8,130,0), -- Slow Fall
+(@RACE_VOID_ELF,@CLASS_MAGE,7,1459,0), -- Arcane Intellect
+(@RACE_VOID_ELF,@CLASS_MAGE,6,2139,0), -- Counterspell
+(@RACE_VOID_ELF,@CLASS_MAGE,5,118,0), -- Polymorph
+(@RACE_VOID_ELF,@CLASS_MAGE,4,122,0), -- Frost Nova
+(@RACE_VOID_ELF,@CLASS_MAGE,3,1953,0), -- Blink
+(@RACE_VOID_ELF,@CLASS_MAGE,2,1449,0), -- Arcane Explosion
+(@RACE_VOID_ELF,@CLASS_MAGE,1,319836,0), -- Fire Blast
+(@RACE_VOID_ELF,@CLASS_MAGE,0,116,0), -- Frostbolt
+-- Void Elf Rogue
+(@RACE_VOID_ELF,@CLASS_ROGUE,72,1833,0), -- Cheap Shot
+(@RACE_VOID_ELF,@CLASS_ROGUE,11,259202,0), -- Starcursed Voidstrider
+(@RACE_VOID_ELF,@CLASS_ROGUE,10,256948,0), -- Spatial Rift
+(@RACE_VOID_ELF,@CLASS_ROGUE,5,1766,0), -- Kick
+(@RACE_VOID_ELF,@CLASS_ROGUE,4,2983,0), -- Sprint
+(@RACE_VOID_ELF,@CLASS_ROGUE,3,185311,0), -- Crimson Vial
+(@RACE_VOID_ELF,@CLASS_ROGUE,2,315496,0), -- Slice and Dice
+(@RACE_VOID_ELF,@CLASS_ROGUE,1,196819,0), -- Eviscerate
+(@RACE_VOID_ELF,@CLASS_ROGUE,0,1752,0), -- Sinister Strike
+-- Void Elf Priest
+(@RACE_VOID_ELF,@CLASS_PRIEST,11,259202,0), -- Starcursed Voidstrider
+(@RACE_VOID_ELF,@CLASS_PRIEST,10,256948,0), -- Spatial Rift
+(@RACE_VOID_ELF,@CLASS_PRIEST,9,2006,0), -- Resurrection
+(@RACE_VOID_ELF,@CLASS_PRIEST,8,21562,0), -- Power Word: Fortitude
+(@RACE_VOID_ELF,@CLASS_PRIEST,7,19236,0), -- Desperate Prayer
+(@RACE_VOID_ELF,@CLASS_PRIEST,6,586,0), -- Fade
+(@RACE_VOID_ELF,@CLASS_PRIEST,5,8122,0), -- Psychic Scream
+(@RACE_VOID_ELF,@CLASS_PRIEST,4,2061,0), -- Flash Heal
+(@RACE_VOID_ELF,@CLASS_PRIEST,3,17,0), -- Power Word: Shield
+(@RACE_VOID_ELF,@CLASS_PRIEST,2,585,0), -- Smite
+(@RACE_VOID_ELF,@CLASS_PRIEST,1,8092,0), -- Mind Blast
+(@RACE_VOID_ELF,@CLASS_PRIEST,0,589,0), -- Shadow Word: Pain
+-- Void Elf Warlock
+(@RACE_VOID_ELF,@CLASS_WARLOCK,11,259202,0), -- Starcursed Voidstrider
+(@RACE_VOID_ELF,@CLASS_WARLOCK,10,256948,0), -- Spatial Rift
+(@RACE_VOID_ELF,@CLASS_WARLOCK,7,6201,0), -- Create Healthstone
+(@RACE_VOID_ELF,@CLASS_WARLOCK,6,755,0), -- Health Funnel
+(@RACE_VOID_ELF,@CLASS_WARLOCK,5,5782,0), -- Fear
+(@RACE_VOID_ELF,@CLASS_WARLOCK,4,104773,0), -- Unending Resolve
+(@RACE_VOID_ELF,@CLASS_WARLOCK,3,702,0), -- Curse of Weakness
+(@RACE_VOID_ELF,@CLASS_WARLOCK,2,234153,0), -- Drain Life
+(@RACE_VOID_ELF,@CLASS_WARLOCK,1,686,0), -- Shadow Bolt
+(@RACE_VOID_ELF,@CLASS_WARLOCK,0,172,0), -- Corruption
+-- Void Elf Monk
+(@RACE_VOID_ELF,@CLASS_MONK,11,259202,0), -- Starcursed Voidstrider
+(@RACE_VOID_ELF,@CLASS_MONK,10,256948,0), -- Spatial Rift
+(@RACE_VOID_ELF,@CLASS_MONK,8,119381,0), -- Leg Sweep
+(@RACE_VOID_ELF,@CLASS_MONK,7,116670,0), -- Vivify
+(@RACE_VOID_ELF,@CLASS_MONK,6,109132,0), -- Roll
+(@RACE_VOID_ELF,@CLASS_MONK,5,117952,0), -- Crackling Jade Lightning
+(@RACE_VOID_ELF,@CLASS_MONK,4,322109,0), -- Touch of Death
+(@RACE_VOID_ELF,@CLASS_MONK,3,101546,0), -- Spinning Crane Kick
+(@RACE_VOID_ELF,@CLASS_MONK,2,322101,0), -- Expel Harm
+(@RACE_VOID_ELF,@CLASS_MONK,1,100784,0), -- Blackout Kick
+(@RACE_VOID_ELF,@CLASS_MONK,0,100780,0), -- Tiger Palm
+-- Void Elf Death Knight
+(@RACE_VOID_ELF,@CLASS_DEATH_KNIGHT,9,256948,0), -- Spatial Rift
+(@RACE_VOID_ELF,@CLASS_DEATH_KNIGHT,5,49576,0), -- Death Grip
+(@RACE_VOID_ELF,@CLASS_DEATH_KNIGHT,4,47528,0), -- Mind Freeze
+(@RACE_VOID_ELF,@CLASS_DEATH_KNIGHT,3,43265,0), -- Death and Decay
+(@RACE_VOID_ELF,@CLASS_DEATH_KNIGHT,2,49998,0), -- Death Strike
+(@RACE_VOID_ELF,@CLASS_DEATH_KNIGHT,1,47541,0), -- Death Coil
+(@RACE_VOID_ELF,@CLASS_DEATH_KNIGHT,0,316239,0), -- Rune Strike
+
+-- Lightforged Draenei Warrior
+(@RACE_LF_DRAENEI,@CLASS_WARRIOR,11,258022,0), -- Lightforged Felcrusher
+(@RACE_LF_DRAENEI,@CLASS_WARRIOR,10,255647,0), -- Light's Judgment
+(@RACE_LF_DRAENEI,@CLASS_WARRIOR,8,1715,0), -- Hamstring
+(@RACE_LF_DRAENEI,@CLASS_WARRIOR,7,6552,0), -- Pummel
+(@RACE_LF_DRAENEI,@CLASS_WARRIOR,6,34428,0), -- Victory Rush
+(@RACE_LF_DRAENEI,@CLASS_WARRIOR,5,163201,0), -- Execute
+(@RACE_LF_DRAENEI,@CLASS_WARRIOR,4,23922,0), -- Shield Slam
+(@RACE_LF_DRAENEI,@CLASS_WARRIOR,3,2565,0), -- Shield Block
+(@RACE_LF_DRAENEI,@CLASS_WARRIOR,2,1680,0), -- Whirlwind
+(@RACE_LF_DRAENEI,@CLASS_WARRIOR,1,1464,0), -- Slam
+(@RACE_LF_DRAENEI,@CLASS_WARRIOR,0,100,0), -- Charge
+-- Lightforged Draenei Hunter
+(@RACE_LF_DRAENEI,@CLASS_HUNTER,11,258022,0), -- Lightforged Felcrusher
+(@RACE_LF_DRAENEI,@CLASS_HUNTER,10,255647,0), -- Light's Judgment
+(@RACE_LF_DRAENEI,@CLASS_HUNTER,9,186257,0), -- Aspect of the Cheetah
+(@RACE_LF_DRAENEI,@CLASS_HUNTER,8,186265,0), -- Aspect of the Turtle
+(@RACE_LF_DRAENEI,@CLASS_HUNTER,7,109304,0), -- Exhilaration
+(@RACE_LF_DRAENEI,@CLASS_HUNTER,6,187650,0), -- Freezing Trap
+(@RACE_LF_DRAENEI,@CLASS_HUNTER,5,5384,0), -- Feign Death
+(@RACE_LF_DRAENEI,@CLASS_HUNTER,4,781,0), -- Disengage
+(@RACE_LF_DRAENEI,@CLASS_HUNTER,3,195645,0), -- Wing Clip
+(@RACE_LF_DRAENEI,@CLASS_HUNTER,2,257284,0), -- Hunter's Mark
+(@RACE_LF_DRAENEI,@CLASS_HUNTER,1,185358,0), -- Arcane Shot
+(@RACE_LF_DRAENEI,@CLASS_HUNTER,0,56641,0), -- Steady Shot
+-- Lightforged Draenei Mage
+(@RACE_LF_DRAENEI,@CLASS_MAGE,11,258022,0), -- Lightforged Felcrusher
+(@RACE_LF_DRAENEI,@CLASS_MAGE,10,255647,0), -- Light's Judgment
+(@RACE_LF_DRAENEI,@CLASS_MAGE,9,190336,0), -- Conjure Refreshment
+(@RACE_LF_DRAENEI,@CLASS_MAGE,8,130,0), -- Slow Fall
+(@RACE_LF_DRAENEI,@CLASS_MAGE,7,1459,0), -- Arcane Intellect
+(@RACE_LF_DRAENEI,@CLASS_MAGE,6,2139,0), -- Counterspell
+(@RACE_LF_DRAENEI,@CLASS_MAGE,5,118,0), -- Polymorph
+(@RACE_LF_DRAENEI,@CLASS_MAGE,4,122,0), -- Frost Nova
+(@RACE_LF_DRAENEI,@CLASS_MAGE,3,1953,0), -- Blink
+(@RACE_LF_DRAENEI,@CLASS_MAGE,2,1449,0), -- Arcane Explosion
+(@RACE_LF_DRAENEI,@CLASS_MAGE,1,319836,0), -- Fire Blast
+(@RACE_LF_DRAENEI,@CLASS_MAGE,0,116,0), -- Frostbolt
+-- Lightforged Draenei Priest
+(@RACE_LF_DRAENEI,@CLASS_PRIEST,11,258022,0), -- Lightforged Felcrusher
+(@RACE_LF_DRAENEI,@CLASS_PRIEST,10,255647,0), -- Light's Judgment
+(@RACE_LF_DRAENEI,@CLASS_PRIEST,9,2006,0), -- Resurrection
+(@RACE_LF_DRAENEI,@CLASS_PRIEST,8,21562,0), -- Power Word: Fortitude
+(@RACE_LF_DRAENEI,@CLASS_PRIEST,7,19236,0), -- Desperate Prayer
+(@RACE_LF_DRAENEI,@CLASS_PRIEST,6,586,0), -- Fade
+(@RACE_LF_DRAENEI,@CLASS_PRIEST,5,8122,0), -- Psychic Scream
+(@RACE_LF_DRAENEI,@CLASS_PRIEST,4,2061,0), -- Flash Heal
+(@RACE_LF_DRAENEI,@CLASS_PRIEST,3,17,0), -- Power Word: Shield
+(@RACE_LF_DRAENEI,@CLASS_PRIEST,2,585,0), -- Smite
+(@RACE_LF_DRAENEI,@CLASS_PRIEST,1,8092,0), -- Mind Blast
+(@RACE_LF_DRAENEI,@CLASS_PRIEST,0,589,0), -- Shadow Word: Pain
+-- Lightforged Draenei Paladin
+(@RACE_LF_DRAENEI,@CLASS_PALADIN,11,258022,0), -- Lightforged Felcrusher
+(@RACE_LF_DRAENEI,@CLASS_PALADIN,10,255647,0), -- Light's Judgment
+(@RACE_LF_DRAENEI,@CLASS_PALADIN,7,85673,0), -- Word of Glory
+(@RACE_LF_DRAENEI,@CLASS_PALADIN,6,642,0), -- Divine Shield
+(@RACE_LF_DRAENEI,@CLASS_PALADIN,5,19750,0), -- Flash of Light
+(@RACE_LF_DRAENEI,@CLASS_PALADIN,4,853,0), -- Hammer of Justice
+(@RACE_LF_DRAENEI,@CLASS_PALADIN,3,53600,0), -- Shield of the Righteous
+(@RACE_LF_DRAENEI,@CLASS_PALADIN,2,26573,0), -- Consecration
+(@RACE_LF_DRAENEI,@CLASS_PALADIN,1,35395,0), -- Crusader Strike
+(@RACE_LF_DRAENEI,@CLASS_PALADIN,0,20271,0), -- Judgment
+-- Lightforged Draenei Death Knight
+(@RACE_LF_DRAENEI,@CLASS_DEATH_KNIGHT,9,255647,0), -- Light's Judgment
+(@RACE_LF_DRAENEI,@CLASS_DEATH_KNIGHT,5,49576,0), -- Death Grip
+(@RACE_LF_DRAENEI,@CLASS_DEATH_KNIGHT,4,47528,0), -- Mind Freeze
+(@RACE_LF_DRAENEI,@CLASS_DEATH_KNIGHT,3,43265,0), -- Death and Decay
+(@RACE_LF_DRAENEI,@CLASS_DEATH_KNIGHT,2,49998,0), -- Death Strike
+(@RACE_LF_DRAENEI,@CLASS_DEATH_KNIGHT,1,47541,0), -- Death Coil
+(@RACE_LF_DRAENEI,@CLASS_DEATH_KNIGHT,0,316239,0), -- Rune Strike
+
+-- Dark Iron Dwarf Warrior
+(@RACE_DARK_IRON_DWARF,@CLASS_WARRIOR,11,271646,0), -- Dark Iron Core Hound
+(@RACE_DARK_IRON_DWARF,@CLASS_WARRIOR,10,265221,0), -- Fireblood
+(@RACE_DARK_IRON_DWARF,@CLASS_WARRIOR,8,1715,0), -- Hamstring
+(@RACE_DARK_IRON_DWARF,@CLASS_WARRIOR,7,6552,0), -- Pummel
+(@RACE_DARK_IRON_DWARF,@CLASS_WARRIOR,6,34428,0), -- Victory Rush
+(@RACE_DARK_IRON_DWARF,@CLASS_WARRIOR,5,163201,0), -- Execute
+(@RACE_DARK_IRON_DWARF,@CLASS_WARRIOR,4,23922,0), -- Shield Slam
+(@RACE_DARK_IRON_DWARF,@CLASS_WARRIOR,3,2565,0), -- Shield Block
+(@RACE_DARK_IRON_DWARF,@CLASS_WARRIOR,2,1680,0), -- Whirlwind
+(@RACE_DARK_IRON_DWARF,@CLASS_WARRIOR,1,1464,0), -- Slam
+(@RACE_DARK_IRON_DWARF,@CLASS_WARRIOR,0,100,0), -- Charge
+-- Dark Iron Dwarf Hunter
+(@RACE_DARK_IRON_DWARF,@CLASS_HUNTER,11,271646,0), -- Dark Iron Core Hound
+(@RACE_DARK_IRON_DWARF,@CLASS_HUNTER,10,265221,0), -- Fireblood
+(@RACE_DARK_IRON_DWARF,@CLASS_HUNTER,9,186257,0), -- Aspect of the Cheetah
+(@RACE_DARK_IRON_DWARF,@CLASS_HUNTER,8,186265,0), -- Aspect of the Turtle
+(@RACE_DARK_IRON_DWARF,@CLASS_HUNTER,7,109304,0), -- Exhilaration
+(@RACE_DARK_IRON_DWARF,@CLASS_HUNTER,6,187650,0), -- Freezing Trap
+(@RACE_DARK_IRON_DWARF,@CLASS_HUNTER,5,5384,0), -- Feign Death
+(@RACE_DARK_IRON_DWARF,@CLASS_HUNTER,4,781,0), -- Disengage
+(@RACE_DARK_IRON_DWARF,@CLASS_HUNTER,3,195645,0), -- Wing Clip
+(@RACE_DARK_IRON_DWARF,@CLASS_HUNTER,2,257284,0), -- Hunter's Mark
+(@RACE_DARK_IRON_DWARF,@CLASS_HUNTER,1,185358,0), -- Arcane Shot
+(@RACE_DARK_IRON_DWARF,@CLASS_HUNTER,0,56641,0), -- Steady Shot
+-- Dark Iron Dwarf Mage
+(@RACE_DARK_IRON_DWARF,@CLASS_MAGE,11,271646,0), -- Dark Iron Core Hound
+(@RACE_DARK_IRON_DWARF,@CLASS_MAGE,10,265221,0), -- Fireblood
+(@RACE_DARK_IRON_DWARF,@CLASS_MAGE,9,190336,0), -- Conjure Refreshment
+(@RACE_DARK_IRON_DWARF,@CLASS_MAGE,8,130,0), -- Slow Fall
+(@RACE_DARK_IRON_DWARF,@CLASS_MAGE,7,1459,0), -- Arcane Intellect
+(@RACE_DARK_IRON_DWARF,@CLASS_MAGE,6,2139,0), -- Counterspell
+(@RACE_DARK_IRON_DWARF,@CLASS_MAGE,5,118,0), -- Polymorph
+(@RACE_DARK_IRON_DWARF,@CLASS_MAGE,4,122,0), -- Frost Nova
+(@RACE_DARK_IRON_DWARF,@CLASS_MAGE,3,1953,0), -- Blink
+(@RACE_DARK_IRON_DWARF,@CLASS_MAGE,2,1449,0), -- Arcane Explosion
+(@RACE_DARK_IRON_DWARF,@CLASS_MAGE,1,319836,0), -- Fire Blast
+(@RACE_DARK_IRON_DWARF,@CLASS_MAGE,0,116,0), -- Frostbolt
+-- Dark Iron Dwarf Rogue
+(@RACE_DARK_IRON_DWARF,@CLASS_ROGUE,72,1833,0), -- Cheap Shot
+(@RACE_DARK_IRON_DWARF,@CLASS_ROGUE,11,271646,0), -- Dark Iron Core Hound
+(@RACE_DARK_IRON_DWARF,@CLASS_ROGUE,10,265221,0), -- Fireblood
+(@RACE_DARK_IRON_DWARF,@CLASS_ROGUE,5,1766,0), -- Kick
+(@RACE_DARK_IRON_DWARF,@CLASS_ROGUE,4,2983,0), -- Sprint
+(@RACE_DARK_IRON_DWARF,@CLASS_ROGUE,3,185311,0), -- Crimson Vial
+(@RACE_DARK_IRON_DWARF,@CLASS_ROGUE,2,315496,0), -- Slice and Dice
+(@RACE_DARK_IRON_DWARF,@CLASS_ROGUE,1,196819,0), -- Eviscerate
+(@RACE_DARK_IRON_DWARF,@CLASS_ROGUE,0,1752,0), -- Sinister Strike
+-- Dark Iron Dwarf Priest
+(@RACE_DARK_IRON_DWARF,@CLASS_PRIEST,11,271646,0), -- Dark Iron Core Hound
+(@RACE_DARK_IRON_DWARF,@CLASS_PRIEST,10,265221,0), -- Fireblood
+(@RACE_DARK_IRON_DWARF,@CLASS_PRIEST,9,2006,0), -- Resurrection
+(@RACE_DARK_IRON_DWARF,@CLASS_PRIEST,8,21562,0), -- Power Word: Fortitude
+(@RACE_DARK_IRON_DWARF,@CLASS_PRIEST,7,19236,0), -- Desperate Prayer
+(@RACE_DARK_IRON_DWARF,@CLASS_PRIEST,6,586,0), -- Fade
+(@RACE_DARK_IRON_DWARF,@CLASS_PRIEST,5,8122,0), -- Psychic Scream
+(@RACE_DARK_IRON_DWARF,@CLASS_PRIEST,4,2061,0), -- Flash Heal
+(@RACE_DARK_IRON_DWARF,@CLASS_PRIEST,3,17,0), -- Power Word: Shield
+(@RACE_DARK_IRON_DWARF,@CLASS_PRIEST,2,585,0), -- Smite
+(@RACE_DARK_IRON_DWARF,@CLASS_PRIEST,1,8092,0), -- Mind Blast
+(@RACE_DARK_IRON_DWARF,@CLASS_PRIEST,0,589,0), -- Shadow Word: Pain
+-- Dark Iron Dwarf Warlock
+(@RACE_DARK_IRON_DWARF,@CLASS_WARLOCK,11,271646,0), -- Dark Iron Core Hound
+(@RACE_DARK_IRON_DWARF,@CLASS_WARLOCK,10,265221,0), -- Fireblood
+(@RACE_DARK_IRON_DWARF,@CLASS_WARLOCK,7,6201,0), -- Create Healthstone
+(@RACE_DARK_IRON_DWARF,@CLASS_WARLOCK,6,755,0), -- Health Funnel
+(@RACE_DARK_IRON_DWARF,@CLASS_WARLOCK,5,5782,0), -- Fear
+(@RACE_DARK_IRON_DWARF,@CLASS_WARLOCK,4,104773,0), -- Unending Resolve
+(@RACE_DARK_IRON_DWARF,@CLASS_WARLOCK,3,702,0), -- Curse of Weakness
+(@RACE_DARK_IRON_DWARF,@CLASS_WARLOCK,2,234153,0), -- Drain Life
+(@RACE_DARK_IRON_DWARF,@CLASS_WARLOCK,1,686,0), -- Shadow Bolt
+(@RACE_DARK_IRON_DWARF,@CLASS_WARLOCK,0,172,0), -- Corruption
+-- Dark Iron Dwarf Paladin
+(@RACE_DARK_IRON_DWARF,@CLASS_PALADIN,11,271646,0), -- Dark Iron Core Hound
+(@RACE_DARK_IRON_DWARF,@CLASS_PALADIN,10,265221,0), -- Fireblood
+(@RACE_DARK_IRON_DWARF,@CLASS_PALADIN,7,85673,0), -- Word of Glory
+(@RACE_DARK_IRON_DWARF,@CLASS_PALADIN,6,642,0), -- Divine Shield
+(@RACE_DARK_IRON_DWARF,@CLASS_PALADIN,5,19750,0), -- Flash of Light
+(@RACE_DARK_IRON_DWARF,@CLASS_PALADIN,4,853,0), -- Hammer of Justice
+(@RACE_DARK_IRON_DWARF,@CLASS_PALADIN,3,53600,0), -- Shield of the Righteous
+(@RACE_DARK_IRON_DWARF,@CLASS_PALADIN,2,26573,0), -- Consecration
+(@RACE_DARK_IRON_DWARF,@CLASS_PALADIN,1,35395,0), -- Crusader Strike
+(@RACE_DARK_IRON_DWARF,@CLASS_PALADIN,0,20271,0), -- Judgment
+-- Dark Iron Dwarf Shaman
+(@RACE_DARK_IRON_DWARF,@CLASS_SHAMAN,11,271646,0), -- Dark Iron Core Hound
+(@RACE_DARK_IRON_DWARF,@CLASS_SHAMAN,10,265221,0), -- Fireblood
+(@RACE_DARK_IRON_DWARF,@CLASS_SHAMAN,9,2645,0), -- Ghost Wolf
+(@RACE_DARK_IRON_DWARF,@CLASS_SHAMAN,6,2484,0), -- Earthbind Totem
+(@RACE_DARK_IRON_DWARF,@CLASS_SHAMAN,5,8004,0), -- Healing Surge
+(@RACE_DARK_IRON_DWARF,@CLASS_SHAMAN,4,192106,0), -- Lightning Shield
+(@RACE_DARK_IRON_DWARF,@CLASS_SHAMAN,3,318038,0), -- Flametongue Weapon
+(@RACE_DARK_IRON_DWARF,@CLASS_SHAMAN,2,73899,0), -- Primal Strike
+(@RACE_DARK_IRON_DWARF,@CLASS_SHAMAN,1,188196,0), -- Lightning Bolt
+(@RACE_DARK_IRON_DWARF,@CLASS_SHAMAN,0,188389,0), -- Flame Shock
+-- Dark Iron Dwarf Monk
+(@RACE_DARK_IRON_DWARF,@CLASS_MONK,11,271646,0), -- Dark Iron Core Hound
+(@RACE_DARK_IRON_DWARF,@CLASS_MONK,10,265221,0), -- Fireblood
+(@RACE_DARK_IRON_DWARF,@CLASS_MONK,8,119381,0), -- Leg Sweep
+(@RACE_DARK_IRON_DWARF,@CLASS_MONK,7,116670,0), -- Vivify
+(@RACE_DARK_IRON_DWARF,@CLASS_MONK,6,109132,0), -- Roll
+(@RACE_DARK_IRON_DWARF,@CLASS_MONK,5,117952,0), -- Crackling Jade Lightning
+(@RACE_DARK_IRON_DWARF,@CLASS_MONK,4,322109,0), -- Touch of Death
+(@RACE_DARK_IRON_DWARF,@CLASS_MONK,3,101546,0), -- Spinning Crane Kick
+(@RACE_DARK_IRON_DWARF,@CLASS_MONK,2,322101,0), -- Expel Harm
+(@RACE_DARK_IRON_DWARF,@CLASS_MONK,1,100784,0), -- Blackout Kick
+(@RACE_DARK_IRON_DWARF,@CLASS_MONK,0,100780,0), -- Tiger Palm
+-- Dark Iron Dwarf Death Knight
+(@RACE_DARK_IRON_DWARF,@CLASS_DEATH_KNIGHT,9,265221,0), -- Fireblood
+(@RACE_DARK_IRON_DWARF,@CLASS_DEATH_KNIGHT,5,49576,0), -- Death Grip
+(@RACE_DARK_IRON_DWARF,@CLASS_DEATH_KNIGHT,4,47528,0), -- Mind Freeze
+(@RACE_DARK_IRON_DWARF,@CLASS_DEATH_KNIGHT,3,43265,0), -- Death and Decay
+(@RACE_DARK_IRON_DWARF,@CLASS_DEATH_KNIGHT,2,49998,0), -- Death Strike
+(@RACE_DARK_IRON_DWARF,@CLASS_DEATH_KNIGHT,1,47541,0), -- Death Coil
+(@RACE_DARK_IRON_DWARF,@CLASS_DEATH_KNIGHT,0,316239,0), -- Rune Strike
+
+-- Kul Tiran Warrior
+(@RACE_KUL_TIRAN,@CLASS_WARRIOR,11,282682,0), -- Kul Tiran Charger
+(@RACE_KUL_TIRAN,@CLASS_WARRIOR,10,287712,0), -- Haymaker
+(@RACE_KUL_TIRAN,@CLASS_WARRIOR,8,1715,0), -- Hamstring
+(@RACE_KUL_TIRAN,@CLASS_WARRIOR,7,6552,0), -- Pummel
+(@RACE_KUL_TIRAN,@CLASS_WARRIOR,6,34428,0), -- Victory Rush
+(@RACE_KUL_TIRAN,@CLASS_WARRIOR,5,163201,0), -- Execute
+(@RACE_KUL_TIRAN,@CLASS_WARRIOR,4,23922,0), -- Shield Slam
+(@RACE_KUL_TIRAN,@CLASS_WARRIOR,3,2565,0), -- Shield Block
+(@RACE_KUL_TIRAN,@CLASS_WARRIOR,2,1680,0), -- Whirlwind
+(@RACE_KUL_TIRAN,@CLASS_WARRIOR,1,1464,0), -- Slam
+(@RACE_KUL_TIRAN,@CLASS_WARRIOR,0,100,0), -- Charge
+-- Kul Tiran Hunter
+(@RACE_KUL_TIRAN,@CLASS_HUNTER,11,282682,0), -- Kul Tiran Charger
+(@RACE_KUL_TIRAN,@CLASS_HUNTER,10,287712,0), -- Haymaker
+(@RACE_KUL_TIRAN,@CLASS_HUNTER,9,186257,0), -- Aspect of the Cheetah
+(@RACE_KUL_TIRAN,@CLASS_HUNTER,8,186265,0), -- Aspect of the Turtle
+(@RACE_KUL_TIRAN,@CLASS_HUNTER,7,109304,0), -- Exhilaration
+(@RACE_KUL_TIRAN,@CLASS_HUNTER,6,187650,0), -- Freezing Trap
+(@RACE_KUL_TIRAN,@CLASS_HUNTER,5,5384,0), -- Feign Death
+(@RACE_KUL_TIRAN,@CLASS_HUNTER,4,781,0), -- Disengage
+(@RACE_KUL_TIRAN,@CLASS_HUNTER,3,195645,0), -- Wing Clip
+(@RACE_KUL_TIRAN,@CLASS_HUNTER,2,257284,0), -- Hunter's Mark
+(@RACE_KUL_TIRAN,@CLASS_HUNTER,1,185358,0), -- Arcane Shot
+(@RACE_KUL_TIRAN,@CLASS_HUNTER,0,56641,0), -- Steady Shot
+-- Kul Tiran Mage
+(@RACE_KUL_TIRAN,@CLASS_MAGE,11,282682,0), -- Kul Tiran Charger
+(@RACE_KUL_TIRAN,@CLASS_MAGE,10,287712,0), -- Haymaker
+(@RACE_KUL_TIRAN,@CLASS_MAGE,9,190336,0), -- Conjure Refreshment
+(@RACE_KUL_TIRAN,@CLASS_MAGE,8,130,0), -- Slow Fall
+(@RACE_KUL_TIRAN,@CLASS_MAGE,7,1459,0), -- Arcane Intellect
+(@RACE_KUL_TIRAN,@CLASS_MAGE,6,2139,0), -- Counterspell
+(@RACE_KUL_TIRAN,@CLASS_MAGE,5,118,0), -- Polymorph
+(@RACE_KUL_TIRAN,@CLASS_MAGE,4,122,0), -- Frost Nova
+(@RACE_KUL_TIRAN,@CLASS_MAGE,3,1953,0), -- Blink
+(@RACE_KUL_TIRAN,@CLASS_MAGE,2,1449,0), -- Arcane Explosion
+(@RACE_KUL_TIRAN,@CLASS_MAGE,1,319836,0), -- Fire Blast
+(@RACE_KUL_TIRAN,@CLASS_MAGE,0,116,0), -- Frostbolt
+-- Kul Tiran Rogue
+(@RACE_KUL_TIRAN,@CLASS_ROGUE,72,1833,0), -- Cheap Shot
+(@RACE_KUL_TIRAN,@CLASS_ROGUE,11,282682,0), -- Kul Tiran Charger
+(@RACE_KUL_TIRAN,@CLASS_ROGUE,10,287712,0), -- Haymaker
+(@RACE_KUL_TIRAN,@CLASS_ROGUE,5,1766,0), -- Kick
+(@RACE_KUL_TIRAN,@CLASS_ROGUE,4,2983,0), -- Sprint
+(@RACE_KUL_TIRAN,@CLASS_ROGUE,3,185311,0), -- Crimson Vial
+(@RACE_KUL_TIRAN,@CLASS_ROGUE,2,315496,0), -- Slice and Dice
+(@RACE_KUL_TIRAN,@CLASS_ROGUE,1,196819,0), -- Eviscerate
+(@RACE_KUL_TIRAN,@CLASS_ROGUE,0,1752,0), -- Sinister Strike
+-- Kul Tiran Priest
+(@RACE_KUL_TIRAN,@CLASS_PRIEST,11,282682,0), -- Kul Tiran Charger
+(@RACE_KUL_TIRAN,@CLASS_PRIEST,10,287712,0), -- Haymaker
+(@RACE_KUL_TIRAN,@CLASS_PRIEST,9,2006,0), -- Resurrection
+(@RACE_KUL_TIRAN,@CLASS_PRIEST,8,21562,0), -- Power Word: Fortitude
+(@RACE_KUL_TIRAN,@CLASS_PRIEST,7,19236,0), -- Desperate Prayer
+(@RACE_KUL_TIRAN,@CLASS_PRIEST,6,586,0), -- Fade
+(@RACE_KUL_TIRAN,@CLASS_PRIEST,5,8122,0), -- Psychic Scream
+(@RACE_KUL_TIRAN,@CLASS_PRIEST,4,2061,0), -- Flash Heal
+(@RACE_KUL_TIRAN,@CLASS_PRIEST,3,17,0), -- Power Word: Shield
+(@RACE_KUL_TIRAN,@CLASS_PRIEST,2,585,0), -- Smite
+(@RACE_KUL_TIRAN,@CLASS_PRIEST,1,8092,0), -- Mind Blast
+(@RACE_KUL_TIRAN,@CLASS_PRIEST,0,589,0), -- Shadow Word: Pain
+-- Kul Tiran Druid
+(@RACE_KUL_TIRAN,@CLASS_DRUID,119,282682,0), -- Kul Tiran Charger
+(@RACE_KUL_TIRAN,@CLASS_DRUID,118,287712,0), -- Haymaker
+(@RACE_KUL_TIRAN,@CLASS_DRUID,113,8936,0), -- Regrowth
+(@RACE_KUL_TIRAN,@CLASS_DRUID,108,8921,0), -- Moonfire
+(@RACE_KUL_TIRAN,@CLASS_DRUID,11,282682,0), -- Kul Tiran Charger
+(@RACE_KUL_TIRAN,@CLASS_DRUID,10,287712,0), -- Haymaker
+(@RACE_KUL_TIRAN,@CLASS_DRUID,5,8936,0), -- Regrowth
+(@RACE_KUL_TIRAN,@CLASS_DRUID,0,8921,0), -- Moonfire
+-- Kul Tiran Shaman
+(@RACE_KUL_TIRAN,@CLASS_SHAMAN,11,282682,0), -- Kul Tiran Charger
+(@RACE_KUL_TIRAN,@CLASS_SHAMAN,10,287712,0), -- Haymaker
+(@RACE_KUL_TIRAN,@CLASS_SHAMAN,9,2645,0), -- Ghost Wolf
+(@RACE_KUL_TIRAN,@CLASS_SHAMAN,6,2484,0), -- Earthbind Totem
+(@RACE_KUL_TIRAN,@CLASS_SHAMAN,5,8004,0), -- Healing Surge
+(@RACE_KUL_TIRAN,@CLASS_SHAMAN,4,192106,0), -- Lightning Shield
+(@RACE_KUL_TIRAN,@CLASS_SHAMAN,3,318038,0), -- Flametongue Weapon
+(@RACE_KUL_TIRAN,@CLASS_SHAMAN,2,73899,0), -- Primal Strike
+(@RACE_KUL_TIRAN,@CLASS_SHAMAN,1,188196,0), -- Lightning Bolt
+(@RACE_KUL_TIRAN,@CLASS_SHAMAN,0,188389,0), -- Flame Shock
+-- Kul Tiran Monk
+(@RACE_KUL_TIRAN,@CLASS_MONK,11,282682,0), -- Kul Tiran Charger
+(@RACE_KUL_TIRAN,@CLASS_MONK,10,287712,0), -- Haymaker
+(@RACE_KUL_TIRAN,@CLASS_MONK,8,119381,0), -- Leg Sweep
+(@RACE_KUL_TIRAN,@CLASS_MONK,7,116670,0), -- Vivify
+(@RACE_KUL_TIRAN,@CLASS_MONK,6,109132,0), -- Roll
+(@RACE_KUL_TIRAN,@CLASS_MONK,5,117952,0), -- Crackling Jade Lightning
+(@RACE_KUL_TIRAN,@CLASS_MONK,4,322109,0), -- Touch of Death
+(@RACE_KUL_TIRAN,@CLASS_MONK,3,101546,0), -- Spinning Crane Kick
+(@RACE_KUL_TIRAN,@CLASS_MONK,2,322101,0), -- Expel Harm
+(@RACE_KUL_TIRAN,@CLASS_MONK,1,100784,0), -- Blackout Kick
+(@RACE_KUL_TIRAN,@CLASS_MONK,0,100780,0), -- Tiger Palm
+-- Kul Tiran Death Knight
+(@RACE_KUL_TIRAN,@CLASS_DEATH_KNIGHT,9,287712,0), -- Haymaker
+(@RACE_KUL_TIRAN,@CLASS_DEATH_KNIGHT,5,49576,0), -- Death Grip
+(@RACE_KUL_TIRAN,@CLASS_DEATH_KNIGHT,4,47528,0), -- Mind Freeze
+(@RACE_KUL_TIRAN,@CLASS_DEATH_KNIGHT,3,43265,0), -- Death and Decay
+(@RACE_KUL_TIRAN,@CLASS_DEATH_KNIGHT,2,49998,0), -- Death Strike
+(@RACE_KUL_TIRAN,@CLASS_DEATH_KNIGHT,1,47541,0), -- Death Coil
+(@RACE_KUL_TIRAN,@CLASS_DEATH_KNIGHT,0,316239,0), -- Rune Strike
+
+-- Mechagnome Warrior
+(@RACE_MECHAGNOME,@CLASS_WARRIOR,11,305592,0), -- Mechagon Mechanostrider
+(@RACE_MECHAGNOME,@CLASS_WARRIOR,10,312924,0), -- Hyper Organic Light Originator
+(@RACE_MECHAGNOME,@CLASS_WARRIOR,8,1715,0), -- Hamstring
+(@RACE_MECHAGNOME,@CLASS_WARRIOR,7,6552,0), -- Pummel
+(@RACE_MECHAGNOME,@CLASS_WARRIOR,6,34428,0), -- Victory Rush
+(@RACE_MECHAGNOME,@CLASS_WARRIOR,5,163201,0), -- Execute
+(@RACE_MECHAGNOME,@CLASS_WARRIOR,4,23922,0), -- Shield Slam
+(@RACE_MECHAGNOME,@CLASS_WARRIOR,3,2565,0), -- Shield Block
+(@RACE_MECHAGNOME,@CLASS_WARRIOR,2,1680,0), -- Whirlwind
+(@RACE_MECHAGNOME,@CLASS_WARRIOR,1,1464,0), -- Slam
+(@RACE_MECHAGNOME,@CLASS_WARRIOR,0,100,0), -- Charge
+-- Mechagnome Hunter
+(@RACE_MECHAGNOME,@CLASS_HUNTER,11,305592,0), -- Mechagon Mechanostrider
+(@RACE_MECHAGNOME,@CLASS_HUNTER,10,312924,0), -- Hyper Organic Light Originator
+(@RACE_MECHAGNOME,@CLASS_HUNTER,9,186257,0), -- Aspect of the Cheetah
+(@RACE_MECHAGNOME,@CLASS_HUNTER,8,186265,0), -- Aspect of the Turtle
+(@RACE_MECHAGNOME,@CLASS_HUNTER,7,109304,0), -- Exhilaration
+(@RACE_MECHAGNOME,@CLASS_HUNTER,6,187650,0), -- Freezing Trap
+(@RACE_MECHAGNOME,@CLASS_HUNTER,5,5384,0), -- Feign Death
+(@RACE_MECHAGNOME,@CLASS_HUNTER,4,781,0), -- Disengage
+(@RACE_MECHAGNOME,@CLASS_HUNTER,3,195645,0), -- Wing Clip
+(@RACE_MECHAGNOME,@CLASS_HUNTER,2,257284,0), -- Hunter's Mark
+(@RACE_MECHAGNOME,@CLASS_HUNTER,1,185358,0), -- Arcane Shot
+(@RACE_MECHAGNOME,@CLASS_HUNTER,0,56641,0), -- Steady Shot
+-- Mechagnome Mage
+(@RACE_MECHAGNOME,@CLASS_MAGE,11,305592,0), -- Mechagon Mechanostrider
+(@RACE_MECHAGNOME,@CLASS_MAGE,10,312924,0), -- Hyper Organic Light Originator
+(@RACE_MECHAGNOME,@CLASS_MAGE,9,190336,0), -- Conjure Refreshment
+(@RACE_MECHAGNOME,@CLASS_MAGE,8,130,0), -- Slow Fall
+(@RACE_MECHAGNOME,@CLASS_MAGE,7,1459,0), -- Arcane Intellect
+(@RACE_MECHAGNOME,@CLASS_MAGE,6,2139,0), -- Counterspell
+(@RACE_MECHAGNOME,@CLASS_MAGE,5,118,0), -- Polymorph
+(@RACE_MECHAGNOME,@CLASS_MAGE,4,122,0), -- Frost Nova
+(@RACE_MECHAGNOME,@CLASS_MAGE,3,1953,0), -- Blink
+(@RACE_MECHAGNOME,@CLASS_MAGE,2,1449,0), -- Arcane Explosion
+(@RACE_MECHAGNOME,@CLASS_MAGE,1,319836,0), -- Fire Blast
+(@RACE_MECHAGNOME,@CLASS_MAGE,0,116,0), -- Frostbolt
+-- Mechagnome Rogue
+(@RACE_MECHAGNOME,@CLASS_ROGUE,72,1833,0), -- Cheap Shot
+(@RACE_MECHAGNOME,@CLASS_ROGUE,11,305592,0), -- Mechagon Mechanostrider
+(@RACE_MECHAGNOME,@CLASS_ROGUE,10,312924,0), -- Hyper Organic Light Originator
+(@RACE_MECHAGNOME,@CLASS_ROGUE,5,1766,0), -- Kick
+(@RACE_MECHAGNOME,@CLASS_ROGUE,4,2983,0), -- Sprint
+(@RACE_MECHAGNOME,@CLASS_ROGUE,3,185311,0), -- Crimson Vial
+(@RACE_MECHAGNOME,@CLASS_ROGUE,2,315496,0), -- Slice and Dice
+(@RACE_MECHAGNOME,@CLASS_ROGUE,1,196819,0), -- Eviscerate
+(@RACE_MECHAGNOME,@CLASS_ROGUE,0,1752,0), -- Sinister Strike
+-- Mechagnome Priest
+(@RACE_MECHAGNOME,@CLASS_PRIEST,11,305592,0), -- Mechagon Mechanostrider
+(@RACE_MECHAGNOME,@CLASS_PRIEST,10,312924,0), -- Hyper Organic Light Originator
+(@RACE_MECHAGNOME,@CLASS_PRIEST,9,2006,0), -- Resurrection
+(@RACE_MECHAGNOME,@CLASS_PRIEST,8,21562,0), -- Power Word: Fortitude
+(@RACE_MECHAGNOME,@CLASS_PRIEST,7,19236,0), -- Desperate Prayer
+(@RACE_MECHAGNOME,@CLASS_PRIEST,6,586,0), -- Fade
+(@RACE_MECHAGNOME,@CLASS_PRIEST,5,8122,0), -- Psychic Scream
+(@RACE_MECHAGNOME,@CLASS_PRIEST,4,2061,0), -- Flash Heal
+(@RACE_MECHAGNOME,@CLASS_PRIEST,3,17,0), -- Power Word: Shield
+(@RACE_MECHAGNOME,@CLASS_PRIEST,2,585,0), -- Smite
+(@RACE_MECHAGNOME,@CLASS_PRIEST,1,8092,0), -- Mind Blast
+(@RACE_MECHAGNOME,@CLASS_PRIEST,0,589,0), -- Shadow Word: Pain
+-- Mechagnome Warlock
+(@RACE_MECHAGNOME,@CLASS_WARLOCK,11,305592,0), -- Mechagon Mechanostrider
+(@RACE_MECHAGNOME,@CLASS_WARLOCK,10,312924,0), -- Hyper Organic Light Originator
+(@RACE_MECHAGNOME,@CLASS_WARLOCK,7,6201,0), -- Create Healthstone
+(@RACE_MECHAGNOME,@CLASS_WARLOCK,6,755,0), -- Health Funnel
+(@RACE_MECHAGNOME,@CLASS_WARLOCK,5,5782,0), -- Fear
+(@RACE_MECHAGNOME,@CLASS_WARLOCK,4,104773,0), -- Unending Resolve
+(@RACE_MECHAGNOME,@CLASS_WARLOCK,3,702,0), -- Curse of Weakness
+(@RACE_MECHAGNOME,@CLASS_WARLOCK,2,234153,0), -- Drain Life
+(@RACE_MECHAGNOME,@CLASS_WARLOCK,1,686,0), -- Shadow Bolt
+(@RACE_MECHAGNOME,@CLASS_WARLOCK,0,172,0), -- Corruption
+-- Mechagnome Monk
+(@RACE_MECHAGNOME,@CLASS_MONK,11,305592,0), -- Mechagon Mechanostrider
+(@RACE_MECHAGNOME,@CLASS_MONK,10,312924,0), -- Hyper Organic Light Originator
+(@RACE_MECHAGNOME,@CLASS_MONK,8,119381,0), -- Leg Sweep
+(@RACE_MECHAGNOME,@CLASS_MONK,7,116670,0), -- Vivify
+(@RACE_MECHAGNOME,@CLASS_MONK,6,109132,0), -- Roll
+(@RACE_MECHAGNOME,@CLASS_MONK,5,117952,0), -- Crackling Jade Lightning
+(@RACE_MECHAGNOME,@CLASS_MONK,4,322109,0), -- Touch of Death
+(@RACE_MECHAGNOME,@CLASS_MONK,3,101546,0), -- Spinning Crane Kick
+(@RACE_MECHAGNOME,@CLASS_MONK,2,322101,0), -- Expel Harm
+(@RACE_MECHAGNOME,@CLASS_MONK,1,100784,0), -- Blackout Kick
+(@RACE_MECHAGNOME,@CLASS_MONK,0,100780,0), -- Tiger Palm
+-- Mechagnome Death Knight
+(@RACE_MECHAGNOME,@CLASS_DEATH_KNIGHT,9,312924,0), -- Hyper Organic Light Originator
+(@RACE_MECHAGNOME,@CLASS_DEATH_KNIGHT,5,47528,0), -- Death Grip
+(@RACE_MECHAGNOME,@CLASS_DEATH_KNIGHT,4,49576,0), -- Mind Freeze
+(@RACE_MECHAGNOME,@CLASS_DEATH_KNIGHT,3,43265,0), -- Death and Decay
+(@RACE_MECHAGNOME,@CLASS_DEATH_KNIGHT,2,49998,0), -- Death Strike
+(@RACE_MECHAGNOME,@CLASS_DEATH_KNIGHT,1,47541,0), -- Death Coil
+(@RACE_MECHAGNOME,@CLASS_DEATH_KNIGHT,0,316239,0); -- Rune Strike
+
+DELETE FROM `scene_template` WHERE `SceneId` IN (1903,1902,2137,2239,2393,1900,1901,2138,2395,2247,2394,2486,2236);
+INSERT INTO `scene_template` (`SceneId`,`Flags`,`ScriptPackageID`,`Encrypted`) VALUES
+(1903,0x09,2006,0), -- Void Elf
+(1902,0x09,2005,0), -- Lightforged Draenei
+(2137,0x09,2086,0), -- Dark Iron Dwarf
+(2239,0x09,2494,0), -- Kul Tiran
+(2393,0x09,2763,0), -- Mechagnome
+(1900,0x09,2007,0), -- Nightborne
+(1901,0x09,1984,0), -- Highmountain Tauren
+(2138,0x09,2085,0), -- Maghar Orc
+(2395,0x09,2790,0), -- Vulpera
+(2247,0x09,2087,0), -- Zandalari Troll
+(2394,0x09,2780,0), -- Allied Race + Panda DK
+(2486,0x28,2894,0), -- NPE Horde
+(2236,0x28,2578,0); -- NPE Alliance
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 5299adbeb65..df19cbca8d3 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -1836,6 +1836,8 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
void ResurrectUsingRequestData();
void ResurrectUsingRequestDataImpl();
+ PlayerCreateMode GetCreateMode() const { return m_createMode; }
+
uint8 getCinematic() const { return m_cinematic; }
void setCinematic(uint8 cine) { m_cinematic = cine; }
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 6eaa14f0879..fa12c26614e 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -3476,8 +3476,8 @@ void ObjectMgr::LoadPlayerInfo()
// Load playercreate
{
uint32 oldMSTime = getMSTime();
- // 0 1 2 3 4 5 6 7 8 9 10 11 12
- QueryResult result = WorldDatabase.Query("SELECT race, class, map, position_x, position_y, position_z, orientation, npe_map, npe_position_x, npe_position_y, npe_position_z, npe_orientation, npe_transport_guid FROM playercreateinfo");
+ // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ QueryResult result = WorldDatabase.Query("SELECT race, class, map, position_x, position_y, position_z, orientation, npe_map, npe_position_x, npe_position_y, npe_position_z, npe_orientation, npe_transport_guid, intro_movie_id, intro_scene_id, npe_intro_scene_id FROM playercreateinfo");
if (!result)
{
@@ -3563,6 +3563,36 @@ void ObjectMgr::LoadPlayerInfo()
}
}
+ if (!fields[13].IsNull())
+ {
+ uint32 introMovieId = fields[13].GetUInt32();
+ if (sMovieStore.LookupEntry(introMovieId))
+ info->introMovieId = introMovieId;
+ else
+ TC_LOG_ERROR("sql.sql", "Invalid intro movie id %u for class %u race %u pair in `playercreateinfo` table, ignoring.",
+ introMovieId, current_class, current_race);
+ }
+
+ if (!fields[14].IsNull())
+ {
+ uint32 introSceneId = fields[14].GetUInt32();
+ if (GetSceneTemplate(introSceneId))
+ info->introSceneId = introSceneId;
+ else
+ TC_LOG_ERROR("sql.sql", "Invalid intro scene id %u for class %u race %u pair in `playercreateinfo` table, ignoring.",
+ introSceneId, current_class, current_race);
+ }
+
+ if (!fields[15].IsNull())
+ {
+ uint32 introSceneId = fields[15].GetUInt32();
+ if (GetSceneTemplate(introSceneId))
+ info->introSceneIdNPE = introSceneId;
+ else
+ TC_LOG_ERROR("sql.sql", "Invalid NPE intro scene id %u for class %u race %u pair in `playercreateinfo` table, ignoring.",
+ introSceneId, current_class, current_race);
+ }
+
_playerInfo[current_race][current_class] = std::move(info);
++count;
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h
index d3cd89ba585..3abb550b9a2 100644
--- a/src/server/game/Globals/ObjectMgr.h
+++ b/src/server/game/Globals/ObjectMgr.h
@@ -612,6 +612,10 @@ struct PlayerInfo
PlayerCreateInfoActions action;
PlayerCreateInfoSkills skills;
+ Optional<uint32> introMovieId;
+ Optional<uint32> introSceneId;
+ Optional<uint32> introSceneIdNPE;
+
//[level-1] 0..MaxPlayerLevel-1
std::unique_ptr<PlayerLevelInfo[]> levelInfo;
};
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index 0f2c5f6432e..3ed1240bdba 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -438,6 +438,9 @@ void WorldSession::HandleCharEnum(CharacterDatabaseQueryHolder* holder)
WorldPackets::Character::EnumCharactersResult::RaceUnlock raceUnlock;
raceUnlock.RaceID = requirement.first;
raceUnlock.HasExpansion = GetAccountExpansion() >= requirement.second.Expansion;
+ raceUnlock.HasAchievement = requirement.second.AchievementId != 0
+ && (sWorld->getBoolConfig(CONFIG_CHARACTER_CREATING_DISABLE_ALLIED_RACE_ACHIEVEMENT_REQUIREMENT)
+ /* || HasAccountAchievement(requirement.second.AchievementId)*/);
charEnum.RaceUnlockData.push_back(raceUnlock);
}
@@ -1125,19 +1128,32 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder)
{
pCurrChar->setCinematic(1);
- if (ChrClassesEntry const* cEntry = sChrClassesStore.LookupEntry(pCurrChar->getClass()))
+ if (PlayerInfo const* playerInfo = sObjectMgr->GetPlayerInfo(pCurrChar->getRace(), pCurrChar->getClass()))
{
- if (pCurrChar->getClass() == CLASS_DEMON_HUNTER) /// @todo: find a more generic solution
- pCurrChar->SendMovieStart(469);
- else if (cEntry->CinematicSequenceID)
- pCurrChar->SendCinematicStart(cEntry->CinematicSequenceID);
- else if (ChrRacesEntry const* rEntry = sChrRacesStore.LookupEntry(pCurrChar->getRace()))
- pCurrChar->SendCinematicStart(rEntry->CinematicSequenceID);
-
- // send new char string if not empty
- if (!sWorld->GetNewCharString().empty())
- chH.PSendSysMessage("%s", sWorld->GetNewCharString().c_str());
+ switch (pCurrChar->GetCreateMode())
+ {
+ case PlayerCreateMode::Normal:
+ if (playerInfo->introMovieId)
+ pCurrChar->SendMovieStart(playerInfo->introMovieId.get());
+ else if (playerInfo->introSceneId)
+ pCurrChar->GetSceneMgr().PlayScene(*playerInfo->introSceneId);
+ else if (sChrClassesStore.AssertEntry(pCurrChar->getClass())->CinematicSequenceID)
+ pCurrChar->SendCinematicStart(sChrClassesStore.AssertEntry(pCurrChar->getClass())->CinematicSequenceID);
+ else if (sChrRacesStore.AssertEntry(pCurrChar->getRace())->CinematicSequenceID)
+ pCurrChar->SendCinematicStart(sChrRacesStore.AssertEntry(pCurrChar->getRace())->CinematicSequenceID);
+ break;
+ case PlayerCreateMode::NPE:
+ if (playerInfo->introSceneIdNPE)
+ pCurrChar->GetSceneMgr().PlayScene(*playerInfo->introSceneIdNPE);
+ break;
+ default:
+ break;
+ }
}
+
+ // send new char string if not empty
+ if (!sWorld->GetNewCharString().empty())
+ chH.PSendSysMessage("%s", sWorld->GetNewCharString().c_str());
}
if (!pCurrChar->GetMap()->AddPlayerToMap(pCurrChar))
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index f0c1faffc02..212ae90e00b 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -907,6 +907,7 @@ void World::LoadConfigSettings(bool reload)
}
m_int_configs[CONFIG_CHARACTER_CREATING_MIN_LEVEL_FOR_DEMON_HUNTER] = sConfigMgr->GetIntDefault("CharacterCreating.MinLevelForDemonHunter", 0);
+ m_bool_configs[CONFIG_CHARACTER_CREATING_DISABLE_ALLIED_RACE_ACHIEVEMENT_REQUIREMENT] = sConfigMgr->GetBoolDefault("CharacterCreating.DisableAlliedRaceAchievementRequirement", false);
m_int_configs[CONFIG_SKIP_CINEMATICS] = sConfigMgr->GetIntDefault("SkipCinematics", 0);
if (int32(m_int_configs[CONFIG_SKIP_CINEMATICS]) < 0 || m_int_configs[CONFIG_SKIP_CINEMATICS] > 2)
@@ -2031,6 +2032,9 @@ void World::SetInitialWorldSettings()
TC_LOG_INFO("server.loading", "Loading linked spells...");
sSpellMgr->LoadSpellLinked();
+ TC_LOG_INFO("server.loading", "Loading Scenes Templates..."); // must be before LoadPlayerInfo
+ sObjectMgr->LoadSceneTemplates();
+
TC_LOG_INFO("server.loading", "Loading Player Create Data...");
sObjectMgr->LoadPlayerInfo();
@@ -2049,9 +2053,6 @@ void World::SetInitialWorldSettings()
TC_LOG_INFO("server.loading", "Loading Conversation Templates...");
sConversationDataStore->LoadConversationTemplates();
- TC_LOG_INFO("server.loading", "Loading Scenes Templates...");
- sObjectMgr->LoadSceneTemplates();
-
TC_LOG_INFO("server.loading", "Loading Player Choices...");
sObjectMgr->LoadPlayerChoices();
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index 76272c92e8e..2bc273d7885 100644
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -193,6 +193,7 @@ enum WorldBoolConfigs
CONFIG_GAME_OBJECT_CHECK_INVALID_POSITION,
CONFIG_CHECK_GOBJECT_LOS,
CONFIG_RESPAWN_DYNAMIC_ESCORTNPC,
+ CONFIG_CHARACTER_CREATING_DISABLE_ALLIED_RACE_ACHIEVEMENT_REQUIREMENT,
BOOL_CONFIG_VALUE_COUNT
};
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index b26b2ae45dd..a2d603cb433 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -845,6 +845,14 @@ CharactersPerRealm = 50
CharacterCreating.MinLevelForDemonHunter = 0
#
+# CharacterCreating.DisableAlliedRaceAchievementRequirement
+# Description: Disable achievement requirements for allied race character creation
+# Default: 0 (Keep requirements active)
+# 1 (Disable requirements)
+
+CharacterCreating.DisableAlliedRaceAchievementRequirement = 0
+
+#
# SkipCinematics
# Description: Disable cinematic intro at first login after character creation.
# Prevents buggy intros in case of custom start location coordinates.