diff --git a/conf/.gitkeep b/conf/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/conf/npc_talent_template.conf.dist b/conf/npc_talent_template.conf.dist new file mode 100644 index 0000000..cb7caea --- /dev/null +++ b/conf/npc_talent_template.conf.dist @@ -0,0 +1,33 @@ +# + +[worldserver] + +########################################## +# Npc Talent Template module configuration +########################################## +# +# NpcTalentTemplate.EnableResetTalents +# Description: Enables Gossip Option to reset talents +# Default: 0 - Disabled +# 1 - Enabled +# + +NpcTalentTemplate.EnableResetTalents = 0 + +# +# NpcTalentTemplate.EnableRemoveAllGlyphs +# Description: Enables Gossip Option to Remove All Glyphs +# Default: 1 - Enabled +# 0 - Disabled +# + +NpcTalentTemplate.EnableRemoveAllGlyphs = 1 + +# +# NpcTalentTemplate.EnableDestroyEquippedGear +# Description: Enables Gossip Option to Destroy Equipped Gear +# Default: 1 - Enabled +# 0 - Disabled +# + +NpcTalentTemplate.EnableDestroyEquippedGear = 1 diff --git a/data/sql/db-characters/base/production.sql b/data/sql/db-characters/base/npc_talent_template.sql similarity index 86% rename from data/sql/db-characters/base/production.sql rename to data/sql/db-characters/base/npc_talent_template.sql index e50a814..5b0c6fd 100644 --- a/data/sql/db-characters/base/production.sql +++ b/data/sql/db-characters/base/npc_talent_template.sql @@ -1,5 +1,4 @@ -- DB: characters - CREATE TABLE IF NOT EXISTS `template_npc_alliance` ( `playerClass` varchar(50) NOT NULL, `playerSpec` varchar(50) NOT NULL, @@ -141,22 +140,22 @@ INSERT INTO `template_npc_alliance` (`playerClass`, `playerSpec`, `pos`, `itemEn ('Rogue', 'Subtlety', 15, 45958, 3789, 3521, 0, 0, 0, 0), ('Rogue', 'Subtlety', 16, 45962, 3731, 3521, 0, 0, 0, 0), ('Rogue', 'Subtlety', 17, 42451, 0, 0, 0, 0, 0, 0), - ('Druid', 'Ballance', 0, 41327, 3796, 3621, 3520, 0, 3352, 0), - ('Druid', 'Ballance', 1, 42044, 0, 0, 0, 0, 0, 0), - ('Druid', 'Ballance', 4, 41316, 3245, 3520, 3531, 0, 3600, 0), - ('Druid', 'Ballance', 2, 41281, 3794, 3531, 0, 0, 2890, 0), - ('Druid', 'Ballance', 5, 41631, 0, 3879, 3520, 0, 2872, 3729), - ('Druid', 'Ballance', 6, 41304, 3721, 3520, 3548, 0, 3602, 0), - ('Druid', 'Ballance', 7, 41636, 3232, 3531, 0, 0, 2878, 0), - ('Druid', 'Ballance', 8, 41641, 2332, 0, 0, 0, 0, 0), - ('Druid', 'Ballance', 9, 41293, 3246, 3548, 0, 0, 2890, 0), - ('Druid', 'Ballance', 10, 42118, 0, 0, 0, 0, 0, 0), - ('Druid', 'Ballance', 11, 47928, 0, 3520, 0, 0, 3752, 0), - ('Druid', 'Ballance', 12, 42137, 0, 0, 0, 0, 0, 0), - ('Druid', 'Ballance', 13, 51377, 0, 0, 0, 0, 0, 0), - ('Druid', 'Ballance', 14, 42076, 3243, 0, 0, 0, 0, 0), - ('Druid', 'Ballance', 15, 42364, 3854, 3520, 3535, 0, 3602, 0), - ('Druid', 'Ballance', 17, 42584, 0, 0, 0, 0, 0, 0), + ('Druid', 'Balance', 0, 41327, 3796, 3621, 3520, 0, 3352, 0), + ('Druid', 'Balance', 1, 42044, 0, 0, 0, 0, 0, 0), + ('Druid', 'Balance', 4, 41316, 3245, 3520, 3531, 0, 3600, 0), + ('Druid', 'Balance', 2, 41281, 3794, 3531, 0, 0, 2890, 0), + ('Druid', 'Balance', 5, 41631, 0, 3879, 3520, 0, 2872, 3729), + ('Druid', 'Balance', 6, 41304, 3721, 3520, 3548, 0, 3602, 0), + ('Druid', 'Balance', 7, 41636, 3232, 3531, 0, 0, 2878, 0), + ('Druid', 'Balance', 8, 41641, 2332, 0, 0, 0, 0, 0), + ('Druid', 'Balance', 9, 41293, 3246, 3548, 0, 0, 2890, 0), + ('Druid', 'Balance', 10, 42118, 0, 0, 0, 0, 0, 0), + ('Druid', 'Balance', 11, 47928, 0, 3520, 0, 0, 3752, 0), + ('Druid', 'Balance', 12, 42137, 0, 0, 0, 0, 0, 0), + ('Druid', 'Balance', 13, 51377, 0, 0, 0, 0, 0, 0), + ('Druid', 'Balance', 14, 42076, 3243, 0, 0, 0, 0, 0), + ('Druid', 'Balance', 15, 42364, 3854, 3520, 3535, 0, 3602, 0), + ('Druid', 'Balance', 17, 42584, 0, 0, 0, 0, 0, 0), ('Priest', 'Holy', 0, 41854, 3796, 3621, 3520, 0, 3352, 0), ('Priest', 'Holy', 1, 42044, 0, 0, 0, 0, 0, 0), ('Priest', 'Holy', 2, 41869, 3794, 3531, 0, 0, 2890, 0), @@ -444,38 +443,38 @@ INSERT INTO `template_npc_alliance` (`playerClass`, `playerSpec`, `pos`, `itemEn ('Warlock', 'Destruction', 15, 42347, 3834, 3866, 0, 0, 0, 0), ('Warlock', 'Destruction', 16, 42526, 0, 0, 0, 0, 0, 0), ('Warlock', 'Destruction', 17, 42503, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 0, 40827, 3795, 3621, 3518, 0, 2787, 0), - ('DeathKnight', 'Blood', 1, 42041, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 2, 40868, 3852, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 4, 40787, 3832, 3518, 3518, 0, 0, 0), - ('DeathKnight', 'Blood', 5, 40883, 0, 3518, 3879, 0, 0, 3729), - ('DeathKnight', 'Blood', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), - ('DeathKnight', 'Blood', 7, 40884, 1597, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 8, 40890, 3845, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 9, 40809, 1603, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 10, 42117, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 11, 42119, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 12, 51377, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 13, 42134, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 14, 42081, 3243, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 15, 42333, 3366, 3518, 3535, 0, 3764, 0), - ('DeathKnight', 'Blood', 17, 42621, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 0, 40827, 3795, 3621, 3518, 0, 2787, 0), - ('DeathKnight', 'Unholy', 1, 42041, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 2, 40868, 3852, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 4, 40787, 3832, 3518, 3518, 0, 0, 0), - ('DeathKnight', 'Unholy', 5, 40883, 0, 3518, 3879, 0, 0, 3729), - ('DeathKnight', 'Unholy', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), - ('DeathKnight', 'Unholy', 7, 40884, 1597, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 8, 40890, 3845, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 9, 40809, 1603, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 10, 42117, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 11, 42119, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 12, 51377, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 13, 42134, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 14, 42081, 3243, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 15, 42333, 3367, 3518, 3535, 0, 3764, 0), - ('DeathKnight', 'Unholy', 17, 42621, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 0, 40827, 3795, 3621, 3518, 0, 2787, 0), + ('Death Knight', 'Blood', 1, 42041, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 2, 40868, 3852, 3518, 0, 0, 0, 0), + ('Death Knight', 'Blood', 4, 40787, 3832, 3518, 3518, 0, 0, 0), + ('Death Knight', 'Blood', 5, 40883, 0, 3518, 3879, 0, 0, 3729), + ('Death Knight', 'Blood', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), + ('Death Knight', 'Blood', 7, 40884, 1597, 3518, 0, 0, 0, 0), + ('Death Knight', 'Blood', 8, 40890, 3845, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 9, 40809, 1603, 3518, 0, 0, 0, 0), + ('Death Knight', 'Blood', 10, 42117, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 11, 42119, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 12, 51377, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 13, 42134, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 14, 42081, 3243, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 15, 42333, 3366, 3518, 3535, 0, 3764, 0), + ('Death Knight', 'Blood', 17, 42621, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 0, 40827, 3795, 3621, 3518, 0, 2787, 0), + ('Death Knight', 'Unholy', 1, 42041, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 2, 40868, 3852, 3518, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 4, 40787, 3832, 3518, 3518, 0, 0, 0), + ('Death Knight', 'Unholy', 5, 40883, 0, 3518, 3879, 0, 0, 3729), + ('Death Knight', 'Unholy', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), + ('Death Knight', 'Unholy', 7, 40884, 1597, 3518, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 8, 40890, 3845, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 9, 40809, 1603, 3518, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 10, 42117, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 11, 42119, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 12, 51377, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 13, 42134, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 14, 42081, 3243, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 15, 42333, 3367, 3518, 3535, 0, 3764, 0), + ('Death Knight', 'Unholy', 17, 42621, 0, 0, 0, 0, 0, 0), ('Warrior', 'Protection', 0, 40826, 3795, 3625, 3525, 0, 2787, 0), ('Warrior', 'Protection', 1, 42042, 0, 0, 0, 0, 0, 0), ('Warrior', 'Protection', 2, 40866, 3793, 3550, 0, 0, 3263, 0), @@ -543,23 +542,23 @@ INSERT INTO `template_npc_alliance` (`playerClass`, `playerSpec`, `pos`, `itemEn ('Hunter', 'Marksmanship', 15, 42209, 3833, 3519, 0, 0, 0, 0), ('Hunter', 'Marksmanship', 16, 42209, 3731, 3519, 0, 0, 0, 0), ('Hunter', 'Marksmanship', 17, 42486, 3608, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 0, 40827, 3795, 3621, 3518, 0, 2787, 0), - ('DeathKnight', 'Frost', 1, 42041, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 2, 40868, 3852, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 4, 40787, 3832, 3518, 3518, 0, 0, 0), - ('DeathKnight', 'Frost', 5, 40883, 0, 3518, 3879, 0, 0, 3729), - ('DeathKnight', 'Frost', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), - ('DeathKnight', 'Frost', 7, 40884, 1597, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 8, 40890, 3845, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 9, 40809, 1603, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 10, 42117, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 11, 42119, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 12, 51377, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 13, 42134, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 14, 42081, 3243, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 15, 42209, 3370, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 16, 42209, 3594, 3535, 0, 0, 2936, 0), - ('DeathKnight', 'Frost', 17, 42621, 0, 0, 0, 0, 0, 0); + ('Death Knight', 'Frost', 0, 40827, 3795, 3621, 3518, 0, 2787, 0), + ('Death Knight', 'Frost', 1, 42041, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 2, 40868, 3852, 3518, 0, 0, 0, 0), + ('Death Knight', 'Frost', 4, 40787, 3832, 3518, 3518, 0, 0, 0), + ('Death Knight', 'Frost', 5, 40883, 0, 3518, 3879, 0, 0, 3729), + ('Death Knight', 'Frost', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), + ('Death Knight', 'Frost', 7, 40884, 1597, 3518, 0, 0, 0, 0), + ('Death Knight', 'Frost', 8, 40890, 3845, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 9, 40809, 1603, 3518, 0, 0, 0, 0), + ('Death Knight', 'Frost', 10, 42117, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 11, 42119, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 12, 51377, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 13, 42134, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 14, 42081, 3243, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 15, 42209, 3370, 3518, 0, 0, 0, 0), + ('Death Knight', 'Frost', 16, 42209, 3594, 3535, 0, 0, 2936, 0), + ('Death Knight', 'Frost', 17, 42621, 0, 0, 0, 0, 0, 0); /*!40000 ALTER TABLE `template_npc_alliance` ENABLE KEYS */; @@ -632,22 +631,22 @@ INSERT INTO `template_npc_horde` (`playerClass`, `playerSpec`, `pos`, `itemEntry ('Druid', 'Feral', 14, 42082, 1099, 0, 0, 0, 0, 0), ('Druid', 'Feral', 15, 45951, 3789, 3525, 3525, 0, 0, 0), ('Druid', 'Feral', 17, 42589, 0, 0, 0, 0, 0, 0), - ('Druid', 'Ballance', 0, 41327, 3796, 3621, 3520, 0, 3352, 0), - ('Druid', 'Ballance', 1, 42044, 0, 0, 0, 0, 0, 0), - ('Druid', 'Ballance', 4, 41316, 3245, 3520, 3531, 0, 3600, 0), - ('Druid', 'Ballance', 2, 41281, 3794, 3531, 0, 0, 2890, 0), - ('Druid', 'Ballance', 5, 41631, 0, 3879, 3520, 0, 2872, 3729), - ('Druid', 'Ballance', 6, 41304, 3721, 3520, 3548, 0, 3602, 0), - ('Druid', 'Ballance', 7, 41636, 3232, 3531, 0, 0, 2878, 0), - ('Druid', 'Ballance', 8, 41641, 2332, 0, 0, 0, 0, 0), - ('Druid', 'Ballance', 9, 41293, 3246, 3548, 0, 0, 2890, 0), - ('Druid', 'Ballance', 10, 42118, 0, 0, 0, 0, 0, 0), - ('Druid', 'Ballance', 11, 48001, 0, 3520, 0, 0, 3752, 0), - ('Druid', 'Ballance', 12, 42137, 0, 0, 0, 0, 0, 0), - ('Druid', 'Ballance', 13, 51378, 0, 0, 0, 0, 0, 0), - ('Druid', 'Ballance', 14, 42076, 3243, 0, 0, 0, 0, 0), - ('Druid', 'Ballance', 15, 42364, 3854, 3520, 3535, 0, 3602, 0), - ('Druid', 'Ballance', 17, 42584, 0, 0, 0, 0, 0, 0), + ('Druid', 'Balance', 0, 41327, 3796, 3621, 3520, 0, 3352, 0), + ('Druid', 'Balance', 1, 42044, 0, 0, 0, 0, 0, 0), + ('Druid', 'Balance', 4, 41316, 3245, 3520, 3531, 0, 3600, 0), + ('Druid', 'Balance', 2, 41281, 3794, 3531, 0, 0, 2890, 0), + ('Druid', 'Balance', 5, 41631, 0, 3879, 3520, 0, 2872, 3729), + ('Druid', 'Balance', 6, 41304, 3721, 3520, 3548, 0, 3602, 0), + ('Druid', 'Balance', 7, 41636, 3232, 3531, 0, 0, 2878, 0), + ('Druid', 'Balance', 8, 41641, 2332, 0, 0, 0, 0, 0), + ('Druid', 'Balance', 9, 41293, 3246, 3548, 0, 0, 2890, 0), + ('Druid', 'Balance', 10, 42118, 0, 0, 0, 0, 0, 0), + ('Druid', 'Balance', 11, 48001, 0, 3520, 0, 0, 3752, 0), + ('Druid', 'Balance', 12, 42137, 0, 0, 0, 0, 0, 0), + ('Druid', 'Balance', 13, 51378, 0, 0, 0, 0, 0, 0), + ('Druid', 'Balance', 14, 42076, 3243, 0, 0, 0, 0, 0), + ('Druid', 'Balance', 15, 42364, 3854, 3520, 3535, 0, 3602, 0), + ('Druid', 'Balance', 17, 42584, 0, 0, 0, 0, 0, 0), ('Priest', 'Holy', 0, 41854, 3796, 3621, 3520, 0, 3352, 0), ('Priest', 'Holy', 1, 42044, 0, 0, 0, 0, 0, 0), ('Priest', 'Holy', 2, 41869, 3794, 3531, 0, 0, 2890, 0), @@ -951,54 +950,54 @@ INSERT INTO `template_npc_horde` (`playerClass`, `playerSpec`, `pos`, `itemEntry ('Mage', 'Frost', 15, 42347, 3834, 3548, 0, 0, 3752, 0), ('Mage', 'Frost', 16, 42526, 0, 0, 0, 0, 0, 0), ('Mage', 'Frost', 17, 42520, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 1, 42041, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 2, 40868, 3852, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 4, 40787, 3832, 3518, 3518, 0, 0, 0), - ('DeathKnight', 'Blood', 5, 40883, 0, 3518, 3879, 0, 0, 3729), - ('DeathKnight', 'Blood', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), - ('DeathKnight', 'Blood', 7, 40884, 1597, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 8, 40890, 3845, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 9, 40809, 1603, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 10, 42117, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 11, 42119, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 12, 51378, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 13, 42134, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 14, 42081, 3243, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 15, 42333, 3366, 3518, 3535, 0, 3764, 0), - ('DeathKnight', 'Blood', 17, 42621, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 0, 40827, 3795, 3621, 3518, 0, 2787, 0), - ('DeathKnight', 'Frost', 1, 42041, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 2, 40868, 3852, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 4, 40787, 3832, 3518, 3518, 0, 0, 0), - ('DeathKnight', 'Frost', 5, 40883, 0, 3518, 3879, 0, 0, 3729), - ('DeathKnight', 'Frost', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), - ('DeathKnight', 'Frost', 7, 40884, 1597, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 8, 40890, 3845, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 9, 40809, 1603, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 10, 42117, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 11, 42119, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 12, 51378, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 13, 42134, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 14, 42081, 3243, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 15, 42209, 3370, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 16, 42209, 3594, 3535, 0, 0, 2936, 0), - ('DeathKnight', 'Frost', 17, 42621, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 0, 40827, 3795, 3621, 3518, 0, 2787, 0), - ('DeathKnight', 'Unholy', 1, 42041, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 2, 40868, 3852, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 4, 40787, 3832, 3518, 3518, 0, 0, 0), - ('DeathKnight', 'Unholy', 5, 40883, 0, 3518, 3879, 0, 0, 3729), - ('DeathKnight', 'Unholy', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), - ('DeathKnight', 'Unholy', 7, 40884, 1597, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 8, 40890, 3845, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 9, 40809, 1603, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 10, 42117, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 11, 42119, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 12, 51378, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 13, 42134, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 14, 42081, 3243, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 15, 42333, 3367, 3518, 3535, 0, 3764, 0), - ('DeathKnight', 'Unholy', 17, 42621, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 1, 42041, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 2, 40868, 3852, 3518, 0, 0, 0, 0), + ('Death Knight', 'Blood', 4, 40787, 3832, 3518, 3518, 0, 0, 0), + ('Death Knight', 'Blood', 5, 40883, 0, 3518, 3879, 0, 0, 3729), + ('Death Knight', 'Blood', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), + ('Death Knight', 'Blood', 7, 40884, 1597, 3518, 0, 0, 0, 0), + ('Death Knight', 'Blood', 8, 40890, 3845, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 9, 40809, 1603, 3518, 0, 0, 0, 0), + ('Death Knight', 'Blood', 10, 42117, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 11, 42119, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 12, 51378, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 13, 42134, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 14, 42081, 3243, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 15, 42333, 3366, 3518, 3535, 0, 3764, 0), + ('Death Knight', 'Blood', 17, 42621, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 0, 40827, 3795, 3621, 3518, 0, 2787, 0), + ('Death Knight', 'Frost', 1, 42041, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 2, 40868, 3852, 3518, 0, 0, 0, 0), + ('Death Knight', 'Frost', 4, 40787, 3832, 3518, 3518, 0, 0, 0), + ('Death Knight', 'Frost', 5, 40883, 0, 3518, 3879, 0, 0, 3729), + ('Death Knight', 'Frost', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), + ('Death Knight', 'Frost', 7, 40884, 1597, 3518, 0, 0, 0, 0), + ('Death Knight', 'Frost', 8, 40890, 3845, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 9, 40809, 1603, 3518, 0, 0, 0, 0), + ('Death Knight', 'Frost', 10, 42117, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 11, 42119, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 12, 51378, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 13, 42134, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 14, 42081, 3243, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 15, 42209, 3370, 3518, 0, 0, 0, 0), + ('Death Knight', 'Frost', 16, 42209, 3594, 3535, 0, 0, 2936, 0), + ('Death Knight', 'Frost', 17, 42621, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 0, 40827, 3795, 3621, 3518, 0, 2787, 0), + ('Death Knight', 'Unholy', 1, 42041, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 2, 40868, 3852, 3518, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 4, 40787, 3832, 3518, 3518, 0, 0, 0), + ('Death Knight', 'Unholy', 5, 40883, 0, 3518, 3879, 0, 0, 3729), + ('Death Knight', 'Unholy', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), + ('Death Knight', 'Unholy', 7, 40884, 1597, 3518, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 8, 40890, 3845, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 9, 40809, 1603, 3518, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 10, 42117, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 11, 42119, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 12, 51378, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 13, 42134, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 14, 42081, 3243, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 15, 42333, 3367, 3518, 3535, 0, 3764, 0), + ('Death Knight', 'Unholy', 17, 42621, 0, 0, 0, 0, 0, 0), ('Warrior', 'Protection', 0, 40826, 3795, 3625, 3525, 0, 2787, 0), ('Warrior', 'Protection', 1, 42042, 0, 0, 0, 0, 0, 0), ('Warrior', 'Protection', 2, 40866, 3793, 3550, 0, 0, 3263, 0), @@ -1223,39 +1222,39 @@ INSERT INTO `template_npc_human` (`playerClass`, `playerSpec`, `pos`, `itemEntry ('Mage', 'Frost', 15, 42347, 3834, 3548, 0, 0, 3752, 0), ('Mage', 'Frost', 16, 42526, 0, 0, 0, 0, 0, 0), ('Mage', 'Frost', 17, 42520, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 0, 40827, 3795, 3621, 3518, 0, 2787, 0), - ('DeathKnight', 'Frost', 1, 42041, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 2, 40868, 3852, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 4, 40787, 3832, 3518, 3518, 0, 0, 0), - ('DeathKnight', 'Frost', 5, 40883, 0, 3518, 3879, 0, 0, 3729), - ('DeathKnight', 'Frost', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), - ('DeathKnight', 'Frost', 7, 40884, 1597, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 8, 40890, 3845, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 9, 40809, 1603, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 10, 42117, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 11, 42119, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 12, 46038, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 13, 42134, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 14, 42081, 3243, 0, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 15, 42209, 3370, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Frost', 16, 42209, 3594, 3535, 0, 0, 2936, 0), - ('DeathKnight', 'Frost', 17, 42621, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 0, 40827, 3795, 3621, 3518, 0, 2787, 0), - ('DeathKnight', 'Unholy', 1, 42041, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 2, 40868, 3852, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 4, 40787, 3832, 3518, 3518, 0, 0, 0), - ('DeathKnight', 'Unholy', 5, 40883, 0, 3518, 3879, 0, 0, 3729), - ('DeathKnight', 'Unholy', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), - ('DeathKnight', 'Unholy', 7, 40884, 1597, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 8, 40890, 3845, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 9, 40809, 1603, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 10, 42117, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 11, 42119, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 12, 46038, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 13, 42134, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 14, 42081, 3243, 0, 0, 0, 0, 0), - ('DeathKnight', 'Unholy', 15, 42333, 3367, 3518, 3535, 0, 3764, 0), - ('DeathKnight', 'Unholy', 17, 42621, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 0, 40827, 3795, 3621, 3518, 0, 2787, 0), + ('Death Knight', 'Frost', 1, 42041, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 2, 40868, 3852, 3518, 0, 0, 0, 0), + ('Death Knight', 'Frost', 4, 40787, 3832, 3518, 3518, 0, 0, 0), + ('Death Knight', 'Frost', 5, 40883, 0, 3518, 3879, 0, 0, 3729), + ('Death Knight', 'Frost', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), + ('Death Knight', 'Frost', 7, 40884, 1597, 3518, 0, 0, 0, 0), + ('Death Knight', 'Frost', 8, 40890, 3845, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 9, 40809, 1603, 3518, 0, 0, 0, 0), + ('Death Knight', 'Frost', 10, 42117, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 11, 42119, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 12, 46038, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 13, 42134, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 14, 42081, 3243, 0, 0, 0, 0, 0), + ('Death Knight', 'Frost', 15, 42209, 3370, 3518, 0, 0, 0, 0), + ('Death Knight', 'Frost', 16, 42209, 3594, 3535, 0, 0, 2936, 0), + ('Death Knight', 'Frost', 17, 42621, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 0, 40827, 3795, 3621, 3518, 0, 2787, 0), + ('Death Knight', 'Unholy', 1, 42041, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 2, 40868, 3852, 3518, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 4, 40787, 3832, 3518, 3518, 0, 0, 0), + ('Death Knight', 'Unholy', 5, 40883, 0, 3518, 3879, 0, 0, 3729), + ('Death Knight', 'Unholy', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), + ('Death Knight', 'Unholy', 7, 40884, 1597, 3518, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 8, 40890, 3845, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 9, 40809, 1603, 3518, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 10, 42117, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 11, 42119, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 12, 46038, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 13, 42134, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 14, 42081, 3243, 0, 0, 0, 0, 0), + ('Death Knight', 'Unholy', 15, 42333, 3367, 3518, 3535, 0, 3764, 0), + ('Death Knight', 'Unholy', 17, 42621, 0, 0, 0, 0, 0, 0), ('Warlock', 'Destruction', 1, 42043, 0, 0, 0, 0, 0, 0), ('Warlock', 'Destruction', 2, 42011, 3794, 3528, 0, 0, 2868, 0), ('Warlock', 'Destruction', 4, 41998, 3245, 3520, 3528, 0, 3307, 0), @@ -1392,22 +1391,22 @@ INSERT INTO `template_npc_human` (`playerClass`, `playerSpec`, `pos`, `itemEntry ('Rogue', 'Combat', 15, 42276, 3789, 3521, 0, 0, 0, 0), ('Rogue', 'Combat', 16, 42281, 3731, 3521, 0, 0, 0, 0), ('Rogue', 'Combat', 17, 42451, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 0, 40827, 3795, 3621, 3518, 0, 2787, 0), - ('DeathKnight', 'Blood', 1, 42041, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 2, 40868, 3852, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 4, 40787, 3832, 3518, 3518, 0, 0, 0), - ('DeathKnight', 'Blood', 5, 40883, 0, 3518, 3879, 0, 0, 3729), - ('DeathKnight', 'Blood', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), - ('DeathKnight', 'Blood', 7, 40884, 1597, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 8, 40890, 3845, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 9, 40809, 1603, 3518, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 10, 42117, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 11, 42119, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 12, 46038, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 13, 42134, 0, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 14, 42081, 3243, 0, 0, 0, 0, 0), - ('DeathKnight', 'Blood', 15, 42333, 3366, 3518, 3535, 0, 3764, 0), - ('DeathKnight', 'Blood', 17, 42621, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 0, 40827, 3795, 3621, 3518, 0, 2787, 0), + ('Death Knight', 'Blood', 1, 42041, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 2, 40868, 3852, 3518, 0, 0, 0, 0), + ('Death Knight', 'Blood', 4, 40787, 3832, 3518, 3518, 0, 0, 0), + ('Death Knight', 'Blood', 5, 40883, 0, 3518, 3879, 0, 0, 3729), + ('Death Knight', 'Blood', 6, 40848, 3823, 3518, 3535, 0, 3357, 0), + ('Death Knight', 'Blood', 7, 40884, 1597, 3518, 0, 0, 0, 0), + ('Death Knight', 'Blood', 8, 40890, 3845, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 9, 40809, 1603, 3518, 0, 0, 0, 0), + ('Death Knight', 'Blood', 10, 42117, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 11, 42119, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 12, 46038, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 13, 42134, 0, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 14, 42081, 3243, 0, 0, 0, 0, 0), + ('Death Knight', 'Blood', 15, 42333, 3366, 3518, 3535, 0, 3764, 0), + ('Death Knight', 'Blood', 17, 42621, 0, 0, 0, 0, 0, 0), ('Priest', 'Shadow', 0, 41854, 3796, 3621, 3520, 0, 3352, 0), ('Priest', 'Shadow', 1, 42045, 0, 0, 0, 0, 0, 0), ('Priest', 'Shadow', 2, 41934, 3794, 3563, 0, 0, 2868, 0), @@ -1487,35 +1486,35 @@ INSERT INTO `template_npc_talents` (`playerClass`, `playerSpec`, `talentId`) VAL ('Druid', 'Feral', 51269), ('Druid', 'Feral', 61336), ('Druid', 'Feral', 63503), - ('Druid', 'Ballance', 5570), - ('Druid', 'Ballance', 16818), - ('Druid', 'Ballance', 16820), - ('Druid', 'Ballance', 16835), - ('Druid', 'Ballance', 16840), - ('Druid', 'Ballance', 16847), - ('Druid', 'Ballance', 16864), - ('Druid', 'Ballance', 16899), - ('Druid', 'Ballance', 16913), - ('Druid', 'Ballance', 17051), - ('Druid', 'Ballance', 17066), - ('Druid', 'Ballance', 17119), - ('Druid', 'Ballance', 24858), - ('Druid', 'Ballance', 33591), - ('Druid', 'Ballance', 33596), - ('Druid', 'Ballance', 33606), - ('Druid', 'Ballance', 33956), - ('Druid', 'Ballance', 33831), - ('Druid', 'Ballance', 35364), - ('Druid', 'Ballance', 48393), - ('Druid', 'Ballance', 48396), - ('Druid', 'Ballance', 48412), - ('Druid', 'Ballance', 48505), - ('Druid', 'Ballance', 48511), - ('Druid', 'Ballance', 48514), - ('Druid', 'Ballance', 48525), - ('Druid', 'Ballance', 50516), - ('Druid', 'Ballance', 57865), - ('Druid', 'Ballance', 61346), + ('Druid', 'Balance', 5570), + ('Druid', 'Balance', 16818), + ('Druid', 'Balance', 16820), + ('Druid', 'Balance', 16835), + ('Druid', 'Balance', 16840), + ('Druid', 'Balance', 16847), + ('Druid', 'Balance', 16864), + ('Druid', 'Balance', 16899), + ('Druid', 'Balance', 16913), + ('Druid', 'Balance', 17051), + ('Druid', 'Balance', 17066), + ('Druid', 'Balance', 17119), + ('Druid', 'Balance', 24858), + ('Druid', 'Balance', 33591), + ('Druid', 'Balance', 33596), + ('Druid', 'Balance', 33606), + ('Druid', 'Balance', 33956), + ('Druid', 'Balance', 33831), + ('Druid', 'Balance', 35364), + ('Druid', 'Balance', 48393), + ('Druid', 'Balance', 48396), + ('Druid', 'Balance', 48412), + ('Druid', 'Balance', 48505), + ('Druid', 'Balance', 48511), + ('Druid', 'Balance', 48514), + ('Druid', 'Balance', 48525), + ('Druid', 'Balance', 50516), + ('Druid', 'Balance', 57865), + ('Druid', 'Balance', 61346), ('Priest', 'Holy', 14767), ('Priest', 'Holy', 14771), ('Priest', 'Holy', 14777), @@ -1983,36 +1982,36 @@ INSERT INTO `template_npc_talents` (`playerClass`, `playerSpec`, `talentId`) VAL ('Warlock', 'Demonology', 63123), ('Warlock', 'Demonology', 63158), ('Warlock', 'Demonology', 63351), - ('DeathKnight', 'Unholy', 49036), - ('DeathKnight', 'Unholy', 49039), - ('DeathKnight', 'Unholy', 49158), - ('DeathKnight', 'Unholy', 49194), - ('DeathKnight', 'Unholy', 49206), - ('DeathKnight', 'Unholy', 49222), - ('DeathKnight', 'Unholy', 49565), - ('DeathKnight', 'Unholy', 49568), - ('DeathKnight', 'Unholy', 49572), - ('DeathKnight', 'Unholy', 49589), - ('DeathKnight', 'Unholy', 49599), - ('DeathKnight', 'Unholy', 49611), - ('DeathKnight', 'Unholy', 49632), - ('DeathKnight', 'Unholy', 49638), - ('DeathKnight', 'Unholy', 49657), - ('DeathKnight', 'Unholy', 49664), - ('DeathKnight', 'Unholy', 50121), - ('DeathKnight', 'Unholy', 50147), - ('DeathKnight', 'Unholy', 50392), - ('DeathKnight', 'Unholy', 50886), - ('DeathKnight', 'Unholy', 51052), - ('DeathKnight', 'Unholy', 51161), - ('DeathKnight', 'Unholy', 51456), - ('DeathKnight', 'Unholy', 51746), - ('DeathKnight', 'Unholy', 52143), - ('DeathKnight', 'Unholy', 55090), - ('DeathKnight', 'Unholy', 55237), - ('DeathKnight', 'Unholy', 55623), - ('DeathKnight', 'Unholy', 55667), - ('DeathKnight', 'Unholy', 56835), + ('Death Knight', 'Unholy', 49036), + ('Death Knight', 'Unholy', 49039), + ('Death Knight', 'Unholy', 49158), + ('Death Knight', 'Unholy', 49194), + ('Death Knight', 'Unholy', 49206), + ('Death Knight', 'Unholy', 49222), + ('Death Knight', 'Unholy', 49565), + ('Death Knight', 'Unholy', 49568), + ('Death Knight', 'Unholy', 49572), + ('Death Knight', 'Unholy', 49589), + ('Death Knight', 'Unholy', 49599), + ('Death Knight', 'Unholy', 49611), + ('Death Knight', 'Unholy', 49632), + ('Death Knight', 'Unholy', 49638), + ('Death Knight', 'Unholy', 49657), + ('Death Knight', 'Unholy', 49664), + ('Death Knight', 'Unholy', 50121), + ('Death Knight', 'Unholy', 50147), + ('Death Knight', 'Unholy', 50392), + ('Death Knight', 'Unholy', 50886), + ('Death Knight', 'Unholy', 51052), + ('Death Knight', 'Unholy', 51161), + ('Death Knight', 'Unholy', 51456), + ('Death Knight', 'Unholy', 51746), + ('Death Knight', 'Unholy', 52143), + ('Death Knight', 'Unholy', 55090), + ('Death Knight', 'Unholy', 55237), + ('Death Knight', 'Unholy', 55623), + ('Death Knight', 'Unholy', 55667), + ('Death Knight', 'Unholy', 56835), ('Warrior', 'Arms', 12294), ('Warrior', 'Arms', 12323), ('Warrior', 'Arms', 12328), @@ -2185,60 +2184,60 @@ INSERT INTO `template_npc_talents` (`playerClass`, `playerSpec`, `talentId`) VAL ('Hunter', 'Marksmanship', 53232), ('Hunter', 'Marksmanship', 53238), ('Hunter', 'Marksmanship', 53246), - ('DeathKnight', 'Blood', 48982), - ('DeathKnight', 'Blood', 49005), - ('DeathKnight', 'Blood', 49028), - ('DeathKnight', 'Blood', 49393), - ('DeathKnight', 'Blood', 49395), - ('DeathKnight', 'Blood', 49480), - ('DeathKnight', 'Blood', 49483), - ('DeathKnight', 'Blood', 49489), - ('DeathKnight', 'Blood', 49497), - ('DeathKnight', 'Blood', 49504), - ('DeathKnight', 'Blood', 49530), - ('DeathKnight', 'Blood', 49534), - ('DeathKnight', 'Blood', 49787), - ('DeathKnight', 'Blood', 50029), - ('DeathKnight', 'Blood', 50034), - ('DeathKnight', 'Blood', 50147), - ('DeathKnight', 'Blood', 50150), - ('DeathKnight', 'Blood', 50371), - ('DeathKnight', 'Blood', 51456), - ('DeathKnight', 'Blood', 53138), - ('DeathKnight', 'Blood', 55050), - ('DeathKnight', 'Blood', 55062), - ('DeathKnight', 'Blood', 55108), - ('DeathKnight', 'Blood', 55225), - ('DeathKnight', 'Blood', 55233), - ('DeathKnight', 'Blood', 61158), - ('DeathKnight', 'Blood', 62908), - ('DeathKnight', 'Frost', 48982), - ('DeathKnight', 'Frost', 49039), - ('DeathKnight', 'Frost', 49143), - ('DeathKnight', 'Frost', 49184), - ('DeathKnight', 'Frost', 49203), - ('DeathKnight', 'Frost', 49393), - ('DeathKnight', 'Frost', 49479), - ('DeathKnight', 'Frost', 49483), - ('DeathKnight', 'Frost', 49489), - ('DeathKnight', 'Frost', 49491), - ('DeathKnight', 'Frost', 49538), - ('DeathKnight', 'Frost', 49657), - ('DeathKnight', 'Frost', 49662), - ('DeathKnight', 'Frost', 49791), - ('DeathKnight', 'Frost', 49796), - ('DeathKnight', 'Frost', 50043), - ('DeathKnight', 'Frost', 50130), - ('DeathKnight', 'Frost', 50138), - ('DeathKnight', 'Frost', 50147), - ('DeathKnight', 'Frost', 50191), - ('DeathKnight', 'Frost', 50884), - ('DeathKnight', 'Frost', 51130), - ('DeathKnight', 'Frost', 51456), - ('DeathKnight', 'Frost', 51473), - ('DeathKnight', 'Frost', 54637), - ('DeathKnight', 'Frost', 59057), - ('DeathKnight', 'Frost', 66192), + ('Death Knight', 'Blood', 48982), + ('Death Knight', 'Blood', 49005), + ('Death Knight', 'Blood', 49028), + ('Death Knight', 'Blood', 49393), + ('Death Knight', 'Blood', 49395), + ('Death Knight', 'Blood', 49480), + ('Death Knight', 'Blood', 49483), + ('Death Knight', 'Blood', 49489), + ('Death Knight', 'Blood', 49497), + ('Death Knight', 'Blood', 49504), + ('Death Knight', 'Blood', 49530), + ('Death Knight', 'Blood', 49534), + ('Death Knight', 'Blood', 49787), + ('Death Knight', 'Blood', 50029), + ('Death Knight', 'Blood', 50034), + ('Death Knight', 'Blood', 50147), + ('Death Knight', 'Blood', 50150), + ('Death Knight', 'Blood', 50371), + ('Death Knight', 'Blood', 51456), + ('Death Knight', 'Blood', 53138), + ('Death Knight', 'Blood', 55050), + ('Death Knight', 'Blood', 55062), + ('Death Knight', 'Blood', 55108), + ('Death Knight', 'Blood', 55225), + ('Death Knight', 'Blood', 55233), + ('Death Knight', 'Blood', 61158), + ('Death Knight', 'Blood', 62908), + ('Death Knight', 'Frost', 48982), + ('Death Knight', 'Frost', 49039), + ('Death Knight', 'Frost', 49143), + ('Death Knight', 'Frost', 49184), + ('Death Knight', 'Frost', 49203), + ('Death Knight', 'Frost', 49393), + ('Death Knight', 'Frost', 49479), + ('Death Knight', 'Frost', 49483), + ('Death Knight', 'Frost', 49489), + ('Death Knight', 'Frost', 49491), + ('Death Knight', 'Frost', 49538), + ('Death Knight', 'Frost', 49657), + ('Death Knight', 'Frost', 49662), + ('Death Knight', 'Frost', 49791), + ('Death Knight', 'Frost', 49796), + ('Death Knight', 'Frost', 50043), + ('Death Knight', 'Frost', 50130), + ('Death Knight', 'Frost', 50138), + ('Death Knight', 'Frost', 50147), + ('Death Knight', 'Frost', 50191), + ('Death Knight', 'Frost', 50884), + ('Death Knight', 'Frost', 51130), + ('Death Knight', 'Frost', 51456), + ('Death Knight', 'Frost', 51473), + ('Death Knight', 'Frost', 54637), + ('Death Knight', 'Frost', 59057), + ('Death Knight', 'Frost', 66192), ('Priest', 'Shadow', 14747), ('Priest', 'Shadow', 14791), ('Priest', 'Shadow', 15008), @@ -2286,12 +2285,12 @@ INSERT INTO `template_npc_glyphs` (`playerClass`, `playerSpec`, `slot`, `glyph`) ('Druid', 'Feral', 3, 165), ('Druid', 'Feral', 4, 551), ('Druid', 'Feral', 5, 671), - ('Druid', 'Ballance', 0, 676), - ('Druid', 'Ballance', 1, 433), - ('Druid', 'Ballance', 2, 434), - ('Druid', 'Ballance', 3, 178), - ('Druid', 'Ballance', 4, 551), - ('Druid', 'Ballance', 5, 176), + ('Druid', 'Balance', 0, 676), + ('Druid', 'Balance', 1, 433), + ('Druid', 'Balance', 2, 434), + ('Druid', 'Balance', 3, 178), + ('Druid', 'Balance', 4, 551), + ('Druid', 'Balance', 5, 176), ('Priest', 'Holy', 0, 251), ('Priest', 'Holy', 1, 458), ('Priest', 'Holy', 2, 459), @@ -2394,12 +2393,12 @@ INSERT INTO `template_npc_glyphs` (`playerClass`, `playerSpec`, `slot`, `glyph`) ('Warlock', 'Demonology', 3, 281), ('Warlock', 'Demonology', 4, 477), ('Warlock', 'Demonology', 5, 274), - ('DeathKnight', 'Unholy', 0, 772), - ('DeathKnight', 'Unholy', 1, 522), - ('DeathKnight', 'Unholy', 2, 553), - ('DeathKnight', 'Unholy', 3, 771), - ('DeathKnight', 'Unholy', 4, 518), - ('DeathKnight', 'Unholy', 5, 527), + ('Death Knight', 'Unholy', 0, 772), + ('Death Knight', 'Unholy', 1, 522), + ('Death Knight', 'Unholy', 2, 553), + ('Death Knight', 'Unholy', 3, 771), + ('Death Knight', 'Unholy', 4, 518), + ('Death Knight', 'Unholy', 5, 527), ('Warrior', 'Arms', 0, 489), ('Warrior', 'Arms', 1, 484), ('Warrior', 'Arms', 2, 485), @@ -2436,18 +2435,18 @@ INSERT INTO `template_npc_glyphs` (`playerClass`, `playerSpec`, `slot`, `glyph`) ('Hunter', 'Marksmanship', 3, 358), ('Hunter', 'Marksmanship', 4, 441), ('Hunter', 'Marksmanship', 5, 366), - ('DeathKnight', 'Blood', 0, 771), - ('DeathKnight', 'Blood', 2, 555), - ('DeathKnight', 'Blood', 1, 522), - ('DeathKnight', 'Blood', 3, 558), - ('DeathKnight', 'Blood', 4, 514), - ('DeathKnight', 'Blood', 5, 528), - ('DeathKnight', 'Frost', 0, 525), - ('DeathKnight', 'Frost', 1, 522), - ('DeathKnight', 'Frost', 2, 518), - ('DeathKnight', 'Frost', 3, 773), - ('DeathKnight', 'Frost', 4, 553), - ('DeathKnight', 'Frost', 5, 521), + ('Death Knight', 'Blood', 0, 771), + ('Death Knight', 'Blood', 2, 555), + ('Death Knight', 'Blood', 1, 522), + ('Death Knight', 'Blood', 3, 558), + ('Death Knight', 'Blood', 4, 514), + ('Death Knight', 'Blood', 5, 528), + ('Death Knight', 'Frost', 0, 525), + ('Death Knight', 'Frost', 1, 522), + ('Death Knight', 'Frost', 2, 518), + ('Death Knight', 'Frost', 3, 773), + ('Death Knight', 'Frost', 4, 553), + ('Death Knight', 'Frost', 5, 521), ('Priest', 'Shadow', 0, 263), ('Priest', 'Shadow', 1, 463), ('Priest', 'Shadow', 2, 458), diff --git a/data/sql/db-world/base/development.sql b/data/sql/db-world/base/development.sql deleted file mode 100644 index 174f7eb..0000000 --- a/data/sql/db-world/base/development.sql +++ /dev/null @@ -1,22 +0,0 @@ --- DATA -SET -@NpcEntry:=55009, -@NpcName:="Pick a spec", -@NpcSubname:="AzerothCore Template", -@NpcDisplayID:=24877; - -DELETE FROM `creature_template` WHERE `entry` IN (@NpcEntry); -INSERT INTO `creature_template` (`entry`, `name`, `subname`, `IconName`, `gossip_menu_id`, `minlevel`, `maxlevel`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `rank`, `unit_class`, `unit_flags`, `type`, `type_flags`, `RegenHealth`, `flags_extra`, `ScriptName`) VALUES -(@NpcEntry, @NpcName , @NpcSubname, "Speak", 0, 80, 80, 35, 1, 1, 1.14286, 1, 0, 1, 2, 7, 138936390, 1, 2, "TemplateNPC"); - -DELETE FROM `creature_template_model` WHERE `CreatureID` = @NpcEntry; -INSERT INTO `creature_template_model` (`CreatureID`, `Idx`, `CreatureDisplayID`, `DisplayScale`, `Probability`, `VerifiedBuild`) VALUES (@NpcEntry, 0, @NpcDisplayID, 1, 1, 0); - -DELETE FROM `npc_text` WHERE `ID` = @NpcEntry; -INSERT INTO `npc_text` (`ID`, `text0_0`, `text0_1`) VALUES -(@NpcEntry, 'Here you can select a character template which will gear up, gem up, set talent specialization, and set glyphs for your character instantly.\r\n\r\nSelect your spec:', 'Here you can select a character template which will gear up, gem up, set talent specialization, and set glyphs for your character instantly.\r\n\r\nSelect your spec:'); - --- creatture_template_movement -DELETE FROM `creature_template_movement` WHERE `CreatureId` IN (@NpcEntry); -INSERT INTO `creature_template_movement` (`CreatureId`, `Ground`, `Swim`, `Flight`, `Rooted`, `Chase`, `Random`, `InteractionPauseTimer`) VALUES -(@NpcEntry, 1, 1, 0, 0, 0, 0, NULL); diff --git a/data/sql/db-world/base/production.sql b/data/sql/db-world/base/npc_talent_template_command.sql similarity index 100% rename from data/sql/db-world/base/production.sql rename to data/sql/db-world/base/npc_talent_template_command.sql diff --git a/data/sql/db-world/base/npc_talent_template_data.sql b/data/sql/db-world/base/npc_talent_template_data.sql new file mode 100644 index 0000000..1b3159c --- /dev/null +++ b/data/sql/db-world/base/npc_talent_template_data.sql @@ -0,0 +1,21 @@ +-- DATA +SET @ENTRY := 55009; +SET @NAME := 'Pick a spec'; +SET @SUBNAME := 'AzerothCore Template'; +SET @DISPLAY_ID := 24877; + +DELETE FROM `creature_template` WHERE `entry` = @ENTRY; +INSERT INTO `creature_template` (`entry`, `name`, `subname`, `IconName`, `gossip_menu_id`, `minlevel`, `maxlevel`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `rank`, `unit_class`, `unit_flags`, `type`, `type_flags`, `RegenHealth`, `flags_extra`, `ScriptName`) VALUES +(@ENTRY, @NAME , @SUBNAME, 'Speak', 0, 80, 80, 35, 1, 1, 1.14286, 1, 0, 1, 2, 7, 138936390, 1, 2, 'TemplateNPC'); + +DELETE FROM `creature_template_model` WHERE `CreatureID` = @ENTRY; +INSERT INTO `creature_template_model` (`CreatureID`, `Idx`, `CreatureDisplayID`, `DisplayScale`, `Probability`, `VerifiedBuild`) VALUES +(@ENTRY, 0, @DISPLAY_ID, 1, 1, 0); + +DELETE FROM `npc_text` WHERE `ID` = @ENTRY; +INSERT INTO `npc_text` (`ID`, `text0_0`, `text0_1`) VALUES +(@ENTRY, 'Here you can select a character template which will gear up, gem up, set talent specialization, and set glyphs for your character instantly.', 'Here you can select a character template which will gear up, gem up, set talent specialization, and set glyphs for your character instantly.'); + +DELETE FROM `creature_template_movement` WHERE `CreatureId` = @ENTRY; +INSERT INTO `creature_template_movement` (`CreatureId`, `Ground`, `Swim`, `Flight`, `Rooted`, `Chase`, `Random`, `InteractionPauseTimer`) VALUES +(@ENTRY, 1, 1, 0, 0, 0, 0, NULL); diff --git a/src/TemplateNPC.cpp b/src/TemplateNPC.cpp index c9571dd..a061397 100644 --- a/src/TemplateNPC.cpp +++ b/src/TemplateNPC.cpp @@ -1,5 +1,5 @@ #include "TemplateNPC.h" -#include "Player.h" +#include "Config.h" #include "ScriptedGossip.h" #include "Chat.h" @@ -299,7 +299,7 @@ void sTemplateNPC::LearnTemplateTalents(Player* player) player->learnSpellHighRank(33878); // mangle bear player->learnSpellHighRank(50334); // berserk } - if ((*itr)->playerSpec == "Ballance") + if ((*itr)->playerSpec == "Balance") { player->learnSpellHighRank(33831); // force of nature player->learnSpellHighRank(50516); // typhoon @@ -582,42 +582,7 @@ void sTemplateNPC::LoadHordeGearContainer() std::string sTemplateNPC::GetClassString(Player* player) { - switch (player->getClass()) - { - case CLASS_PRIEST: - return "Priest"; - break; - case CLASS_PALADIN: - return "Paladin"; - break; - case CLASS_WARRIOR: - return "Warrior"; - break; - case CLASS_MAGE: - return "Mage"; - break; - case CLASS_WARLOCK: - return "Warlock"; - break; - case CLASS_SHAMAN: - return "Shaman"; - break; - case CLASS_DRUID: - return "Druid"; - break; - case CLASS_HUNTER: - return "Hunter"; - break; - case CLASS_ROGUE: - return "Rogue"; - break; - case CLASS_DEATH_KNIGHT: - return "DeathKnight"; - break; - default: - break; - } - return "Unknown"; // Fix warning, this should never happen + return EnumUtils::ToTitle(Classes(player->getClass())); } bool sTemplateNPC::OverwriteTemplate(Player* player, std::string& playerSpecStr) @@ -790,8 +755,6 @@ class TemplateNPC : public CreatureScript AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_holy_wordfortitude:30|t|r Use Discipline Spec (Talents Only)", GOSSIP_SENDER_MAIN, 100); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_holy_holybolt:30|t|r Use Holy spec (Talents only)", GOSSIP_SENDER_MAIN, 101); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_shadow_shadowwordpain:30|t|r Use Shadow spec (Talents only)", GOSSIP_SENDER_MAIN, 102); - /*AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "----------------------------------------------", GOSSIP_SENDER_MAIN, 5000); - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\Trade_Engineering:30|t|r Reset Talents", GOSSIP_SENDER_MAIN, 31);*/ break; case CLASS_PALADIN: AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_holy_holybolt:30|t|r Use Holy Spec", GOSSIP_SENDER_MAIN, 3); @@ -801,8 +764,6 @@ class TemplateNPC : public CreatureScript AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_holy_holybolt:30|t|r Use Holy Spec (Talents Only)", GOSSIP_SENDER_MAIN, 103); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_holy_devotionaura:30|t|r Use Protection Spec (Talents Only)", GOSSIP_SENDER_MAIN, 104); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_holy_auraoflight:30|t|r Use Retribution Spec (Talents Only)", GOSSIP_SENDER_MAIN, 105); - /*AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "----------------------------------------------", GOSSIP_SENDER_MAIN, 5000); - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\Trade_Engineering:30|t|r Reset Talents", GOSSIP_SENDER_MAIN, 31);*/ break; case CLASS_WARRIOR: AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\ability_warrior_innerrage:30|t|r Use Fury Spec", GOSSIP_SENDER_MAIN, 6); @@ -812,8 +773,6 @@ class TemplateNPC : public CreatureScript AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\ability_warrior_innerrage:30|t|r Use Fury Spec (Talents Only)", GOSSIP_SENDER_MAIN, 106); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\ability_rogue_eviscerate:30|t|r Use Arms Spec (Talents Only)", GOSSIP_SENDER_MAIN, 107); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\ability_warrior_defensivestance:30|t|r Use Protection Spec (Talents Only)", GOSSIP_SENDER_MAIN, 108); - /*AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "----------------------------------------------", GOSSIP_SENDER_MAIN, 5000); - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\Trade_Engineering:30|t|r Reset Talents", GOSSIP_SENDER_MAIN, 31);*/ break; case CLASS_MAGE: AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_holy_magicalsentry:30|t|r Use Arcane Spec", GOSSIP_SENDER_MAIN, 9); @@ -823,8 +782,6 @@ class TemplateNPC : public CreatureScript AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_holy_magicalsentry:30|t|r Use Arcane Spec (Talents Only)", GOSSIP_SENDER_MAIN, 109); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_fire_flamebolt:30|t|r Use Fire Spec (Talents Only)", GOSSIP_SENDER_MAIN, 110); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_frost_frostbolt02:30|t|r Use Frost Spec (Talents Only)", GOSSIP_SENDER_MAIN, 111); - /*AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "----------------------------------------------", GOSSIP_SENDER_MAIN, 5000); - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\Trade_Engineering:30|t|r Reset Talents", GOSSIP_SENDER_MAIN, 31);*/ break; case CLASS_WARLOCK: AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_shadow_deathcoil:30|t|r Use Affliction Spec", GOSSIP_SENDER_MAIN, 12); @@ -834,8 +791,6 @@ class TemplateNPC : public CreatureScript AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_shadow_deathcoil:30|t|r Use Affliction Spec (Talents Only)", GOSSIP_SENDER_MAIN, 112); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_shadow_metamorphosis:30|t|r Use Demonology Spec (Talents Only)", GOSSIP_SENDER_MAIN, 113); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_shadow_rainoffire:30|t|r Use Destruction Spec (Talents Only)", GOSSIP_SENDER_MAIN, 114); - /*AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "----------------------------------------------", GOSSIP_SENDER_MAIN, 5000); - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\Trade_Engineering:30|t|r Reset Talents", GOSSIP_SENDER_MAIN, 31);*/ break; case CLASS_SHAMAN: AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_nature_lightning:30|t|r Use Elemental Spec", GOSSIP_SENDER_MAIN, 15); @@ -845,19 +800,15 @@ class TemplateNPC : public CreatureScript AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_nature_lightning:30|t|r Use Elemental Spec (Talents Only)", GOSSIP_SENDER_MAIN, 115); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_nature_lightningshield:30|t|r Use Enhancement Spec (Talents Only)", GOSSIP_SENDER_MAIN, 116); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_nature_magicimmunity:30|t|r Use Restoration Spec (Talents Only)", GOSSIP_SENDER_MAIN, 117); - /*AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "----------------------------------------------", GOSSIP_SENDER_MAIN, 5000); - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\Trade_Engineering:30|t|r Reset Talents", GOSSIP_SENDER_MAIN, 31);*/ break; case CLASS_DRUID: - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_nature_starfall:30|t|r Use Ballance Spec", GOSSIP_SENDER_MAIN, 18); + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_nature_starfall:30|t|r Use Balance Spec", GOSSIP_SENDER_MAIN, 18); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\ability_racial_bearform:30|t|r Use Feral Spec", GOSSIP_SENDER_MAIN, 19); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_nature_healingtouch:30|t|r Use Restoration Spec", GOSSIP_SENDER_MAIN, 20); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "----------------------------------------------", GOSSIP_SENDER_MAIN, 5000); - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_nature_starfall:30|t|r Use Ballance Spec (Talents Only)", GOSSIP_SENDER_MAIN, 118); + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_nature_starfall:30|t|r Use Balance Spec (Talents Only)", GOSSIP_SENDER_MAIN, 118); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\ability_racial_bearform:30|t|r Use Feral Spec (Talents Only)", GOSSIP_SENDER_MAIN, 119); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_nature_healingtouch:30|t|r Use Restoration Spec (Talents Only)", GOSSIP_SENDER_MAIN, 120); - /*AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "----------------------------------------------", GOSSIP_SENDER_MAIN, 5000); - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\Trade_Engineering:30|t|r Reset Talents", GOSSIP_SENDER_MAIN, 31);*/ break; case CLASS_HUNTER: AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\ability_marksmanship:30|t|r Use Marksmanship Spec", GOSSIP_SENDER_MAIN, 21); @@ -867,8 +818,6 @@ class TemplateNPC : public CreatureScript AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\ability_marksmanship:30|t|r Use Marksmanship Spec (Talents Only)", GOSSIP_SENDER_MAIN, 121); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\ability_hunter_beasttaming:30|t|r Use Beastmastery Spec (Talents Only)", GOSSIP_SENDER_MAIN, 122); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\ability_Hunter_swiftstrike:30|t|r Use Survival Spec (Talents Only)", GOSSIP_SENDER_MAIN, 123); - /*AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "----------------------------------------------", GOSSIP_SENDER_MAIN, 5000); - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\Trade_Engineering:30|t|r Reset Talents", GOSSIP_SENDER_MAIN, 31);*/ break; case CLASS_ROGUE: AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\ability_rogue_eviscerate:30|t|r Use Assasination Spec", GOSSIP_SENDER_MAIN, 24); @@ -878,8 +827,6 @@ class TemplateNPC : public CreatureScript AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\ability_rogue_eviscerate:30|t|r Use Assasination Spec (Talents Only)", GOSSIP_SENDER_MAIN, 124); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\ability_backstab:30|t|r Use Combat Spec (Talents Only)", GOSSIP_SENDER_MAIN, 125); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\ability_stealth:30|t|r Use Subtlety Spec (Talents Only)", GOSSIP_SENDER_MAIN, 126); - /*AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "----------------------------------------------", GOSSIP_SENDER_MAIN, 5000); - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\Trade_Engineering:30|t|r Reset Talents", GOSSIP_SENDER_MAIN, 31);*/ break; case CLASS_DEATH_KNIGHT: AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_deathknight_bloodpresence:30|t|r Use Blood Spec", GOSSIP_SENDER_MAIN, 27); @@ -889,15 +836,21 @@ class TemplateNPC : public CreatureScript AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_deathknight_bloodpresence:30|t|r Use Blood Spec (Talents Only)", GOSSIP_SENDER_MAIN, 127); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_deathknight_frostpresence:30|t|r Use Frost Spec (Talents Only)", GOSSIP_SENDER_MAIN, 128); AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\spell_deathknight_unholypresence:30|t|r Use Unholy Spec (Talents Only)", GOSSIP_SENDER_MAIN, 129); - /*AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "----------------------------------------------", GOSSIP_SENDER_MAIN, 5000); - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\Trade_Engineering:30|t|r Reset Talents", GOSSIP_SENDER_MAIN, 31);*/ break; } - - /*AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\Spell_ChargeNegative:30|t|r Remove all glyphs", GOSSIP_SENDER_MAIN, 30); - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\Spell_ChargeNegative:30|t|r Reset Talents", GOSSIP_SENDER_MAIN, 31); - AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\Spell_ChargeNegative:30|t|r Destroy my equipped gear", GOSSIP_SENDER_MAIN, 32);*/ - SendGossipMenuFor(player, 55002, creature->GetGUID()); + if (sTemplateNpcMgr->enableResetTalents || sTemplateNpcMgr->enableRemoveAllGlyphs || sTemplateNpcMgr->enableDestroyEquippedGear) + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "----------------------------------------------", GOSSIP_SENDER_MAIN, 5000); + if (sTemplateNpcMgr->enableResetTalents) + { + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\Trade_Engineering:30:30|t|r Reset Talents", GOSSIP_SENDER_MAIN, 31); + if (player->getClass() == CLASS_HUNTER) + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\ability_hunter_beasttaming:30:30|t|r Reset Pet Talents", GOSSIP_SENDER_MAIN, 32); + } + if (sTemplateNpcMgr->enableRemoveAllGlyphs) + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\Spell_ChargeNegative:30|t|r Remove all glyphs", GOSSIP_SENDER_MAIN, 30); + if (sTemplateNpcMgr->enableDestroyEquippedGear) + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "|cff00ff00|TInterface\\icons\\ability_vehicle_launchplayer:30|t|r Destroy my equipped gear", GOSSIP_SENDER_MAIN, 33); + SendGossipMenuFor(player, creature->GetEntry(), creature->GetGUID()); return true; } @@ -942,7 +895,7 @@ class TemplateNPC : public CreatureScript LearnWeaponSkills(player); - player->GetSession()->SendAreaTriggerMessage("Successfuly equipped %s %s template!", playerSpecStr.c_str(), sTemplateNpcMgr->GetClassString(player).c_str()); + player->GetSession()->SendAreaTriggerMessage("Successfully equipped %s %s template!", playerSpecStr.c_str(), sTemplateNpcMgr->GetClassString(player).c_str()); if (player->getPowerType() == POWER_MANA) player->SetPower(POWER_MANA, player->GetMaxPower(POWER_MANA)); @@ -1121,8 +1074,8 @@ class TemplateNPC : public CreatureScript CloseGossipMenuFor(player); break; - case 18: // Use Ballance Druid Spec - sTemplateNpcMgr->sTalentsSpec = "Ballance"; + case 18: // Use Balance Druid Spec + sTemplateNpcMgr->sTalentsSpec = "Balance"; EquipFullTemplateGear(player, sTemplateNpcMgr->sTalentsSpec); CloseGossipMenuFor(player); break; @@ -1196,37 +1149,26 @@ class TemplateNPC : public CreatureScript case 30: sTemplateNpcMgr->RemoveAllGlyphs(player); player->GetSession()->SendAreaTriggerMessage("Your glyphs have been removed."); - // GossipHello(player); CloseGossipMenuFor(player); break; case 31: player->resetTalents(true); player->SendTalentsInfoData(false); - player->GetSession()->SendAreaTriggerMessage("Your talents have been reset."); + player->GetSession()->SendAreaTriggerMessage(LANG_RESET_TALENTS); CloseGossipMenuFor(player); break; case 32: + player->ResetPetTalents(); + player->GetSession()->SendAreaTriggerMessage(LANG_RESET_PET_TALENTS); + CloseGossipMenuFor(player); + break; + + case 33: for (uint8 i = EQUIPMENT_SLOT_START; i < EQUIPMENT_SLOT_END; ++i) { - if (Item* haveItemEquipped = player->GetItemByPos(INVENTORY_SLOT_BAG_0, i)) - { - if (haveItemEquipped) - { - player->DestroyItemCount(haveItemEquipped->GetEntry(), 1, true, true); - - if (haveItemEquipped->IsInWorld()) - { - haveItemEquipped->RemoveFromWorld(); - haveItemEquipped->DestroyForPlayer(player); - } - - haveItemEquipped->SetUInt64Value(ITEM_FIELD_CONTAINED, 0); - haveItemEquipped->SetSlot(NULL_SLOT); - haveItemEquipped->SetState(ITEM_REMOVED, player); - } - } + player->DestroyItem(INVENTORY_SLOT_BAG_0, i, true); } player->GetSession()->SendAreaTriggerMessage("Your equipped gear has been destroyed."); CloseGossipMenuFor(player); @@ -1348,7 +1290,7 @@ class TemplateNPC : public CreatureScript // Druid case 118: - sTemplateNpcMgr->sTalentsSpec = "Ballance"; + sTemplateNpcMgr->sTalentsSpec = "Balance"; LearnOnlyTalentsAndGlyphs(player, sTemplateNpcMgr->sTalentsSpec); CloseGossipMenuFor(player); break; @@ -1471,6 +1413,13 @@ class TemplateNPC_World : public WorldScript public: TemplateNPC_World() : WorldScript("TemplateNPC_World") {} + void OnAfterConfigLoad(bool /*reload*/) override + { + sTemplateNpcMgr->enableResetTalents = sConfigMgr->GetOption("NpcTalentTemplate.EnableResetTalents", false); + sTemplateNpcMgr->enableRemoveAllGlyphs = sConfigMgr->GetOption("NpcTalentTemplate.EnableRemoveAllGlyphs", true); + sTemplateNpcMgr->enableDestroyEquippedGear = sConfigMgr->GetOption("NpcTalentTemplate.EnableDestroyEquippedGear", true); + } + void OnStartup() override { // Load templates for Template NPC #1 diff --git a/src/TemplateNPC.h b/src/TemplateNPC.h index fde9c41..e96b611 100644 --- a/src/TemplateNPC.h +++ b/src/TemplateNPC.h @@ -4,14 +4,8 @@ #include "Define.h" #include "Player.h" #include "Item.h" -#include "DBCStores.h" -#include "Log.h" -#include "DatabaseEnv.h" #include "WorldSession.h" -#include "ScriptedGossip.h" #include "ScriptMgr.h" -#include "ScriptedCreature.h" -#include "GossipDef.h" #include "Creature.h" #include "ObjectMgr.h" @@ -273,6 +267,10 @@ class sTemplateNPC HumanGearContainer m_HumanGearContainer; AllianceGearContainer m_AllianceGearContainer; HordeGearContainer m_HordeGearContainer; + + bool enableResetTalents; + bool enableRemoveAllGlyphs; + bool enableDestroyEquippedGear; }; #define sTemplateNpcMgr sTemplateNPC::instance()