diff --git a/src/server/apps/worldserver/worldserver.conf.dist b/src/server/apps/worldserver/worldserver.conf.dist index 98b2ae2c5f6e74..01ed59c7bb6741 100644 --- a/src/server/apps/worldserver/worldserver.conf.dist +++ b/src/server/apps/worldserver/worldserver.conf.dist @@ -4386,6 +4386,13 @@ TeleportTimeoutFar = 45 DailyRBGArenaPoints.MinLevel = 71 +# +# MunchingBlizzlike.Enabled +# Description: Enable the Blizzlike implementation of munching with e.g. Warrior's Rend or Mage's Ignite +# Default: 1 - (Blizzlike) + +MunchingBlizzlike.Enabled = 1 + # ################################################################################################### diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 57d77090750ba2..0a48b0a2cd016c 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -20566,7 +20566,7 @@ void Unit::CastDelayedSpellWithPeriodicAmount(Unit* caster, uint32 spellId, Aura } // xinef: delay only for casting on different unit - if (this == caster) + if (this == caster || !sWorld->getBoolConfig(CONFIG_MUNCHING_BLIZZLIKE)) caster->CastCustomSpell(spellId, SPELLVALUE_BASE_POINT0, addAmount, this, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_NO_PERIODIC_RESET), nullptr, nullptr, caster->GetGUID()); else caster->m_Events.AddEvent(new AuraMunchingQueue(*caster, GetGUID(), addAmount, spellId), caster->m_Events.CalculateQueueTime(400)); diff --git a/src/server/game/World/IWorld.h b/src/server/game/World/IWorld.h index 329176bcbb78be..8f91452fef9e34 100644 --- a/src/server/game/World/IWorld.h +++ b/src/server/game/World/IWorld.h @@ -185,6 +185,7 @@ enum WorldBoolConfigs CONFIG_STRICT_NAMES_RESERVED, CONFIG_STRICT_NAMES_PROFANITY, CONFIG_ALLOWS_RANK_MOD_FOR_PET_HEALTH, + CONFIG_MUNCHING_BLIZZLIKE, BOOL_CONFIG_VALUE_COUNT }; diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 63bc50a473dbdc..0cc06171e054db 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1282,6 +1282,8 @@ void World::LoadConfigSettings(bool reload) _bool_configs[CONFIG_ALLOWS_RANK_MOD_FOR_PET_HEALTH] = sConfigMgr->GetOption("Pet.RankMod.Health", true); + _bool_configs[CONFIG_MUNCHING_BLIZZLIKE] = sConfigMgr->GetOption("MunchingBlizzlike.Enabled", true); + _int_configs[CONFIG_DAILY_RBG_MIN_LEVEL_AP_REWARD] = sConfigMgr->GetOption("DailyRBGArenaPoints.MinLevel", 71); _int_configs[CONFIG_AUCTION_HOUSE_SEARCH_TIMEOUT] = sConfigMgr->GetOption("AuctionHouse.SearchTimeout", 1000);