fix disenchanting when dropping item from inv
This commit is contained in:
@@ -260,15 +260,18 @@ shared_ptr<ItemInstance> AbstractContainerMenu::clicked(int slotIndex, int butto
|
||||
{
|
||||
int outId = carried->id, outCount = carried->count, outAux = carried->getAuxValue();
|
||||
if (FourKitBridge::FirePlayerDropItem(
|
||||
player->entityId, carried->id, carried->count, carried->getAuxValue(),
|
||||
&outId, &outCount, &outAux))
|
||||
dropAllowed = false;
|
||||
else
|
||||
{
|
||||
player->drop(std::make_shared<ItemInstance>(outId, outCount, outAux));
|
||||
inventory->setCarried(nullptr);
|
||||
dropAllowed = false;
|
||||
}
|
||||
player->entityId, carried->id, carried->count, carried->getAuxValue(),
|
||||
&outId, &outCount, &outAux))
|
||||
dropAllowed = false;
|
||||
else
|
||||
{
|
||||
carried->id = outId;
|
||||
carried->count = outCount;
|
||||
carried->setAuxValue(outAux);
|
||||
player->drop(carried);
|
||||
inventory->setCarried(nullptr);
|
||||
dropAllowed = false;
|
||||
}
|
||||
}
|
||||
if (dropAllowed)
|
||||
{
|
||||
@@ -290,16 +293,19 @@ shared_ptr<ItemInstance> AbstractContainerMenu::clicked(int slotIndex, int butto
|
||||
{
|
||||
int outId = carried->id, outCount = 1, outAux = carried->getAuxValue();
|
||||
if (FourKitBridge::FirePlayerDropItem(
|
||||
player->entityId, carried->id, 1, carried->getAuxValue(),
|
||||
&outId, &outCount, &outAux))
|
||||
dropAllowed = false;
|
||||
else
|
||||
{
|
||||
carried->remove(1);
|
||||
if (carried->count == 0) inventory->setCarried(nullptr);
|
||||
player->drop(std::make_shared<ItemInstance>(outId, outCount, outAux));
|
||||
dropAllowed = false;
|
||||
}
|
||||
player->entityId, carried->id, 1, carried->getAuxValue(),
|
||||
&outId, &outCount, &outAux))
|
||||
dropAllowed = false;
|
||||
else
|
||||
{
|
||||
shared_ptr<ItemInstance> dropped = carried->remove(1);
|
||||
if (carried->count == 0) inventory->setCarried(nullptr);
|
||||
dropped->id = outId;
|
||||
dropped->count = outCount;
|
||||
dropped->setAuxValue(outAux);
|
||||
player->drop(dropped);
|
||||
dropAllowed = false;
|
||||
}
|
||||
}
|
||||
if (dropAllowed)
|
||||
{
|
||||
@@ -548,7 +554,10 @@ shared_ptr<ItemInstance> AbstractContainerMenu::clicked(int slotIndex, int butto
|
||||
{
|
||||
shared_ptr<ItemInstance> item = slot->remove(dropCount);
|
||||
slot->onTake(player, item);
|
||||
player->drop(std::make_shared<ItemInstance>(outId, outCount, outAux));
|
||||
item->id = outId;
|
||||
item->count = outCount;
|
||||
item->setAuxValue(outAux);
|
||||
player->drop(item);
|
||||
dropAllowed = false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user