Core/Creatures: Split creature_addon and creature_template_addon's byte columns into seperate ones

Port From (https://github.com/TrinityCore/TrinityCore/commit/4119f69b214d6199b7ab508e305b2958eeffb332)
This commit is contained in:
hondacrx
2023-01-23 00:01:10 -05:00
parent 5619f3245a
commit 23e49e96c0
5 changed files with 156 additions and 82 deletions
@@ -0,0 +1,34 @@
ALTER TABLE `creature_template_addon`
ADD COLUMN `StandState` TINYINT UNSIGNED DEFAULT 0 NOT NULL AFTER `MountCreatureID`,
ADD COLUMN `AnimTier` TINYINT UNSIGNED DEFAULT 0 NOT NULL AFTER `StandState`,
ADD COLUMN `VisFlags` TINYINT UNSIGNED DEFAULT 0 NOT NULL AFTER `AnimTier`,
ADD COLUMN `SheathState` TINYINT UNSIGNED DEFAULT 1 NOT NULL AFTER `VisFlags`,
ADD COLUMN `PvPFlags` TINYINT UNSIGNED DEFAULT 0 NOT NULL AFTER `SheathState`;
UPDATE `creature_template_addon` SET `StandState`=`bytes1` & 0xFF;
UPDATE `creature_template_addon` SET `AnimTier`=(`bytes1` >> 24) & 0xFF;
UPDATE `creature_template_addon` SET `VisFlags`=(`bytes1` >> 16) & 0xFF;
UPDATE `creature_template_addon` SET `SheathState`=`bytes2` & 0xFF;
UPDATE `creature_template_addon` SET `PvPFlags`=(`bytes2` >> 8) & 0xFF;
ALTER TABLE `creature_addon`
ADD COLUMN `StandState` TINYINT UNSIGNED DEFAULT 0 NOT NULL AFTER `MountCreatureID`,
ADD COLUMN `AnimTier` TINYINT UNSIGNED DEFAULT 0 NOT NULL AFTER `StandState`,
ADD COLUMN `VisFlags` TINYINT UNSIGNED DEFAULT 0 NOT NULL AFTER `AnimTier`,
ADD COLUMN `SheathState` TINYINT UNSIGNED DEFAULT 1 NOT NULL AFTER `VisFlags`,
ADD COLUMN `PvPFlags` TINYINT UNSIGNED DEFAULT 0 NOT NULL AFTER `SheathState`;
UPDATE `creature_addon` SET `StandState`=`bytes1` & 0xFF;
UPDATE `creature_addon` SET `AnimTier`=(`bytes1` >> 24) & 0xFF;
UPDATE `creature_addon` SET `VisFlags`=(`bytes1` >> 16) & 0xFF;
UPDATE `creature_addon` SET `SheathState`=`bytes2` & 0xFF;
UPDATE `creature_addon` SET `PvPFlags`=(`bytes2` >> 8) & 0xFF;
-- Conversion done, drop old columns
ALTER TABLE `creature_template_addon`
DROP COLUMN `bytes1`,
DROP COLUMN `bytes2`;
ALTER TABLE `creature_addon`
DROP COLUMN `bytes1`,
DROP COLUMN `bytes2`;