aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/ItemHandler.cpp
diff options
context:
space:
mode:
authorNay <dnpd.dd@gmail.com>2012-08-02 01:16:45 +0100
committerNay <dnpd.dd@gmail.com>2012-08-02 01:16:45 +0100
commitedee3732c59f1c238131acea7e1fb73f466b4b99 (patch)
tree1a761603bba12f3ffbfd3320bc7c86f0926508a8 /src/server/game/Handlers/ItemHandler.cpp
parente909fd036b39b5f53e60421d2eb6213497189cc6 (diff)
Core/Transmog: Charge money for transmogrification
Diffstat (limited to 'src/server/game/Handlers/ItemHandler.cpp')
-rwxr-xr-xsrc/server/game/Handlers/ItemHandler.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp
index b36ca5853cf..18859e766d1 100755
--- a/src/server/game/Handlers/ItemHandler.cpp
+++ b/src/server/game/Handlers/ItemHandler.cpp
@@ -1534,6 +1534,7 @@ void WorldSession::HandleTransmogrifyItems(WorldPacket& recvData)
return;
}
+ int32 cost = 0;
for (uint8 i = 0; i < count; ++i)
{
// slot of the transmogrified item
@@ -1615,7 +1616,14 @@ void WorldSession::HandleTransmogrifyItems(WorldPacket& recvData)
itemTransmogrifier->SetOwnerGUID(player->GetGUID());
itemTransmogrifier->SetNotRefundable(player);
itemTransmogrifier->ClearSoulboundTradeable(player);
+
+ cost += itemTransmogrified->GetTransmogrifyCost();
}
+
+ // trusting the client, if it got here it has to have enough money
+ // ... unless client was modified
+ if (cost) // 0 cost if reverting look
+ player->ModifyMoney(-cost);
}
delete[] itemGuids;