Resonating Diamonds stack and Zemekkys consumes them both
Posted: Mon Feb 21, 2011 5:37 pm
I encountered a minor bug with the Resonating Diamonds ("RD" henceforth), and it should be very easy to fix: explicitely make them unstackable, 'stacking = nil', which is necessary because 'base = "BASE_GEM"', which is stackable.
I acquired both east and west RD before opening any east-west portals. I transported west after winning, then went back east through Reknor (thus getting RD-west and Athame-west) to finish the "Back and there again" quest. I got the other RD from Briagh, and the RDs stacked in the inventory. When I had Zemekkys make the portal, he consumed both RDs. Hence, I could no longer have Tannen make the other portal.
The RDs are stackeble because they are derived from the base "BASE_GEM", which is stackable. The fix may be as simple as making them unstackable when declared in "/data/general/objects/objects-far-east.lua" (and west). Alternatively, perhaps they could remain stackable and only remove one RD in the file "game/modules/tome/data/chats/zemekkys.lua" by changingto
(third argument true to false in third line)
Oh, and this is my first time glancing at the code... and I don't know Lua...
I acquired both east and west RD before opening any east-west portals. I transported west after winning, then went back east through Reknor (thus getting RD-west and Athame-west) to finish the "Back and there again" quest. I got the other RD from Briagh, and the RDs stacked in the inventory. When I had Zemekkys make the portal, he consumed both RDs. Hence, I could no longer have Tannen make the other portal.
The RDs are stackeble because they are derived from the base "BASE_GEM", which is stackable. The fix may be as simple as making them unstackable when declared in "/data/general/objects/objects-far-east.lua" (and west). Alternatively, perhaps they could remain stackable and only remove one RD in the file "game/modules/tome/data/chats/zemekkys.lua" by changing
Code: Select all
local function remove_materials(npc, player)
local gem_o, gem_item, gem_inven_id = player:findInAllInventories("Resonating Diamond")
player:removeObject(gem_inven_id, gem_item, true)
gem_o:removed()
Code: Select all
local function remove_materials(npc, player)
local gem_o, gem_item, gem_inven_id = player:findInAllInventories("Resonating Diamond")
player:removeObject(gem_inven_id, gem_item, false)
gem_o:removed()
Oh, and this is my first time glancing at the code... and I don't know Lua...