server icon indicating copy to clipboard operation
server copied to clipboard

Trade items will be lost if there is not enough space in the inventory (Olde Rarab Tail)

Open eyes-and-brain opened this issue 4 years ago • 2 comments

  • [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).

eyes-and-brain avatar Nov 11 '21 04:11 eyes-and-brain

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.

Xaver-DaRed avatar Nov 11 '21 04:11 Xaver-DaRed

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.

claywar avatar Jul 25 '22 10:07 claywar