diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 3 | ||||
| -rw-r--r-- | src/server/game/Handlers/ItemHandler.cpp | 3 | ||||
| -rwxr-xr-x | src/server/game/Spells/Auras/SpellAuraDefines.h | 2 | 
3 files changed, 7 insertions, 1 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index eb7208ceb46..3919c6d3bc3 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -21363,6 +21363,9 @@ bool Player::BuyItemFromVendorSlot(uint64 vendorguid, uint32 vendorslot, uint32          // reputation discount          price = uint32(floor(price * GetReputationPriceDiscount(creature))); +        if (int32 priceMod = GetTotalAuraModifier(SPELL_AURA_MOD_VENDOR_ITEMS_PRICES)) +            price -= CalculatePctN(price, priceMod); +          if (!HasEnoughMoney(uint64(price)))          {              SendBuyError(BUY_ERR_NOT_ENOUGHT_MONEY, creature, item, 0); diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp index 3b38db78d94..5b5f83719e3 100644 --- a/src/server/game/Handlers/ItemHandler.cpp +++ b/src/server/game/Handlers/ItemHandler.cpp @@ -775,6 +775,9 @@ void WorldSession::SendListInventory(uint64 vendorGuid)              }              int32 price = vendorItem->IsGoldRequired(itemTemplate) ? uint32(floor(itemTemplate->BuyPrice * discountMod)) : 0; +             +            if (int32 priceMod = _player->GetTotalAuraModifier(SPELL_AURA_MOD_VENDOR_ITEMS_PRICES)) +                price -= CalculatePctN(price, priceMod);              itemsData << uint32(count++ + 1);        // client expects counting to start at 1              itemsData << uint32(itemTemplate->MaxDurability); diff --git a/src/server/game/Spells/Auras/SpellAuraDefines.h b/src/server/game/Spells/Auras/SpellAuraDefines.h index 1482136f52e..c20397aa960 100755 --- a/src/server/game/Spells/Auras/SpellAuraDefines.h +++ b/src/server/game/Spells/Auras/SpellAuraDefines.h @@ -396,7 +396,7 @@ enum AuraType      SPELL_AURA_334                                          = 334,      SPELL_AURA_335                                          = 335,      SPELL_AURA_MOD_FLYING_RESTRICTIONS                      = 336,  // NYI -    SPELL_AURA_MOD_VENDOR_ITEMS_PRICES                      = 337,  // NYI +    SPELL_AURA_MOD_VENDOR_ITEMS_PRICES                      = 337,      SPELL_AURA_MOD_DURABILITY_LOSS                          = 338,      SPELL_AURA_INCREASE_SKILL_GAIN_CHANCE                   = 339,  // NYI      SPELL_AURA_340                                          = 340,  | 
