1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-01 00:27:44 +00:00

Merge pull request #669 from collett8192/shop_fix

Fix buy back price.
This commit is contained in:
Adam 2020-05-11 20:53:28 +10:00 committed by GitHub
commit 6cb0a7eed2
3 changed files with 7 additions and 7 deletions

View file

@ -37,7 +37,7 @@ namespace Sapphire::Entity
{
ItemPtr item;
uint32_t amount;
uint32_t value;
uint32_t pricePerItem;
};
/** Class representing the Player

View file

@ -183,7 +183,7 @@ void Sapphire::Entity::Player::playGilShop( uint32_t eventId, uint32_t flags, ui
break;
openGilShopPacket->data().params[ index++ ] = entry.item->getId();
openGilShopPacket->data().params[ index++ ] = entry.amount;
openGilShopPacket->data().params[ index++ ] = entry.value;
openGilShopPacket->data().params[ index++ ] = entry.pricePerItem;
index += 2;
openGilShopPacket->data().params[ index++ ] = eventId;
index += 2;

View file

@ -92,15 +92,15 @@ bool Sapphire::World::Manager::ShopMgr::shopBuyBack( Sapphire::Entity::Player& p
if( buyBackList.size() > index )
{
auto& entry = buyBackList[ index ];
if( player.getCurrency( Common::CurrencyType::Gil ) < entry.value )
return false;
auto originalStack = entry.item->getStackSize();
auto price = entry.pricePerItem * originalStack;
if( player.getCurrency( Common::CurrencyType::Gil ) < price )
return false;
if( !player.addItem( entry.item ) )
return false;
player.removeCurrency( Common::CurrencyType::Gil, entry.value );
player.removeCurrency( Common::CurrencyType::Gil, price );
buyBackList.erase( buyBackList.begin() + index );
@ -110,7 +110,7 @@ bool Sapphire::World::Manager::ShopMgr::shopBuyBack( Sapphire::Entity::Player& p
packet->data().unknown2 = 3;
packet->data().itemId = entry.item->getId();
packet->data().amount = originalStack;
packet->data().price = entry.value * originalStack;
packet->data().price = price;
packet->data().unknown6 = 0;
packet->data().unknown7 = 0;
player.queuePacket( packet );