From ce4dbbce769c2f33269d1bbc78201746b8eae844 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Wed, 20 Jan 2021 11:19:09 +0100 Subject: [PATCH] feat(Core/Config): allow initial (free) amount of Guild Bank tabs (#4290) --- src/server/game/Guilds/Guild.cpp | 5 +++++ src/server/game/World/IWorld.h | 1 + src/server/game/World/World.cpp | 1 + src/server/worldserver/worldserver.conf.dist | 8 ++++++++ 4 files changed, 15 insertions(+) diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 00a7f5781..1c151bf22 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -1203,6 +1203,11 @@ bool Guild::Create(Player* pLeader, std::string const& name) _CreateDefaultGuildRanks(pLeaderSession->GetSessionDbLocaleIndex()); // Create default ranks bool ret = AddMember(m_leaderGuid, GR_GUILDMASTER); // Add guildmaster + for (short i = 0; i < static_cast(sWorld->getIntConfig(CONFIG_GUILD_BANK_INITIAL_TABS)); i++) + { + _CreateNewBankTab(); + } + if (ret) sScriptMgr->OnGuildCreate(this, pLeader, name); diff --git a/src/server/game/World/IWorld.h b/src/server/game/World/IWorld.h index 80988e9b2..a29ee3c75 100644 --- a/src/server/game/World/IWorld.h +++ b/src/server/game/World/IWorld.h @@ -362,6 +362,7 @@ enum WorldIntConfigs CONFIG_CHARTER_COST_ARENA_5v5, CONFIG_MAX_WHO_LIST_RETURN, CONFIG_WAYPOINT_MOVEMENT_STOP_TIME_FOR_PLAYER, + CONFIG_GUILD_BANK_INITIAL_TABS, CONFIG_GUILD_BANK_TAB_COST_0, CONFIG_GUILD_BANK_TAB_COST_1, CONFIG_GUILD_BANK_TAB_COST_2, diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 721da95ef..f8cf70a32 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1075,6 +1075,7 @@ void World::LoadConfigSettings(bool reload) m_int_configs[CONFIG_GUILD_RESET_HOUR] = 6; } + m_int_configs[CONFIG_GUILD_BANK_INITIAL_TABS] = sConfigMgr->GetIntDefault("Guild.BankInitialTabs", 0); m_int_configs[CONFIG_GUILD_BANK_TAB_COST_0] = sConfigMgr->GetIntDefault("Guild.BankTabCost0", 1000000); m_int_configs[CONFIG_GUILD_BANK_TAB_COST_1] = sConfigMgr->GetIntDefault("Guild.BankTabCost1", 2500000); m_int_configs[CONFIG_GUILD_BANK_TAB_COST_2] = sConfigMgr->GetIntDefault("Guild.BankTabCost2", 5000000); diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index f093ac6ad..71443bb40 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -3311,6 +3311,14 @@ NoResetTalentsCost = 0 Guild.AllowMultipleGuildMaster = 0 +# +# Guild.BankInitialTabs +# Description: Changes the amounts of available tabs of the guild bank on guild creation +# Default: 0 (no tabs given for free) +# 1-6 (amount of tabs of the guild bank at guild creation) + +Guild.BankInitialTabs = 0 + # # Guild.BankTabCost0-5 # Description: Changes the price of the guild tabs. Note that the client will still show the default values.