diff --git a/data/sql/updates/pending_db_world/rev_1636956243535419760.sql b/data/sql/updates/pending_db_world/rev_1636956243535419760.sql new file mode 100644 index 000000000..0dead7871 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1636956243535419760.sql @@ -0,0 +1,5 @@ +INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1636956243535419760'); + +DELETE FROM `command` WHERE `name` = 'character rename'; +INSERT INTO `command` (`name`, `security`, `help`) VALUES +('character rename', 2, 'Syntax: .character rename [$name] [reserveName] [$newName]\r\n\r\nMark selected in game or by $name in command character for rename at next login.\r\n\r\nIf [reserveName] is 1 then the player\'s current name is added to the list of reserved names.\r\nIf [newName] then the player will be forced rename.'); diff --git a/src/server/scripts/Commands/cs_character.cpp b/src/server/scripts/Commands/cs_character.cpp index e8dad72fa..734be70c5 100644 --- a/src/server/scripts/Commands/cs_character.cpp +++ b/src/server/scripts/Commands/cs_character.cpp @@ -322,7 +322,7 @@ public: } //rename characters - static bool HandleCharacterRenameCommand(ChatHandler* handler, Optional player, Optional newNameV) + static bool HandleCharacterRenameCommand(ChatHandler* handler, Optional player, Optional reserveName, Optional newNameV) { if (!player && newNameV) return false; @@ -417,6 +417,11 @@ public: } } + if (reserveName) + { + sObjectMgr->AddReservedPlayerName(player->GetName()); + } + return true; }