From 592516ae69d89da3bcb0ede144644a3d2e0186e0 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 26 Nov 2017 16:37:51 +0100 Subject: Core/Creatures: Reworked setting move types in database * Each move type has its own field instead of trying to combine everything in InhabitType * Allow overriding movement separately for each spawn --- sql/updates/auth/3.3.5/2018_03_08_00_auth.sql | 7 +++++ sql/updates/world/3.3.5/2018_03_08_11_world.sql | 34 +++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 sql/updates/auth/3.3.5/2018_03_08_00_auth.sql create mode 100644 sql/updates/world/3.3.5/2018_03_08_11_world.sql (limited to 'sql/updates') diff --git a/sql/updates/auth/3.3.5/2018_03_08_00_auth.sql b/sql/updates/auth/3.3.5/2018_03_08_00_auth.sql new file mode 100644 index 00000000000..8b0e18b1e6c --- /dev/null +++ b/sql/updates/auth/3.3.5/2018_03_08_00_auth.sql @@ -0,0 +1,7 @@ +DELETE FROM `rbac_permissions` WHERE `id` = 873; +INSERT INTO `rbac_permissions` (`id`,`name`) VALUES +(873, 'Command: reload creature_movement_override'); + +DELETE FROM `rbac_linked_permissions` WHERE `linkedId` = 873; +INSERT INTO `rbac_linked_permissions` (`id`,`linkedId`) VALUES +(196, 873); diff --git a/sql/updates/world/3.3.5/2018_03_08_11_world.sql b/sql/updates/world/3.3.5/2018_03_08_11_world.sql new file mode 100644 index 00000000000..73762639747 --- /dev/null +++ b/sql/updates/world/3.3.5/2018_03_08_11_world.sql @@ -0,0 +1,34 @@ +DROP TABLE IF EXISTS `creature_template_movement`; +CREATE TABLE `creature_template_movement` ( + `CreatureId` int(10) unsigned NOT NULL DEFAULT '0', + `Ground` tinyint(3) unsigned NOT NULL DEFAULT '1', + `Swim` tinyint(3) unsigned NOT NULL DEFAULT '1', + `Flight` tinyint(3) unsigned NOT NULL DEFAULT '0', + `Rooted` tinyint(3) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`CreatureId`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +DROP TABLE IF EXISTS `creature_movement_override`; +CREATE TABLE `creature_movement_override` ( + `SpawnId` int(10) unsigned NOT NULL DEFAULT '0', + `Ground` tinyint(3) unsigned NOT NULL DEFAULT '1', + `Swim` tinyint(3) unsigned NOT NULL DEFAULT '1', + `Flight` tinyint(3) unsigned NOT NULL DEFAULT '0', + `Rooted` tinyint(3) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`SpawnId`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +INSERT INTO `creature_template_movement` SELECT `entry`,0,0,0,0 FROM `creature_template` WHERE `InhabitType`!=3; +UPDATE `creature_template_movement` SET `Ground`=1 WHERE `CreatureId` IN (SELECT `entry` FROM `creature_template` WHERE `InhabitType` & 1); +UPDATE `creature_template_movement` SET `Swim`=1 WHERE `CreatureId` IN (SELECT `entry` FROM `creature_template` WHERE `InhabitType` & 2); +UPDATE `creature_template_movement` SET `Flight`=1 WHERE `CreatureId` IN (SELECT `entry` FROM `creature_template` WHERE (`InhabitType` & 5) = 4); +UPDATE `creature_template_movement` SET `Flight`=2 WHERE `CreatureId` IN (SELECT `entry` FROM `creature_template` WHERE (`InhabitType` & 5) = 5); +UPDATE `creature_template_movement` SET `Rooted`=1 WHERE `CreatureId` IN (SELECT `entry` FROM `creature_template` WHERE `InhabitType` & 8); + +ALTER TABLE `creature_template` DROP `InhabitType`; + +UPDATE `trinity_string` SET `content_default`='Movement type: %s' WHERE `entry`=11008; + +DELETE FROM `command` WHERE `name`='reload creature_movement_override'; +INSERT INTO `command` (`name`,`permission`,`help`) VALUES +('reload creature_movement_override',873,'Syntax: .reload creature_movement_override\nReload creature_movement_override table.'); -- cgit v1.2.3