diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/apps/worldserver/worldserver.conf.dist | 7 | ||||
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 7 | ||||
-rw-r--r-- | src/server/game/World/WorldConfig.cpp | 2 | ||||
-rw-r--r-- | src/server/game/World/WorldConfig.h | 1 |
4 files changed, 14 insertions, 3 deletions
diff --git a/src/server/apps/worldserver/worldserver.conf.dist b/src/server/apps/worldserver/worldserver.conf.dist index fa4baa1382..8f54e0dd0e 100644 --- a/src/server/apps/worldserver/worldserver.conf.dist +++ b/src/server/apps/worldserver/worldserver.conf.dist @@ -4564,6 +4564,13 @@ MunchingBlizzlike.Enabled = 1 Daze.Enabled = 1 # +# InfiniteAmmo.Enabled +# Description: Enable or disable ammo consumption for ranged attacks and thrown weapons. +# Default: 0 - (Blizzlike) + +InfiniteAmmo.Enabled = 0 + +# ################################################################################################### ################################################################################################### diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 5b2aeb1101..ede719d2a2 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -5422,15 +5422,16 @@ void Spell::TakeAmmo() // decrease durability for non-stackable throw weapon m_caster->ToPlayer()->DurabilityPointLossForEquipSlot(EQUIPMENT_SLOT_RANGED); } - else + else if (!sWorld->getBoolConfig(CONFIG_ENABLE_INFINITEAMMO)) { // decrease items amount for stackable throw weapon uint32 count = 1; m_caster->ToPlayer()->DestroyItemCount(pItem, count, true); } } - else if (uint32 ammo = m_caster->ToPlayer()->GetUInt32Value(PLAYER_AMMO_ID)) - m_caster->ToPlayer()->DestroyItemCount(ammo, 1, true); + else if (!sWorld->getBoolConfig(CONFIG_ENABLE_INFINITEAMMO)) + if (uint32 ammo = m_caster->ToPlayer()->GetUInt32Value(PLAYER_AMMO_ID)) + m_caster->ToPlayer()->DestroyItemCount(ammo, 1, true); } } diff --git a/src/server/game/World/WorldConfig.cpp b/src/server/game/World/WorldConfig.cpp index afcede3af6..eedd61eaf4 100644 --- a/src/server/game/World/WorldConfig.cpp +++ b/src/server/game/World/WorldConfig.cpp @@ -505,6 +505,8 @@ void WorldConfig::BuildConfigCache() SetConfigValue<bool>(CONFIG_ENABLE_DAZE, "Daze.Enabled", true); + SetConfigValue<bool>(CONFIG_ENABLE_INFINITEAMMO, "InfiniteAmmo.Enabled", false); + SetConfigValue<uint32>(CONFIG_DAILY_RBG_MIN_LEVEL_AP_REWARD, "DailyRBGArenaPoints.MinLevel", 71); // Respawn diff --git a/src/server/game/World/WorldConfig.h b/src/server/game/World/WorldConfig.h index 2760faad1d..ce089b65a3 100644 --- a/src/server/game/World/WorldConfig.h +++ b/src/server/game/World/WorldConfig.h @@ -142,6 +142,7 @@ enum ServerConfigs CONFIG_ALLOWS_RANK_MOD_FOR_PET_HEALTH, CONFIG_MUNCHING_BLIZZLIKE, CONFIG_ENABLE_DAZE, + CONFIG_ENABLE_INFINITEAMMO, CONFIG_SPELL_QUEUE_ENABLED, CONFIG_GROUP_XP_DISTANCE, CONFIG_MAX_RECRUIT_A_FRIEND_DISTANCE, |