39 lines
1.4 KiB
Lua
39 lines
1.4 KiB
Lua
|
|
describe('Interaction Framework', function()
|
||
|
|
it('completes Shady Business quest with zinc ore trade', function()
|
||
|
|
---@type CClientEntityPair
|
||
|
|
local player = xi.test.world:spawnPlayer()
|
||
|
|
|
||
|
|
-- Set prerequisite: Beauty and the Galka quest must be completed
|
||
|
|
player:addQuest(xi.questLog.BASTOK, xi.quest.id.bastok.BEAUTY_AND_THE_GALKA)
|
||
|
|
player:completeQuest(xi.questLog.BASTOK, xi.quest.id.bastok.BEAUTY_AND_THE_GALKA)
|
||
|
|
|
||
|
|
-- Go to Port Bastok and talk to Talib
|
||
|
|
player:gotoZone(xi.zone.PORT_BASTOK)
|
||
|
|
player.entities:gotoAndTrigger('Talib', { eventId = 90 })
|
||
|
|
|
||
|
|
-- Verify quest was started
|
||
|
|
player.assert:hasQuest(xi.questLog.BASTOK, xi.quest.id.bastok.SHADY_BUSINESS)
|
||
|
|
|
||
|
|
-- Add 4 chunks of zinc ore to inventory
|
||
|
|
player:addItem(xi.item.CHUNK_OF_ZINC_ORE, 4)
|
||
|
|
|
||
|
|
-- Trade the zinc ore to complete the quest
|
||
|
|
player.actions:tradeNpc('Talib',
|
||
|
|
{
|
||
|
|
{
|
||
|
|
itemId = xi.item.CHUNK_OF_ZINC_ORE,
|
||
|
|
quantity = 4,
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{ eventId = 91 })
|
||
|
|
|
||
|
|
-- Verify quest completion and rewards
|
||
|
|
player.assert
|
||
|
|
:hasCompletedQuest(xi.questLog.BASTOK, xi.quest.id.bastok.SHADY_BUSINESS)
|
||
|
|
:hasGil(350) -- Quest reward is 350 gil
|
||
|
|
|
||
|
|
-- Verify the zinc ore was consumed
|
||
|
|
player.assert.no:hasItem(xi.item.CHUNK_OF_ZINC_ORE)
|
||
|
|
end)
|
||
|
|
end)
|