mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 17:51:28 +00:00
Exploit abatement for item duplication involving augments
This commit is contained in:
parent
ffbc913b9d
commit
0d9af27a03
@ -1,5 +1,8 @@
|
|||||||
EQEMu Changelog (Started on Sept 24, 2003 15:50)
|
EQEMu Changelog (Started on Sept 24, 2003 15:50)
|
||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
|
== 21/01/2016 ==
|
||||||
|
Uleat: Disabled RoF+ clients from augmentation items not in their possessions slots (0-29, 9999, 251-330) to abate an exploit in the current code
|
||||||
|
|
||||||
== 10/17/2016 ==
|
== 10/17/2016 ==
|
||||||
Uleat: Moved namespace ItemField from item_instance.h to shareddb.cpp - the only place it is used
|
Uleat: Moved namespace ItemField from item_instance.h to shareddb.cpp - the only place it is used
|
||||||
Uleat: Separated class Inventory from item_instance files into inventory_profile files
|
Uleat: Separated class Inventory from item_instance files into inventory_profile files
|
||||||
|
|||||||
@ -2933,6 +2933,19 @@ void Client::Handle_OP_AugmentItem(const EQApplicationPacket *app)
|
|||||||
bool deleteItems = false;
|
bool deleteItems = false;
|
||||||
if (ClientVersion() >= EQEmu::versions::ClientVersion::RoF)
|
if (ClientVersion() >= EQEmu::versions::ClientVersion::RoF)
|
||||||
{
|
{
|
||||||
|
if ((in_augment->container_slot < 0 || in_augment->container_slot >= EQEmu::legacy::SLOT_CURSOR) &&
|
||||||
|
in_augment->container_slot != EQEmu::legacy::SLOT_POWER_SOURCE &&
|
||||||
|
(in_augment->container_slot < EQEmu::legacy::SLOT_PERSONAL_BAGS_BEGIN || in_augment->container_slot > EQEmu::legacy::SLOT_PERSONAL_BAGS_END))
|
||||||
|
{
|
||||||
|
Message(13, "The server does not allow augmentation actions from this slot.");
|
||||||
|
auto cursor_item = m_inv[EQEmu::legacy::SLOT_CURSOR];
|
||||||
|
auto augmented_item = m_inv[in_augment->container_slot];
|
||||||
|
SendItemPacket(EQEmu::legacy::SLOT_CURSOR, cursor_item, ItemPacketCharInventory);
|
||||||
|
// this may crash clients on certain slots
|
||||||
|
SendItemPacket(in_augment->container_slot, augmented_item, ItemPacketCharInventory);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
EQEmu::ItemInstance *itemOneToPush = nullptr, *itemTwoToPush = nullptr;
|
EQEmu::ItemInstance *itemOneToPush = nullptr, *itemTwoToPush = nullptr;
|
||||||
|
|
||||||
//Log.Out(Logs::DebugLevel::Moderate, Logs::Debug, "cslot: %i aslot: %i cidx: %i aidx: %i act: %i dest: %i",
|
//Log.Out(Logs::DebugLevel::Moderate, Logs::Debug, "cslot: %i aslot: %i cidx: %i aidx: %i act: %i dest: %i",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user