mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-02-06 12:27:48 +00:00
feat(Core/Conf): toggle XP price (#4388)
This commit is contained in:
@@ -371,6 +371,7 @@ enum WorldIntConfigs
|
|||||||
CONFIG_GUILD_BANK_TAB_COST_4,
|
CONFIG_GUILD_BANK_TAB_COST_4,
|
||||||
CONFIG_GUILD_BANK_TAB_COST_5,
|
CONFIG_GUILD_BANK_TAB_COST_5,
|
||||||
CONFIG_GM_LEVEL_CHANNEL_MODERATION,
|
CONFIG_GM_LEVEL_CHANNEL_MODERATION,
|
||||||
|
CONFIG_TOGGLE_XP_COST,
|
||||||
CONFIG_NPC_EVADE_IF_NOT_REACHABLE,
|
CONFIG_NPC_EVADE_IF_NOT_REACHABLE,
|
||||||
INT_CONFIG_VALUE_COUNT
|
INT_CONFIG_VALUE_COUNT
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1294,6 +1294,7 @@ void World::LoadConfigSettings(bool reload)
|
|||||||
m_int_configs[CONFIG_PVP_TOKEN_COUNT] = 1;
|
m_int_configs[CONFIG_PVP_TOKEN_COUNT] = 1;
|
||||||
|
|
||||||
m_bool_configs[CONFIG_NO_RESET_TALENT_COST] = sConfigMgr->GetBoolDefault("NoResetTalentsCost", false);
|
m_bool_configs[CONFIG_NO_RESET_TALENT_COST] = sConfigMgr->GetBoolDefault("NoResetTalentsCost", false);
|
||||||
|
m_int_configs[CONFIG_TOGGLE_XP_COST] = sConfigMgr->GetIntDefault("ToggleXP.Cost", 100000);
|
||||||
m_bool_configs[CONFIG_SHOW_KICK_IN_WORLD] = sConfigMgr->GetBoolDefault("ShowKickInWorld", false);
|
m_bool_configs[CONFIG_SHOW_KICK_IN_WORLD] = sConfigMgr->GetBoolDefault("ShowKickInWorld", false);
|
||||||
m_bool_configs[CONFIG_SHOW_MUTE_IN_WORLD] = sConfigMgr->GetBoolDefault("ShowMuteInWorld", false);
|
m_bool_configs[CONFIG_SHOW_MUTE_IN_WORLD] = sConfigMgr->GetBoolDefault("ShowMuteInWorld", false);
|
||||||
m_bool_configs[CONFIG_SHOW_BAN_IN_WORLD] = sConfigMgr->GetBoolDefault("ShowBanInWorld", false);
|
m_bool_configs[CONFIG_SHOW_BAN_IN_WORLD] = sConfigMgr->GetBoolDefault("ShowBanInWorld", false);
|
||||||
|
|||||||
@@ -1994,7 +1994,6 @@ public:
|
|||||||
## npc_experience
|
## npc_experience
|
||||||
######*/
|
######*/
|
||||||
|
|
||||||
#define EXP_COST 100000 //10 00 00 copper (10golds)
|
|
||||||
#define GOSSIP_TEXT_EXP 14736
|
#define GOSSIP_TEXT_EXP 14736
|
||||||
#define GOSSIP_XP_OFF "I no longer wish to gain experience."
|
#define GOSSIP_XP_OFF "I no longer wish to gain experience."
|
||||||
#define GOSSIP_XP_ON "I wish to start gaining experience again."
|
#define GOSSIP_XP_ON "I wish to start gaining experience again."
|
||||||
@@ -2017,6 +2016,7 @@ public:
|
|||||||
ClearGossipMenuFor(player);
|
ClearGossipMenuFor(player);
|
||||||
bool noXPGain = player->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_NO_XP_GAIN);
|
bool noXPGain = player->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_NO_XP_GAIN);
|
||||||
bool doSwitch = false;
|
bool doSwitch = false;
|
||||||
|
auto toggleXpCost = sWorld->getIntConfig(CONFIG_TOGGLE_XP_COST);
|
||||||
|
|
||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
@@ -2035,16 +2035,18 @@ public:
|
|||||||
}
|
}
|
||||||
if (doSwitch)
|
if (doSwitch)
|
||||||
{
|
{
|
||||||
if (!player->HasEnoughMoney(EXP_COST))
|
if (!player->HasEnoughMoney(toggleXpCost))
|
||||||
|
{
|
||||||
player->SendBuyError(BUY_ERR_NOT_ENOUGHT_MONEY, 0, 0, 0);
|
player->SendBuyError(BUY_ERR_NOT_ENOUGHT_MONEY, 0, 0, 0);
|
||||||
|
}
|
||||||
else if (noXPGain)
|
else if (noXPGain)
|
||||||
{
|
{
|
||||||
player->ModifyMoney(-EXP_COST);
|
player->ModifyMoney(-toggleXpCost);
|
||||||
player->RemoveFlag(PLAYER_FLAGS, PLAYER_FLAGS_NO_XP_GAIN);
|
player->RemoveFlag(PLAYER_FLAGS, PLAYER_FLAGS_NO_XP_GAIN);
|
||||||
}
|
}
|
||||||
else if (!noXPGain)
|
else if (!noXPGain)
|
||||||
{
|
{
|
||||||
player->ModifyMoney(-EXP_COST);
|
player->ModifyMoney(-toggleXpCost);
|
||||||
player->SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_NO_XP_GAIN);
|
player->SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_NO_XP_GAIN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3318,6 +3318,14 @@ PvPToken.ItemCount = 1
|
|||||||
|
|
||||||
NoResetTalentsCost = 0
|
NoResetTalentsCost = 0
|
||||||
|
|
||||||
|
#
|
||||||
|
# ToggleXP.Cost
|
||||||
|
# Description: Cost of locking/unlocking XP
|
||||||
|
# Default: 100000 - (10 Gold)
|
||||||
|
#
|
||||||
|
|
||||||
|
ToggleXP.Cost = 100000
|
||||||
|
|
||||||
#
|
#
|
||||||
# Guild.AllowMultipleGuildMaster
|
# Guild.AllowMultipleGuildMaster
|
||||||
# Description: Allow more than one guild master. Additional Guild Masters must be set using
|
# Description: Allow more than one guild master. Additional Guild Masters must be set using
|
||||||
|
|||||||
Reference in New Issue
Block a user