server/sql/updates/0.17/11217_01_mangos_creature_addon.sql
Salja 8276c75bef [0001] Start on MaNGOS 4.3.4
Signed-off-by: Salja <salja2012@hotmail.de>
2020-02-16 02:54:01 +00:00

57 lines
1.6 KiB
SQL

ALTER TABLE db_version CHANGE COLUMN required_11214_02_mangos_command required_11217_01_mangos_creature_addon bit;
CREATE TABLE `temp_auras` (
`spell` mediumint(8) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DELIMITER %%
CREATE FUNCTION `ConvertAuras`(`auras` varchar(1024))
RETURNS varchar(1024) CHARSET utf8
DETERMINISTIC
BEGIN
DECLARE tmp VARCHAR(1024);
DECLARE curr VARCHAR(10);
DECLARE k INT;
DECLARE pos INT;
DECLARE startp INT;
SET @k = 0;
SET @tmp = '';
SET @startp = 1;
SET @pos = LOCATE(' ', auras);
DELETE FROM temp_auras;
WHILE @pos > 0 DO
IF @k = 0 THEN
SET @curr = SUBSTR(auras, @startp, @pos - @startp);
IF NOT EXISTS(SELECT spell FROM temp_auras WHERE spell = @curr) THEN
SET @tmp = CONCAT(@tmp, @curr, ' ');
INSERT INTO temp_auras VALUES(@curr);
END IF;
END IF;
SET @k = 1-@k;
SET @startp = @pos+1;
SET @pos = LOCATE(' ', auras, @startp);
END WHILE;
SET @tmp = RTRIM(@tmp);
RETURN @tmp;
END%%
DELIMITER ;
UPDATE `creature_template_addon` SET `auras` = REPLACE(`auras`, ' ', ' ');
UPDATE `creature_template_addon` SET `auras` = TRIM(`auras`);
UPDATE `creature_template_addon` SET `auras` = NULL WHERE `auras` = '';
UPDATE `creature_template_addon` SET `auras` = ConvertAuras(`auras`) WHERE `auras` IS NOT NULL;
UPDATE `creature_addon` SET `auras` = REPLACE(`auras`, ' ', ' ');
UPDATE `creature_addon` SET `auras` = TRIM(`auras`);
UPDATE `creature_addon` SET `auras` = NULL WHERE `auras` = '';
UPDATE `creature_addon` SET `auras` = ConvertAuras(`auras`) WHERE `auras` IS NOT NULL;
DROP FUNCTION `ConvertAuras`;
DROP TABLE `temp_auras`;