1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-30 08:07:46 +00:00

Fix quest reward choice.

Quest scripts need to call player.giveQuestRewards( getId(), result.param3 ) for it to work.
This commit is contained in:
collett 2020-01-03 01:10:42 +09:00
parent 28d3029abe
commit 159aafadf6

View file

@ -1067,7 +1067,7 @@ bool Sapphire::Entity::Player::giveQuestRewards( uint32_t questId, uint32_t opti
if( rewardItemCount > 0 ) if( rewardItemCount > 0 )
{ {
for( uint32_t i = 0; i < questInfo->itemReward0.size(); i++ ) for( uint32_t i = 0; i < rewardItemCount; i++ )
{ {
addItem( questInfo->itemReward0.at( i ), questInfo->itemCountReward0.at( i ) ); addItem( questInfo->itemReward0.at( i ), questInfo->itemCountReward0.at( i ) );
} }
@ -1075,8 +1075,15 @@ bool Sapphire::Entity::Player::giveQuestRewards( uint32_t questId, uint32_t opti
if( optionalItemCount > 0 ) if( optionalItemCount > 0 )
{ {
auto itemId = questInfo->itemReward1.at( optionalChoice ); for( uint32_t i = 0; i < optionalItemCount; i++ )
addItem( itemId, questInfo->itemCountReward1.at( optionalChoice ) ); {
auto itemId = questInfo->itemReward1.at( i );
if( itemId == optionalChoice )
{
addItem( itemId, questInfo->itemCountReward1.at( i ) );
break;
}
}
} }
if( gilReward > 0 ) if( gilReward > 0 )