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

Merge pull request #680 from collett8192/update_5.25

prevent empty quest reward slot (id == 0) being added as items
This commit is contained in:
Adam 2020-06-17 12:20:10 +10:00 committed by GitHub
commit 4ff3af5a9d
2 changed files with 8 additions and 2 deletions

View file

@ -694,6 +694,8 @@ Sapphire::ItemPtr Sapphire::Entity::Player::addItem( ItemPtr itemToAdd, bool sil
Sapphire::ItemPtr Sapphire::Entity::Player::addItem( uint32_t catalogId, uint32_t quantity, bool isHq, bool silent, bool canMerge, bool sendLootMessage ) Sapphire::ItemPtr Sapphire::Entity::Player::addItem( uint32_t catalogId, uint32_t quantity, bool isHq, bool silent, bool canMerge, bool sendLootMessage )
{ {
if( catalogId == 0 )
return nullptr;
auto item = createItem( catalogId, quantity ); auto item = createItem( catalogId, quantity );
item->setHq( isHq ); item->setHq( isHq );
return addItem( item, silent, canMerge, sendLootMessage ); return addItem( item, silent, canMerge, sendLootMessage );

View file

@ -1065,7 +1065,11 @@ bool Sapphire::Entity::Player::giveQuestRewards( uint32_t questId, uint32_t opti
{ {
for( uint32_t i = 0; i < rewardItemCount; i++ ) for( uint32_t i = 0; i < rewardItemCount; i++ )
{ {
addItem( questInfo->itemReward0.at( i ), questInfo->itemCountReward0.at( i ), false, false, true, true ); auto itemId = questInfo->itemReward0.at( i );
if( itemId > 0 )
{
addItem( itemId, questInfo->itemCountReward0.at( i ), false, false, true, true );
}
} }
} }
@ -1074,7 +1078,7 @@ bool Sapphire::Entity::Player::giveQuestRewards( uint32_t questId, uint32_t opti
for( uint32_t i = 0; i < optionalItemCount; i++ ) for( uint32_t i = 0; i < optionalItemCount; i++ )
{ {
auto itemId = questInfo->itemReward1.at( i ); auto itemId = questInfo->itemReward1.at( i );
if( itemId == optionalChoice ) if( itemId > 0 && itemId == optionalChoice )
{ {
addItem( itemId, questInfo->itemCountReward1.at( i ), false, false, true, true ); addItem( itemId, questInfo->itemCountReward1.at( i ), false, false, true, true );
break; break;