aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-02-21 15:24:22 +0100
committerShauren <shauren.trinity@gmail.com>2021-02-21 15:24:22 +0100
commitfea8306aa3ce362bac7be34ad30a803d1aecf49d (patch)
tree963875b89153164e5bddf7cb7943061cb6e73dbe /src
parente533d53da85cad563bfc5a48f0d4256e9a18cbc5 (diff)
Core/Auras: Implemented SPELL_AURA_REMOVE_TRANSMOG_COST and SPELL_AURA_REMOVE_BARBER_SHOP_COST
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp3
-rw-r--r--src/server/game/Handlers/TransmogrificationHandler.cpp2
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp4
3 files changed, 6 insertions, 3 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 293c7507777..832d6875dbb 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -26168,6 +26168,9 @@ bool Player::CanCaptureTowerPoint() const
int64 Player::GetBarberShopCost(Trinity::IteratorPair<UF::ChrCustomizationChoice const*> newCustomizations) const
{
+ if (HasAuraType(SPELL_AURA_REMOVE_BARBER_SHOP_COST))
+ return 0;
+
GtBarberShopCostBaseEntry const* bsc = sBarberShopCostBaseGameTable.GetRow(getLevel());
if (!bsc) // shouldn't happen
return 0;
diff --git a/src/server/game/Handlers/TransmogrificationHandler.cpp b/src/server/game/Handlers/TransmogrificationHandler.cpp
index b7faf646a82..817c708aa2b 100644
--- a/src/server/game/Handlers/TransmogrificationHandler.cpp
+++ b/src/server/game/Handlers/TransmogrificationHandler.cpp
@@ -163,7 +163,7 @@ void WorldSession::HandleTransmogrifyItems(WorldPackets::Transmogrification::Tra
resetIllusionItems.push_back(itemTransmogrified);
}
- if (cost) // 0 cost if reverting look
+ if (!player->HasAuraType(SPELL_AURA_REMOVE_TRANSMOG_COST) && cost) // 0 cost if reverting look
{
if (!player->HasEnoughMoney(cost))
return;
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 39f1f1a561e..db2c6865199 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -290,8 +290,8 @@ NonDefaultConstructible<pAuraEffectHandler> AuraEffectHandler[TOTAL_AURAS]=
&AuraEffect::HandleNULL, //219 SPELL_AURA_ADD_FLAT_MODIFIER_BY_SPELL_LABEL
&AuraEffect::HandleNULL, //220 SPELL_AURA_MOD_ABILITY_SCHOOL_MASK
&AuraEffect::HandleNULL, //221 SPELL_AURA_MOD_DETAUNT
- &AuraEffect::HandleNULL, //222 SPELL_AURA_REMOVE_TRANSMOG_COST
- &AuraEffect::HandleNULL, //223 SPELL_AURA_REMOVE_BARBER_SHOP_COST
+ &AuraEffect::HandleNoImmediateEffect, //222 SPELL_AURA_REMOVE_TRANSMOG_COST implemented in WorldSession::HandleTransmogrifyItems
+ &AuraEffect::HandleNoImmediateEffect, //223 SPELL_AURA_REMOVE_BARBER_SHOP_COST implemented in Player::GetBarberShopCost
&AuraEffect::HandleNULL, //224 SPELL_AURA_LEARN_TALENT
&AuraEffect::HandleNULL, //225 SPELL_AURA_MOD_VISIBILITY_RANGE
&AuraEffect::HandleNoImmediateEffect, //226 SPELL_AURA_PERIODIC_DUMMY implemented in AuraEffect::PeriodicTick