diff --git a/data/sql/custom/db_world/20230101_01.sql b/data/sql/custom/db_world/20230101_01.sql new file mode 100644 index 00000000000000..1e822f756c5a0a --- /dev/null +++ b/data/sql/custom/db_world/20230101_01.sql @@ -0,0 +1,181 @@ +CREATE TABLE IF NOT EXISTS `acore_world`.`forge_talents` ( + `spellid` MEDIUMINT UNSIGNED NOT NULL, + `talentTabId` INT UNSIGNED NOT NULL, + `columnIndex` INT UNSIGNED NOT NULL, + `rowIndex` INT UNSIGNED NOT NULL, + `rankCost` TINYINT UNSIGNED NOT NULL, + `minLevel` TINYINT UNSIGNED NOT NULL, + `talentType` TINYINT UNSIGNED NOT NULL, + `numberRanks` TINYINT UNSIGNED NOT NULL, + `preReqType` TINYINT UNSIGNED NOT NULL, + `tabPointReq` INT NOT null default 5, + `nodeType` TINYINT NOT null default 0, + `nodeIndex` INT NOT null, + PRIMARY KEY (`spellid`, `talentTabId`), + UNIQUE KEY `UniqueKey` (`talentTabId`, `columnIndex`, `rowIndex`)); + +CREATE TABLE IF NOT EXISTS `acore_world`.`forge_talent_ranks` ( + `talentSpellId` MEDIUMINT UNSIGNED NOT NULL, + `talentTabId` INT UNSIGNED NOT NULL, + `rank` INT UNSIGNED NOT NULL, + `spellId` MEDIUMINT UNSIGNED NULL, + PRIMARY KEY (`talentSpellId`, `talentTabId`, `rank`)); + +CREATE TABLE IF NOT EXISTS `acore_world`.`forge_talent_tabs` ( + `id` INT UNSIGNED NOT NULL, + `classMask` INT UNSIGNED NOT NULL, + `raceMask` INT UNSIGNED NOT NULL, + `name` VARCHAR(100) NOT NULL, + `spellIcon` MEDIUMINT UNSIGNED NOT NULL, + `background` TEXT NOT NULL, + `description` VARCHAR(1000), + `role` tinyint(1) default 0, + `spellString` varchar(255), + `tabType` INT UNSIGNED NOT NULL, + `TabIndex` INT UNSIGNED NOT NULL, + PRIMARY KEY (`id`)); + +CREATE TABLE IF NOT EXISTS `acore_world`.`forge_talent_prereq` ( + `reqId` INT UNSIGNED NOT NULL, + `spellid` MEDIUMINT UNSIGNED NOT NULL, + `talentTabId` INT UNSIGNED NOT NULL, + `reqTalent` MEDIUMINT UNSIGNED NOT NULL, + `reqTalentTabId` INT UNSIGNED NOT NULL, + `reqRank` INT UNSIGNED NOT NULL, + PRIMARY KEY (`reqId`, `spellid`, `talentTabId`)); + + +CREATE TABLE IF NOT EXISTS `acore_world`.`forge_talent_exclusive` ( + `talentSpellId` MEDIUMINT UNSIGNED NOT NULL, + `talentTabId` INT UNSIGNED NOT NULL, + `exlusiveSpellId` MEDIUMINT UNSIGNED NOT NULL, + PRIMARY KEY (`talentSpellId`, `talentTabId`, `exlusiveSpellId`)); + + + CREATE TABLE IF NOT EXISTS `acore_world`.`forge_talent_unlearn` ( + `talentTabId` INT UNSIGNED NOT NULL, + `talentSpellId` MEDIUMINT UNSIGNED NOT NULL, + `unlearnSpell` MEDIUMINT UNSIGNED NOT NULL, + PRIMARY KEY (`talentTabId`, `talentSpellId`, `unlearnSpell`)); + +CREATE TABLE IF NOT EXISTS `acore_world`.`forge_config` ( + `cfgName` VARCHAR(80) NOT NULL, + `cfgValue` INT UNSIGNED NOT NULL, + PRIMARY KEY (`cfgName`)); + +CREATE TABLE IF NOT EXISTS `acore_world`.`forge_prestige_ignored_spells` ( + `spellid` INT UNSIGNED NOT NULL, + PRIMARY KEY (`spellid`)); + +CREATE TABLE IF NOT EXISTS `acore_world`.`forge_player_spell_scale` ( + `ID` INT NOT NULL DEFAULT '0', + `Data` FLOAT NOT NULL DEFAULT '0', + PRIMARY KEY (`ID`)) ENGINE=MyISAM + DEFAULT CHARSET=utf8; + +INSERT IGNORE INTO `acore_world`.`forge_config` (`cfgName`, `cfgValue`) VALUES ('scrapsPerLevelMod', 1); +INSERT IGNORE INTO `acore_world`.`forge_config` (`cfgName`, `cfgValue`) VALUES ('levelMod', 2); +INSERT IGNORE INTO `acore_world`.`forge_config` (`cfgName`, `cfgValue`) VALUES ('level10ForgePoints', 30); + +DELETE FROM acore_world.playercreateinfo_skills WHERE comment LIKE '%Racial%'; + +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (1,0.193); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (2,0.216); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (3,0.264); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (4,0.31); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (5,0.31); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (6,0.395); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (7,0.436); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (8,0.475); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (9,0.514); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (10,0.552); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (11,0.588); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (12,0.625); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (13,0.661); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (14,0.696); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (15,0.766); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (16,0.8); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (17,0.835); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (18,0.885); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (19,0.919); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (20,1); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (21,1.034); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (22,1.067); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (23,1.101); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (24,1.165); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (25,1.229); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (26,1.278); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (27,1.328); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (28,1.405); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (29,1.522); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (30,1.612); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (31,1.662); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (32,1.752); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (33,1.805); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (34,1.858); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (35,1.964); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (36,2.032); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (37,2.126); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (38,2.196); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (39,2.292); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (40,2.351); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (41,2.446); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (42,2.506); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (43,2.626); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (44,2.686); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (45,2.782); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (46,2.854); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (47,2.95); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (48,3.012); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (49,3.074); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (50,3.195); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (51,3.269); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (52,3.378); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (53,3.475); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (54,3.583); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (55,3.658); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (56,3.788); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (57,3.863); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (58,3.972); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (59,4.048); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (60,4.167); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (61,4.266); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (62,4.4); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (63,4.514); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (64,4.662); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (65,4.768); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (66,4.908); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (67,5.016); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (68,5.169); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (69,5.292); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (70,5.437); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (71,5.593); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (72,5.709); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (73,5.858); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (74,5.998); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (75,6.15); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (76,6.282); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (77,6.415); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (78,6.594); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (79,6.762); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (80,6.899); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (81,7.082); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (82,7.222); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (83,7.376); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (84,7.552); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (85,7.697); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (86,7.876); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (87,8.024); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (88,8.196); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (89,8.347); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (90,8.533); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (91,8.741); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (92,8.898); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (93,9.055); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (94,9.215); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (95,9.408); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (96,9.572); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (97,9.736); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (98,9.902); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (99,10.091); +INSERT IGNORE INTO `acore_world`.`forge_player_spell_scale` VALUES (100,10.293); diff --git a/modules/mod-Forge/sql/world/updates/20230930 tmog table update.sql b/data/sql/custom/db_world/20230930_01..sql similarity index 86% rename from modules/mod-Forge/sql/world/updates/20230930 tmog table update.sql rename to data/sql/custom/db_world/20230930_01..sql index be499c24ed5375..ff35a0a0767a7f 100644 --- a/modules/mod-Forge/sql/world/updates/20230930 tmog table update.sql +++ b/data/sql/custom/db_world/20230930_01..sql @@ -1,6 +1,4 @@ -DROP TABLE IF EXISTS `acore_characters`.`forge_character_transmogsets`; - -CREATE TABLE `acore_characters`.`forge_character_transmogsets` ( +CREATE TABLE IF NOT EXISTS `acore_characters`.`forge_character_transmogsets` ( `guid` int unsigned NOT NULL, `active` tinyint unsigned not null default 0, `setid` tinyint unsigned NOT NULL, diff --git a/modules/mod-Forge/sql/world/updates/20231003 m+ tables.sql b/data/sql/custom/db_world/20231003_01.sql similarity index 69% rename from modules/mod-Forge/sql/world/updates/20231003 m+ tables.sql rename to data/sql/custom/db_world/20231003_01.sql index 4e434574dc49d2..cecdc9f1aeded0 100644 --- a/modules/mod-Forge/sql/world/updates/20231003 m+ tables.sql +++ b/data/sql/custom/db_world/20231003_01.sql @@ -1,6 +1,4 @@ -DROP TABLE IF EXISTS `acore_world`.`instance_difficulty_multiplier`; - -CREATE TABLE `acore_world`.`instance_difficulty_multiplier` ( +CREATE TABLE IF NOT EXISTS `acore_world`.`instance_difficulty_multiplier` ( `mapId` smallint unsigned NOT NULL, `difficultyId` smallint unsigned NOT NULL, `healthMultiplier` float unsigned NOT NULL DEFAULT 1.0, diff --git a/modules/mod-Forge/sql/world/updates/20231007 mythic dungeons.sql b/data/sql/custom/db_world/20231007_01.sql similarity index 52% rename from modules/mod-Forge/sql/world/updates/20231007 mythic dungeons.sql rename to data/sql/custom/db_world/20231007_01.sql index 6ef34eae3c2883..0d8fc22d118c1c 100644 --- a/modules/mod-Forge/sql/world/updates/20231007 mythic dungeons.sql +++ b/data/sql/custom/db_world/20231007_01.sql @@ -1,82 +1,79 @@ -DROP TABLE IF EXISTS `acore_world`.`forge_mythic_level_scale`; -CREATE TABLE `acore_world`.`forge_mythic_level_scale` ( +CREATE TABLE IF NOT EXISTS `acore_world`.`forge_mythic_level_scale` ( `challengeLevel` smallint unsigned NOT NULL AUTO_INCREMENT, `mod` float NOT NULL DEFAULT 1, PRIMARY KEY (`challengeLevel`) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(1, 1.0); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(2, 1.1); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(3, 1.21); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(4, 1.331); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(5, 1.4641); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(6, 1.61051); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(7, 1.77156); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(8, 1.94872); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(9, 2.14359); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(10, 2.35795); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(11, 2.59374); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(12, 2.85312); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(13, 3.13843); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(14, 3.45227); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(15, 3.7975); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(16, 4.17725); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(17, 4.59497); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(18, 5.05447); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(19, 5.55992); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(20, 6.11591); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(21, 6.7275); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(22, 7.40025); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(23, 8.14028); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(24, 8.9543); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(25, 9.84973); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(26, 10.8347); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(27, 11.9182); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(28, 13.11); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(29, 14.421); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(30, 15.8631); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(31, 17.4494); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(32, 19.1943); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(33, 21.1138); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(34, 23.2252); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(35, 25.5477); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(36, 28.1024); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(37, 30.9127); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(38, 34.0039); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(39, 37.4043); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(40, 41.1448); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(41, 45.2593); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(42, 49.7852); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(43, 54.7637); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(44, 60.2401); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(45, 66.2641); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(46, 72.8905); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(47, 80.1795); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(48, 88.1975); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(49, 97.0172); -INSERT INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(50, 106.719); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(1, 1.0); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(2, 1.1); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(3, 1.21); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(4, 1.331); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(5, 1.4641); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(6, 1.61051); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(7, 1.77156); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(8, 1.94872); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(9, 2.14359); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(10, 2.35795); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(11, 2.59374); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(12, 2.85312); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(13, 3.13843); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(14, 3.45227); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(15, 3.7975); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(16, 4.17725); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(17, 4.59497); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(18, 5.05447); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(19, 5.55992); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(20, 6.11591); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(21, 6.7275); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(22, 7.40025); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(23, 8.14028); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(24, 8.9543); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(25, 9.84973); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(26, 10.8347); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(27, 11.9182); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(28, 13.11); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(29, 14.421); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(30, 15.8631); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(31, 17.4494); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(32, 19.1943); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(33, 21.1138); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(34, 23.2252); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(35, 25.5477); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(36, 28.1024); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(37, 30.9127); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(38, 34.0039); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(39, 37.4043); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(40, 41.1448); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(41, 45.2593); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(42, 49.7852); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(43, 54.7637); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(44, 60.2401); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(45, 66.2641); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(46, 72.8905); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(47, 80.1795); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(48, 88.1975); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(49, 97.0172); +INSERT IGNORE INTO acore_world.forge_mythic_level_scale (challengeLevel, `mod`) VALUES(50, 106.719); -DROP TABLE IF EXISTS `acore_world`.`forge_mythic_minion_value`; -CREATE TABLE `acore_world`.`forge_mythic_minion_value` ( +CREATE TABLE IF NOT EXISTS `acore_world`.`forge_mythic_minion_value` ( `instance` int unsigned NOT NULL, `unit` int unsigned NOT NULL, `value` float NOT NULL DEFAULT '0.1', PRIMARY KEY (`instance`,`unit`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -INSERT INTO acore_world.forge_mythic_minion_value (`instance`, unit, value) VALUES(389, 11320, 1.0); +INSERT IGNORE INTO acore_world.forge_mythic_minion_value (`instance`, unit, value) VALUES(389, 11320, 1.0); -DROP TABLE IF EXISTS `acore_world`.`forge_mythic_criteria`; -CREATE TABLE `acore_world`.`forge_mythic_criteria` ( +CREATE TABLE IF NOT EXISTS `acore_world`.`forge_mythic_criteria` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `instance` int unsigned NOT NULL DEFAULT '0', `type` smallint unsigned NOT NULL DEFAULT '0', `value` int unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -INSERT INTO acore_world.forge_mythic_criteria (id, `instance`, `type`, value) VALUES(1, 389, 0, 11520); -INSERT INTO acore_world.forge_mythic_criteria (id, `instance`, `type`, value) VALUES(2, 389, 1, 5); +INSERT IGNORE INTO acore_world.forge_mythic_criteria (id, `instance`, `type`, value) VALUES(1, 389, 0, 11520); +INSERT IGNORE INTO acore_world.forge_mythic_criteria (id, `instance`, `type`, value) VALUES(2, 389, 1, 5); DELETE FROM acore_world.itemrandomsuffix_dbc where ID in (102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150); -INSERT INTO acore_world.itemrandomsuffix_dbc (ID, Name_Lang_enUS, Name_Lang_enGB, Name_Lang_koKR, Name_Lang_frFR, Name_Lang_deDE, Name_Lang_enCN, Name_Lang_zhCN, Name_Lang_enTW, Name_Lang_zhTW, Name_Lang_esES, Name_Lang_esMX, Name_Lang_ruRU, Name_Lang_ptPT, Name_Lang_ptBR, Name_Lang_itIT, Name_Lang_Unk, Name_Lang_Mask, InternalName, Enchantment_1, Enchantment_2, Enchantment_3, Enchantment_4, Enchantment_5, AllocationPct_1, AllocationPct_2, AllocationPct_3, AllocationPct_4, AllocationPct_5) +INSERT IGNORE INTO acore_world.itemrandomsuffix_dbc (ID, Name_Lang_enUS, Name_Lang_enGB, Name_Lang_koKR, Name_Lang_frFR, Name_Lang_deDE, Name_Lang_enCN, Name_Lang_zhCN, Name_Lang_enTW, Name_Lang_zhTW, Name_Lang_esES, Name_Lang_esMX, Name_Lang_ruRU, Name_Lang_ptPT, Name_Lang_ptBR, Name_Lang_itIT, Name_Lang_Unk, Name_Lang_Mask, InternalName, Enchantment_1, Enchantment_2, Enchantment_3, Enchantment_4, Enchantment_5, AllocationPct_1, AllocationPct_2, AllocationPct_3, AllocationPct_4, AllocationPct_5) VALUES (102, '+2' , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 16712190, 'm+2' , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), (103, '+3' , NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 16712190, 'm+3' , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), @@ -128,29 +125,27 @@ VALUES (149, '+49', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 16712190, 'm+49', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), (150, '+50', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 16712190, 'm+50', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); -INSERT INTO acore_world.gameobject_template (entry, `type`, displayId, name, IconName, castBarCaption, unk1, `size`, Data0, Data1, Data2, Data3, Data4, Data5, Data6, Data7, Data8, Data9, Data10, Data11, Data12, Data13, Data14, Data15, Data16, Data17, Data18, Data19, Data20, Data21, Data22, Data23, AIName, ScriptName, VerifiedBuild) VALUES(1000001, 3, 259, 'Reward Chest', '', '', '', 1.0, 57, 2283, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, '', '', 12340); -INSERT INTO acore_world.gameobject_template (entry, `type`, displayId, name, IconName, castBarCaption, unk1, `size`, Data0, Data1, Data2, Data3, Data4, Data5, Data6, Data7, Data8, Data9, Data10, Data11, Data12, Data13, Data14, Data15, Data16, Data17, Data18, Data19, Data20, Data21, Data22, Data23, AIName, ScriptName, VerifiedBuild) VALUES(1000000, 2, 475, 'Ancient Brazier', '', '', '', 1.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 'go_mythic_init', 12340); +INSERT IGNORE INTO acore_world.gameobject_template (entry, `type`, displayId, name, IconName, castBarCaption, unk1, `size`, Data0, Data1, Data2, Data3, Data4, Data5, Data6, Data7, Data8, Data9, Data10, Data11, Data12, Data13, Data14, Data15, Data16, Data17, Data18, Data19, Data20, Data21, Data22, Data23, AIName, ScriptName, VerifiedBuild) VALUES(1000001, 3, 259, 'Reward Chest', '', '', '', 1.0, 57, 2283, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, '', '', 12340); +INSERT IGNORE INTO acore_world.gameobject_template (entry, `type`, displayId, name, IconName, castBarCaption, unk1, `size`, Data0, Data1, Data2, Data3, Data4, Data5, Data6, Data7, Data8, Data9, Data10, Data11, Data12, Data13, Data14, Data15, Data16, Data17, Data18, Data19, Data20, Data21, Data22, Data23, AIName, ScriptName, VerifiedBuild) VALUES(1000000, 2, 475, 'Ancient Brazier', '', '', '', 1.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 'go_mythic_init', 12340); -DROP TABLE IF EXISTS `acore_world`.`forge_mythic_affixes`; -CREATE TABLE `acore_world`.`forge_mythic_affixes` ( +CREATE TABLE IF NOT EXISTS `acore_world`.`forge_mythic_affixes` ( `affix` bigint unsigned NOT NULL, `tier` int unsigned NOT NULL, `timer_increment` int NOT NULL, PRIMARY KEY (`affix`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -INSERT INTO acore_world.forge_mythic_affixes (affix, tier, timer_increment) VALUES(1, 1, 300); -INSERT INTO acore_world.forge_mythic_affixes (affix, tier, timer_increment) VALUES(3, 2, 300); -INSERT INTO acore_world.forge_mythic_affixes (affix, tier, timer_increment) VALUES(5, 3, 300); +INSERT IGNORE INTO acore_world.forge_mythic_affixes (affix, tier, timer_increment) VALUES(1, 1, 300); +INSERT IGNORE INTO acore_world.forge_mythic_affixes (affix, tier, timer_increment) VALUES(3, 2, 300); +INSERT IGNORE INTO acore_world.forge_mythic_affixes (affix, tier, timer_increment) VALUES(5, 3, 300); -DROP TABLE IF EXISTS `acore_world`.`forge_mythic_instance_key`; -CREATE TABLE `acore_world`.`forge_mythic_instance_key` ( +CREATE TABLE IF NOT EXISTS `acore_world`.`forge_mythic_instance_key` ( `instance` bigint unsigned NOT NULL, `keyid` int unsigned NOT NULL, `base_timer` bigint unsigned NOT NULL, PRIMARY KEY (`instance`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -INSERT INTO acore_world.forge_mythic_instance_key (`instance`, keyid, base_timer) VALUES(34, 138028, 1800); -INSERT INTO acore_world.forge_mythic_instance_key (`instance`, keyid, base_timer) VALUES(70, 138023, 1800); -INSERT INTO acore_world.forge_mythic_instance_key (`instance`, keyid, base_timer) VALUES(209, 138024, 1800); -INSERT INTO acore_world.forge_mythic_instance_key (`instance`, keyid, base_timer) VALUES(389, 138019, 1800); +INSERT IGNORE INTO acore_world.forge_mythic_instance_key (`instance`, keyid, base_timer) VALUES(34, 138028, 1800); +INSERT IGNORE INTO acore_world.forge_mythic_instance_key (`instance`, keyid, base_timer) VALUES(70, 138023, 1800); +INSERT IGNORE INTO acore_world.forge_mythic_instance_key (`instance`, keyid, base_timer) VALUES(209, 138024, 1800); +INSERT IGNORE INTO acore_world.forge_mythic_instance_key (`instance`, keyid, base_timer) VALUES(389, 138019, 1800); diff --git a/data/sql/custom/db_world/20231014_01.sql b/data/sql/custom/db_world/20231014_01.sql new file mode 100644 index 00000000000000..151dcd1dc30ef8 --- /dev/null +++ b/data/sql/custom/db_world/20231014_01.sql @@ -0,0 +1,19 @@ +CREATE TABLE IF NOT EXISTS `acore_characters`.`forge_character_node_choices` ( + `guid` INT UNSIGNED NOT NULL, + `spec` INT UNSIGNED NOT NULL, + `tabId` INT UNSIGNED NOT NULL, + `node` TINYINT UNSIGNED NOT NULL, + `choice` INT UNSIGNED NOT NULL, + PRIMARY KEY (`guid`, `spec`, `tabId`, `node`)); + +CREATE TABLE IF NOT EXISTS `acore_world`.`forge_talent_choice_nodes` ( + `choiceNodeId` MEDIUMINT UNSIGNED NOT NULL, + `talentTabId` INT UNSIGNED NOT NULL, + `choiceIndex` int unsigned not null, + `choiceSpellId` MEDIUMINT UNSIGNED NOT NULL, + PRIMARY KEY (`choiceNodeId`, `talentTabId`, `choiceSpellId`)); + +INSERT IGNORE INTO acore_world.forge_talent_choice_nodes (choiceNodeId, talentTabId, choiceIndex, choiceSpellId) VALUES(1020011, 1, 1, 1020011); +INSERT IGNORE INTO acore_world.forge_talent_choice_nodes (choiceNodeId, talentTabId, choiceIndex, choiceSpellId) VALUES(1020011, 1, 2, 1020065); +INSERT IGNORE INTO acore_world.forge_talent_choice_nodes (choiceNodeId, talentTabId, choiceIndex, choiceSpellId) VALUES(1020052, 1, 1, 1020052); +INSERT IGNORE INTO acore_world.forge_talent_choice_nodes (choiceNodeId, talentTabId, choiceIndex, choiceSpellId) VALUES(1020052, 1, 2, 1020054); diff --git a/modules/mod-Forge/sql/world/updates/20231106 starter talents.sql b/data/sql/custom/db_world/20231101_01.sql similarity index 69% rename from modules/mod-Forge/sql/world/updates/20231106 starter talents.sql rename to data/sql/custom/db_world/20231101_01.sql index 68d04b904c93de..0e979771d6db1b 100644 --- a/modules/mod-Forge/sql/world/updates/20231106 starter talents.sql +++ b/data/sql/custom/db_world/20231101_01.sql @@ -1,8 +1,8 @@ -drop table if exists `acore_world`.`forge_character_spec_spells`; +DROP TABLE IF EXISTS `acore_world`.`forge_character_spec_spells`; CREATE TABLE `acore_world`.`forge_character_spec_spells` ( `class` INT(10) UNSIGNED NOT NULL, `race` INT(10) UNSIGNED NOT NULL, `level` INT(10) UNSIGNED NOT NULL, `spell` INT(10) UNSIGNED NOT NULL, PRIMARY KEY (`class`, `race`,`spell`) -) COLLATE='utf8_general_ci' ENGINE=InnoDB; \ No newline at end of file +) COLLATE='utf8_general_ci' ENGINE=InnoDB; diff --git a/modules/mod-Forge/sql/world/updates/20231109 charges.sql b/data/sql/custom/db_world/20231109_01.sql similarity index 65% rename from modules/mod-Forge/sql/world/updates/20231109 charges.sql rename to data/sql/custom/db_world/20231109_01.sql index 9ebb02dac3fd40..73ff0a80c6637c 100644 --- a/modules/mod-Forge/sql/world/updates/20231109 charges.sql +++ b/data/sql/custom/db_world/20231109_01.sql @@ -1,5 +1,4 @@ -drop table if exists `acore_world`.`forge_spell_charge`; -CREATE TABLE `acore_world`.`forge_spell_charge` ( +CREATE TABLE IF NOT EXISTS `acore_world`.`forge_spell_charge` ( `spell` INT(10) UNSIGNED NOT NULL, `timer` INT(10) UNSIGNED NOT NULL, `item` INT(10) UNSIGNED NOT NULL, diff --git a/modules/mod-Forge/sql/world/updates/20231122 areatrigger backport.sql b/data/sql/custom/db_world/20231122_01.sql similarity index 99% rename from modules/mod-Forge/sql/world/updates/20231122 areatrigger backport.sql rename to data/sql/custom/db_world/20231122_01.sql index 7f4d7187c0e9f2..cc1f52519637f1 100644 --- a/modules/mod-Forge/sql/world/updates/20231122 areatrigger backport.sql +++ b/data/sql/custom/db_world/20231122_01.sql @@ -869,7 +869,6 @@ INSERT INTO acore_world.areatrigger_template (Id,IsServerSide,`Type`,Flags,Data0 -- acore_world.areatrigger_template_actions definition - DROP TABLE IF EXISTS acore_world.`areatrigger_template_actions`; CREATE TABLE acore_world.`areatrigger_template_actions` ( `AreaTriggerId` int unsigned NOT NULL, diff --git a/modules/mod-Forge/sql/world/updates/20231203 jump charge spell effect.sql b/data/sql/custom/db_world/20231203_01.sql similarity index 72% rename from modules/mod-Forge/sql/world/updates/20231203 jump charge spell effect.sql rename to data/sql/custom/db_world/20231203_01.sql index 3acc8b0516231e..491dbe67a96b8b 100644 --- a/modules/mod-Forge/sql/world/updates/20231203 jump charge spell effect.sql +++ b/data/sql/custom/db_world/20231203_01.sql @@ -1,5 +1,4 @@ -DROP TABLE IF EXISTS `acore_world`.`forge_spell_jump_charge_params`; -CREATE TABLE `acore_world`.`forge_spell_jump_charge_params` ( +CREATE TABLE IF NOT EXISTS `acore_world`.`forge_spell_jump_charge_params` ( `id` INT UNSIGNED NOT NULL, `speed` FLOAT NOT NULL DEFAULT '42', `treatSpeedAsMoveTimeSeconds` TINYINT(1) NOT NULL DEFAULT '0', diff --git a/modules/mod-Forge/sql/world/updates/20231204 areatrigger tables.sql b/data/sql/custom/db_world/20231204_01.sql similarity index 99% rename from modules/mod-Forge/sql/world/updates/20231204 areatrigger tables.sql rename to data/sql/custom/db_world/20231204_01.sql index 5f28dd63a3c8b4..6dd32efc3833e3 100644 --- a/modules/mod-Forge/sql/world/updates/20231204 areatrigger tables.sql +++ b/data/sql/custom/db_world/20231204_01.sql @@ -1,7 +1,5 @@ /*Table structure for table `areatrigger_create_properties` */ - -DROP TABLE IF EXISTS `areatrigger_create_properties`; - +DROP TABLE IF EXISTS acore_world.`areatrigger_create_properties`; CREATE TABLE `areatrigger_create_properties` ( `Id` int unsigned NOT NULL, `AreaTriggerId` int unsigned NOT NULL, @@ -30,7 +28,7 @@ CREATE TABLE `areatrigger_create_properties` ( /*Data for the table `areatrigger_create_properties` */ -insert into `areatrigger_create_properties`(`Id`,`AreaTriggerId`,`MoveCurveId`,`ScaleCurveId`,`MorphCurveId`,`FacingCurveId`,`AnimId`,`AnimKitId`,`DecalPropertiesId`,`TimeToTarget`,`TimeToTargetScale`,`Shape`,`ShapeData0`,`ShapeData1`,`ShapeData2`,`ShapeData3`,`ShapeData4`,`ShapeData5`,`ShapeData6`,`ShapeData7`,`ScriptName`,`VerifiedBuild`) values +insert into `areatrigger_create_properties`(`Id`,`AreaTriggerId`,`MoveCurveId`,`ScaleCurveId`,`MorphCurveId`,`FacingCurveId`,`AnimId`,`AnimKitId`,`DecalPropertiesId`,`TimeToTarget`,`TimeToTargetScale`,`Shape`,`ShapeData0`,`ShapeData1`,`ShapeData2`,`ShapeData3`,`ShapeData4`,`ShapeData5`,`ShapeData6`,`ShapeData7`,`ScriptName`,`VerifiedBuild`) values (4462,9202,1466,0,0,0,-1,0,0,2889,3000,4,1.5,1.5,3.5,3.5,0.3,0.3,0,0,'',38134), (337,3153,0,0,0,0,-1,0,0,0,600000,0,3,3,0,0,0,0,0,0,'at_pri_angelic_feather',52188), (2561,7170,0,0,0,0,-1,0,0,0,10000,0,4,4,0,0,0,0,0,0,'',48999), @@ -2742,9 +2740,7 @@ insert into `areatrigger_create_properties`(`Id`,`AreaTriggerId`,`MoveCurveId`, (28444,32293,0,0,0,0,-1,0,0,0,20000,0,18,18,0,0,0,0,0,0,'',52188); /*Table structure for table `areatrigger_create_properties_orbit` */ - -DROP TABLE IF EXISTS `areatrigger_create_properties_orbit`; - +DROP TABLE IF EXISTS acore_world.`areatrigger_create_properties_orbit`; CREATE TABLE `areatrigger_create_properties_orbit` ( `AreaTriggerCreatePropertiesId` int unsigned NOT NULL, `StartDelay` int unsigned NOT NULL DEFAULT '0', @@ -2792,9 +2788,7 @@ insert into `areatrigger_create_properties_orbit`(`AreaTriggerCreatePropertiesI (2147861365,0,6,0,0,0,0,1,52301); /*Table structure for table `areatrigger_create_properties_polygon_vertex` */ - -DROP TABLE IF EXISTS `areatrigger_create_properties_polygon_vertex`; - +DROP TABLE IF EXISTS acore_world.`areatrigger_create_properties_polygon_vertex`; CREATE TABLE `areatrigger_create_properties_polygon_vertex` ( `AreaTriggerCreatePropertiesId` int unsigned NOT NULL, `Idx` int unsigned NOT NULL, @@ -4497,9 +4491,7 @@ insert into `areatrigger_create_properties_polygon_vertex`(`AreaTriggerCreatePr (2147904063,0,-0.8,1.08,NULL,NULL,52188); /*Table structure for table `areatrigger_create_properties_spline_point` */ - -DROP TABLE IF EXISTS `areatrigger_create_properties_spline_point`; - +DROP TABLE IF EXISTS acore_world.`areatrigger_create_properties_spline_point`; CREATE TABLE `areatrigger_create_properties_spline_point` ( `AreaTriggerCreatePropertiesId` int unsigned NOT NULL, `Idx` int unsigned NOT NULL, @@ -8191,7 +8183,6 @@ insert into `areatrigger_create_properties_spline_point`(`AreaTriggerCreateProp /*Table structure for table `areatrigger_template` */ DROP TABLE IF EXISTS `areatrigger_template`; - CREATE TABLE `areatrigger_template` ( `Id` int unsigned NOT NULL, `IsServerSide` tinyint unsigned NOT NULL, @@ -11316,9 +11307,7 @@ insert into `areatrigger_template`(`Id`,`IsServerSide`,`Type`,`Flags`,`Data0`,` (34027,0,0,0,1,1,0,0,0,0,0,0,52301); /*Table structure for table `areatrigger_template_actions` */ - -DROP TABLE IF EXISTS `areatrigger_template_actions`; - +DROP TABLE IF EXISTS acore_world.`areatrigger_template_actions`; CREATE TABLE `areatrigger_template_actions` ( `AreaTriggerId` int unsigned NOT NULL, `IsServerSide` tinyint unsigned NOT NULL, @@ -11397,9 +11386,7 @@ insert into `areatrigger_template_actions`(`AreaTriggerId`,`IsServerSide`,`Acti (30743,0,0,388072,1); /*Table structure for table `areatrigger_template_auras` */ - -DROP TABLE IF EXISTS `areatrigger_template_auras`; - +DROP TABLE IF EXISTS acore_world.`areatrigger_template_auras`; CREATE TABLE `areatrigger_template_auras` ( `AreaTriggerId` int unsigned NOT NULL, `AuraId` int unsigned NOT NULL, @@ -11410,9 +11397,7 @@ CREATE TABLE `areatrigger_template_auras` ( /*Data for the table `areatrigger_template_auras` */ /*Table structure for table `areatrigger_template_splines` */ - -DROP TABLE IF EXISTS `areatrigger_template_splines`; - +DROP TABLE IF EXISTS acore_world.`areatrigger_template_splines`; CREATE TABLE `areatrigger_template_splines` ( `MoveCurveId` int unsigned NOT NULL, `Idx` int unsigned NOT NULL, diff --git a/modules/mod-Forge/sql/world/updates/20231210 unlearn flags and additional spells.sql b/data/sql/custom/db_world/20231210_01.sql similarity index 53% rename from modules/mod-Forge/sql/world/updates/20231210 unlearn flags and additional spells.sql rename to data/sql/custom/db_world/20231210_01.sql index ba69e87f3eeabb..2a8181e7da081d 100644 --- a/modules/mod-Forge/sql/world/updates/20231210 unlearn flags and additional spells.sql +++ b/data/sql/custom/db_world/20231210_01.sql @@ -1,12 +1,10 @@ -drop table if exists acore_world.`forge_talent_spell_flagged_unlearn`; -CREATE TABLE acore_world.`forge_talent_spell_flagged_unlearn` ( +CREATE TABLE IF NOT EXISTS acore_world.`forge_talent_spell_flagged_unlearn` ( `guid` int unsigned NOT NULL, `spell` int unsigned NOT NULL, PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -drop table if exists acore_world.`forge_talent_learn_additional_spell`; -CREATE TABLE acore_world.`forge_talent_learn_additional_spell` ( +CREATE TABLE IF NOT EXISTS acore_world.`forge_talent_learn_additional_spell` ( `spell` int unsigned NOT NULL, `addedSpell` int unsigned NOT NULL, PRIMARY KEY (`spell`) diff --git a/data/sql/custom/db_world/20240108_01.sql b/data/sql/custom/db_world/20240108_01.sql index 554a86f53f05d6..07bebfbeaf8f6a 100644 --- a/data/sql/custom/db_world/20240108_01.sql +++ b/data/sql/custom/db_world/20240108_01.sql @@ -1,15 +1,89 @@ drop table if exists `acore_world`.`forge_item_slot_value`; -CREATE table `acore_world`.`forge_item_slot_value` ( +CREATE TABLE `acore_world`.`forge_item_slot_value` ( `id` int unsigned NOT NULL, - `value` int unsigned not null, - `name` varchar(45) COLLATE utf8mb4_general_ci NOT NULL, + `value` decimal(10,2) NOT NULL, + `name` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(1, 1.00, 'Head'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(2, 0.56, 'Neck'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(3, 0.75, 'Shoulders'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(5, 1.00, 'Chest'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(6, 0.75, 'Waist'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(7, 1.00, 'Legs'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(8, 0.75, 'Feet'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(9, 0.56, 'Wrists'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(10, 0.75, 'Hands'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(11, 0.56, 'Finger'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(12, 0.68, 'Trinket'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(13, 0.42, '1-Hander'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(14, 0.56, 'Shield'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(15, 0.32, 'Ranged Weapon'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(16, 0.56, 'Cloak'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(17, 1.00, '2-Hander'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(20, 1.00, 'Robe'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(21, 0.42, 'Mainhand Weapon'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(22, 0.42, 'Offhand Weapon'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(23, 0.56, 'Held Offhand'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(25, 0.32, 'Thrown'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(26, 0.32, 'Wand'); +INSERT INTO acore_world.forge_item_slot_value (id, value, name) VALUES(28, 0.30, 'Relic'); + drop table if exists `acore_world`.`forge_item_stat_value`; CREATE table `acore_world`.`forge_item_stat_value` ( `id` int unsigned NOT NULL, - `value` int unsigned not null, - `name` varchar(45) COLLATE utf8mb4_general_ci NOT NULL, + `value` decimal(10,2) NOT NULL, + `name` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; \ No newline at end of file +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +INSERT INTO acore_world.forge_item_stat_value (id, value, name) VALUES(3, 1.00, 'Agility'); +INSERT INTO acore_world.forge_item_stat_value (id, value, name) VALUES(7, 0.66, 'Stamina'); +INSERT INTO acore_world.forge_item_stat_value (id, value, name) VALUES(4, 1.00, 'Strength'); +INSERT INTO acore_world.forge_item_stat_value (id, value, name) VALUES(5, 1.00, 'Intellect'); +INSERT INTO acore_world.forge_item_stat_value (id, value, name) VALUES(12, 1.00, 'Defense'); +INSERT INTO acore_world.forge_item_stat_value (id, value, name) VALUES(13, 1.00, 'Dodge'); +INSERT INTO acore_world.forge_item_stat_value (id, value, name) VALUES(14, 1.00, 'Parry'); +INSERT INTO acore_world.forge_item_stat_value (id, value, name) VALUES(15, 1.00, 'Block'); +INSERT INTO acore_world.forge_item_stat_value (id, value, name) VALUES(31, 1.00, 'Hit'); +INSERT INTO acore_world.forge_item_stat_value (id, value, name) VALUES(32, 1.00, 'Crit'); +INSERT INTO acore_world.forge_item_stat_value (id, value, name) VALUES(35, 0.07, 'Armor'); +INSERT INTO acore_world.forge_item_stat_value (id, value, name) VALUES(36, 1.00, 'Haste'); +INSERT INTO acore_world.forge_item_stat_value (id, value, name) VALUES(38, 0.50, 'AP'); +INSERT INTO acore_world.forge_item_stat_value (id, value, name) VALUES(43, 2.50, 'MP5'); +INSERT INTO acore_world.forge_item_stat_value (id, value, name) VALUES(45, 0.86, 'SP'); +INSERT INTO acore_world.forge_item_stat_value (id, value, name) VALUES(48, 0.33, 'Block Value'); + + +drop table if exists `acore_world`.`forge_item_stat_pool`; +CREATE TABLE `acore_world`.`forge_item_stat_pool` ( + `id` int unsigned NOT NULL, + `stat` int unsigned NOT NULL, + `name` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + PRIMARY KEY (`id`,`stat`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(4, 31, 'STR DPS HIT'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(4, 36, 'STR DPS HASTE'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(4, 32, 'STR DPS CRIT'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(4, 38, 'STR DPS AP'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(3, 31, 'AGI DPS HIT'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(3, 36, 'AGI DPS HASTE'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(3, 32, 'AGI DPS CRIT'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(3, 38, 'AGI DPS AP'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(5, 31, 'INT DPS HIT'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(5, 36, 'INT DPS HASTE'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(5, 32, 'INT DPS CRIT'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(5, 45, 'INT DPS SP'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(5, 43, 'INT DPS MP5'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(10, 31, 'AGI TANK HIT'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(10, 36, 'AGI TANK HASTE'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(10, 32, 'AGI TANK CRIT'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(10, 38, 'AGI TANK AP'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(10, 13, 'AGI TANK DODGE'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(11, 13, 'STR TANK DODGE'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(11, 14, 'STR TANK PARRY'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(11, 15, 'STR TANK BLOCK'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(11, 12, 'STR TANK DEF'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(11, 31, 'STR TANK HIT'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(11, 32, 'STR TANK CRIT'); +INSERT INTO acore_world.forge_item_stat_pool (id, stat, name) VALUES(11, 48, 'STR TANK BLOCK VALUE'); diff --git a/data/sql/custom/db_world/20240202_01.sql b/data/sql/custom/db_world/20240202_01.sql new file mode 100644 index 00000000000000..d07df2af354932 --- /dev/null +++ b/data/sql/custom/db_world/20240202_01.sql @@ -0,0 +1,156 @@ +CREATE TABLE IF NOT EXISTS acore_characters.`custom_item_template` ( + `entry` mediumint unsigned NOT NULL DEFAULT '0', + `class` tinyint unsigned NOT NULL DEFAULT '0', + `subclass` tinyint unsigned NOT NULL DEFAULT '0', + `SoundOverrideSubclass` tinyint NOT NULL DEFAULT '-1', + `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '', + `displayid` mediumint unsigned NOT NULL DEFAULT '0', + `Quality` tinyint unsigned NOT NULL DEFAULT '0', + `Flags` int unsigned NOT NULL DEFAULT '0', + `FlagsExtra` int unsigned NOT NULL DEFAULT '0', + `BuyCount` tinyint unsigned NOT NULL DEFAULT '1', + `BuyPrice` bigint NOT NULL DEFAULT '0', + `SellPrice` int unsigned NOT NULL DEFAULT '0', + `InventoryType` tinyint unsigned NOT NULL DEFAULT '0', + `AllowableClass` int NOT NULL DEFAULT '-1', + `AllowableRace` int NOT NULL DEFAULT '-1', + `ItemLevel` smallint unsigned NOT NULL DEFAULT '0', + `RequiredLevel` tinyint unsigned NOT NULL DEFAULT '0', + `RequiredSkill` smallint unsigned NOT NULL DEFAULT '0', + `RequiredSkillRank` smallint unsigned NOT NULL DEFAULT '0', + `requiredspell` mediumint unsigned NOT NULL DEFAULT '0', + `requiredhonorrank` mediumint unsigned NOT NULL DEFAULT '0', + `RequiredCityRank` mediumint unsigned NOT NULL DEFAULT '0', + `RequiredReputationFaction` smallint unsigned NOT NULL DEFAULT '0', + `RequiredReputationRank` smallint unsigned NOT NULL DEFAULT '0', + `maxcount` int NOT NULL DEFAULT '0', + `stackable` int DEFAULT '1', + `ContainerSlots` tinyint unsigned NOT NULL DEFAULT '0', + `StatsCount` tinyint unsigned NOT NULL DEFAULT '0', + `stat_type1` tinyint unsigned NOT NULL DEFAULT '0', + `stat_value1` smallint NOT NULL DEFAULT '0', + `stat_value1_max` smallint NOT NULL DEFAULT '0', + `stat_type2` tinyint unsigned NOT NULL DEFAULT '0', + `stat_value2` smallint NOT NULL DEFAULT '0', + `stat_value2_max` smallint NOT NULL DEFAULT '0', + `stat_type3` tinyint unsigned NOT NULL DEFAULT '0', + `stat_value3` smallint NOT NULL DEFAULT '0', + `stat_value3_max` smallint NOT NULL DEFAULT '0', + `stat_type4` tinyint unsigned NOT NULL DEFAULT '0', + `stat_value4` smallint NOT NULL DEFAULT '0', + `stat_value4_max` smallint NOT NULL DEFAULT '0', + `stat_type5` tinyint unsigned NOT NULL DEFAULT '0', + `stat_value5` smallint NOT NULL DEFAULT '0', + `stat_value5_max` smallint NOT NULL DEFAULT '0', + `stat_type6` tinyint unsigned NOT NULL DEFAULT '0', + `stat_value6` smallint NOT NULL DEFAULT '0', + `stat_value6_max` smallint NOT NULL DEFAULT '0', + `stat_type7` tinyint unsigned NOT NULL DEFAULT '0', + `stat_value7` smallint NOT NULL DEFAULT '0', + `stat_value7_max` smallint NOT NULL DEFAULT '0', + `stat_type8` tinyint unsigned NOT NULL DEFAULT '0', + `stat_value8` smallint NOT NULL DEFAULT '0', + `stat_value8_max` smallint NOT NULL DEFAULT '0', + `stat_type9` tinyint unsigned NOT NULL DEFAULT '0', + `stat_value9` smallint NOT NULL DEFAULT '0', + `stat_value9_max` smallint NOT NULL DEFAULT '0', + `stat_type10` tinyint unsigned NOT NULL DEFAULT '0', + `stat_value10` smallint NOT NULL DEFAULT '0', + `stat_value10_max` smallint NOT NULL DEFAULT '0', + `ScalingStatDistribution` smallint NOT NULL DEFAULT '0', + `ScalingStatValue` int unsigned NOT NULL DEFAULT '0', + `dmg_min1` float NOT NULL DEFAULT '0', + `dmg_max1` float NOT NULL DEFAULT '0', + `dmg_type1` tinyint unsigned NOT NULL DEFAULT '0', + `dmg_min2` float NOT NULL DEFAULT '0', + `dmg_max2` float NOT NULL DEFAULT '0', + `dmg_type2` tinyint unsigned NOT NULL DEFAULT '0', + `armor` smallint unsigned NOT NULL DEFAULT '0', + `holy_res` tinyint unsigned NOT NULL DEFAULT '0', + `fire_res` tinyint unsigned NOT NULL DEFAULT '0', + `nature_res` tinyint unsigned NOT NULL DEFAULT '0', + `frost_res` tinyint unsigned NOT NULL DEFAULT '0', + `shadow_res` tinyint unsigned NOT NULL DEFAULT '0', + `arcane_res` tinyint unsigned NOT NULL DEFAULT '0', + `delay` smallint unsigned NOT NULL DEFAULT '1000', + `ammo_type` tinyint unsigned NOT NULL DEFAULT '0', + `RangedModRange` float NOT NULL DEFAULT '0', + `spellid_1` mediumint NOT NULL DEFAULT '0', + `spelltrigger_1` tinyint unsigned NOT NULL DEFAULT '0', + `spellcharges_1` smallint NOT NULL DEFAULT '0', + `spellppmRate_1` float NOT NULL DEFAULT '0', + `spellcooldown_1` int NOT NULL DEFAULT '-1', + `spellcategory_1` smallint unsigned NOT NULL DEFAULT '0', + `spellcategorycooldown_1` int NOT NULL DEFAULT '-1', + `spellid_2` mediumint NOT NULL DEFAULT '0', + `spelltrigger_2` tinyint unsigned NOT NULL DEFAULT '0', + `spellcharges_2` smallint NOT NULL DEFAULT '0', + `spellppmRate_2` float NOT NULL DEFAULT '0', + `spellcooldown_2` int NOT NULL DEFAULT '-1', + `spellcategory_2` smallint unsigned NOT NULL DEFAULT '0', + `spellcategorycooldown_2` int NOT NULL DEFAULT '-1', + `spellid_3` mediumint NOT NULL DEFAULT '0', + `spelltrigger_3` tinyint unsigned NOT NULL DEFAULT '0', + `spellcharges_3` smallint NOT NULL DEFAULT '0', + `spellppmRate_3` float NOT NULL DEFAULT '0', + `spellcooldown_3` int NOT NULL DEFAULT '-1', + `spellcategory_3` smallint unsigned NOT NULL DEFAULT '0', + `spellcategorycooldown_3` int NOT NULL DEFAULT '-1', + `spellid_4` mediumint NOT NULL DEFAULT '0', + `spelltrigger_4` tinyint unsigned NOT NULL DEFAULT '0', + `spellcharges_4` smallint NOT NULL DEFAULT '0', + `spellppmRate_4` float NOT NULL DEFAULT '0', + `spellcooldown_4` int NOT NULL DEFAULT '-1', + `spellcategory_4` smallint unsigned NOT NULL DEFAULT '0', + `spellcategorycooldown_4` int NOT NULL DEFAULT '-1', + `spellid_5` mediumint NOT NULL DEFAULT '0', + `spelltrigger_5` tinyint unsigned NOT NULL DEFAULT '0', + `spellcharges_5` smallint NOT NULL DEFAULT '0', + `spellppmRate_5` float NOT NULL DEFAULT '0', + `spellcooldown_5` int NOT NULL DEFAULT '-1', + `spellcategory_5` smallint unsigned NOT NULL DEFAULT '0', + `spellcategorycooldown_5` int NOT NULL DEFAULT '-1', + `bonding` tinyint unsigned NOT NULL DEFAULT '0', + `description` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '', + `PageText` mediumint unsigned NOT NULL DEFAULT '0', + `LanguageID` tinyint unsigned NOT NULL DEFAULT '0', + `PageMaterial` tinyint unsigned NOT NULL DEFAULT '0', + `startquest` mediumint unsigned NOT NULL DEFAULT '0', + `lockid` mediumint unsigned NOT NULL DEFAULT '0', + `Material` tinyint NOT NULL DEFAULT '0', + `sheath` tinyint unsigned NOT NULL DEFAULT '0', + `RandomProperty` mediumint NOT NULL DEFAULT '0', + `RandomSuffix` mediumint unsigned NOT NULL DEFAULT '0', + `block` mediumint unsigned NOT NULL DEFAULT '0', + `itemset` mediumint unsigned NOT NULL DEFAULT '0', + `MaxDurability` smallint unsigned NOT NULL DEFAULT '0', + `area` mediumint unsigned NOT NULL DEFAULT '0', + `Map` smallint NOT NULL DEFAULT '0', + `BagFamily` mediumint NOT NULL DEFAULT '0', + `TotemCategory` mediumint NOT NULL DEFAULT '0', + `socketColor_1` tinyint NOT NULL DEFAULT '0', + `socketContent_1` mediumint NOT NULL DEFAULT '0', + `socketColor_2` tinyint NOT NULL DEFAULT '0', + `socketContent_2` mediumint NOT NULL DEFAULT '0', + `socketColor_3` tinyint NOT NULL DEFAULT '0', + `socketContent_3` mediumint NOT NULL DEFAULT '0', + `socketBonus` mediumint NOT NULL DEFAULT '0', + `GemProperties` mediumint NOT NULL DEFAULT '0', + `RequiredDisenchantSkill` smallint NOT NULL DEFAULT '-1', + `ArmorDamageModifier` float NOT NULL DEFAULT '0', + `duration` int unsigned NOT NULL DEFAULT '0', + `ItemLimitCategory` smallint NOT NULL DEFAULT '0', + `HolidayId` int unsigned NOT NULL DEFAULT '0', + `ScriptName` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '', + `DisenchantID` mediumint unsigned NOT NULL DEFAULT '0', + `FoodType` tinyint unsigned NOT NULL DEFAULT '0', + `minMoneyLoot` int unsigned NOT NULL DEFAULT '0', + `maxMoneyLoot` int unsigned NOT NULL DEFAULT '0', + `flagsCustom` int unsigned NOT NULL DEFAULT '0', + `itemSlotValue` float unsigned NOT NULL, + `dmg_min1_max` float NOT NULL DEFAULT '0', + `dmg_max1_max` float NOT NULL DEFAULT '0', + `dmg_min2_max` float NOT NULL DEFAULT '0', + `dmg_max2_max` float NOT NULL DEFAULT '0', + PRIMARY KEY (`entry`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; \ No newline at end of file diff --git a/modules/mod-Forge/sql/world/base/structure.sql b/modules/mod-Forge/sql/world/base/structure.sql deleted file mode 100644 index 80ef101e10031b..00000000000000 --- a/modules/mod-Forge/sql/world/base/structure.sql +++ /dev/null @@ -1,183 +0,0 @@ -DROP TABLE IF EXISTS `acore_world`.`forge_talents`; -DROP TABLE IF EXISTS `acore_world`.`forge_talent_ranks`; -DROP TABLE IF EXISTS `acore_world`.`forge_talent_tabs`; -DROP TABLE IF EXISTS `acore_world`.`forge_talent_prereq`; -DROP TABLE IF EXISTS `acore_world`.`forge_talent_exclusive`; -DROP TABLE IF EXISTS `acore_world`.`forge_talent_unlearn`; -DROP TABLE IF EXISTS `acore_world`.`forge_player_spell_scale`; - -CREATE TABLE `acore_world`.`forge_talents` ( - `spellid` MEDIUMINT UNSIGNED NOT NULL, - `talentTabId` INT UNSIGNED NOT NULL, - `columnIndex` INT UNSIGNED NOT NULL, - `rowIndex` INT UNSIGNED NOT NULL, - `rankCost` TINYINT UNSIGNED NOT NULL, - `minLevel` TINYINT UNSIGNED NOT NULL, - `talentType` TINYINT UNSIGNED NOT NULL, - `numberRanks` TINYINT UNSIGNED NOT NULL, - `preReqType` TINYINT UNSIGNED NOT NULL, - PRIMARY KEY (`spellid`, `talentTabId`), - UNIQUE KEY `UniqueKey` (`talentTabId`, `columnIndex`, `rowIndex`)); - -CREATE TABLE `acore_world`.`forge_talent_ranks` ( - `talentSpellId` MEDIUMINT UNSIGNED NOT NULL, - `talentTabId` INT UNSIGNED NOT NULL, - `rank` INT UNSIGNED NOT NULL, - `spellId` MEDIUMINT UNSIGNED NULL, - PRIMARY KEY (`talentSpellId`, `talentTabId`, `rank`)); - -CREATE TABLE `acore_world`.`forge_talent_tabs` ( - `id` INT UNSIGNED NOT NULL, - `classMask` INT UNSIGNED NOT NULL, - `raceMask` INT UNSIGNED NOT NULL, - `name` VARCHAR(100) NOT NULL, - `spellIcon` MEDIUMINT UNSIGNED NOT NULL, - `background` TEXT NOT NULL, - `tabType` INT UNSIGNED NOT NULL, - `TabIndex` INT UNSIGNED NOT NULL, - PRIMARY KEY (`id`)); - -CREATE TABLE `acore_world`.`forge_talent_prereq` ( - `reqId` INT UNSIGNED NOT NULL, - `spellid` MEDIUMINT UNSIGNED NOT NULL, - `talentTabId` INT UNSIGNED NOT NULL, - `reqTalent` MEDIUMINT UNSIGNED NOT NULL, - `reqTalentTabId` INT UNSIGNED NOT NULL, - `reqRank` INT UNSIGNED NOT NULL, - PRIMARY KEY (`reqId`, `spellid`, `talentTabId`)); - - -CREATE TABLE `acore_world`.`forge_talent_exclusive` ( - `talentSpellId` MEDIUMINT UNSIGNED NOT NULL, - `talentTabId` INT UNSIGNED NOT NULL, - `exlusiveSpellId` MEDIUMINT UNSIGNED NOT NULL, - PRIMARY KEY (`talentSpellId`, `talentTabId`, `exlusiveSpellId`)); - - - CREATE TABLE `acore_world`.`forge_talent_unlearn` ( - `talentTabId` INT UNSIGNED NOT NULL, - `talentSpellId` MEDIUMINT UNSIGNED NOT NULL, - `unlearnSpell` MEDIUMINT UNSIGNED NOT NULL, - PRIMARY KEY (`talentTabId`, `talentSpellId`, `unlearnSpell`)); - -CREATE TABLE IF NOT EXISTS `acore_world`.`forge_config` ( - `cfgName` VARCHAR(80) NOT NULL, - `cfgValue` INT UNSIGNED NOT NULL, - PRIMARY KEY (`cfgName`)); - -CREATE TABLE IF NOT EXISTS `acore_world`.`forge_prestige_ignored_spells` ( - `spellid` INT UNSIGNED NOT NULL, - PRIMARY KEY (`spellid`)); - -CREATE TABLE `acore_world`.`forge_player_spell_scale` ( - `ID` INT NOT NULL DEFAULT '0', - `Data` FLOAT NOT NULL DEFAULT '0', - PRIMARY KEY (`ID`)) ENGINE=MyISAM - DEFAULT CHARSET=utf8; - -INSERT IGNORE INTO `acore_world`.`forge_config` (`cfgName`, `cfgValue`) VALUES ('scrapsPerLevelMod', 1); -INSERT IGNORE INTO `acore_world`.`forge_config` (`cfgName`, `cfgValue`) VALUES ('levelMod', 2); -INSERT IGNORE INTO `acore_world`.`forge_config` (`cfgName`, `cfgValue`) VALUES ('level10ForgePoints', 30); - -DELETE FROM acore_world.playercreateinfo_skills WHERE comment LIKE '%Racial%'; - -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (1,0.193); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (2,0.216); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (3,0.264); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (4,0.31); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (5,0.31); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (6,0.395); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (7,0.436); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (8,0.475); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (9,0.514); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (10,0.552); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (11,0.588); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (12,0.625); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (13,0.661); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (14,0.696); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (15,0.766); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (16,0.8); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (17,0.835); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (18,0.885); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (19,0.919); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (20,1); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (21,1.034); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (22,1.067); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (23,1.101); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (24,1.165); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (25,1.229); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (26,1.278); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (27,1.328); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (28,1.405); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (29,1.522); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (30,1.612); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (31,1.662); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (32,1.752); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (33,1.805); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (34,1.858); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (35,1.964); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (36,2.032); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (37,2.126); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (38,2.196); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (39,2.292); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (40,2.351); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (41,2.446); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (42,2.506); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (43,2.626); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (44,2.686); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (45,2.782); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (46,2.854); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (47,2.95); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (48,3.012); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (49,3.074); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (50,3.195); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (51,3.269); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (52,3.378); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (53,3.475); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (54,3.583); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (55,3.658); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (56,3.788); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (57,3.863); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (58,3.972); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (59,4.048); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (60,4.167); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (61,4.266); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (62,4.4); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (63,4.514); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (64,4.662); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (65,4.768); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (66,4.908); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (67,5.016); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (68,5.169); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (69,5.292); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (70,5.437); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (71,5.593); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (72,5.709); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (73,5.858); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (74,5.998); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (75,6.15); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (76,6.282); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (77,6.415); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (78,6.594); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (79,6.762); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (80,6.899); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (81,7.082); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (82,7.222); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (83,7.376); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (84,7.552); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (85,7.697); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (86,7.876); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (87,8.024); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (88,8.196); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (89,8.347); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (90,8.533); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (91,8.741); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (92,8.898); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (93,9.055); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (94,9.215); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (95,9.408); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (96,9.572); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (97,9.736); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (98,9.902); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (99,10.091); -INSERT INTO `acore_world`.`forge_player_spell_scale` VALUES (100,10.293); diff --git a/modules/mod-Forge/sql/world/updates/20231014 nodeType to forge talent and choices.sql b/modules/mod-Forge/sql/world/updates/20231014 nodeType to forge talent and choices.sql deleted file mode 100644 index b319bd56158f06..00000000000000 --- a/modules/mod-Forge/sql/world/updates/20231014 nodeType to forge talent and choices.sql +++ /dev/null @@ -1,26 +0,0 @@ -DROP TABLE IF EXISTS `acore_world`.`forge_talent_exclusive`; -DROP TABLE IF EXISTS `acore_characters`.`forge_character_node_choices`; -CREATE TABLE `acore_characters`.`forge_character_node_choices` ( - `guid` INT UNSIGNED NOT NULL, - `spec` INT UNSIGNED NOT NULL, - `tabId` INT UNSIGNED NOT NULL, - `node` TINYINT UNSIGNED NOT NULL, - `choice` INT UNSIGNED NOT NULL, - PRIMARY KEY (`guid`, `spec`, `tabId`, `node`)); - -DROP TABLE IF EXISTS `acore_world`.`forge_talent_choice_nodes`; -CREATE TABLE `acore_world`.`forge_talent_choice_nodes` ( - `choiceNodeId` MEDIUMINT UNSIGNED NOT NULL, - `talentTabId` INT UNSIGNED NOT NULL, - `choiceIndex` int unsigned not null, - `choiceSpellId` MEDIUMINT UNSIGNED NOT NULL, - PRIMARY KEY (`choiceNodeId`, `talentTabId`, `choiceSpellId`)); - - ALTER TABLE `acore_world`.`forge_talents` - ADD COLUMN `nodeType` TINYINT NOT null default 0; - - -INSERT INTO acore_world.forge_talent_choice_nodes (choiceNodeId, talentTabId, choiceIndex, choiceSpellId) VALUES(1020011, 1, 1, 1020011); -INSERT INTO acore_world.forge_talent_choice_nodes (choiceNodeId, talentTabId, choiceIndex, choiceSpellId) VALUES(1020011, 1, 2, 1020065); -INSERT INTO acore_world.forge_talent_choice_nodes (choiceNodeId, talentTabId, choiceIndex, choiceSpellId) VALUES(1020052, 1, 1, 1020052); -INSERT INTO acore_world.forge_talent_choice_nodes (choiceNodeId, talentTabId, choiceIndex, choiceSpellId) VALUES(1020052, 1, 2, 1020054); diff --git a/modules/mod-Forge/sql/world/updates/20231101 talent spec select.sql b/modules/mod-Forge/sql/world/updates/20231101 talent spec select.sql deleted file mode 100644 index c0ca9db6d45685..00000000000000 --- a/modules/mod-Forge/sql/world/updates/20231101 talent spec select.sql +++ /dev/null @@ -1,18 +0,0 @@ -drop table if exists `acore_world`.`forge_character_spec_spells`; -CREATE TABLE `acore_world`.`forge_character_spec_spells` ( - `class` INT(10) UNSIGNED NOT NULL, - `tab` INT(10) UNSIGNED NOT NULL, - `level` INT(10) UNSIGNED NOT NULL, - `spell` INT(10) UNSIGNED NOT NULL, - PRIMARY KEY (`class`,`tab`,`spell`) -) COLLATE='utf8_general_ci' ENGINE=InnoDB; - -INSERT INTO acore_world.forge_character_spec_spells (class, tab, `level`, spell) VALUES(6, 834, 10, 1); -INSERT INTO acore_world.forge_character_spec_spells (class, tab, `level`, spell) VALUES(6, 834, 10, 3); -INSERT INTO acore_world.forge_character_spec_spells (class, tab, `level`, spell) VALUES(6, 834, 10, 4); -INSERT INTO acore_world.forge_character_spec_spells (class, tab, `level`, spell) VALUES(6, 835, 10, 1); -INSERT INTO acore_world.forge_character_spec_spells (class, tab, `level`, spell) VALUES(6, 835, 10, 3); -INSERT INTO acore_world.forge_character_spec_spells (class, tab, `level`, spell) VALUES(6, 835, 10, 4); -INSERT INTO acore_world.forge_character_spec_spells (class, tab, `level`, spell) VALUES(6, 836, 10, 1); -INSERT INTO acore_world.forge_character_spec_spells (class, tab, `level`, spell) VALUES(6, 836, 10, 3); -INSERT INTO acore_world.forge_character_spec_spells (class, tab, `level`, spell) VALUES(6, 836, 10, 4); diff --git a/modules/mod-Forge/sql/world/updates/20231115 update tabs to add description.sql b/modules/mod-Forge/sql/world/updates/20231115 update tabs to add description.sql deleted file mode 100644 index 386cfdeefb84ad..00000000000000 --- a/modules/mod-Forge/sql/world/updates/20231115 update tabs to add description.sql +++ /dev/null @@ -1,3 +0,0 @@ -Alter table `acore_world`.`forge_talent_tabs` add `description` VARCHAR(1000) after `background`; -Alter table `acore_world`.`forge_talent_tabs` add `role` tinyint(1) default 0 after `description`; -Alter table `acore_world`.`forge_talent_tabs` add `spellString` varchar(255) after `role`; \ No newline at end of file diff --git a/modules/mod-Forge/sql/world/updates/20231204 nodeindex.sql b/modules/mod-Forge/sql/world/updates/20231204 nodeindex.sql deleted file mode 100644 index 840572f83d5910..00000000000000 --- a/modules/mod-Forge/sql/world/updates/20231204 nodeindex.sql +++ /dev/null @@ -1 +0,0 @@ - ALTER TABLE `acore_world`.`forge_talents`ADD COLUMN `nodeIndex` INT; \ No newline at end of file diff --git a/modules/mod-Forge/sql/world/updates/Tab_PointsSpentInTreeRequirement.sql b/modules/mod-Forge/sql/world/updates/Tab_PointsSpentInTreeRequirement.sql deleted file mode 100644 index 86db73f45e1c2d..00000000000000 --- a/modules/mod-Forge/sql/world/updates/Tab_PointsSpentInTreeRequirement.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE acore_world.`forge_talents` - ADD COLUMN `tabPointReq` INT NOT null default 5; \ No newline at end of file