aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2017-11-26 16:37:51 +0100
committerShauren <shauren.trinity@gmail.com>2021-08-24 13:43:06 +0200
commitf8c03a90661610e289029c78d2055d7b73a5ad98 (patch)
tree34701c4e5430179421af108ce8a59c68104f3e48 /sql
parentc94c561b85c9512fa67978512d53cc7b85e5f531 (diff)
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 (cherry picked from commit 592516ae69d89da3bcb0ede144644a3d2e0186e0)
Diffstat (limited to 'sql')
-rw-r--r--sql/base/auth_database.sql3
-rw-r--r--sql/updates/auth/master/2018_03_08_00_auth.sql7
-rw-r--r--sql/updates/world/master/2021_08_24_00_world_2018_03_08_11_world.sql34
3 files changed, 44 insertions, 0 deletions
diff --git a/sql/base/auth_database.sql b/sql/base/auth_database.sql
index c30d7d2c74e..b8a1f658bec 100644
--- a/sql/base/auth_database.sql
+++ b/sql/base/auth_database.sql
@@ -1198,6 +1198,7 @@ INSERT INTO `rbac_linked_permissions` VALUES
(196,870),
(196,871),
(196,872),
+(196,873),
(196,881),
(197,232),
(197,236),
@@ -2130,6 +2131,7 @@ INSERT INTO `rbac_permissions` VALUES
(870,'Command: debug threatinfo'),
(871,'Command: debug instancespawn'),
(872,'Command: server debug'),
+(873,'Command: reload creature_movement_override'),
(881,'Command: reload vehicle_template');
/*!40000 ALTER TABLE `rbac_permissions` ENABLE KEYS */;
UNLOCK TABLES;
@@ -2347,6 +2349,7 @@ INSERT INTO `updates` VALUES
('2018_02_18_00_auth.sql','8489DD3EFFE14A7486B593435F0BA2BC69B6EABF','ARCHIVED','2018-02-18 16:35:55',0),
('2018_02_19_00_auth.sql','07CE658C5EF88693D3C047EF8E724F94ADA74C15','ARCHIVED','2018-02-19 22:33:32',0),
('2018_02_28_00_auth.sql','E92EF4ABF7FA0C66649E1633DD0459F44C09EB83','ARCHIVED','2018-02-28 23:07:59',0),
+('2018_03_08_00_auth.sql','624C58A07E0B4DDC4C1347E8BA8EFEEFD5B43DA7','RELEASED','2018-01-12 15:10:11',0),
('2018_03_14_00_auth.sql','2D71E93DF7419A30D0D21D8A80CF05698302575A','ARCHIVED','2018-03-14 23:07:59',0),
('2018_04_06_00_auth.sql','D8416F0C4751763202B1997C81423F6EE2FCF9A6','ARCHIVED','2018-04-06 18:00:32',0),
('2018_05_13_00_auth.sql','A9E20F2EB1E2FDBB982DB6B00DB7301852B27CD4','ARCHIVED','2018-05-13 20:22:32',0),
diff --git a/sql/updates/auth/master/2018_03_08_00_auth.sql b/sql/updates/auth/master/2018_03_08_00_auth.sql
new file mode 100644
index 00000000000..8b0e18b1e6c
--- /dev/null
+++ b/sql/updates/auth/master/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/master/2021_08_24_00_world_2018_03_08_11_world.sql b/sql/updates/world/master/2021_08_24_00_world_2018_03_08_11_world.sql
new file mode 100644
index 00000000000..d805be7874c
--- /dev/null
+++ b/sql/updates/world/master/2021_08_24_00_world_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` bigint(20) 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.');