Trade items will be lost if there is not enough space in the inventory (Olde Rarab Tail)
- [x] I have paid attention to this example and will edit again if need be to not break the formatting, or I will be ignored
- [x] I have searched existing issues to see if the issue has already been opened
- [x] I have checked the commit log to see if the issue has been resolved since my server was last updated
- [x] I have read the Contributing Guide
- [x] I have specified what branch this happens on branch: EDITME
Additional Information (Steps to reproduce/Expected behavior) :
I traded the following items to "Degenhard" in order to get "Olde Rarab Tail". At this time, I did not have enough space in my inventory.
- Seasoning Stone
- Fossilized Bone
- Fossilized Fang
When I made a trade, I got a warning that there was not enough space in my inventory. However, the above traded items were not returned (lost).
This interaction is still in the NPC script (Bastok_Markets Zone). https://github.com/LandSandBoat/server/blob/base/scripts/zones/Bastok_Markets/npcs/Degenhard.lua
if csid == 15 then
npcUtil.giveItem(player, xi.items.OLDE_RARAB_TAIL)
player:confirmTrade()
An easy fix would be to change it to
if
csid == 15 and
npcUtil.giveItem(player, xi.items.OLDE_RARAB_TAIL)
then
player:confirmTrade()
Still, since this SOMEWHAT belongs to limit break quests, I was thinking about creating a hidden quest for it.
This one has some interesting behavior. It will actually consume once, and then no longer allow trades for this case. Upon speaking to Degenhard again, he will give the item if you have space available. I need to dig up the notes from running this, but its definitely a unique case.