diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2017-01-06 02:13:27 -0300 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2018-12-09 14:18:42 +0100 |
| commit | ea0cd9366289a3cecdc78ed4a69c08fecc55a2c0 (patch) | |
| tree | 21dc4ca6b10a015452b39000761dae4c68b3d272 /src/server/game | |
| parent | b5174339aec22f1d2c1ec3f2615eeb13d0f06b34 (diff) | |
Core/Scripts: added command to move characters across accounts
(cherry-picked from f7f865f81803effa17b19ef79762a72fe726b1ac)
Diffstat (limited to 'src/server/game')
| -rw-r--r-- | src/server/game/Accounts/RBAC.h | 2 | ||||
| -rw-r--r-- | src/server/game/Miscellaneous/Language.h | 3 | ||||
| -rw-r--r-- | src/server/game/World/World.cpp | 9 | ||||
| -rw-r--r-- | src/server/game/World/World.h | 1 |
4 files changed, 13 insertions, 2 deletions
diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h index 0c1cb84d270..018f4e0c73f 100644 --- a/src/server/game/Accounts/RBAC.h +++ b/src/server/game/Accounts/RBAC.h @@ -603,7 +603,7 @@ enum RBACPermissions RBAC_PERM_COMMAND_RELOAD_SPELL_LOOT_TEMPLATE = 695, RBAC_PERM_COMMAND_RELOAD_SPELL_LINKED_SPELL = 696, RBAC_PERM_COMMAND_RELOAD_SPELL_PET_AURAS = 697, - // 698 - reuse + RBAC_PERM_COMMAND_CHARACTER_CHANGEACCOUNT = 698, RBAC_PERM_COMMAND_RELOAD_SPELL_PROC = 699, RBAC_PERM_COMMAND_RELOAD_SPELL_SCRIPTS = 700, RBAC_PERM_COMMAND_RELOAD_SPELL_TARGET_POSITION = 701, diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h index 039c3b81604..820edc8adb9 100644 --- a/src/server/game/Miscellaneous/Language.h +++ b/src/server/game/Miscellaneous/Language.h @@ -927,7 +927,8 @@ enum TrinityStrings LANG_ACCOUNT_BNET_NOT_LINKED = 1189, LANG_DISALLOW_TICKETS_CONFIG = 1190, LANG_BAN_EXISTS = 1191, - // Room for more level 3 1192-1198 not used + LANG_CHANGEACCOUNT_SUCCESS = 1192, + // Room for more level 3 1193-1198 not used // Debug commands LANG_DEBUG_AREATRIGGER_LEFT = 1999, diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 23a62783c83..bafc5207656 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -3616,6 +3616,15 @@ void World::UpdateCharacterInfoLevel(ObjectGuid const& guid, uint8 level) itr->second.Level = level; } +void World::UpdateCharacterInfoAccount(ObjectGuid const& guid, uint32 accountId) +{ + auto itr = _characterInfoStore.find(guid); + if (itr == _characterInfoStore.end()) + return; + + itr->second.AccountId = accountId; +} + void World::UpdateCharacterInfoDeleted(ObjectGuid const& guid, bool deleted, std::string const* name /*= nullptr*/) { CharacterInfoContainer::iterator itr = _characterInfoStore.find(guid); diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index 16850da37ae..e7eb8c84d4c 100644 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -794,6 +794,7 @@ class TC_GAME_API World bool HasCharacterInfo(ObjectGuid const& guid) { return _characterInfoStore.find(guid) != _characterInfoStore.end(); } void UpdateCharacterInfo(ObjectGuid const& guid, std::string const& name, uint8 gender = GENDER_NONE, uint8 race = RACE_NONE); void UpdateCharacterInfoLevel(ObjectGuid const& guid, uint8 level); + void UpdateCharacterInfoAccount(ObjectGuid const& guid, uint32 accountId); void UpdateCharacterInfoDeleted(ObjectGuid const& guid, bool deleted, std::string const* name = nullptr); uint32 GetCleaningFlags() const { return m_CleaningFlags; } |
