aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-08-13 00:31:39 +0200
committerShauren <shauren.trinity@gmail.com>2025-08-13 00:31:39 +0200
commit5cf0c6c8bb2c4e58a2d66ba5f304af34d18a4782 (patch)
tree0616f3e83f511aae0e10916f0c22161017e09c24 /sql
parent82f19c898815e3bc5bb6288b0191ee897594f9b5 (diff)
Core: Updated to 11.2.0
Diffstat (limited to 'sql')
-rw-r--r--sql/base/auth_database.sql43
-rw-r--r--sql/base/characters_database.sql71
-rw-r--r--sql/updates/auth/master/2025_08_13_00_auth.sql41
-rw-r--r--sql/updates/characters/master/2025_08_13_00_characters.sql128
-rw-r--r--sql/updates/hotfixes/master/2025_08_13_00_hotfixes.sql84
-rw-r--r--sql/updates/world/master/2025_08_13_00_world.sql3
6 files changed, 324 insertions, 46 deletions
diff --git a/sql/base/auth_database.sql b/sql/base/auth_database.sql
index 3d28ebe8f6b..b31dd804ba1 100644
--- a/sql/base/auth_database.sql
+++ b/sql/base/auth_database.sql
@@ -1188,7 +1188,35 @@ INSERT INTO `build_auth_key` VALUES
(61967,'Mac','x64','WoWC',0x4DE3D440D1D46A38EC32D0D524004ABA),
(61967,'Win','A64','WoW',0x7B443BB6B4F355B9E389F4F0ACB04FE8),
(61967,'Win','x64','WoW',0x6E194B4B53038E76E01E9538107AFF4D),
-(61967,'Win','x64','WoWC',0x9E135BF0B40BDD210EAF318AEB72801C);
+(61967,'Win','x64','WoWC',0x9E135BF0B40BDD210EAF318AEB72801C),
+(62213,'Mac','A64','WoW',0x4EB479A10C122085CFA59633DBCADA17),
+(62213,'Mac','A64','WoWC',0x101F2207C5AB43A29762838FC4C460BA),
+(62213,'Mac','x64','WoW',0x94D5B0A9620333C4F068A5F7FD5E16C6),
+(62213,'Mac','x64','WoWC',0xBAA3BAFC4F9209AFB9EDA4C89DBB506C),
+(62213,'Win','A64','WoW',0xF565E632CBC04516F235F2A412C61569),
+(62213,'Win','x64','WoW',0x062594033EA9753E81240476AB4E21BC),
+(62213,'Win','x64','WoWC',0x8584238F7E35711E8817CD53951478B2),
+(62417,'Mac','A64','WoW',0x020BBBA62C6539043095AE1603FC3A1F),
+(62417,'Mac','A64','WoWC',0xDA7BB5E78E98856A679EB442EB683DD5),
+(62417,'Mac','x64','WoW',0x8D15525965A59F4C1A886E6BCC09D75A),
+(62417,'Mac','x64','WoWC',0x02C9B276B11F9B175A59021B1EB7F9E3),
+(62417,'Win','A64','WoW',0xDC74AF249532EF367023C78F11E6F709),
+(62417,'Win','x64','WoW',0x702FC86D79262CD311393AEB3F5B88E6),
+(62417,'Win','x64','WoWC',0xB97B257A3D69BBA321DEC1427591EAD6),
+(62438,'Mac','A64','WoW',0x5C974D816F1D4806F77A60D125902B11),
+(62438,'Mac','A64','WoWC',0x333EEF08165D098594D01993FB5566C4),
+(62438,'Mac','x64','WoW',0x8EE8E906F3277B995C3FB76A9472316D),
+(62438,'Mac','x64','WoWC',0x2D92FAC97BE1600E3CF7C41C260B90E3),
+(62438,'Win','A64','WoW',0x5F43B9C77DA61431AAF5E527FC6BA0BA),
+(62438,'Win','x64','WoW',0x54B80A79B8A5C515E25366AB57F0ACB0),
+(62438,'Win','x64','WoWC',0xCAE41A1DD7CF9C2E850CE388BB1EEF6D),
+(62493,'Mac','A64','WoW',0x35663EF5187F38257E9768481F1894DC),
+(62493,'Mac','A64','WoWC',0x5A48D3A43278A6EA31B2E3AE0DE6E601),
+(62493,'Mac','x64','WoW',0x1BEEC427C9F41184EFAAC048D51C5207),
+(62493,'Mac','x64','WoWC',0x15B0A1D7EA355891634507CD840B2E16),
+(62493,'Win','A64','WoW',0x043025D94567792FA8284C282E77E57F),
+(62493,'Win','x64','WoW',0x5B038E707AB60E3A862C2E03A8487220),
+(62493,'Win','x64','WoWC',0x1A65B9347FD44EF0A77479173D098226);
/*!40000 ALTER TABLE `build_auth_key` ENABLE KEYS */;
UNLOCK TABLES;
@@ -1581,7 +1609,11 @@ INSERT INTO `build_info` VALUES
(61491,11,1,7,NULL),
(61559,11,1,7,NULL),
(61609,11,1,7,NULL),
-(61967,11,1,7,NULL);
+(61967,11,1,7,NULL),
+(62213,11,2,0,NULL),
+(62417,11,2,0,NULL),
+(62438,11,2,0,NULL),
+(62493,11,2,0,NULL);
/*!40000 ALTER TABLE `build_info` ENABLE KEYS */;
UNLOCK TABLES;
@@ -3194,7 +3226,7 @@ CREATE TABLE `realmlist` (
`timezone` tinyint unsigned NOT NULL DEFAULT '0',
`allowedSecurityLevel` tinyint unsigned NOT NULL DEFAULT '0',
`population` float NOT NULL DEFAULT '0',
- `gamebuild` int unsigned NOT NULL DEFAULT '61967',
+ `gamebuild` int unsigned NOT NULL DEFAULT '62493',
`Region` tinyint unsigned NOT NULL DEFAULT '1',
`Battlegroup` tinyint unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
@@ -3209,7 +3241,7 @@ CREATE TABLE `realmlist` (
LOCK TABLES `realmlist` WRITE;
/*!40000 ALTER TABLE `realmlist` DISABLE KEYS */;
INSERT INTO `realmlist` VALUES
-(1,'Trinity','127.0.0.1','127.0.0.1',NULL,NULL,'255.255.255.0',8085,0,0,1,0,0,61967,1,1);
+(1,'Trinity','127.0.0.1','127.0.0.1',NULL,NULL,'255.255.255.0',8085,0,0,1,0,0,62493,1,1);
/*!40000 ALTER TABLE `realmlist` ENABLE KEYS */;
UNLOCK TABLES;
@@ -3718,7 +3750,8 @@ INSERT INTO `updates` VALUES
('2025_06_25_00_auth.sql','27DC7FB423FFB3788082CCFC18D5432650B09FB3','ARCHIVED','2025-06-25 01:15:04',0),
('2025_06_27_00_auth.sql','243C89DFED0058323EF9690D124C1F20036D461B','ARCHIVED','2025-06-27 14:22:49',0),
('2025_07_14_00_auth.sql','5F975A202CF84F2BFEA366E0BEDF8FA63035CD62','ARCHIVED','2025-07-14 23:10:54',0),
-('2025_07_21_00_auth.sql','44AA781EE1B1C66E8433E50A2E20916EB1BEFE23','ARCHIVED','2025-07-21 22:51:05',0);
+('2025_07_21_00_auth.sql','44AA781EE1B1C66E8433E50A2E20916EB1BEFE23','ARCHIVED','2025-07-21 22:51:05',0),
+('2025_08_13_00_auth.sql','5F67141AB407AEC202E8048765256AB11C5621EA','RELEASED','2025-08-12 19:26:13',0);
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
UNLOCK TABLES;
diff --git a/sql/base/characters_database.sql b/sql/base/characters_database.sql
index be834419bdc..a70185ede3d 100644
--- a/sql/base/characters_database.sql
+++ b/sql/base/characters_database.sql
@@ -591,6 +591,33 @@ LOCK TABLES `character_aura_stored_location` WRITE;
UNLOCK TABLES;
--
+-- Table structure for table `character_bank_tab_settings`
+--
+
+DROP TABLE IF EXISTS `character_bank_tab_settings`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `character_bank_tab_settings` (
+ `characterGuid` bigint unsigned NOT NULL,
+ `tabId` tinyint unsigned NOT NULL,
+ `name` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+ `icon` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+ `description` varchar(2048) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+ `depositFlags` int DEFAULT '0',
+ PRIMARY KEY (`characterGuid`,`tabId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `character_bank_tab_settings`
+--
+
+LOCK TABLES `character_bank_tab_settings` WRITE;
+/*!40000 ALTER TABLE `character_bank_tab_settings` DISABLE KEYS */;
+/*!40000 ALTER TABLE `character_bank_tab_settings` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
-- Table structure for table `character_banned`
--
@@ -1913,39 +1940,6 @@ LOCK TABLES `character_transmog_outfits` WRITE;
UNLOCK TABLES;
--
--- Table structure for table `character_void_storage`
---
-
-DROP TABLE IF EXISTS `character_void_storage`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
-/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `character_void_storage` (
- `itemId` bigint unsigned NOT NULL,
- `playerGuid` bigint unsigned NOT NULL,
- `itemEntry` int unsigned NOT NULL,
- `slot` tinyint unsigned NOT NULL,
- `creatorGuid` bigint unsigned NOT NULL DEFAULT '0',
- `randomBonusListId` int unsigned NOT NULL DEFAULT '0',
- `fixedScalingLevel` int unsigned DEFAULT '0',
- `artifactKnowledgeLevel` int unsigned DEFAULT '0',
- `context` tinyint unsigned NOT NULL DEFAULT '0',
- `bonusListIDs` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
- PRIMARY KEY (`itemId`),
- UNIQUE KEY `idx_player_slot` (`playerGuid`,`slot`),
- KEY `idx_player` (`playerGuid`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-/*!40101 SET character_set_client = @saved_cs_client */;
-
---
--- Dumping data for table `character_void_storage`
---
-
-LOCK TABLES `character_void_storage` WRITE;
-/*!40000 ALTER TABLE `character_void_storage` DISABLE KEYS */;
-/*!40000 ALTER TABLE `character_void_storage` ENABLE KEYS */;
-UNLOCK TABLES;
-
---
-- Table structure for table `characters`
--
@@ -1971,14 +1965,8 @@ CREATE TABLE `characters` (
`bagSlotFlags4` int unsigned NOT NULL DEFAULT '0',
`bagSlotFlags5` int unsigned NOT NULL DEFAULT '0',
`bankSlots` tinyint unsigned NOT NULL DEFAULT '0',
+ `bankTabs` tinyint unsigned NOT NULL DEFAULT '0',
`bankBagFlags` int unsigned NOT NULL DEFAULT '0',
- `bankBagSlotFlags1` int unsigned NOT NULL DEFAULT '0',
- `bankBagSlotFlags2` int unsigned NOT NULL DEFAULT '0',
- `bankBagSlotFlags3` int unsigned NOT NULL DEFAULT '0',
- `bankBagSlotFlags4` int unsigned NOT NULL DEFAULT '0',
- `bankBagSlotFlags5` int unsigned NOT NULL DEFAULT '0',
- `bankBagSlotFlags6` int unsigned NOT NULL DEFAULT '0',
- `bankBagSlotFlags7` int unsigned NOT NULL DEFAULT '0',
`restState` tinyint unsigned NOT NULL DEFAULT '0',
`playerFlags` int unsigned NOT NULL DEFAULT '0',
`playerFlagsEx` int unsigned NOT NULL DEFAULT '0',
@@ -3832,7 +3820,8 @@ INSERT INTO `updates` VALUES
('2025_03_29_00_characters.sql','6A49C236D0B8CCD8A5B6B51F60E116B3380772D7','ARCHIVED','2025-03-29 01:12:13',0),
('2025_05_31_00_characters.sql','C240EB5C4008B6AA0514802A18D7DD875680DE82','ARCHIVED','2025-05-31 19:45:56',0),
('2025_06_27_00_characters.sql','35088BA5BA4BD3B7FAAD6FD4FAE38E52A5B71CD8','ARCHIVED','2025-06-27 14:22:08',0),
-('2025_07_21_00_characters.sql','056A99B9AA90186E5B3177BF54C86607B6518BE9','ARCHIVED','2025-07-21 22:51:05',0);
+('2025_07_21_00_characters.sql','056A99B9AA90186E5B3177BF54C86607B6518BE9','ARCHIVED','2025-07-21 22:51:05',0),
+('2025_08_13_00_characters.sql','9C2321777E6C34F18799C8967B1CA0C44F17DA18','RELEASED','2025-08-12 20:17:45',0);
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
UNLOCK TABLES;
diff --git a/sql/updates/auth/master/2025_08_13_00_auth.sql b/sql/updates/auth/master/2025_08_13_00_auth.sql
new file mode 100644
index 00000000000..8544b57cb5e
--- /dev/null
+++ b/sql/updates/auth/master/2025_08_13_00_auth.sql
@@ -0,0 +1,41 @@
+DELETE FROM `build_info` WHERE `build` IN (62213,62417,62438,62493);
+INSERT INTO `build_info` (`build`,`majorVersion`,`minorVersion`,`bugfixVersion`,`hotfixVersion`) VALUES
+(62213,11,2,0,NULL),
+(62417,11,2,0,NULL),
+(62438,11,2,0,NULL),
+(62493,11,2,0,NULL);
+
+DELETE FROM `build_auth_key` WHERE `build` IN (62213,62417,62438,62493);
+INSERT INTO `build_auth_key` (`build`,`platform`,`arch`,`type`,`key`) VALUES
+(62213,'Mac','A64','WoW',0x4EB479A10C122085CFA59633DBCADA17),
+(62213,'Mac','A64','WoWC',0x101F2207C5AB43A29762838FC4C460BA),
+(62213,'Mac','x64','WoW',0x94D5B0A9620333C4F068A5F7FD5E16C6),
+(62213,'Mac','x64','WoWC',0xBAA3BAFC4F9209AFB9EDA4C89DBB506C),
+(62213,'Win','A64','WoW',0xF565E632CBC04516F235F2A412C61569),
+(62213,'Win','x64','WoW',0x062594033EA9753E81240476AB4E21BC),
+(62213,'Win','x64','WoWC',0x8584238F7E35711E8817CD53951478B2),
+(62417,'Mac','A64','WoW',0x020BBBA62C6539043095AE1603FC3A1F),
+(62417,'Mac','A64','WoWC',0xDA7BB5E78E98856A679EB442EB683DD5),
+(62417,'Mac','x64','WoW',0x8D15525965A59F4C1A886E6BCC09D75A),
+(62417,'Mac','x64','WoWC',0x02C9B276B11F9B175A59021B1EB7F9E3),
+(62417,'Win','A64','WoW',0xDC74AF249532EF367023C78F11E6F709),
+(62417,'Win','x64','WoW',0x702FC86D79262CD311393AEB3F5B88E6),
+(62417,'Win','x64','WoWC',0xB97B257A3D69BBA321DEC1427591EAD6),
+(62438,'Mac','A64','WoW',0x5C974D816F1D4806F77A60D125902B11),
+(62438,'Mac','A64','WoWC',0x333EEF08165D098594D01993FB5566C4),
+(62438,'Mac','x64','WoW',0x8EE8E906F3277B995C3FB76A9472316D),
+(62438,'Mac','x64','WoWC',0x2D92FAC97BE1600E3CF7C41C260B90E3),
+(62438,'Win','A64','WoW',0x5F43B9C77DA61431AAF5E527FC6BA0BA),
+(62438,'Win','x64','WoW',0x54B80A79B8A5C515E25366AB57F0ACB0),
+(62438,'Win','x64','WoWC',0xCAE41A1DD7CF9C2E850CE388BB1EEF6D),
+(62493,'Mac','A64','WoW',0x35663EF5187F38257E9768481F1894DC),
+(62493,'Mac','A64','WoWC',0x5A48D3A43278A6EA31B2E3AE0DE6E601),
+(62493,'Mac','x64','WoW',0x1BEEC427C9F41184EFAAC048D51C5207),
+(62493,'Mac','x64','WoWC',0x15B0A1D7EA355891634507CD840B2E16),
+(62493,'Win','A64','WoW',0x043025D94567792FA8284C282E77E57F),
+(62493,'Win','x64','WoW',0x5B038E707AB60E3A862C2E03A8487220),
+(62493,'Win','x64','WoWC',0x1A65B9347FD44EF0A77479173D098226);
+
+UPDATE `realmlist` SET `gamebuild`=62493 WHERE `gamebuild`=61967;
+
+ALTER TABLE `realmlist` CHANGE `gamebuild` `gamebuild` int unsigned NOT NULL DEFAULT '62493';
diff --git a/sql/updates/characters/master/2025_08_13_00_characters.sql b/sql/updates/characters/master/2025_08_13_00_characters.sql
new file mode 100644
index 00000000000..0fbb7311b12
--- /dev/null
+++ b/sql/updates/characters/master/2025_08_13_00_characters.sql
@@ -0,0 +1,128 @@
+ALTER TABLE `characters`
+ ADD `bankTabs` tinyint unsigned NOT NULL DEFAULT 0 AFTER `bankSlots`,
+ DROP `bankBagSlotFlags1`,
+ DROP `bankBagSlotFlags2`,
+ DROP `bankBagSlotFlags3`,
+ DROP `bankBagSlotFlags4`,
+ DROP `bankBagSlotFlags5`,
+ DROP `bankBagSlotFlags6`,
+ DROP `bankBagSlotFlags7`;
+
+UPDATE `characters` SET `bankTabs`=LEAST(6,GREATEST(
+ `bankSlots`,
+ IF((`playerFlags` & 0x20000000)<>0,6,0), -- unlocked void storage
+ IF((`playerFlagsEx` & 0x1)<>0,4,0), -- unlocked reagent bank
+ IF(`level`>=80,6,0)
+));
+
+--
+-- Table structure for table `character_bank_tab_settings`
+--
+DROP TABLE IF EXISTS `character_bank_tab_settings`;
+CREATE TABLE `character_bank_tab_settings` (
+ `characterGuid` bigint unsigned NOT NULL,
+ `tabId` tinyint unsigned NOT NULL,
+ `name` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+ `icon` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+ `description` varchar(2048) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+ `depositFlags` int DEFAULT '0',
+ PRIMARY KEY (`characterGuid`,`tabId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+INSERT INTO `character_bank_tab_settings` SELECT `guid`,0,'Tab 1',NULL,NULL,0 FROM `characters` WHERE `bankTabs` >= 1;
+INSERT INTO `character_bank_tab_settings` SELECT `guid`,1,'Tab 2',NULL,NULL,0 FROM `characters` WHERE `bankTabs` >= 2;
+INSERT INTO `character_bank_tab_settings` SELECT `guid`,2,'Tab 3',NULL,NULL,0 FROM `characters` WHERE `bankTabs` >= 3;
+INSERT INTO `character_bank_tab_settings` SELECT `guid`,3,'Reagents',NULL,NULL,0x80 FROM `characters` WHERE `bankTabs` >= 4;
+INSERT INTO `character_bank_tab_settings` SELECT `guid`,4,'Void Storage 1',NULL,NULL,0 FROM `characters` WHERE `bankTabs` >= 5;
+INSERT INTO `character_bank_tab_settings` SELECT `guid`,5,'Void Storage 2',NULL,NULL,0 FROM `characters` WHERE `bankTabs` >= 6;
+
+-- helper columns
+-- character_inventory.bag_slot (inventory slot where the bag is stored)
+-- character_inventory.new_slot
+-- character_inventory.slot temporarily changed type to SMALLINT
+ALTER TABLE `character_inventory`
+ ADD `bag_slot` INT,
+ ADD `new_slot` INT,
+ MODIFY `slot` SMALLINT UNSIGNED NOT NULL;
+
+UPDATE `character_inventory` ci1
+LEFT JOIN `character_inventory` ci2 ON ci1.bag = ci2.item
+SET ci1.bag_slot = COALESCE(ci2.slot, 0);
+
+-- move items that need moving out of the way
+UPDATE `character_inventory` SET `slot`=`slot`+1000 WHERE `bag`=0 AND `slot` BETWEEN 63 AND 97; -- BankItemSlots/BankBagSlots
+UPDATE `character_inventory` SET `slot`=`slot`+1000 WHERE `bag`=0 AND `slot` BETWEEN 110 AND 207; -- ReagentSlots
+
+-- adjust BuyBackSlots/ChildEquipmentSlots/EquipableSpellSlots/AccountBankBagSlots
+UPDATE `character_inventory` SET `slot`=`slot`-29 WHERE `bag`=0 AND `slot` BETWEEN 98 AND 109; -- BuyBackSlots
+UPDATE `character_inventory` SET `slot`=`slot`-127 WHERE `bag`=0 AND `slot` BETWEEN 208 AND 231; -- ChildEquipmentSlots/EquipableSpellSlots/AccountBankBagSlots
+
+SET @item_guid := 0;
+SELECT MAX(guid) INTO @item_guid FROM item_instance;
+
+-- create new bags
+INSERT INTO `character_inventory` (`guid`,`bag`,`slot`,`item`)
+SELECT cbts.characterGuid, 0, 63 + cbts.`tabId`, (@item_guid := @item_guid + 1) FROM `character_bank_tab_settings` cbts;
+
+INSERT INTO `item_instance` (`guid`,`itemEntry`,`owner_guid`,`charges`,`flags`,`enchantments`,`playedTime`,`createTime`,`text`,`bonusListIDs`)
+SELECT ci.`item`, 242709, ci.`guid`, '', 0x1, '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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ', c.totaltime, UNIX_TIMESTAMP(),'',''
+FROM `character_inventory` ci
+LEFT JOIN `characters` c ON c.`guid` = ci.`guid`
+WHERE ci.`bag` = 0 AND ci.`slot` BETWEEN 63 AND 68;
+
+-- calculate new slots for old banked items
+UPDATE `character_inventory` ci
+LEFT JOIN (
+ SELECT item, new_slot
+ FROM (
+ SELECT guid, bag, slot, item, IF(@prev <> guid, @row_num:=0,@row_num:=@row_num+1) AS new_slot, @prev:=guid
+ FROM character_inventory,
+ (SELECT @row_num:=0) rn,
+ (SELECT @prev:='') prev
+ WHERE (bag_slot = 0 AND slot BETWEEN 1063 AND 1097) OR bag_slot BETWEEN 91 AND 97
+ ORDER BY guid, bag_slot, slot
+ ) `window`
+) new_slots ON new_slots.item = ci.item
+SET ci.new_slot = new_slots.new_slot;
+
+-- assign new bags and slots
+UPDATE `character_inventory` ci
+LEFT JOIN `character_inventory` ci2 ON ci2.guid = ci.guid AND ci2.bag = 0 AND ci2.slot = (ci.new_slot DIV 98) + 63
+SET ci.bag = ci2.item, ci.slot = ci.new_slot MOD 98
+WHERE (ci.bag_slot = 0 AND ci.slot BETWEEN 1063 AND 1097) OR ci.bag_slot BETWEEN 91 AND 97;
+
+-- move reagents as-is (bag is the same size)
+UPDATE `character_inventory` ci
+LEFT JOIN `character_inventory` ci2 ON ci2.guid = ci.guid AND ci2.bag = 0 AND ci2.slot = 66
+SET ci.bag = ci2.item, ci.slot = ci.slot - 1110
+WHERE (ci.bag_slot = 0 AND ci.slot BETWEEN 1110 AND 1207);
+
+-- void storage
+ALTER TABLE `character_void_storage`
+ ADD `itemGuid` BIGINT UNSIGNED,
+ ADD `bagGuid` BIGINT UNSIGNED;
+
+-- generate guids for void storage
+UPDATE `character_void_storage` cvs
+SET
+cvs.`itemGuid` = (@item_guid := @item_guid + 1),
+cvs.`bagGuid` = (SELECT ci.`item` FROM `character_inventory` ci WHERE ci.`guid` = cvs.`playerGuid` AND ci.`bag` = 0 AND ci.`slot` = 67 + (cvs.`slot` DIV 80));
+
+-- create items from void storage
+INSERT INTO `item_instance` (`guid`, `itemEntry`, `owner_guid`, `creatorGuid`, `charges`, `flags`, `enchantments`, `randomBonusListId`, `durability`, `playedTime`, `createTime`, `text`, `context`, `bonusListIDs`)
+SELECT cvs.`itemGuid`, cvs.`itemEntry`, cvs.`playerGuid`, cvs.`creatorGuid`, '', 0x1, '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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ', cvs.`randomBonusListId`, 999, c.`totaltime`, UNIX_TIMESTAMP(), '', cvs.context, cvs.bonusListIDs FROM `character_void_storage` cvs
+LEFT JOIN `characters` c ON c.`guid` = cvs.`playerGuid`;
+
+INSERT INTO `item_instance_modifiers` (`itemGuid`, `fixedScalingLevel`, `artifactKnowledgeLevel`)
+SELECT cvs.`itemGuid`, COALESCE(cvs.`fixedScalingLevel`, 0), COALESCE(cvs.`artifactKnowledgeLevel`, 0) FROM `character_void_storage` cvs
+WHERE cvs.`fixedScalingLevel` > 0 OR cvs.`artifactKnowledgeLevel` > 0;
+
+INSERT INTO `character_inventory` (`guid`, `bag`, `slot`, `item`)
+SELECT cvs.`playerGuid`, cvs.`bagGuid`, cvs.`slot` MOD 80, cvs.`itemGuid` FROM `character_void_storage` cvs;
+
+ALTER TABLE `character_inventory`
+ DROP `bag_slot`,
+ DROP `new_slot`,
+ MODIFY `slot` TINYINT UNSIGNED NOT NULL DEFAULT 0;
+
+DROP TABLE IF EXISTS `character_void_storage`;
diff --git a/sql/updates/hotfixes/master/2025_08_13_00_hotfixes.sql b/sql/updates/hotfixes/master/2025_08_13_00_hotfixes.sql
new file mode 100644
index 00000000000..9d6e1dec51c
--- /dev/null
+++ b/sql/updates/hotfixes/master/2025_08_13_00_hotfixes.sql
@@ -0,0 +1,84 @@
+
+ALTER TABLE `animation_data` MODIFY COLUMN `BehaviorTier` tinyint NOT NULL DEFAULT 0 AFTER `Fallback`;
+
+DROP TABLE IF EXISTS `bank_bag_slot_prices`;
+
+--
+-- Table structure for table `bank_tab`
+--
+DROP TABLE IF EXISTS `bank_tab`;
+CREATE TABLE `bank_tab` (
+ `ID` int unsigned NOT NULL DEFAULT '0',
+ `Cost` bigint unsigned NOT NULL DEFAULT '0',
+ `BankType` tinyint unsigned NOT NULL DEFAULT '0',
+ `OrderIndex` tinyint NOT NULL DEFAULT '0',
+ `PlayerConditionID` int NOT NULL DEFAULT '0',
+ `PurchasePromptTitle` int NOT NULL DEFAULT '0',
+ `PurchasePromptBody` int NOT NULL DEFAULT '0',
+ `PurchasePromptConfirmation` int NOT NULL DEFAULT '0',
+ `TabCleanupConfirmation` int NOT NULL DEFAULT '0',
+ `TabNameEditBoxHeader` int NOT NULL DEFAULT '0',
+ `VerifiedBuild` int NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+ALTER TABLE `banned_addons` MODIFY COLUMN `Flags` int NOT NULL DEFAULT 0 AFTER `Version`;
+
+ALTER TABLE `cfg_regions` ADD COLUMN `TimeEventRegionGroupID` int NOT NULL DEFAULT 0 AFTER `ChallengeOrigin`;
+
+ALTER TABLE `char_titles` MODIFY COLUMN `Flags` int NOT NULL DEFAULT 0 AFTER `MaskID`;
+
+ALTER TABLE `chr_classes`
+ ADD COLUMN `StartingLevel` int NOT NULL DEFAULT 0 AFTER `Flags`,
+ ADD COLUMN `HasStrengthBonus` tinyint UNSIGNED NOT NULL DEFAULT 0 AFTER `ID`,
+ ADD COLUMN `DamageBonusStat` tinyint UNSIGNED NOT NULL DEFAULT 0 AFTER `RolesMask`,
+ ADD COLUMN `HasRelicSlot` tinyint UNSIGNED NOT NULL DEFAULT 0 AFTER `DamageBonusStat`;
+
+ALTER TABLE `creature_family` ADD COLUMN `CategoryEnumID` int NOT NULL DEFAULT 0 AFTER `PetTalentType`;
+
+ALTER TABLE `expected_stat` ADD COLUMN `ContentSetID` int NOT NULL DEFAULT 0 AFTER `CreatureSpellDamage`;
+
+ALTER TABLE `item` MODIFY COLUMN `ClassID` int NOT NULL DEFAULT 0 AFTER `ID`;
+
+ALTER TABLE `item_set_spell` ADD COLUMN `TraitSubTreeID` smallint UNSIGNED NOT NULL DEFAULT 0 AFTER `SpellID`;
+
+ALTER TABLE `map_challenge_mode`
+ ADD COLUMN `FirstRewardQuestID1` int NOT NULL DEFAULT 0 AFTER `CriteriaCount3`,
+ ADD COLUMN `FirstRewardQuestID2` int NOT NULL DEFAULT 0 AFTER `FirstRewardQuestID1`,
+ ADD COLUMN `FirstRewardQuestID3` int NOT NULL DEFAULT 0 AFTER `FirstRewardQuestID2`,
+ ADD COLUMN `FirstRewardQuestID4` int NOT NULL DEFAULT 0 AFTER `FirstRewardQuestID3`,
+ ADD COLUMN `FirstRewardQuestID5` int NOT NULL DEFAULT 0 AFTER `FirstRewardQuestID4`,
+ ADD COLUMN `FirstRewardQuestID6` int NOT NULL DEFAULT 0 AFTER `FirstRewardQuestID5`,
+ ADD COLUMN `RewardQuestID1` int NOT NULL DEFAULT 0 AFTER `FirstRewardQuestID6`,
+ ADD COLUMN `RewardQuestID2` int NOT NULL DEFAULT 0 AFTER `RewardQuestID1`,
+ ADD COLUMN `RewardQuestID3` int NOT NULL DEFAULT 0 AFTER `RewardQuestID2`,
+ ADD COLUMN `RewardQuestID4` int NOT NULL DEFAULT 0 AFTER `RewardQuestID3`,
+ ADD COLUMN `RewardQuestID5` int NOT NULL DEFAULT 0 AFTER `RewardQuestID4`,
+ ADD COLUMN `RewardQuestID6` int NOT NULL DEFAULT 0 AFTER `RewardQuestID5`;
+
+ALTER TABLE `map_challenge_mode` MODIFY COLUMN `Flags` int NOT NULL DEFAULT 0 AFTER `MapID`;
+
+ALTER TABLE `spell_category`
+ MODIFY COLUMN `UsesPerWeek` int NOT NULL DEFAULT 0 AFTER `Flags`,
+ MODIFY COLUMN `MaxCharges` int NOT NULL DEFAULT 0 AFTER `UsesPerWeek`;
+
+ALTER TABLE `spell_equipped_items` MODIFY COLUMN `EquippedItemClass` int NOT NULL DEFAULT 0 AFTER `SpellID`;
+
+ALTER TABLE `spell_visual_kit`
+ ADD COLUMN `MinimumSpellVisualDensityFilterType` int NOT NULL DEFAULT 0 AFTER `DelayMax`,
+ ADD COLUMN `MinimumSpellVisualDensityFilterParam` int NOT NULL DEFAULT 0 AFTER `MinimumSpellVisualDensityFilterType`,
+ ADD COLUMN `ReducedSpellVisualDensityFilterType` int NOT NULL DEFAULT 0 AFTER `MinimumSpellVisualDensityFilterParam`,
+ ADD COLUMN `ReducedSpellVisualDensityFilterParam` int NOT NULL DEFAULT 0 AFTER `ReducedSpellVisualDensityFilterType`;
+
+ALTER TABLE `unit_power_bar` MODIFY COLUMN `Flags` int NOT NULL DEFAULT 0 AFTER `BarType`;
+
+ALTER TABLE `warband_scene`
+ DROP COLUMN `Source`,
+ DROP COLUMN `SourceType`;
+
+ALTER TABLE `warband_scene_locale` DROP COLUMN `Source_lang`;
+
+DELETE FROM `item_sparse` WHERE `ID` IN (208392,242709);
+INSERT INTO `item_sparse` (`ID`, `AllowableRace`, `Description`, `Display3`, `Display2`, `Display1`, `Display`, `ExpansionID`, `DmgVariance`, `LimitCategory`, `DurationInInventory`, `QualityModifier`, `BagFamily`, `StartQuestID`, `LanguageID`, `ItemRange`, `StatPercentageOfSocket1`, `StatPercentageOfSocket2`, `StatPercentageOfSocket3`, `StatPercentageOfSocket4`, `StatPercentageOfSocket5`, `StatPercentageOfSocket6`, `StatPercentageOfSocket7`, `StatPercentageOfSocket8`, `StatPercentageOfSocket9`, `StatPercentageOfSocket10`, `StatPercentEditor1`, `StatPercentEditor2`, `StatPercentEditor3`, `StatPercentEditor4`, `StatPercentEditor5`, `StatPercentEditor6`, `StatPercentEditor7`, `StatPercentEditor8`, `StatPercentEditor9`, `StatPercentEditor10`, `StatModifierBonusStat1`, `StatModifierBonusStat2`, `StatModifierBonusStat3`, `StatModifierBonusStat4`, `StatModifierBonusStat5`, `StatModifierBonusStat6`, `StatModifierBonusStat7`, `StatModifierBonusStat8`, `StatModifierBonusStat9`, `StatModifierBonusStat10`, `Stackable`, `MaxCount`, `MinReputation`, `RequiredAbility`, `SellPrice`, `BuyPrice`, `VendorStackCount`, `PriceVariance`, `PriceRandomValue`, `Flags1`, `Flags2`, `Flags3`, `Flags4`, `Flags5`, `FactionRelated`, `ModifiedCraftingReagentItemID`, `ContentTuningID`, `PlayerLevelToItemLevelCurveID`, `ItemNameDescriptionID`, `RequiredTransmogHoliday`, `RequiredHoliday`, `GemProperties`, `SocketMatchEnchantmentId`, `TotemCategoryID`, `InstanceBound`, `ZoneBound1`, `ZoneBound2`, `ItemSet`, `LockID`, `PageID`, `ItemDelay`, `MinFactionID`, `RequiredSkillRank`, `RequiredSkill`, `ItemLevel`, `AllowableClass`, `ArtifactID`, `SpellWeight`, `SpellWeightCategory`, `SocketType1`, `SocketType2`, `SocketType3`, `SheatheType`, `Material`, `PageMaterialID`, `Bonding`, `DamageDamageType`, `ContainerSlots`, `RequiredPVPMedal`, `RequiredPVPRank`, `RequiredLevel`, `InventoryType`, `OverallQualityID`, `VerifiedBuild`) VALUES
+(208392,-1,'','','','','Account Bank Tab Bag (DNT)',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,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,1,1,1.034399986267089843,0,0,67375104,268437504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,-1,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,18,1,62493),
+(242709,-1,'','','','','Character Bank Tab Bag (DNT)',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,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,1,1,0.990899980068206787,0,0,67375104,268437504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,-1,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,18,1,62493);
diff --git a/sql/updates/world/master/2025_08_13_00_world.sql b/sql/updates/world/master/2025_08_13_00_world.sql
new file mode 100644
index 00000000000..ce62921b66e
--- /dev/null
+++ b/sql/updates/world/master/2025_08_13_00_world.sql
@@ -0,0 +1,3 @@
+ALTER TABLE `areatrigger_create_properties_orbit` CHANGE `StartDelay` `ExtraTimeForBlending` INT NOT NULL DEFAULT 0;
+
+ALTER TABLE `creature_template_difficulty` ADD `TypeFlags3` INT UNSIGNED NOT NULL DEFAULT 0 AFTER `TypeFlags2`;