aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/base/auth_database.sql7
-rw-r--r--sql/updates/auth/master/2020_12_31_00_auth.sql7
-rw-r--r--sql/updates/world/master/2020_12_31_00_world.sql6
-rw-r--r--src/server/game/Accounts/RBAC.h8
-rw-r--r--src/server/scripts/Commands/cs_reload.cpp9
5 files changed, 35 insertions, 2 deletions
diff --git a/sql/base/auth_database.sql b/sql/base/auth_database.sql
index 7fdcad9e7dd..cde9da4ba19 100644
--- a/sql/base/auth_database.sql
+++ b/sql/base/auth_database.sql
@@ -1188,6 +1188,7 @@ INSERT INTO `rbac_linked_permissions` VALUES
(196,866),
(196,869),
(196,872),
+(196,881),
(197,232),
(197,236),
(197,237),
@@ -2115,7 +2116,8 @@ INSERT INTO `rbac_permissions` VALUES
(866,'Command: list spawnpoints'),
(868,'Command: modify power'),
(869,'Command: debug send playerchoice'),
-(872,'Command: server debug');
+(872,'Command: server debug'),
+(881,'Command: reload vehicle_template');
/*!40000 ALTER TABLE `rbac_permissions` ENABLE KEYS */;
UNLOCK TABLES;
@@ -2387,7 +2389,8 @@ INSERT INTO `updates` VALUES
('2020_12_06_00_auth.sql','FA254400D3D7D53E9C350EABFEABFF4EC3AD40DA','RELEASED','2020-12-06 20:25:10',0),
('2020_12_07_00_auth.sql','23626805735CB9BEEEBD756D4A39AFBCDA6E366C','RELEASED','2020-12-07 21:12:53',0),
('2020_12_15_00_auth.sql','37DA3C4830ABA30C49370A8647F5B6B3E1821E57','RELEASED','2020-12-15 19:33:15',0),
-('2020_12_22_00_auth.sql','1AED5AD7D93C30CF75E62EBEBCC64FFEDC58F00A','RELEASED','2020-12-22 22:00:39',0);
+('2020_12_22_00_auth.sql','1AED5AD7D93C30CF75E62EBEBCC64FFEDC58F00A','RELEASED','2020-12-22 22:00:39',0),
+('2020_12_31_00_auth.sql','05C9C105D55C6588CDA0D75AE3B135B7E6B54C06','RELEASED','2020-12-31 12:58:21',0);
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
UNLOCK TABLES;
diff --git a/sql/updates/auth/master/2020_12_31_00_auth.sql b/sql/updates/auth/master/2020_12_31_00_auth.sql
new file mode 100644
index 00000000000..44d29e41def
--- /dev/null
+++ b/sql/updates/auth/master/2020_12_31_00_auth.sql
@@ -0,0 +1,7 @@
+DELETE FROM `rbac_permissions` WHERE `id`=881;
+INSERT INTO `rbac_permissions` (`id`,`name`) VALUES
+(881, 'Command: reload vehicle_template');
+
+DELETE FROM `rbac_linked_permissions` WHERE `linkedId`=881;
+INSERT INTO `rbac_linked_permissions` (`id`,`linkedId`) VALUES
+(196,881);
diff --git a/sql/updates/world/master/2020_12_31_00_world.sql b/sql/updates/world/master/2020_12_31_00_world.sql
index 15be0e0e2a7..b974c0abba2 100644
--- a/sql/updates/world/master/2020_12_31_00_world.sql
+++ b/sql/updates/world/master/2020_12_31_00_world.sql
@@ -7,3 +7,9 @@ CREATE TABLE `vehicle_template` (
`despawnDelayMs` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`creatureId`)
) ENGINE=MyISAM;
+
+DELETE FROM `command` WHERE `name`='reload vehicle_template';
+INSERT INTO `command` (`name`,`permission`,`help`) VALUES
+('reload vehicle_template', 881, "Syntax: .reload vehicle_template
+
+Reloads vehicle template definitions from the database.");
diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h
index 72d17dde2e4..c486dd4846d 100644
--- a/src/server/game/Accounts/RBAC.h
+++ b/src/server/game/Accounts/RBAC.h
@@ -778,6 +778,14 @@ enum RBACPermissions
RBAC_PERM_COMMAND_DEBUG_THREATINFO = 870, // reserved
RBAC_PERM_COMMAND_DEBUG_INSTANCESPAWN = 871, // reserved
RBAC_PERM_COMMAND_SERVER_DEBUG = 872,
+ RBAC_PERM_COMMAND_RELOAD_CREATURE_MOVEMENT_OVERRIDE = 873,
+ // 874 previously used, do not reuse
+ RBAC_PERM_COMMAND_LOOKUP_MAP_ID = 875,
+ RBAC_PERM_COMMAND_LOOKUP_ITEM_ID = 876,
+ RBAC_PERM_COMMAND_LOOKUP_QUEST_ID = 877,
+ // 878-879 previously used, do not reuse
+ RBAC_PERM_COMMAND_PDUMP_COPY = 880,
+ RBAC_PERM_COMMAND_RELOAD_VEHICLE_TEMPLATE = 881,
//
// IF YOU ADD NEW PERMISSIONS, ADD THEM IN 3.3.5 BRANCH AS WELL!
//
diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp
index eb1dd09134d..f3b64c514a2 100644
--- a/src/server/scripts/Commands/cs_reload.cpp
+++ b/src/server/scripts/Commands/cs_reload.cpp
@@ -160,6 +160,7 @@ public:
{ "warden_action", rbac::RBAC_PERM_COMMAND_RELOAD_WARDEN_ACTION, true, &HandleReloadWardenactionCommand, "" },
{ "waypoint_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_WAYPOINT_SCRIPTS, true, &HandleReloadWpScriptsCommand, "" },
{ "waypoint_data", rbac::RBAC_PERM_COMMAND_RELOAD_WAYPOINT_DATA, true, &HandleReloadWpCommand, "" },
+ { "vehicle_template", rbac::RBAC_PERM_COMMAND_RELOAD_VEHICLE_TEMPLATE, true, &HandleReloadVehicleTemplateCommand, "" },
{ "vehicle_accessory", rbac::RBAC_PERM_COMMAND_RELOAD_VEHICLE_ACCESORY, true, &HandleReloadVehicleAccessoryCommand, "" },
{ "vehicle_template_accessory", rbac::RBAC_PERM_COMMAND_RELOAD_VEHICLE_TEMPLATE_ACCESSORY, true, &HandleReloadVehicleTemplateAccessoryCommand, "" },
};
@@ -1116,6 +1117,14 @@ public:
return true;
}
+ static bool HandleReloadVehicleTemplateCommand(ChatHandler* handler, char const* /*args*/)
+ {
+ TC_LOG_INFO("misc", "Reloading vehicle_template table...");
+ sObjectMgr->LoadVehicleTemplate();
+ handler->SendGlobalGMSysMessage("Vehicle templates reloaded.");
+ return true;
+ }
+
static bool HandleReloadVehicleAccessoryCommand(ChatHandler* handler, char const* /*args*/)
{
TC_LOG_INFO("misc", "Reloading vehicle_accessory table...");