From 0c7a4f376c8d4d2460d55f53bf3d2060ce84924c Mon Sep 17 00:00:00 2001 From: Montijin <2160211+montijin@users.noreply.github.com> Date: Tue, 7 Jul 2026 23:38:51 -0500 Subject: [PATCH 01/10] Era accurate guild shops --- .../abyssea/lua/era_guild_shared_stocks.lua | 111 +++ modules/abyssea/lua/era_guild_shops.lua | 745 ++++++++++++++++++ 2 files changed, 856 insertions(+) create mode 100644 modules/abyssea/lua/era_guild_shared_stocks.lua create mode 100644 modules/abyssea/lua/era_guild_shops.lua diff --git a/modules/abyssea/lua/era_guild_shared_stocks.lua b/modules/abyssea/lua/era_guild_shared_stocks.lua new file mode 100644 index 00000000000..093c8b11c56 --- /dev/null +++ b/modules/abyssea/lua/era_guild_shared_stocks.lua @@ -0,0 +1,111 @@ +----------------------------------- +-- Era Guild Shared Stocks +-- A module to link guild shops to share stocks +----------------------------------- +require('modules/module_utils') +require('scripts/globals/guild_shops') +----------------------------------- +local m = Module:new('era_guild_shared_stocks') + +m:addOverride('xi.zones.Metalworks.npcs.Vicious_Eye.onTrigger', function(player, npc) + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.METALWORKS].text.VICIOUS_EYE_SHOP_DIALOG) + end +end) + +m:addOverride('xi.zones.Northern_San_dOria.npcs.Lucretia.onTrigger', function(player, npc) + local ID = zones[xi.zone.NORTHERN_SAN_DORIA] + + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, ID.text.LUCRETIA_SHOP_DIALOG) + end +end) + +m:addOverride('xi.zones.Mhaura.npcs.Mololo.onTrigger', function(player, npc) + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.MHAURA].text.SMITHING_GUILD) + end +end) + +m:addOverride('xi.zones.Bastok_Markets.npcs.Teerth.onTrigger', function(player, npc) + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.BASTOK_MARKETS].text.TEERTH_SHOP_DIALOG) + end +end) + +m:addOverride('xi.zones.Mhaura.npcs.Celestina.onTrigger', function(player, npc) + xi.guildShops.onTrigger(player, npc) +end) + +m:addOverride('xi.zones.Windurst_Waters.npcs.Chomo_Jinjahl.onTrigger', function(player, npc) + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.WINDURST_WATERS].text.CHOMOJINJAHL_SHOP_DIALOG) + end +end) + +m:addOverride('xi.zones.Southern_San_dOria.npcs.Cletae.onTrigger', function(player, npc) + local ID = zones[xi.zone.SOUTHERN_SAN_DORIA] + + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, ID.text.CLETAE_DIALOG) + end +end) + +m:addOverride('xi.zones.Windurst_Woods.npcs.Meriri.onTrigger', function(player, npc) + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.WINDURST_WOODS].text.MERIRI_DIALOG) + end +end) + +m:addOverride('xi.zones.Bastok_Mines.npcs.Odoba.onTrigger', function(player, npc) + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.BASTOK_MINES].text.ODOBA_SHOP_DIALOG) + end +end) + +m:addOverride('xi.zones.Windurst_Woods.npcs.Retto-Marutto.onTrigger', function(player, npc) + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.WINDURST_WOODS].text.RETTO_MARUTTO_DIALOG) + end +end) + +m:addOverride('xi.zones.Selbina.npcs.Gibol.onTrigger', function(player, npc) + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.SELBINA].text.CLOTHCRAFT_SHOP_DIALOG) + end +end) + +m:addOverride('xi.zones.Northern_San_dOria.npcs.Cauzeriste.onTrigger', function(player, npc) + local ID = zones[xi.zone.NORTHERN_SAN_DORIA] + + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, ID.text.CAUZERISTE_SHOP_DIALOG) + end +end) + +----------------------------------- +-- Tenshodo (Akamafula and Amalasanda were hardcoded on xi.shop.general with a static +-- fixed-price stock table; wiring both to the real era-corrected guild shop data instead. +-- Anti-cheat key item check preserved from their original onTrigger.) +----------------------------------- +m:addOverride('xi.zones.Lower_Jeuno.npcs.Akamafula.onTrigger', function(player, npc) + if not player:hasKeyItem(xi.ki.TENSHODO_MEMBERS_CARD) then + return -- Anti-Cheat. + end + + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.LOWER_JEUNO].text.AKAMAFULA_SHOP_DIALOG) + end +end) + +m:addOverride('xi.zones.Lower_Jeuno.npcs.Amalasanda.onTrigger', function(player, npc) + if not player:hasKeyItem(xi.ki.TENSHODO_MEMBERS_CARD) then + return -- Anti-Cheat. + end + + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.LOWER_JEUNO].text.AMALASANDA_SHOP_DIALOG) + end +end) + +return m diff --git a/modules/abyssea/lua/era_guild_shops.lua b/modules/abyssea/lua/era_guild_shops.lua new file mode 100644 index 00000000000..42dd17d1b71 --- /dev/null +++ b/modules/abyssea/lua/era_guild_shops.lua @@ -0,0 +1,745 @@ +----------------------------------- +-- Era Guild Shops +-- Info from 2009 Guild Masters Guide Ver.101207, FFXI Lightning Brigade Ver.070613 and various archived https://wiki.ffo.jp/ pages +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_guild_shops' + +----------------------------------- +-- Smithing +----------------------------------- +-- Amulya & Vicious Eye +xi.data.guildShops['Vicious_Eye'] = { sharedStock = 'Amulya' } +table.insert(xi.data.guildShops['Amulya'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 40 }) +xi.data.guildShops['Amulya'].stock[2].initial = 120 -- Tin Ore +xi.data.guildShops['Amulya'].stock[3].initial = 120 -- Iron Ore +xi.data.guildShops['Amulya'].stock[6].initial = 12 -- Bronze Ingot +xi.data.guildShops['Amulya'].stock[7].initial = 12 -- Iron Ingot +xi.data.guildShops['Amulya'].stock[11].initial = 12 -- Bronze Sheet +xi.data.guildShops['Amulya'].stock[12].initial = 12 -- Iron Sheet +table.insert(xi.data.guildShops['Amulya'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) +table.insert(xi.data.guildShops['Amulya'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) + +-- Doggomehr & Lucretia +xi.data.guildShops['Lucretia'] = { sharedStock = 'Doggomehr' } +table.insert(xi.data.guildShops['Doggomehr'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) +xi.data.guildShops['Doggomehr'].stock[2].initial = 120 -- Tin Ore +xi.data.guildShops['Doggomehr'].stock[3].initial = 120 -- Iron Ore +xi.data.guildShops['Doggomehr'].stock[6].initial = 12 -- Bronze Ingot +xi.data.guildShops['Doggomehr'].stock[7].initial = 12 -- Iron Ingot +xi.data.guildShops['Doggomehr'].stock[11].initial = 12 -- Bronze Sheet +xi.data.guildShops['Doggomehr'].stock[12].initial = 12 -- Iron Sheet +table.insert(xi.data.guildShops['Doggomehr'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) +table.insert(xi.data.guildShops['Doggomehr'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) + +-- Mololo & Kamilah +xi.data.guildShops['Mololo'] = { sharedStock = 'Kamilah' } +table.insert(xi.data.guildShops['Kamilah'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 20 }) +xi.data.guildShops['Kamilah'].stock[2].initial = 120 -- Tin Ore +xi.data.guildShops['Kamilah'].stock[3].initial = 120 -- Iron Ore +xi.data.guildShops['Kamilah'].stock[4].initial = 60 -- Bronze Ingot +xi.data.guildShops['Kamilah'].stock[4].restockRate = 10 -- Bronze Ingot +xi.data.guildShops['Kamilah'].stock[5].initial = 30 -- Iron Ingot +xi.data.guildShops['Kamilah'].stock[5].restockRate = 2 -- Iron Ingot + +-- Ndego +xi.data.guildShops['Ndego'].stock[1].initial = 120 -- Copper Ore +xi.data.guildShops['Ndego'].stock[2].initial = 120 -- Tin Ore +xi.data.guildShops['Ndego'].stock[3].initial = 120 -- Iron Ore +xi.data.guildShops['Ndego'].stock[6].initial = 12 -- Bronze Ingot +xi.data.guildShops['Ndego'].stock[7].initial = 12 -- Iron Ingot +xi.data.guildShops['Ndego'].stock[11].initial = 12 -- Bronze Sheet +xi.data.guildShops['Ndego'].stock[12].initial = 12 -- Iron Sheet +xi.data.guildShops['Ndego'].stock[80].initial = 120 -- Mandrel +xi.data.guildShops['Ndego'].stock[81].initial = 120 -- Workshop Anvil + +----------------------------------- +-- Goldsmithing +----------------------------------- +-- Bornahn +xi.data.guildShops['Bornahn'].stock[1].initial = 120 -- Copper Ore +xi.data.guildShops['Bornahn'].stock[3].initial = 120 -- Silver Ore +xi.data.guildShops['Bornahn'].stock[4].initial = 0 -- Mythril Ore +xi.data.guildShops['Bornahn'].stock[13].initial = 1 -- Brass Sheet +xi.data.guildShops['Bornahn'].stock[13].restockRate = 1 -- Brass Sheet +xi.data.guildShops['Bornahn'].stock[17].initial = 0 -- Handful of Brass Scales +xi.data.guildShops['Bornahn'].stock[17].restockRate = 0 -- Handful of Brass Scales +xi.data.guildShops['Bornahn'].stock[19].initial = 1 -- Mythril Chain +xi.data.guildShops['Bornahn'].stock[22].initial = 2 -- Red Rock +xi.data.guildShops['Bornahn'].stock[23].initial = 2 -- Blue Rock +xi.data.guildShops['Bornahn'].stock[24].initial = 2 -- Yellow Rock +xi.data.guildShops['Bornahn'].stock[25].initial = 2 -- Green Rock +xi.data.guildShops['Bornahn'].stock[26].initial = 2 -- Clear Rock +xi.data.guildShops['Bornahn'].stock[27].initial = 2 -- Purple Rock +xi.data.guildShops['Bornahn'].stock[28].initial = 2 -- Black Rock +xi.data.guildShops['Bornahn'].stock[29].initial = 2 -- White Stone +xi.data.guildShops['Bornahn'].stock[30].initial = 6 -- Lapis Lazuli +xi.data.guildShops['Bornahn'].stock[31].initial = 6 -- Light Opal +xi.data.guildShops['Bornahn'].stock[32].initial = 6 -- Onyx +xi.data.guildShops['Bornahn'].stock[33].initial = 6 -- Amethyst +xi.data.guildShops['Bornahn'].stock[34].initial = 6 -- Tourmaline +xi.data.guildShops['Bornahn'].stock[35].initial = 6 -- Sardonyx +xi.data.guildShops['Bornahn'].stock[36].initial = 6 -- Clear Topaz +xi.data.guildShops['Bornahn'].stock[37].initial = 6 -- Amber +xi.data.guildShops['Bornahn'].stock[126].initial = 0 -- Workshop Anvil +xi.data.guildShops['Bornahn'].stock[126].restockRate = 0 -- Workshop Anvil + +-- Teerth & Visala +xi.data.guildShops['Teerth'] = { sharedStock = 'Visala' } +table.insert(xi.data.guildShops['Visala'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) +xi.data.guildShops['Visala'].stock[2].initial = 120 -- Silver Ore +xi.data.guildShops['Visala'].stock[3].initial = 0 -- Mythril Ore +xi.data.guildShops['Visala'].stock[12].initial = 1 -- Brass Sheet +xi.data.guildShops['Visala'].stock[12].restockRate = 1 -- Brass Sheet +xi.data.guildShops['Visala'].stock[16].initial = 0 -- Handful of Brass Scales +xi.data.guildShops['Visala'].stock[16].restockRate = 0 -- Handful of Brass Scales +xi.data.guildShops['Visala'].stock[18].initial = 1 -- Mythril Chain +xi.data.guildShops['Visala'].stock[21].initial = 2 -- Red Rock +xi.data.guildShops['Visala'].stock[22].initial = 2 -- Blue Rock +xi.data.guildShops['Visala'].stock[23].initial = 2 -- Yellow Rock +xi.data.guildShops['Visala'].stock[24].initial = 2 -- Green Rock +xi.data.guildShops['Visala'].stock[25].initial = 2 -- Clear Rock +xi.data.guildShops['Visala'].stock[26].initial = 2 -- Purple Rock +xi.data.guildShops['Visala'].stock[27].initial = 2 -- Black Rock +xi.data.guildShops['Visala'].stock[28].initial = 2 -- White Stone +xi.data.guildShops['Visala'].stock[29].initial = 6 -- Lapis Lazuli +xi.data.guildShops['Visala'].stock[30].initial = 6 -- Light Opal +xi.data.guildShops['Visala'].stock[31].initial = 6 -- Onyx +xi.data.guildShops['Visala'].stock[32].initial = 6 -- Amethyst +xi.data.guildShops['Visala'].stock[33].initial = 6 -- Tourmaline +xi.data.guildShops['Visala'].stock[34].initial = 6 -- Sardonyx +xi.data.guildShops['Visala'].stock[35].initial = 6 -- Clear Topaz +xi.data.guildShops['Visala'].stock[36].initial = 6 -- Amber +xi.data.guildShops['Visala'].stock[125].initial = 120 -- Tufa + +-- Yabby Tanmikey & Celestina +xi.data.guildShops['Celestina'] = { sharedStock = 'Yabby_Tanmikey' } +table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 90, maxStock = 240, targetStock = 180, buyMax = 133, restockRate = 15 }) -- buyMax Mhaura-specific (20g vs 9g at Bastok/Al Zahbi) +xi.data.guildShops['Yabby_Tanmikey'].stock[2].initial = 70 -- Silver Ore +xi.data.guildShops['Yabby_Tanmikey'].stock[2].buyMax = 4700 -- Silver Ore, Mhaura-specific price curve (705g vs 315g at Bastok/Al Zahbi) +xi.data.guildShops['Yabby_Tanmikey'].stock[21].initial = 2 -- Red Rock +xi.data.guildShops['Yabby_Tanmikey'].stock[22].initial = 2 -- Blue Rock +xi.data.guildShops['Yabby_Tanmikey'].stock[23].initial = 2 -- Yellow Rock +xi.data.guildShops['Yabby_Tanmikey'].stock[24].initial = 2 -- Green Rock +xi.data.guildShops['Yabby_Tanmikey'].stock[25].initial = 2 -- Clear Rock +xi.data.guildShops['Yabby_Tanmikey'].stock[26].initial = 2 -- Purple Rock +xi.data.guildShops['Yabby_Tanmikey'].stock[27].initial = 2 -- Black Rock +xi.data.guildShops['Yabby_Tanmikey'].stock[28].initial = 2 -- White Stone +table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) +table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) + +----------------------------------- +-- Woodworking +----------------------------------- +-- Cauzeriste & Chaupire +xi.data.guildShops['Cauzeriste'] = { sharedStock = 'Chaupire' } +table.insert(xi.data.guildShops['Chaupire'].stock, 1, { id = xi.item.ARROWWOOD_LOG, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 60 }) +table.insert(xi.data.guildShops['Chaupire'].stock, 2, { id = xi.item.LAUAN_LOG, initial = 120, maxStock = 240, targetStock = 144, buyMax = 180, restockRate = 12 }) +table.insert(xi.data.guildShops['Chaupire'].stock, 3, { id = xi.item.MAPLE_LOG, initial = 120, maxStock = 240, targetStock = 144, buyMax = 300, restockRate = 12 }) +xi.data.guildShops['Chaupire'].stock[4].initial = 120 -- Ash Log +xi.data.guildShops['Chaupire'].stock[5].initial = 120 -- Willow Log +xi.data.guildShops['Chaupire'].stock[6].initial = 90 -- Holly Log +xi.data.guildShops['Chaupire'].stock[7].initial = 90 -- Yew Log +xi.data.guildShops['Chaupire'].stock[8].initial = 60 -- Elm Log +xi.data.guildShops['Chaupire'].stock[9].initial = 60 -- Walnut Log +xi.data.guildShops['Chaupire'].stock[10].initial = 60 -- Chestnut Log +xi.data.guildShops['Chaupire'].stock[11].initial = 30 -- Oak Log +xi.data.guildShops['Chaupire'].stock[12].initial = 30 -- Rosewood Log +xi.data.guildShops['Chaupire'].stock[13].initial = 10 -- Mahogany Log +xi.data.guildShops['Chaupire'].stock[14].initial = 10 -- Ebony Log +xi.data.guildShops['Chaupire'].stock[15].initial = 12 -- Bamboo Stick +xi.data.guildShops['Chaupire'].stock[17].initial = 12 -- Arrowwood Lumber +xi.data.guildShops['Chaupire'].stock[18].initial = 12 -- Lauan Lumber +xi.data.guildShops['Chaupire'].stock[19].initial = 12 -- Maple Lumber +xi.data.guildShops['Chaupire'].stock[20].initial = 12 -- Ash Lumber +xi.data.guildShops['Chaupire'].stock[21].initial = 12 -- Willow Lumber +xi.data.guildShops['Chaupire'].stock[22].initial = 9 -- Holly Lumber +xi.data.guildShops['Chaupire'].stock[23].initial = 9 -- Yew Lumber +xi.data.guildShops['Chaupire'].stock[24].initial = 12 -- Elm Lumber +xi.data.guildShops['Chaupire'].stock[24].restockRate = 12 -- Elm Lumber +xi.data.guildShops['Chaupire'].stock[25].initial = 6 -- Chestnut Lumber +xi.data.guildShops['Chaupire'].stock[26].initial = 6 -- Oak Lumber + +-- Beugungel +xi.data.guildShops['Beugungel'].hours = { 5, 21 } -- close time corrected from base 22 +xi.data.guildShops['Beugungel'].stock[1].initial = 120 -- Bundling Twine +xi.data.guildShops['Beugungel'].stock[2].initial = 120 -- Hatchet +xi.data.guildShops['Beugungel'].stock[3].initial = 120 -- Arrowwood Log +xi.data.guildShops['Beugungel'].stock[4].initial = 120 -- Ash Log +xi.data.guildShops['Beugungel'].stock[4].buyMax = 500 -- Ash Log +xi.data.guildShops['Beugungel'].stock[5].initial = 100 -- Yew Log +xi.data.guildShops['Beugungel'].stock[6].initial = 100 -- Willow Log +xi.data.guildShops['Beugungel'].stock[7].initial = 120 -- Walnut Log +xi.data.guildShops['Beugungel'].stock[7].restockRate = 50 -- Walnut Log + +-- Dehbi_Moshal +xi.data.guildShops['Dehbi_Moshal'].stock[1].initial = 120 -- Arrowwood Log +xi.data.guildShops['Dehbi_Moshal'].stock[2].initial = 120 -- Lauan Log +xi.data.guildShops['Dehbi_Moshal'].stock[3].initial = 120 -- Maple Log +xi.data.guildShops['Dehbi_Moshal'].stock[4].initial = 100 -- Ash Log +xi.data.guildShops['Dehbi_Moshal'].stock[4].buyMax = 400 -- Ash Log +xi.data.guildShops['Dehbi_Moshal'].stock[4].restockRate = 50 -- Ash Log +xi.data.guildShops['Dehbi_Moshal'].stock[5].initial = 120 -- Willow Log +xi.data.guildShops['Dehbi_Moshal'].stock[5].restockRate = 20 -- Willow Log +xi.data.guildShops['Dehbi_Moshal'].stock[6].initial = 90 -- Holly Log +xi.data.guildShops['Dehbi_Moshal'].stock[7].initial = 120 -- Yew Log +xi.data.guildShops['Dehbi_Moshal'].stock[7].restockRate = 20 -- Yew Log +xi.data.guildShops['Dehbi_Moshal'].stock[8].initial = 60 -- Elm Log +xi.data.guildShops['Dehbi_Moshal'].stock[9].initial = 60 -- Walnut Log +xi.data.guildShops['Dehbi_Moshal'].stock[10].initial = 60 -- Chestnut Log +xi.data.guildShops['Dehbi_Moshal'].stock[11].initial = 30 -- Oak Log +xi.data.guildShops['Dehbi_Moshal'].stock[12].initial = 30 -- Rosewood Log +xi.data.guildShops['Dehbi_Moshal'].stock[13].initial = 10 -- Mahogany Log +xi.data.guildShops['Dehbi_Moshal'].stock[14].initial = 10 -- Ebony Log +xi.data.guildShops['Dehbi_Moshal'].stock[17].initial = 12 -- Bamboo Stick +xi.data.guildShops['Dehbi_Moshal'].stock[19].initial = 12 -- Arrowwood Lumber +xi.data.guildShops['Dehbi_Moshal'].stock[20].initial = 12 -- Lauan Lumber +xi.data.guildShops['Dehbi_Moshal'].stock[21].initial = 12 -- Maple Lumber +xi.data.guildShops['Dehbi_Moshal'].stock[22].initial = 12 -- Ash Lumber +xi.data.guildShops['Dehbi_Moshal'].stock[23].initial = 12 -- Willow Lumber +xi.data.guildShops['Dehbi_Moshal'].stock[24].initial = 9 -- Holly Lumber +xi.data.guildShops['Dehbi_Moshal'].stock[25].initial = 9 -- Yew Lumber +xi.data.guildShops['Dehbi_Moshal'].stock[26].initial = 12 -- Elm Lumber +xi.data.guildShops['Dehbi_Moshal'].stock[26].restockRate = 12 -- Elm Lumber +xi.data.guildShops['Dehbi_Moshal'].stock[27].initial = 6 -- Chestnut Lumber +xi.data.guildShops['Dehbi_Moshal'].stock[28].initial = 6 -- Oak Lumber + +----------------------------------- +-- Clothcraft +----------------------------------- +-- Kuzah Hpirohpon & Meriri +xi.data.guildShops['Meriri'] = { sharedStock = 'Kuzah_Hpirohpon' } +table.insert(xi.data.guildShops['Kuzah_Hpirohpon'].stock, 1, { id = xi.item.CLUMP_OF_MOKO_GRASS, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 60 }) +xi.data.guildShops['Kuzah_Hpirohpon'].stock[2].initial = 0 -- Saruta Cotton +xi.data.guildShops['Kuzah_Hpirohpon'].stock[2].buyMax = 214 -- Saruta Cotton +xi.data.guildShops['Kuzah_Hpirohpon'].stock[3].initial = 120 -- Flax +xi.data.guildShops['Kuzah_Hpirohpon'].stock[4].initial = 120 -- Sheep Wool +xi.data.guildShops['Kuzah_Hpirohpon'].stock[5].initial = 40 -- Crawler Cocoon +xi.data.guildShops['Kuzah_Hpirohpon'].stock[7].initial = 120 -- Grass Thread +xi.data.guildShops['Kuzah_Hpirohpon'].stock[8].initial = 120 -- Cotton Thread +xi.data.guildShops['Kuzah_Hpirohpon'].stock[8].buyMax = 780 -- Cotton Thread +xi.data.guildShops['Kuzah_Hpirohpon'].stock[9].initial = 90 -- Linen Thread +xi.data.guildShops['Kuzah_Hpirohpon'].stock[10].initial = 60 -- Wool Thread +xi.data.guildShops['Kuzah_Hpirohpon'].stock[11].initial = 6 -- Silk Thread +xi.data.guildShops['Kuzah_Hpirohpon'].stock[11].buyMax = 2375 -- Silk Thread +xi.data.guildShops['Kuzah_Hpirohpon'].stock[12].initial = 4 -- Silver Thread +xi.data.guildShops['Kuzah_Hpirohpon'].stock[12].buyMax = 1875 -- Silver Thread +xi.data.guildShops['Kuzah_Hpirohpon'].stock[13].initial = 3 -- Gold Thread +xi.data.guildShops['Kuzah_Hpirohpon'].stock[15].initial = 12 -- Grass Cloth +xi.data.guildShops['Kuzah_Hpirohpon'].stock[16].initial = 12 -- Cotton Cloth +table.insert(xi.data.guildShops['Kuzah_Hpirohpon'].stock, 78, { id = xi.item.SPINDLE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) + +-- Taten-Bilten +xi.data.guildShops['Taten-Bilten'].stock[1].initial = 6 -- Silk Thread +xi.data.guildShops['Taten-Bilten'].stock[1].buyMax = 2944 -- Silk Thread +xi.data.guildShops['Taten-Bilten'].stock[2].initial = 120 -- Grass Thread +xi.data.guildShops['Taten-Bilten'].stock[3].initial = 120 -- Cotton Thread +xi.data.guildShops['Taten-Bilten'].stock[4].initial = 90 -- Linen Thread +xi.data.guildShops['Taten-Bilten'].stock[6].initial = 4 -- Silver Thread +xi.data.guildShops['Taten-Bilten'].stock[6].buyMax = 4480 -- Silver Thread +xi.data.guildShops['Taten-Bilten'].stock[7].initial = 3 -- Gold Thread +xi.data.guildShops['Taten-Bilten'].stock[8].initial = 12 -- Grass Cloth +xi.data.guildShops['Taten-Bilten'].stock[9].initial = 12 -- Cotton Cloth +xi.data.guildShops['Taten-Bilten'].stock[14].initial = 120 -- Sheep Wool +xi.data.guildShops['Taten-Bilten'].stock[15].initial = 120 -- Moko Grass +xi.data.guildShops['Taten-Bilten'].stock[16].initial = 0 -- Saruta Cotton +xi.data.guildShops['Taten-Bilten'].stock[16].buyMax = 84 -- Saruta Cotton +xi.data.guildShops['Taten-Bilten'].stock[17].initial = 120 -- Flax +xi.data.guildShops['Taten-Bilten'].stock[19].initial = 40 -- Crawler Cocoon +xi.data.guildShops['Taten-Bilten'].stock[21].initial = 120 -- Spindle +xi.data.guildShops['Taten-Bilten'].stock[22].initial = 120 -- Spool of Zephyr Thread +xi.data.guildShops['Taten-Bilten'].stock[26].initial = 60 -- Wamoura Cocoon +xi.data.guildShops['Taten-Bilten'].stock[27].initial = 60 -- Karakul Thread +table.insert(xi.data.guildShops['Taten-Bilten'].stock, { id = xi.item.SPOOL_OF_WOOL_THREAD, initial = 60, maxStock = 120, targetStock = 90, buyMax = 18000, restockRate = 3 }) + +-- Tilala & Gibol +xi.data.guildShops['Gibol'] = { sharedStock = 'Tilala' } +table.insert(xi.data.guildShops['Tilala'].stock, 1, { id = xi.item.CLUMP_OF_MOKO_GRASS, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 40 }) +xi.data.guildShops['Tilala'].stock[3].initial = 60 -- Flax +xi.data.guildShops['Tilala'].stock[4].initial = 55 -- Sheep Wool +xi.data.guildShops['Tilala'].stock[5].initial = 40 -- Crawler Cocoon +xi.data.guildShops['Tilala'].stock[5].restockRate = 10 -- Crawler Cocoon +xi.data.guildShops['Tilala'].stock[7].initial = 90 -- Grass Thread +xi.data.guildShops['Tilala'].stock[8].initial = 90 -- Cotton Thread +xi.data.guildShops['Tilala'].stock[8].restockRate = 30 -- Cotton Thread +xi.data.guildShops['Tilala'].stock[9].initial = 90 -- Linen Thread +xi.data.guildShops['Tilala'].stock[9].buyMax = 4524 -- Linen Thread +xi.data.guildShops['Tilala'].stock[10].initial = 60 -- Wool Thread +xi.data.guildShops['Tilala'].stock[11].initial = 12 -- Silk Thread +xi.data.guildShops['Tilala'].stock[11].buyMax = 699 -- Silk Thread +xi.data.guildShops['Tilala'].stock[12].initial = 6 -- Silver Thread +xi.data.guildShops['Tilala'].stock[13].initial = 3 -- Gold Thread + +----------------------------------- +-- Leatherworking +----------------------------------- +-- Cletae & Kueh Igunahmori +xi.data.guildShops['Cletae'] = { sharedStock = 'Kueh_Igunahmori' } +table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, 1, { id = xi.item.RABBIT_HIDE, initial = 12, maxStock = 160, targetStock = 120, buyMax = 400, restockRate = 12 }) -- targetStock assumed +table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, 2, { id = xi.item.SHEEPSKIN, initial = 12, maxStock = 160, targetStock = 120, buyMax = 506, restockRate = 12 }) -- targetStock assumed +xi.data.guildShops['Kueh_Igunahmori'].stock[4].initial = 0 -- Wolf Hide +xi.data.guildShops['Kueh_Igunahmori'].stock[5].initial = 0 -- Ram Skin +xi.data.guildShops['Kueh_Igunahmori'].stock[6].initial = 0 -- Tiger Hide +xi.data.guildShops['Kueh_Igunahmori'].stock[7].initial = 0 -- Coeurl Hide +xi.data.guildShops['Kueh_Igunahmori'].stock[16].initial = 30 -- Raptor Skin +xi.data.guildShops['Kueh_Igunahmori'].stock[17].initial = 30 -- Cockatrice Skin +xi.data.guildShops['Kueh_Igunahmori'].stock[19].initial = 120 -- Willow Log +xi.data.guildShops['Kueh_Igunahmori'].stock[20].initial = 120 -- Distilled Water +table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, { id = xi.item.TANNING_VAT, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) + +----------------------------------- +-- Bonecraft +----------------------------------- +-- Retto-Marutto & Shih Tayuun +xi.data.guildShops['Retto-Marutto'] = { sharedStock = 'Shih_Tayuun' } +table.insert(xi.data.guildShops['Shih_Tayuun'].stock, 1, { id = xi.item.BONE_CHIP, initial = 12, maxStock = 240, targetStock = 180, buyMax = 380, restockRate = 12 }) +xi.data.guildShops['Shih_Tayuun'].stock[3].initial = 12 -- Sheep Tooth +xi.data.guildShops['Shih_Tayuun'].stock[5].initial = 4 -- Turtle Shell +xi.data.guildShops['Shih_Tayuun'].stock[6].initial = 120 -- Seashell +xi.data.guildShops['Shih_Tayuun'].stock[13].initial = 7 -- Chicken Bone +table.insert(xi.data.guildShops['Shih_Tayuun'].stock, 14, { id = xi.item.HANDFUL_OF_FISH_SCALES, initial = 30, maxStock = 240, targetStock = 180, buyMax = 480, restockRate = 15 }) +xi.data.guildShops['Shih_Tayuun'].stock[60].initial = 0 -- Bone Arrow +table.insert(xi.data.guildShops['Shih_Tayuun'].stock, { id = xi.item.SHAGREEN_FILE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) + +----------------------------------- +-- Alchemy +----------------------------------- +-- Maymunah & Odoba +xi.data.guildShops['Odoba'] = { sharedStock = 'Maymunah' } +table.insert(xi.data.guildShops['Maymunah'].stock, 1, { id = xi.item.VIAL_OF_MERCURY, initial = 8, maxStock = 60, targetStock = 45, buyMax = 7500, restockRate = 1 }) +xi.data.guildShops['Maymunah'].stock[9].initial = 60 -- Wijnruit +xi.data.guildShops['Maymunah'].stock[10].initial = 60 -- Crying Mustard +xi.data.guildShops['Maymunah'].stock[11].initial = 60 -- Dried Marjoram +xi.data.guildShops['Maymunah'].stock[12].initial = 60 -- Chamomile +xi.data.guildShops['Maymunah'].stock[17].initial = 12 -- Cobalt Jelly +xi.data.guildShops['Maymunah'].stock[18].initial = 30 -- Glass Fiber +xi.data.guildShops['Maymunah'].stock[71].initial = 120 -- Battery +xi.data.guildShops['Maymunah'].stock[72].initial = 120 -- Hydro Pump +xi.data.guildShops['Maymunah'].stock[73].initial = 120 -- Wind Fan +table.insert(xi.data.guildShops['Maymunah'].stock, { id = xi.item.TRITURATOR, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) + +-- Wahraga & Gathweeda +xi.data.guildShops['Wahraga'].stock[33].initial = 8 -- Mercury +xi.data.guildShops['Wahraga'].stock[34].initial = 8 -- Morbol Vine +xi.data.guildShops['Wahraga'].stock[38].initial = 40 -- Sulfur +xi.data.guildShops['Wahraga'].stock[40].initial = 60 -- Wijnruit +xi.data.guildShops['Wahraga'].stock[41].initial = 60 -- Crying Mustard +xi.data.guildShops['Wahraga'].stock[42].initial = 60 -- Dried Marjoram +xi.data.guildShops['Wahraga'].stock[43].initial = 60 -- Chamomile +xi.data.guildShops['Wahraga'].stock[46].initial = 120 -- Sage +xi.data.guildShops['Wahraga'].stock[48].initial = 12 -- Cobalt Jelly +xi.data.guildShops['Wahraga'].stock[49].initial = 30 -- Glass Fiber +xi.data.guildShops['Wahraga'].stock[77].initial = 120 -- Triturator +xi.data.guildShops['Wahraga'].stock[78].initial = 120 -- Homunculus Nerves +xi.data.guildShops['Wahraga'].stock[79].initial = 120 -- Polyflan Paper +xi.data.guildShops['Wahraga'].stock[80].initial = 120 -- Battery +xi.data.guildShops['Wahraga'].stock[81].initial = 120 -- Hydro Pump +xi.data.guildShops['Wahraga'].stock[82].initial = 120 -- Wind Fan +xi.data.guildShops['Wahraga'].stock[83].initial = 12 -- Minium + +----------------------------------- +-- Cooking +----------------------------------- +-- Chomo Jinhahl & Kopopo +xi.data.guildShops['Chomo_Jinjahl'] = { sharedStock = 'Kopopo' } +table.insert(xi.data.guildShops['Kopopo'].stock, 1, { id = xi.item.CHUNK_OF_ROCK_SALT, initial = 120, maxStock = 240, targetStock = 180, buyMax = 93, restockRate = 12 }) -- targetStock assumed +table.insert(xi.data.guildShops['Kopopo'].stock, 42, { id = xi.item.SARUTA_ORANGE, initial = 60, maxStock = 240, targetStock = 180, buyMax = 300, restockRate = 2 }) -- targetStock assumed +table.insert(xi.data.guildShops['Kopopo'].stock, 47, { id = xi.item.BUNCH_OF_SAN_DORIAN_GRAPES, initial = 12, maxStock = 240, targetStock = 180, buyMax = 380, restockRate = 2 }) -- targetStock assumed +xi.data.guildShops['Kopopo'].stock[3].initial = 120 -- Rye Flour +xi.data.guildShops['Kopopo'].stock[4].initial = 120 -- San d'Orian Flour +xi.data.guildShops['Kopopo'].stock[5].initial = 120 -- Kazham Peppers +xi.data.guildShops['Kopopo'].stock[6].initial = 120 -- Mhaura Garlic +xi.data.guildShops['Kopopo'].stock[7].initial = 120 -- Selbina Milk +xi.data.guildShops['Kopopo'].stock[9].initial = 6 -- Pie Dough +xi.data.guildShops['Kopopo'].stock[10].initial = 120 -- Blue Peas +xi.data.guildShops['Kopopo'].stock[11].initial = 120 -- Poteto (Popoto) +xi.data.guildShops['Kopopo'].stock[12].initial = 120 -- Tarutaru Rice +xi.data.guildShops['Kopopo'].stock[13].initial = 120 -- Crying Mustard +xi.data.guildShops['Kopopo'].stock[14].initial = 120 -- Dried Marjoram +xi.data.guildShops['Kopopo'].stock[15].initial = 0 -- Apple Vinegar +xi.data.guildShops['Kopopo'].stock[18].initial = 120 -- Cinnamon +xi.data.guildShops['Kopopo'].stock[19].initial = 120 -- Millioncorn +xi.data.guildShops['Kopopo'].stock[25].initial = 60 -- Bird Egg +xi.data.guildShops['Kopopo'].stock[26].initial = 60 -- Faerie Apple +xi.data.guildShops['Kopopo'].stock[28].initial = 60 -- La Theine Cabbage +xi.data.guildShops['Kopopo'].stock[29].initial = 60 -- Beaucedine Cabbage +xi.data.guildShops['Kopopo'].stock[30].initial = 0 -- Batallia Cabbage +xi.data.guildShops['Kopopo'].stock[32].initial = 0 -- Smoked Salmon +xi.data.guildShops['Kopopo'].stock[36].initial = 60 -- San d'Orian Carrot +xi.data.guildShops['Kopopo'].stock[37].initial = 60 -- Mithran Tomato +xi.data.guildShops['Kopopo'].stock[40].initial = 12 -- Thundermelon +xi.data.guildShops['Kopopo'].stock[41].initial = 12 -- Kazham Pineapple +xi.data.guildShops['Kopopo'].stock[51].initial = 12 -- Watermelon +xi.data.guildShops['Kopopo'].stock[52].initial = 4 -- White Bread +xi.data.guildShops['Kopopo'].stock[53].initial = 8 -- Black Bread +xi.data.guildShops['Kopopo'].stock[99].initial = 30 -- Turmeric +xi.data.guildShops['Kopopo'].stock[100].initial = 30 -- Coriander +xi.data.guildShops['Kopopo'].stock[101].initial = 15 -- Holy Basil +xi.data.guildShops['Kopopo'].stock[103].initial = 60 -- Semolina +xi.data.guildShops['Kopopo'].stock[104].initial = 50 -- Fish Stock +xi.data.guildShops['Kopopo'].stock[105].initial = 50 -- Soy Stock + +----------------------------------- +-- Fishing +----------------------------------- +-- Babubu +xi.data.guildShops['Babubu'].stock[1].initial = 120 -- Little Worm +xi.data.guildShops['Babubu'].stock[2].initial = 120 -- Lugworm +xi.data.guildShops['Babubu'].stock[3].initial = 120 -- Sardine Ball +xi.data.guildShops['Babubu'].stock[4].initial = 120 -- Shrimp Ball +xi.data.guildShops['Babubu'].stock[5].initial = 120 -- Bug Ball +xi.data.guildShops['Babubu'].stock[6].initial = 120 -- Trout Ball +xi.data.guildShops['Babubu'].stock[7].initial = 120 -- Meatball +xi.data.guildShops['Babubu'].stock[8].initial = 120 -- Slice of Sardine +xi.data.guildShops['Babubu'].stock[9].initial = 120 -- Slice of Cod +xi.data.guildShops['Babubu'].stock[10].initial = 120 -- Peeled Lobster +xi.data.guildShops['Babubu'].stock[11].initial = 120 -- Slice of Bluetail +xi.data.guildShops['Babubu'].stock[12].initial = 120 -- Peeled Crayfish +xi.data.guildShops['Babubu'].stock[13].initial = 120 -- Slice of Moat Carp +xi.data.guildShops['Babubu'].stock[14].initial = 120 -- Fly Lure +xi.data.guildShops['Babubu'].stock[15].initial = 120 -- Minnow +xi.data.guildShops['Babubu'].stock[17].initial = 120 -- Worm Lure +xi.data.guildShops['Babubu'].stock[21].initial = 120 -- Sabiki Rig +xi.data.guildShops['Babubu'].stock[22].initial = 90 -- Willow Fishing Rod +xi.data.guildShops['Babubu'].stock[23].initial = 90 -- Yew Fishing Rod +xi.data.guildShops['Babubu'].stock[24].initial = 90 -- Bamboo Fishing Rod +xi.data.guildShops['Babubu'].stock[25].initial = 60 -- Fastwater Rod +xi.data.guildShops['Babubu'].stock[26].initial = 30 -- Tarutaru Fishing Rod +xi.data.guildShops['Babubu'].stock[27].initial = 30 -- Mithran Fishing Rod +xi.data.guildShops['Babubu'].stock[30].initial = 30 -- Single Hook Rod + +-- Cehn Teyohngo +xi.data.guildShops['Cehn_Teyohngo'].stock[2].initial = 10 -- Sabiki Rig +xi.data.guildShops['Cehn_Teyohngo'].stock[3].initial = 10 -- Minnow +xi.data.guildShops['Cehn_Teyohngo'].stock[5].initial = 120 -- Tarutaru Fishing Rod + +-- Graegham & Mendoline +table.insert(xi.data.guildShops['Graegham'].stock, 1, { id = xi.item.LITTLE_WORM, initial = 120, maxStock = 240, targetStock = 180, buyMax = 20, restockRate = 60 }) +table.insert(xi.data.guildShops['Graegham'].stock, 2, { id = xi.item.LUGWORM, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) +table.insert(xi.data.guildShops['Graegham'].stock, 3, { id = xi.item.BALL_OF_SARDINE_PASTE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 350, restockRate = 12 }) +table.insert(xi.data.guildShops['Graegham'].stock, 4, { id = xi.item.BALL_OF_CRAYFISH_PASTE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 350, restockRate = 12 }) +table.insert(xi.data.guildShops['Graegham'].stock, 5, { id = xi.item.SLICE_OF_COD, initial = 120, maxStock = 240, targetStock = 180, buyMax = 1425, restockRate = 12 }) +table.insert(xi.data.guildShops['Graegham'].stock, 6, { id = xi.item.FLY_LURE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 3600, restockRate = 12 }) +table.insert(xi.data.guildShops['Graegham'].stock, 7, { id = xi.item.MINNOW, initial = 120, maxStock = 240, targetStock = 180, buyMax = 2025, restockRate = 12 }) +xi.data.guildShops['Graegham'].stock[8].initial = 120 -- Sabiki Rig +xi.data.guildShops['Graegham'].stock[8].restockRate = 12 -- Sabiki Rig +table.insert(xi.data.guildShops['Graegham'].stock, 9, { id = xi.item.WILLOW_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 360, restockRate = 9 }) +table.insert(xi.data.guildShops['Graegham'].stock, 10, { id = xi.item.YEW_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 1180, restockRate = 9 }) +table.insert(xi.data.guildShops['Graegham'].stock, 11, { id = xi.item.BAMBOO_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 2700, restockRate = 9 }) +xi.data.guildShops['Graegham'].stock[12].initial = 30 -- Tarutaru Fishing Rod +xi.data.guildShops['Graegham'].stock[12].restockRate = 15 -- Tarutaru Fishing Rod +table.insert(xi.data.guildShops['Graegham'].stock, 13, { id = xi.item.MITHRAN_FISHING_ROD, initial = 30, maxStock = 60, targetStock = 45, buyMax = 171600, restockRate = 5 }) +xi.data.guildShops['Graegham'].stock[14].initial = 30 -- Clothespole +xi.data.guildShops['Graegham'].stock[14].restockRate = 15 -- Clothespole +xi.data.guildShops['Graegham'].stock[15].initial = 30 -- Fastwater Rod +xi.data.guildShops['Graegham'].stock[15].restockRate = 15 -- Fastwater Rod +xi.data.guildShops['Graegham'].stock[17].initial = 30 -- Single Hook Rod +xi.data.guildShops['Graegham'].stock[17].restockRate = 3 -- Single Hook Rod +xi.data.guildShops['Graegham'].stock[18].initial = 120 -- Cobalt Jellyfish +xi.data.guildShops['Graegham'].stock[18].restockRate = 12 -- Cobalt Jellyfish +xi.data.guildShops['Graegham'].stock[19].initial = 6 -- Crayfish +xi.data.guildShops['Graegham'].stock[19].restockRate = 6 -- Crayfish +xi.data.guildShops['Graegham'].stock[31].restockRate = 0 -- Dark Bass +xi.data.guildShops['Graegham'].stock[37].restockRate = 0 -- Red Terrapin +xi.data.guildShops['Graegham'].stock[43].restockRate = 0 -- Silver Shark +xi.data.guildShops['Graegham'].stock[45].restockRate = 0 -- Black Sole +xi.data.guildShops['Graegham'].stock[46].restockRate = 0 -- Greedie + +-- Jidwahn +xi.data.guildShops['Jidwahn'].stock[2].initial = 10 -- Sabiki Rig +xi.data.guildShops['Jidwahn'].stock[3].initial = 10 -- Minnow +xi.data.guildShops['Jidwahn'].stock[33].initial = 120 -- Ice Card +xi.data.guildShops['Jidwahn'].stock[34].initial = 120 -- Thunder Card +xi.data.guildShops['Jidwahn'].stock[35].initial = 120 -- Light Card +xi.data.guildShops['Jidwahn'].stock[36].initial = 120 -- Dark Card + +-- Lokhong +xi.data.guildShops['Lokhong'].stock[2].initial = 10 -- Sabiki Rig +xi.data.guildShops['Lokhong'].stock[3].initial = 10 -- Minnow +xi.data.guildShops['Lokhong'].stock[5].initial = 120 -- Tarutaru Fishing Rod + +-- Mep Nhapopoluko +table.insert(xi.data.guildShops['Mep_Nhapopoluko'].stock, 1, { id = xi.item.SABIKI_RIG, initial = 120, maxStock = 240, targetStock = 180, buyMax = 15960, restockRate = 12 }) +xi.data.guildShops['Mep_Nhapopoluko'].stock[2].initial = 80 -- Fastwater Rod +table.insert(xi.data.guildShops['Mep_Nhapopoluko'].stock, 3, { id = xi.item.TARUTARU_FISHING_ROD, initial = 30, maxStock = 60, targetStock = 45, buyMax = 27180, restockRate = 3 }) +xi.data.guildShops['Mep_Nhapopoluko'].stock[4].initial = 80 -- Single Hook Rod +xi.data.guildShops['Mep_Nhapopoluko'].stock[5].initial = 100 -- Bluetail +xi.data.guildShops['Mep_Nhapopoluko'].stock[6].initial = 100 -- Noble Lady +xi.data.guildShops['Mep_Nhapopoluko'].stock[7].initial = 100 -- Trilobite +xi.data.guildShops['Mep_Nhapopoluko'].stock[8].initial = 100 -- Shall Shell +xi.data.guildShops['Mep_Nhapopoluko'].stock[9].initial = 100 -- Zafmlug Bass +xi.data.guildShops['Mep_Nhapopoluko'].stock[10].initial = 100 -- Moorish Idol +xi.data.guildShops['Mep_Nhapopoluko'].stock[11].initial = 100 -- Bibikibo +xi.data.guildShops['Mep_Nhapopoluko'].stock[12].initial = 100 -- Bibiki Urchin +xi.data.guildShops['Mep_Nhapopoluko'].stock[13].initial = 100 -- Pamtam Kelp +xi.data.guildShops['Mep_Nhapopoluko'].stock[14].initial = 100 -- Cobalt Jellyfish + +-- Pashi Maccaleh +xi.data.guildShops['Pashi_Maccaleh'].stock[2].initial = 10 -- Sabiki Rig +xi.data.guildShops['Pashi_Maccaleh'].stock[3].initial = 10 -- Minnow +xi.data.guildShops['Pashi_Maccaleh'].stock[5].initial = 120 -- Tarutaru Fishing Rod + +-- Rajmonda +xi.data.guildShops['Rajmonda'].stock[2].initial = 10 -- Sabiki Rig +xi.data.guildShops['Rajmonda'].stock[3].initial = 10 -- Minnow +xi.data.guildShops['Rajmonda'].stock[5].initial = 120 -- Tarutaru Fishing Rod + +-- Wahnid +xi.data.guildShops['Wahnid'].stock[1].initial = 120 -- Little Worm +xi.data.guildShops['Wahnid'].stock[2].initial = 120 -- Lugworm +xi.data.guildShops['Wahnid'].stock[3].initial = 0 -- Sardine Ball +xi.data.guildShops['Wahnid'].stock[3].restockRate = 0 -- Sardine Ball +xi.data.guildShops['Wahnid'].stock[4].initial = 0 -- Shrimp Lure +xi.data.guildShops['Wahnid'].stock[4].restockRate = 0 -- Shrimp Lure +xi.data.guildShops['Wahnid'].stock[5].initial = 0 -- Bug Lure +xi.data.guildShops['Wahnid'].stock[5].restockRate = 0 -- Bug Lure +xi.data.guildShops['Wahnid'].stock[6].initial = 0 -- Trout Lure +xi.data.guildShops['Wahnid'].stock[6].restockRate = 0 -- Trout Lure +xi.data.guildShops['Wahnid'].stock[7].initial = 0 -- Meat Lure +xi.data.guildShops['Wahnid'].stock[7].restockRate = 0 -- Meat Lure +xi.data.guildShops['Wahnid'].stock[8].initial = 0 -- Slice of Sardine +xi.data.guildShops['Wahnid'].stock[8].restockRate = 0 -- Slice of Sardine +xi.data.guildShops['Wahnid'].stock[9].initial = 0 -- Slice of Cod +xi.data.guildShops['Wahnid'].stock[9].restockRate = 0 -- Slice of Cod +xi.data.guildShops['Wahnid'].stock[10].initial = 0 -- Peeled Lobster +xi.data.guildShops['Wahnid'].stock[10].restockRate = 0 -- Peeled Lobster +xi.data.guildShops['Wahnid'].stock[11].initial = 0 -- Slice of Bluetail +xi.data.guildShops['Wahnid'].stock[11].restockRate = 0 -- Slice of Bluetail +xi.data.guildShops['Wahnid'].stock[12].initial = 0 -- Peeled Crayfish +xi.data.guildShops['Wahnid'].stock[12].restockRate = 0 -- Peeled Crayfish +xi.data.guildShops['Wahnid'].stock[13].initial = 0 -- Slice of Moat Carp +xi.data.guildShops['Wahnid'].stock[13].restockRate = 0 -- Slice of Moat Carp +xi.data.guildShops['Wahnid'].stock[14].initial = 0 -- Fly Lure +xi.data.guildShops['Wahnid'].stock[14].restockRate = 0 -- Fly Lure +xi.data.guildShops['Wahnid'].stock[15].initial = 0 -- Minnow +xi.data.guildShops['Wahnid'].stock[15].restockRate = 0 -- Minnow +xi.data.guildShops['Wahnid'].stock[16].initial = 10 -- Sinking Minnow +xi.data.guildShops['Wahnid'].stock[21].initial = 120 -- Sabiki Rig +xi.data.guildShops['Wahnid'].stock[21].restockRate = 12 -- Sabiki Rig +xi.data.guildShops['Wahnid'].stock[23].initial = 0 -- Yew Fishing Rod +xi.data.guildShops['Wahnid'].stock[23].restockRate = 0 -- Yew Fishing Rod +xi.data.guildShops['Wahnid'].stock[24].initial = 90 -- Bamboo Fishing Rod +xi.data.guildShops['Wahnid'].stock[25].initial = 60 -- Fastwater Rod +xi.data.guildShops['Wahnid'].stock[25].restockRate = 6 -- Fastwater Rod +xi.data.guildShops['Wahnid'].stock[26].initial = 30 -- Tarutaru Fishing Rod +xi.data.guildShops['Wahnid'].stock[26].restockRate = 3 -- Tarutaru Fishing Rod +xi.data.guildShops['Wahnid'].stock[31].restockRate = 0 -- Denizanasi + +-- Yahliq +xi.data.guildShops['Yahliq'].stock[2].initial = 10 -- Sabiki Rig +xi.data.guildShops['Yahliq'].stock[3].initial = 10 -- Minnow +xi.data.guildShops['Yahliq'].stock[33].initial = 120 -- Ice Card +xi.data.guildShops['Yahliq'].stock[34].initial = 120 -- Thunder Card +xi.data.guildShops['Yahliq'].stock[35].initial = 120 -- Light Card +xi.data.guildShops['Yahliq'].stock[36].initial = 120 -- Dark Card + +----------------------------------- +-- Tenshodo +----------------------------------- +-- Jabbar +xi.data.guildShops['Jabbar'].stock[1].initial = 30 -- Bamboo Stick +xi.data.guildShops['Jabbar'].stock[18].initial = 10 -- Katon: Ichi +xi.data.guildShops['Jabbar'].stock[20].initial = 10 -- Huton: Ichi +xi.data.guildShops['Jabbar'].stock[21].initial = 10 -- Doton: Ichi +xi.data.guildShops['Jabbar'].stock[35].initial = 12 -- Absorb MND +xi.data.guildShops['Jabbar'].stock[36].initial = 12 -- Absorb CHR +xi.data.guildShops['Jabbar'].stock[37].initial = 30 -- Turmeric +xi.data.guildShops['Jabbar'].stock[38].initial = 30 -- Coriander +xi.data.guildShops['Jabbar'].stock[39].initial = 30 -- Holy Basil +xi.data.guildShops['Jabbar'].stock[40].initial = 15 -- Curry Powder +xi.data.guildShops['Jabbar'].stock[41].initial = 50 -- Ground Wasabi +xi.data.guildShops['Jabbar'].stock[42].initial = 50 -- Rice Vinegar +xi.data.guildShops['Jabbar'].stock[43].initial = 50 -- Shungiku + +-- Silver_Owl +xi.data.guildShops['Silver_Owl'].stock[10].initial = 15 -- Kunai +xi.data.guildShops['Silver_Owl'].stock[15].initial = 15 -- Shinobi Gatana +xi.data.guildShops['Silver_Owl'].stock[21].initial = 5 -- Kanesada +xi.data.guildShops['Silver_Owl'].stock[23].initial = 15 -- Tachi +xi.data.guildShops['Silver_Owl'].stock[27].initial = 5 -- Kotetsu +xi.data.guildShops['Silver_Owl'].stock[52].initial = 10 -- Hachimaki +xi.data.guildShops['Silver_Owl'].stock[53].initial = 10 -- Cotton Hachimaki +xi.data.guildShops['Silver_Owl'].stock[59].initial = 10 -- Kenpogi +xi.data.guildShops['Silver_Owl'].stock[60].initial = 10 -- Cotton Dogi +xi.data.guildShops['Silver_Owl'].stock[65].initial = 10 -- Tekko +xi.data.guildShops['Silver_Owl'].stock[66].initial = 10 -- Cotton Tekko +xi.data.guildShops['Silver_Owl'].stock[67].initial = 10 -- Soil Tekko +xi.data.guildShops['Silver_Owl'].stock[67].restockRate = 5 -- Soil Tekko +xi.data.guildShops['Silver_Owl'].stock[70].initial = 10 -- Sitabaki +xi.data.guildShops['Silver_Owl'].stock[71].initial = 10 -- Cotton Sitabaki +xi.data.guildShops['Silver_Owl'].stock[72].initial = 10 -- Soil Sitabaki +xi.data.guildShops['Silver_Owl'].stock[72].restockRate = 5 -- Soil Sitabaki +xi.data.guildShops['Silver_Owl'].stock[75].initial = 10 -- Kyahan +xi.data.guildShops['Silver_Owl'].stock[76].initial = 10 -- Cotton Kyahan + +-- Jirokichi +xi.data.guildShops['Jirokichi'].stock[10].initial = 30 -- Kunai +xi.data.guildShops['Jirokichi'].stock[11].initial = 30 -- Suzume +xi.data.guildShops['Jirokichi'].stock[14].initial = 30 -- Wakizashi +xi.data.guildShops['Jirokichi'].stock[15].initial = 30 -- Shinobi Gatana +xi.data.guildShops['Jirokichi'].stock[19].initial = 30 -- Uchigatana +xi.data.guildShops['Jirokichi'].stock[21].initial = 10 -- Kanesada +xi.data.guildShops['Jirokichi'].stock[23].initial = 30 -- Tachi +xi.data.guildShops['Jirokichi'].stock[24].initial = 10 -- Nodachi +xi.data.guildShops['Jirokichi'].stock[26].initial = 5 -- Okanehira +xi.data.guildShops['Jirokichi'].stock[41].initial = 30 -- Shuriken +xi.data.guildShops['Jirokichi'].stock[42].initial = 20 -- Juji Shuriken + +-- Achika +xi.data.guildShops['Achika'].stock[1].initial = 30 -- Hachimaki +xi.data.guildShops['Achika'].stock[14].initial = 30 -- Tekko +xi.data.guildShops['Achika'].stock[25].initial = 30 -- Cotton Kyahan +xi.data.guildShops['Achika'].stock[26].initial = 30 -- Soil Kyahan + +-- Chiyo +xi.data.guildShops['Chiyo'].stock[9].initial = 20 -- Hyoton: Ichi +xi.data.guildShops['Chiyo'].stock[10].initial = 20 -- Huton: Ichi +xi.data.guildShops['Chiyo'].stock[11].initial = 20 -- Doton: Ichi +xi.data.guildShops['Chiyo'].stock[12].initial = 20 -- Raiton: Ichi +xi.data.guildShops['Chiyo'].stock[13].initial = 20 -- Suiton: Ichi + +-- Vuliaie +xi.data.guildShops['Vuliaie'].stock[2].initial = 10 -- Toad Oil +xi.data.guildShops['Vuliaie'].stock[3].initial = 6 -- Bast Parchment +xi.data.guildShops['Vuliaie'].stock[4].initial = 10 -- Silk Cloth +xi.data.guildShops['Vuliaie'].stock[5].initial = 180 -- Iron Sand +xi.data.guildShops['Vuliaie'].stock[8].initial = 60 -- Uchitake +xi.data.guildShops['Vuliaie'].stock[9].initial = 60 -- Tsurara +xi.data.guildShops['Vuliaie'].stock[10].initial = 60 -- Kawahori Ogi +xi.data.guildShops['Vuliaie'].stock[11].initial = 60 -- Makibishi +xi.data.guildShops['Vuliaie'].stock[12].initial = 60 -- Hiraishin +xi.data.guildShops['Vuliaie'].stock[13].initial = 60 -- Mizu Deppo +xi.data.guildShops['Vuliaie'].stock[20].initial = 50 -- Gardenia Seed +xi.data.guildShops['Vuliaie'].stock[21].initial = 120 -- Turmeric +xi.data.guildShops['Vuliaie'].stock[22].initial = 120 -- Coriander +xi.data.guildShops['Vuliaie'].stock[23].initial = 120 -- Holy Basil +xi.data.guildShops['Vuliaie'].stock[24].initial = 60 -- Curry Powder +xi.data.guildShops['Vuliaie'].stock[25].initial = 100 -- Ground Wasabi +xi.data.guildShops['Vuliaie'].stock[26].initial = 100 -- Rice Vinegar +xi.data.guildShops['Vuliaie'].stock[27].initial = 100 -- Napa +table.insert(xi.data.guildShops['Vuliaie'].stock, { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }) -- Koma + +-- Tsutsuroon +xi.data.guildShops['Tsutsuroon'].stock[1].initial = 30 -- Kunai +xi.data.guildShops['Tsutsuroon'].stock[2].initial = 30 -- Suzume +xi.data.guildShops['Tsutsuroon'].stock[5].initial = 30 -- Wakizashi +xi.data.guildShops['Tsutsuroon'].stock[6].initial = 30 -- Shinobi Gatana +xi.data.guildShops['Tsutsuroon'].stock[10].initial = 30 -- Uchigatana +xi.data.guildShops['Tsutsuroon'].stock[12].initial = 10 -- Kanesada +xi.data.guildShops['Tsutsuroon'].stock[14].initial = 30 -- Tachi +xi.data.guildShops['Tsutsuroon'].stock[15].initial = 10 -- Nodachi +xi.data.guildShops['Tsutsuroon'].stock[17].initial = 5 -- Okanehira +xi.data.guildShops['Tsutsuroon'].stock[18].initial = 5 -- Kotetsu +xi.data.guildShops['Tsutsuroon'].stock[32].initial = 30 -- Shuriken +xi.data.guildShops['Tsutsuroon'].stock[33].initial = 20 -- Juji Shuriken +xi.data.guildShops['Tsutsuroon'].stock[41].initial = 30 -- Fire Arrow +xi.data.guildShops['Tsutsuroon'].stock[42].initial = 20 -- Bullet +xi.data.guildShops['Tsutsuroon'].stock[45].initial = 30 -- Soil Hachimaki +xi.data.guildShops['Tsutsuroon'].stock[50].initial = 30 -- Kenpogi +xi.data.guildShops['Tsutsuroon'].stock[51].initial = 30 -- Cotton Dogi +xi.data.guildShops['Tsutsuroon'].stock[53].initial = 30 -- Soil Gi +xi.data.guildShops['Tsutsuroon'].stock[56].initial = 30 -- Tekko +xi.data.guildShops['Tsutsuroon'].stock[57].initial = 30 -- Cotton Tekko +xi.data.guildShops['Tsutsuroon'].stock[61].initial = 30 -- Sitabaki +xi.data.guildShops['Tsutsuroon'].stock[62].initial = 30 -- Cotton Sitabaki +xi.data.guildShops['Tsutsuroon'].stock[63].initial = 30 -- Soil Sitabaki +xi.data.guildShops['Tsutsuroon'].stock[66].initial = 30 -- Kyahan +xi.data.guildShops['Tsutsuroon'].stock[67].initial = 30 -- Cotton Kyahan +xi.data.guildShops['Tsutsuroon'].stock[68].initial = 30 -- Soil Kyahan +xi.data.guildShops['Tsutsuroon'].stock[75].initial = 10 -- Toad Oil +xi.data.guildShops['Tsutsuroon'].stock[76].initial = 6 -- Bast Parchment +xi.data.guildShops['Tsutsuroon'].stock[77].initial = 10 -- Silk Cloth +xi.data.guildShops['Tsutsuroon'].stock[78].initial = 180 -- Iron Sand +xi.data.guildShops['Tsutsuroon'].stock[81].initial = 60 -- Uchitake +xi.data.guildShops['Tsutsuroon'].stock[82].initial = 60 -- Tsurara +xi.data.guildShops['Tsutsuroon'].stock[83].initial = 60 -- Kawahori Ogi +xi.data.guildShops['Tsutsuroon'].stock[84].initial = 60 -- Makibishi +xi.data.guildShops['Tsutsuroon'].stock[85].initial = 60 -- Hiraishin +xi.data.guildShops['Tsutsuroon'].stock[86].initial = 60 -- Mizu Deppo +xi.data.guildShops['Tsutsuroon'].stock[93].initial = 50 -- Gardenia Seed +xi.data.guildShops['Tsutsuroon'].stock[94].initial = 120 -- Turmeric +xi.data.guildShops['Tsutsuroon'].stock[95].initial = 120 -- Coriander +xi.data.guildShops['Tsutsuroon'].stock[96].initial = 120 -- Holy Basil +xi.data.guildShops['Tsutsuroon'].stock[97].initial = 60 -- Curry Powder +xi.data.guildShops['Tsutsuroon'].stock[98].initial = 100 -- Ground Wasabi +xi.data.guildShops['Tsutsuroon'].stock[99].initial = 100 -- Rice Vinegar +xi.data.guildShops['Tsutsuroon'].stock[100].initial = 100 -- Napa +table.insert(xi.data.guildShops['Tsutsuroon'].stock, { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }) -- Koma + + +----------------------------------- +-- Tenshodo (new shops -- Akamafula and Amalasanda did not exist in base guild_shops.lua) +----------------------------------- +xi.data.guildShops['Akamafula'] = +{ + hours = { 1, 23 }, + holiday = xi.day.EARTHSDAY, + stock = + { + { id = xi.item.KUNAI, initial = 20, maxStock = 60, targetStock = 55, buyMax = 4419, restockRate = 5 }, -- Kunai + { id = xi.item.WAKIZASHI, initial = 20, maxStock = 60, targetStock = 55, buyMax = 12000, restockRate = 5 }, -- Wakizashi + { id = xi.item.UCHIGATANA, initial = 20, maxStock = 60, targetStock = 55, buyMax = 26680, restockRate = 5 }, -- Uchigatana + { id = xi.item.KANESADA, initial = 2, maxStock = 60, targetStock = 55, buyMax = 99000, restockRate = 10 }, -- Kanesada + { id = xi.item.TACHI, initial = 20, maxStock = 60, targetStock = 55, buyMax = 15695, restockRate = 5 }, -- Tachi + { id = xi.item.NODACHI, initial = 2, maxStock = 60, targetStock = 55, buyMax = 40620, restockRate = 0 }, -- Nodachi + { id = xi.item.OKANEHIRA, initial = 5, maxStock = 60, targetStock = 55, buyMax = 104730, restockRate = 7 }, -- Okanehira + { id = xi.item.TANEGASHIMA, initial = 2, maxStock = 60, targetStock = 55, buyMax = 65310, restockRate = 0 }, -- Tanegashima + { id = xi.item.SHURIKEN, initial = 30, maxStock = 60, targetStock = 55, buyMax = 250, restockRate = 10 }, -- Shuriken + { id = xi.item.HACHIMAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 4125, restockRate = 3 }, -- Hachimaki + { id = xi.item.COTTON_HACHIMAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 24420, restockRate = 3 }, -- Cotton Hachimaki + { id = xi.item.SOIL_HACHIMAKI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 66960, restockRate = 5 }, -- Soil Hachimaki + { id = xi.item.KENPOGI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 6225, restockRate = 3 }, -- Kenpogi + { id = xi.item.COTTON_DOGI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 36800, restockRate = 3 }, -- Cotton Dogi + { id = xi.item.SOIL_GI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 99000, restockRate = 5 }, -- Soil Gi + { id = xi.item.TEKKO, initial = 5, maxStock = 60, targetStock = 45, buyMax = 3425, restockRate = 3 }, -- Tekko + { id = xi.item.COTTON_TEKKO, initial = 5, maxStock = 60, targetStock = 45, buyMax = 20250, restockRate = 3 }, -- Cotton Tekko + { id = xi.item.SOIL_TEKKO, initial = 10, maxStock = 60, targetStock = 45, buyMax = 55440, restockRate = 5 }, -- Soil Tekko + { id = xi.item.SITABAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 4975, restockRate = 3 }, -- Sitabaki + { id = xi.item.COTTON_SITABAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 29490, restockRate = 3 }, -- Cotton Sitabaki + { id = xi.item.SOIL_SITABAKI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 80640, restockRate = 5 }, -- Soil Sitabaki + { id = xi.item.KYAHAN, initial = 5, maxStock = 60, targetStock = 45, buyMax = 3175, restockRate = 3 }, -- Kyahan + { id = xi.item.COTTON_KYAHAN, initial = 5, maxStock = 60, targetStock = 45, buyMax = 18870, restockRate = 3 }, -- Cotton Kyahan + { id = xi.item.SOIL_KYAHAN, initial = 10, maxStock = 60, targetStock = 45, buyMax = 82620, restockRate = 5 }, -- Soil Kyahan + }, +} + +xi.data.guildShops['Amalasanda'] = +{ + hours = { 9, 23 }, + holiday = xi.day.EARTHSDAY, + stock = + { + { id = xi.item.BAMBOO_STICK, initial = 30, maxStock = 240, targetStock = 180, buyMax = 720, restockRate = 10 }, -- Bamboo Stick + { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }, -- Koma + { id = xi.item.LUMP_OF_TAMA_HAGANE, initial = 20, maxStock = 60, targetStock = 45, buyMax = 35000, restockRate = 5 }, -- Tama Hagane + { id = xi.item.POT_OF_URUSHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 367650, restockRate = 1 }, -- Urushi + { id = xi.item.BOX_OF_STICKY_RICE, initial = 50, maxStock = 150, targetStock = 120, buyMax = 316, restockRate = 100, priceFloor = 150, noSell = true }, -- Sticky Rice + { id = xi.item.BAG_OF_BUCKWHEAT_FLOUR, initial = 50, maxStock = 150, targetStock = 120, buyMax = 1500, restockRate = 100, priceFloor = 150, noSell = true }, -- Buckwheat Flour + { id = xi.item.PINCH_OF_BLACK_PEPPER, initial = 10, maxStock = 60, targetStock = 45, buyMax = 1111, restockRate = 5 }, -- Black Pepper + { id = xi.item.ONZ_OF_TURMERIC, initial = 20, maxStock = 60, targetStock = 50, buyMax = 3225, restockRate = 15 }, -- Turmeric + { id = xi.item.ONZ_OF_CORIANDER, initial = 20, maxStock = 60, targetStock = 50, buyMax = 7925, restockRate = 15 }, -- Coriander + { id = xi.item.SPRIG_OF_HOLY_BASIL, initial = 20, maxStock = 60, targetStock = 50, buyMax = 4000, restockRate = 15 }, -- Holy Basil + { id = xi.item.ONZ_OF_CURRY_POWDER, initial = 10, maxStock = 30, targetStock = 25, buyMax = 1456, restockRate = 7 }, -- Curry Powder + { id = xi.item.JAR_OF_GROUND_WASABI, initial = 100, maxStock = 150, targetStock = 120, buyMax = 12974, restockRate = 100 }, -- Wasabi + { id = xi.item.BOTTLE_OF_RICE_VINEGAR, initial = 100, maxStock = 150, targetStock = 120, buyMax = 1000, restockRate = 100 }, -- Rice Vinegar + { id = xi.item.BUNDLE_OF_SHIRATAKI, initial = 50, maxStock = 150, targetStock = 120, buyMax = 369, restockRate = 100, priceFloor = 150, noSell = true }, -- Shirataki + { id = xi.item.SCROLL_OF_KATON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Katon: Ichi + { id = xi.item.SCROLL_OF_HUTON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Huton: Ichi + { id = xi.item.SCROLL_OF_DOTON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Doton: Ichi + { id = xi.item.SCROLL_OF_SUITON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Suiton: Ichi + { id = xi.item.UCHITAKE, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Uchitake + { id = xi.item.KAWAHORI_OGI, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Kawahori Ogi + { id = xi.item.MAKIBISHI, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Makibishi + { id = xi.item.MIZU_DEPPO, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Mizu Deppo + }, +} + +----------------------------------- +-- Linkshell / Pendant Compass Vendors +----------------------------------- +table.remove(xi.data.guildShops['Ilita'].stock, 2) -- Pendant Compass +table.remove(xi.data.guildShops['Khel_Pahlhama'].stock, 2) -- Pendant Compass +table.remove(xi.data.guildShops['Paunelie'].stock, 2) -- Pendant Compass + +return { name = moduleName } \ No newline at end of file From 5e5b699ebc4c5fbca5e609f94e67e0ee54f81fb0 Mon Sep 17 00:00:00 2001 From: Montijin <2160211+montijin@users.noreply.github.com> Date: Tue, 7 Jul 2026 23:53:58 -0500 Subject: [PATCH 02/10] Clarification on tenshodo guild vendors --- modules/abyssea/lua/era_guild_shared_stocks.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/abyssea/lua/era_guild_shared_stocks.lua b/modules/abyssea/lua/era_guild_shared_stocks.lua index 093c8b11c56..8a28d0a336c 100644 --- a/modules/abyssea/lua/era_guild_shared_stocks.lua +++ b/modules/abyssea/lua/era_guild_shared_stocks.lua @@ -84,9 +84,10 @@ m:addOverride('xi.zones.Northern_San_dOria.npcs.Cauzeriste.onTrigger', function( end) ----------------------------------- --- Tenshodo (Akamafula and Amalasanda were hardcoded on xi.shop.general with a static --- fixed-price stock table; wiring both to the real era-corrected guild shop data instead. --- Anti-cheat key item check preserved from their original onTrigger.) +-- Neptune's Spire Tenshodo guild vendors +-- Akamafula and Amalasanda were converted to normal shops on retail. +-- This reverts them back to being guild shops, while also keeping the tenshodo membership anti-cheat +-- that was already in place on their files. ----------------------------------- m:addOverride('xi.zones.Lower_Jeuno.npcs.Akamafula.onTrigger', function(player, npc) if not player:hasKeyItem(xi.ki.TENSHODO_MEMBERS_CARD) then From aa2b5689b732b164327e9df456ba16647d728c43 Mon Sep 17 00:00:00 2001 From: Montijin <2160211+montijin@users.noreply.github.com> Date: Wed, 8 Jul 2026 00:04:24 -0500 Subject: [PATCH 03/10] Sanity check formatting cleanup --- modules/abyssea/lua/era_guild_shops.lua | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/modules/abyssea/lua/era_guild_shops.lua b/modules/abyssea/lua/era_guild_shops.lua index 42dd17d1b71..027f21ca189 100644 --- a/modules/abyssea/lua/era_guild_shops.lua +++ b/modules/abyssea/lua/era_guild_shops.lua @@ -667,7 +667,6 @@ xi.data.guildShops['Tsutsuroon'].stock[99].initial = 100 -- Rice Vinegar xi.data.guildShops['Tsutsuroon'].stock[100].initial = 100 -- Napa table.insert(xi.data.guildShops['Tsutsuroon'].stock, { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }) -- Koma - ----------------------------------- -- Tenshodo (new shops -- Akamafula and Amalasanda did not exist in base guild_shops.lua) ----------------------------------- @@ -724,10 +723,10 @@ xi.data.guildShops['Amalasanda'] = { id = xi.item.JAR_OF_GROUND_WASABI, initial = 100, maxStock = 150, targetStock = 120, buyMax = 12974, restockRate = 100 }, -- Wasabi { id = xi.item.BOTTLE_OF_RICE_VINEGAR, initial = 100, maxStock = 150, targetStock = 120, buyMax = 1000, restockRate = 100 }, -- Rice Vinegar { id = xi.item.BUNDLE_OF_SHIRATAKI, initial = 50, maxStock = 150, targetStock = 120, buyMax = 369, restockRate = 100, priceFloor = 150, noSell = true }, -- Shirataki - { id = xi.item.SCROLL_OF_KATON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Katon: Ichi + { id = xi.item.SCROLL_OF_KATON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Katon: Ichi { id = xi.item.SCROLL_OF_HUTON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Huton: Ichi { id = xi.item.SCROLL_OF_DOTON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Doton: Ichi - { id = xi.item.SCROLL_OF_SUITON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Suiton: Ichi + { id = xi.item.SCROLL_OF_SUITON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Suiton: Ichi { id = xi.item.UCHITAKE, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Uchitake { id = xi.item.KAWAHORI_OGI, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Kawahori Ogi { id = xi.item.MAKIBISHI, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Makibishi @@ -742,4 +741,4 @@ table.remove(xi.data.guildShops['Ilita'].stock, 2) -- Pendant Compass table.remove(xi.data.guildShops['Khel_Pahlhama'].stock, 2) -- Pendant Compass table.remove(xi.data.guildShops['Paunelie'].stock, 2) -- Pendant Compass -return { name = moduleName } \ No newline at end of file +return { name = moduleName } From 3da4a68e0cb5006437d252f89b68648a53d01f5b Mon Sep 17 00:00:00 2001 From: Montijin <2160211+montijin@users.noreply.github.com> Date: Wed, 8 Jul 2026 10:02:31 -0500 Subject: [PATCH 04/10] Improved formatting for readability --- modules/abyssea/lua/era_guild_shops.lua | 180 ++++++++++++------------ 1 file changed, 90 insertions(+), 90 deletions(-) diff --git a/modules/abyssea/lua/era_guild_shops.lua b/modules/abyssea/lua/era_guild_shops.lua index 027f21ca189..4ede419dd85 100644 --- a/modules/abyssea/lua/era_guild_shops.lua +++ b/modules/abyssea/lua/era_guild_shops.lua @@ -11,31 +11,31 @@ local moduleName = 'era_guild_shops' ----------------------------------- -- Amulya & Vicious Eye xi.data.guildShops['Vicious_Eye'] = { sharedStock = 'Amulya' } -table.insert(xi.data.guildShops['Amulya'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 40 }) +table.insert(xi.data.guildShops['Amulya'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 40 }) xi.data.guildShops['Amulya'].stock[2].initial = 120 -- Tin Ore xi.data.guildShops['Amulya'].stock[3].initial = 120 -- Iron Ore xi.data.guildShops['Amulya'].stock[6].initial = 12 -- Bronze Ingot xi.data.guildShops['Amulya'].stock[7].initial = 12 -- Iron Ingot xi.data.guildShops['Amulya'].stock[11].initial = 12 -- Bronze Sheet xi.data.guildShops['Amulya'].stock[12].initial = 12 -- Iron Sheet -table.insert(xi.data.guildShops['Amulya'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) -table.insert(xi.data.guildShops['Amulya'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) +table.insert(xi.data.guildShops['Amulya'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) +table.insert(xi.data.guildShops['Amulya'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) -- Doggomehr & Lucretia xi.data.guildShops['Lucretia'] = { sharedStock = 'Doggomehr' } -table.insert(xi.data.guildShops['Doggomehr'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) +table.insert(xi.data.guildShops['Doggomehr'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) xi.data.guildShops['Doggomehr'].stock[2].initial = 120 -- Tin Ore xi.data.guildShops['Doggomehr'].stock[3].initial = 120 -- Iron Ore xi.data.guildShops['Doggomehr'].stock[6].initial = 12 -- Bronze Ingot xi.data.guildShops['Doggomehr'].stock[7].initial = 12 -- Iron Ingot xi.data.guildShops['Doggomehr'].stock[11].initial = 12 -- Bronze Sheet xi.data.guildShops['Doggomehr'].stock[12].initial = 12 -- Iron Sheet -table.insert(xi.data.guildShops['Doggomehr'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) -table.insert(xi.data.guildShops['Doggomehr'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) +table.insert(xi.data.guildShops['Doggomehr'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) +table.insert(xi.data.guildShops['Doggomehr'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) -- Mololo & Kamilah xi.data.guildShops['Mololo'] = { sharedStock = 'Kamilah' } -table.insert(xi.data.guildShops['Kamilah'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 20 }) +table.insert(xi.data.guildShops['Kamilah'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 20 }) xi.data.guildShops['Kamilah'].stock[2].initial = 120 -- Tin Ore xi.data.guildShops['Kamilah'].stock[3].initial = 120 -- Iron Ore xi.data.guildShops['Kamilah'].stock[4].initial = 60 -- Bronze Ingot @@ -87,7 +87,7 @@ xi.data.guildShops['Bornahn'].stock[126].restockRate = 0 -- Workshop Anvil -- Teerth & Visala xi.data.guildShops['Teerth'] = { sharedStock = 'Visala' } -table.insert(xi.data.guildShops['Visala'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) +table.insert(xi.data.guildShops['Visala'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) xi.data.guildShops['Visala'].stock[2].initial = 120 -- Silver Ore xi.data.guildShops['Visala'].stock[3].initial = 0 -- Mythril Ore xi.data.guildShops['Visala'].stock[12].initial = 1 -- Brass Sheet @@ -115,7 +115,7 @@ xi.data.guildShops['Visala'].stock[125].initial = 120 -- Tufa -- Yabby Tanmikey & Celestina xi.data.guildShops['Celestina'] = { sharedStock = 'Yabby_Tanmikey' } -table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 90, maxStock = 240, targetStock = 180, buyMax = 133, restockRate = 15 }) -- buyMax Mhaura-specific (20g vs 9g at Bastok/Al Zahbi) +table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 90, maxStock = 240, targetStock = 180, buyMax = 133, restockRate = 15 }) -- buyMax Mhaura-specific (20g vs 9g at Bastok/Al Zahbi) xi.data.guildShops['Yabby_Tanmikey'].stock[2].initial = 70 -- Silver Ore xi.data.guildShops['Yabby_Tanmikey'].stock[2].buyMax = 4700 -- Silver Ore, Mhaura-specific price curve (705g vs 315g at Bastok/Al Zahbi) xi.data.guildShops['Yabby_Tanmikey'].stock[21].initial = 2 -- Red Rock @@ -126,17 +126,17 @@ xi.data.guildShops['Yabby_Tanmikey'].stock[25].initial = 2 -- Clear Rock xi.data.guildShops['Yabby_Tanmikey'].stock[26].initial = 2 -- Purple Rock xi.data.guildShops['Yabby_Tanmikey'].stock[27].initial = 2 -- Black Rock xi.data.guildShops['Yabby_Tanmikey'].stock[28].initial = 2 -- White Stone -table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) -table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) +table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) +table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) ----------------------------------- -- Woodworking ----------------------------------- -- Cauzeriste & Chaupire xi.data.guildShops['Cauzeriste'] = { sharedStock = 'Chaupire' } -table.insert(xi.data.guildShops['Chaupire'].stock, 1, { id = xi.item.ARROWWOOD_LOG, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 60 }) -table.insert(xi.data.guildShops['Chaupire'].stock, 2, { id = xi.item.LAUAN_LOG, initial = 120, maxStock = 240, targetStock = 144, buyMax = 180, restockRate = 12 }) -table.insert(xi.data.guildShops['Chaupire'].stock, 3, { id = xi.item.MAPLE_LOG, initial = 120, maxStock = 240, targetStock = 144, buyMax = 300, restockRate = 12 }) +table.insert(xi.data.guildShops['Chaupire'].stock, 1, { id = xi.item.ARROWWOOD_LOG, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 60 }) +table.insert(xi.data.guildShops['Chaupire'].stock, 2, { id = xi.item.LAUAN_LOG, initial = 120, maxStock = 240, targetStock = 144, buyMax = 180, restockRate = 12 }) +table.insert(xi.data.guildShops['Chaupire'].stock, 3, { id = xi.item.MAPLE_LOG, initial = 120, maxStock = 240, targetStock = 144, buyMax = 300, restockRate = 12 }) xi.data.guildShops['Chaupire'].stock[4].initial = 120 -- Ash Log xi.data.guildShops['Chaupire'].stock[5].initial = 120 -- Willow Log xi.data.guildShops['Chaupire'].stock[6].initial = 90 -- Holly Log @@ -210,7 +210,7 @@ xi.data.guildShops['Dehbi_Moshal'].stock[28].initial = 6 -- Oak Lumber ----------------------------------- -- Kuzah Hpirohpon & Meriri xi.data.guildShops['Meriri'] = { sharedStock = 'Kuzah_Hpirohpon' } -table.insert(xi.data.guildShops['Kuzah_Hpirohpon'].stock, 1, { id = xi.item.CLUMP_OF_MOKO_GRASS, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 60 }) +table.insert(xi.data.guildShops['Kuzah_Hpirohpon'].stock, 1, { id = xi.item.CLUMP_OF_MOKO_GRASS, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 60 }) xi.data.guildShops['Kuzah_Hpirohpon'].stock[2].initial = 0 -- Saruta Cotton xi.data.guildShops['Kuzah_Hpirohpon'].stock[2].buyMax = 214 -- Saruta Cotton xi.data.guildShops['Kuzah_Hpirohpon'].stock[3].initial = 120 -- Flax @@ -228,7 +228,7 @@ xi.data.guildShops['Kuzah_Hpirohpon'].stock[12].buyMax = 1875 -- Silver Thre xi.data.guildShops['Kuzah_Hpirohpon'].stock[13].initial = 3 -- Gold Thread xi.data.guildShops['Kuzah_Hpirohpon'].stock[15].initial = 12 -- Grass Cloth xi.data.guildShops['Kuzah_Hpirohpon'].stock[16].initial = 12 -- Cotton Cloth -table.insert(xi.data.guildShops['Kuzah_Hpirohpon'].stock, 78, { id = xi.item.SPINDLE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) +table.insert(xi.data.guildShops['Kuzah_Hpirohpon'].stock, 78, { id = xi.item.SPINDLE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) -- Taten-Bilten xi.data.guildShops['Taten-Bilten'].stock[1].initial = 6 -- Silk Thread @@ -251,11 +251,11 @@ xi.data.guildShops['Taten-Bilten'].stock[21].initial = 120 -- Spindle xi.data.guildShops['Taten-Bilten'].stock[22].initial = 120 -- Spool of Zephyr Thread xi.data.guildShops['Taten-Bilten'].stock[26].initial = 60 -- Wamoura Cocoon xi.data.guildShops['Taten-Bilten'].stock[27].initial = 60 -- Karakul Thread -table.insert(xi.data.guildShops['Taten-Bilten'].stock, { id = xi.item.SPOOL_OF_WOOL_THREAD, initial = 60, maxStock = 120, targetStock = 90, buyMax = 18000, restockRate = 3 }) +table.insert(xi.data.guildShops['Taten-Bilten'].stock, { id = xi.item.SPOOL_OF_WOOL_THREAD, initial = 60, maxStock = 120, targetStock = 90, buyMax = 18000, restockRate = 3 }) -- Tilala & Gibol xi.data.guildShops['Gibol'] = { sharedStock = 'Tilala' } -table.insert(xi.data.guildShops['Tilala'].stock, 1, { id = xi.item.CLUMP_OF_MOKO_GRASS, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 40 }) +table.insert(xi.data.guildShops['Tilala'].stock, 1, { id = xi.item.CLUMP_OF_MOKO_GRASS, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 40 }) xi.data.guildShops['Tilala'].stock[3].initial = 60 -- Flax xi.data.guildShops['Tilala'].stock[4].initial = 55 -- Sheep Wool xi.data.guildShops['Tilala'].stock[5].initial = 40 -- Crawler Cocoon @@ -276,8 +276,8 @@ xi.data.guildShops['Tilala'].stock[13].initial = 3 -- Gold Thread ----------------------------------- -- Cletae & Kueh Igunahmori xi.data.guildShops['Cletae'] = { sharedStock = 'Kueh_Igunahmori' } -table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, 1, { id = xi.item.RABBIT_HIDE, initial = 12, maxStock = 160, targetStock = 120, buyMax = 400, restockRate = 12 }) -- targetStock assumed -table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, 2, { id = xi.item.SHEEPSKIN, initial = 12, maxStock = 160, targetStock = 120, buyMax = 506, restockRate = 12 }) -- targetStock assumed +table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, 1, { id = xi.item.RABBIT_HIDE, initial = 12, maxStock = 160, targetStock = 120, buyMax = 400, restockRate = 12 }) -- targetStock assumed +table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, 2, { id = xi.item.SHEEPSKIN, initial = 12, maxStock = 160, targetStock = 120, buyMax = 506, restockRate = 12 }) -- targetStock assumed xi.data.guildShops['Kueh_Igunahmori'].stock[4].initial = 0 -- Wolf Hide xi.data.guildShops['Kueh_Igunahmori'].stock[5].initial = 0 -- Ram Skin xi.data.guildShops['Kueh_Igunahmori'].stock[6].initial = 0 -- Tiger Hide @@ -286,28 +286,28 @@ xi.data.guildShops['Kueh_Igunahmori'].stock[16].initial = 30 -- Raptor Skin xi.data.guildShops['Kueh_Igunahmori'].stock[17].initial = 30 -- Cockatrice Skin xi.data.guildShops['Kueh_Igunahmori'].stock[19].initial = 120 -- Willow Log xi.data.guildShops['Kueh_Igunahmori'].stock[20].initial = 120 -- Distilled Water -table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, { id = xi.item.TANNING_VAT, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) +table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, { id = xi.item.TANNING_VAT, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) ----------------------------------- -- Bonecraft ----------------------------------- -- Retto-Marutto & Shih Tayuun xi.data.guildShops['Retto-Marutto'] = { sharedStock = 'Shih_Tayuun' } -table.insert(xi.data.guildShops['Shih_Tayuun'].stock, 1, { id = xi.item.BONE_CHIP, initial = 12, maxStock = 240, targetStock = 180, buyMax = 380, restockRate = 12 }) +table.insert(xi.data.guildShops['Shih_Tayuun'].stock, 1, { id = xi.item.BONE_CHIP, initial = 12, maxStock = 240, targetStock = 180, buyMax = 380, restockRate = 12 }) xi.data.guildShops['Shih_Tayuun'].stock[3].initial = 12 -- Sheep Tooth xi.data.guildShops['Shih_Tayuun'].stock[5].initial = 4 -- Turtle Shell xi.data.guildShops['Shih_Tayuun'].stock[6].initial = 120 -- Seashell xi.data.guildShops['Shih_Tayuun'].stock[13].initial = 7 -- Chicken Bone -table.insert(xi.data.guildShops['Shih_Tayuun'].stock, 14, { id = xi.item.HANDFUL_OF_FISH_SCALES, initial = 30, maxStock = 240, targetStock = 180, buyMax = 480, restockRate = 15 }) +table.insert(xi.data.guildShops['Shih_Tayuun'].stock, 14, { id = xi.item.HANDFUL_OF_FISH_SCALES, initial = 30, maxStock = 240, targetStock = 180, buyMax = 480, restockRate = 15 }) xi.data.guildShops['Shih_Tayuun'].stock[60].initial = 0 -- Bone Arrow -table.insert(xi.data.guildShops['Shih_Tayuun'].stock, { id = xi.item.SHAGREEN_FILE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) +table.insert(xi.data.guildShops['Shih_Tayuun'].stock, { id = xi.item.SHAGREEN_FILE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) ----------------------------------- -- Alchemy ----------------------------------- -- Maymunah & Odoba xi.data.guildShops['Odoba'] = { sharedStock = 'Maymunah' } -table.insert(xi.data.guildShops['Maymunah'].stock, 1, { id = xi.item.VIAL_OF_MERCURY, initial = 8, maxStock = 60, targetStock = 45, buyMax = 7500, restockRate = 1 }) +table.insert(xi.data.guildShops['Maymunah'].stock, 1, { id = xi.item.VIAL_OF_MERCURY, initial = 8, maxStock = 60, targetStock = 45, buyMax = 7500, restockRate = 1 }) xi.data.guildShops['Maymunah'].stock[9].initial = 60 -- Wijnruit xi.data.guildShops['Maymunah'].stock[10].initial = 60 -- Crying Mustard xi.data.guildShops['Maymunah'].stock[11].initial = 60 -- Dried Marjoram @@ -317,7 +317,7 @@ xi.data.guildShops['Maymunah'].stock[18].initial = 30 -- Glass Fiber xi.data.guildShops['Maymunah'].stock[71].initial = 120 -- Battery xi.data.guildShops['Maymunah'].stock[72].initial = 120 -- Hydro Pump xi.data.guildShops['Maymunah'].stock[73].initial = 120 -- Wind Fan -table.insert(xi.data.guildShops['Maymunah'].stock, { id = xi.item.TRITURATOR, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) +table.insert(xi.data.guildShops['Maymunah'].stock, { id = xi.item.TRITURATOR, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) -- Wahraga & Gathweeda xi.data.guildShops['Wahraga'].stock[33].initial = 8 -- Mercury @@ -343,9 +343,9 @@ xi.data.guildShops['Wahraga'].stock[83].initial = 12 -- Minium ----------------------------------- -- Chomo Jinhahl & Kopopo xi.data.guildShops['Chomo_Jinjahl'] = { sharedStock = 'Kopopo' } -table.insert(xi.data.guildShops['Kopopo'].stock, 1, { id = xi.item.CHUNK_OF_ROCK_SALT, initial = 120, maxStock = 240, targetStock = 180, buyMax = 93, restockRate = 12 }) -- targetStock assumed -table.insert(xi.data.guildShops['Kopopo'].stock, 42, { id = xi.item.SARUTA_ORANGE, initial = 60, maxStock = 240, targetStock = 180, buyMax = 300, restockRate = 2 }) -- targetStock assumed -table.insert(xi.data.guildShops['Kopopo'].stock, 47, { id = xi.item.BUNCH_OF_SAN_DORIAN_GRAPES, initial = 12, maxStock = 240, targetStock = 180, buyMax = 380, restockRate = 2 }) -- targetStock assumed +table.insert(xi.data.guildShops['Kopopo'].stock, 1, { id = xi.item.CHUNK_OF_ROCK_SALT, initial = 120, maxStock = 240, targetStock = 180, buyMax = 93, restockRate = 12 }) -- targetStock assumed +table.insert(xi.data.guildShops['Kopopo'].stock, 42, { id = xi.item.SARUTA_ORANGE, initial = 60, maxStock = 240, targetStock = 180, buyMax = 300, restockRate = 2 }) -- targetStock assumed +table.insert(xi.data.guildShops['Kopopo'].stock, 47, { id = xi.item.BUNCH_OF_SAN_DORIAN_GRAPES, initial = 12, maxStock = 240, targetStock = 180, buyMax = 380, restockRate = 2 }) -- targetStock assumed xi.data.guildShops['Kopopo'].stock[3].initial = 120 -- Rye Flour xi.data.guildShops['Kopopo'].stock[4].initial = 120 -- San d'Orian Flour xi.data.guildShops['Kopopo'].stock[5].initial = 120 -- Kazham Peppers @@ -415,21 +415,21 @@ xi.data.guildShops['Cehn_Teyohngo'].stock[3].initial = 10 -- Minnow xi.data.guildShops['Cehn_Teyohngo'].stock[5].initial = 120 -- Tarutaru Fishing Rod -- Graegham & Mendoline -table.insert(xi.data.guildShops['Graegham'].stock, 1, { id = xi.item.LITTLE_WORM, initial = 120, maxStock = 240, targetStock = 180, buyMax = 20, restockRate = 60 }) -table.insert(xi.data.guildShops['Graegham'].stock, 2, { id = xi.item.LUGWORM, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) -table.insert(xi.data.guildShops['Graegham'].stock, 3, { id = xi.item.BALL_OF_SARDINE_PASTE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 350, restockRate = 12 }) -table.insert(xi.data.guildShops['Graegham'].stock, 4, { id = xi.item.BALL_OF_CRAYFISH_PASTE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 350, restockRate = 12 }) -table.insert(xi.data.guildShops['Graegham'].stock, 5, { id = xi.item.SLICE_OF_COD, initial = 120, maxStock = 240, targetStock = 180, buyMax = 1425, restockRate = 12 }) -table.insert(xi.data.guildShops['Graegham'].stock, 6, { id = xi.item.FLY_LURE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 3600, restockRate = 12 }) -table.insert(xi.data.guildShops['Graegham'].stock, 7, { id = xi.item.MINNOW, initial = 120, maxStock = 240, targetStock = 180, buyMax = 2025, restockRate = 12 }) +table.insert(xi.data.guildShops['Graegham'].stock, 1, { id = xi.item.LITTLE_WORM, initial = 120, maxStock = 240, targetStock = 180, buyMax = 20, restockRate = 60 }) +table.insert(xi.data.guildShops['Graegham'].stock, 2, { id = xi.item.LUGWORM, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) +table.insert(xi.data.guildShops['Graegham'].stock, 3, { id = xi.item.BALL_OF_SARDINE_PASTE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 350, restockRate = 12 }) +table.insert(xi.data.guildShops['Graegham'].stock, 4, { id = xi.item.BALL_OF_CRAYFISH_PASTE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 350, restockRate = 12 }) +table.insert(xi.data.guildShops['Graegham'].stock, 5, { id = xi.item.SLICE_OF_COD, initial = 120, maxStock = 240, targetStock = 180, buyMax = 1425, restockRate = 12 }) +table.insert(xi.data.guildShops['Graegham'].stock, 6, { id = xi.item.FLY_LURE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 3600, restockRate = 12 }) +table.insert(xi.data.guildShops['Graegham'].stock, 7, { id = xi.item.MINNOW, initial = 120, maxStock = 240, targetStock = 180, buyMax = 2025, restockRate = 12 }) xi.data.guildShops['Graegham'].stock[8].initial = 120 -- Sabiki Rig xi.data.guildShops['Graegham'].stock[8].restockRate = 12 -- Sabiki Rig -table.insert(xi.data.guildShops['Graegham'].stock, 9, { id = xi.item.WILLOW_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 360, restockRate = 9 }) -table.insert(xi.data.guildShops['Graegham'].stock, 10, { id = xi.item.YEW_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 1180, restockRate = 9 }) -table.insert(xi.data.guildShops['Graegham'].stock, 11, { id = xi.item.BAMBOO_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 2700, restockRate = 9 }) +table.insert(xi.data.guildShops['Graegham'].stock, 9, { id = xi.item.WILLOW_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 360, restockRate = 9 }) +table.insert(xi.data.guildShops['Graegham'].stock, 10, { id = xi.item.YEW_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 1180, restockRate = 9 }) +table.insert(xi.data.guildShops['Graegham'].stock, 11, { id = xi.item.BAMBOO_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 2700, restockRate = 9 }) xi.data.guildShops['Graegham'].stock[12].initial = 30 -- Tarutaru Fishing Rod xi.data.guildShops['Graegham'].stock[12].restockRate = 15 -- Tarutaru Fishing Rod -table.insert(xi.data.guildShops['Graegham'].stock, 13, { id = xi.item.MITHRAN_FISHING_ROD, initial = 30, maxStock = 60, targetStock = 45, buyMax = 171600, restockRate = 5 }) +table.insert(xi.data.guildShops['Graegham'].stock, 13, { id = xi.item.MITHRAN_FISHING_ROD, initial = 30, maxStock = 60, targetStock = 45, buyMax = 171600, restockRate = 5 }) xi.data.guildShops['Graegham'].stock[14].initial = 30 -- Clothespole xi.data.guildShops['Graegham'].stock[14].restockRate = 15 -- Clothespole xi.data.guildShops['Graegham'].stock[15].initial = 30 -- Fastwater Rod @@ -460,9 +460,9 @@ xi.data.guildShops['Lokhong'].stock[3].initial = 10 -- Minnow xi.data.guildShops['Lokhong'].stock[5].initial = 120 -- Tarutaru Fishing Rod -- Mep Nhapopoluko -table.insert(xi.data.guildShops['Mep_Nhapopoluko'].stock, 1, { id = xi.item.SABIKI_RIG, initial = 120, maxStock = 240, targetStock = 180, buyMax = 15960, restockRate = 12 }) +table.insert(xi.data.guildShops['Mep_Nhapopoluko'].stock, 1, { id = xi.item.SABIKI_RIG, initial = 120, maxStock = 240, targetStock = 180, buyMax = 15960, restockRate = 12 }) xi.data.guildShops['Mep_Nhapopoluko'].stock[2].initial = 80 -- Fastwater Rod -table.insert(xi.data.guildShops['Mep_Nhapopoluko'].stock, 3, { id = xi.item.TARUTARU_FISHING_ROD, initial = 30, maxStock = 60, targetStock = 45, buyMax = 27180, restockRate = 3 }) +table.insert(xi.data.guildShops['Mep_Nhapopoluko'].stock, 3, { id = xi.item.TARUTARU_FISHING_ROD, initial = 30, maxStock = 60, targetStock = 45, buyMax = 27180, restockRate = 3 }) xi.data.guildShops['Mep_Nhapopoluko'].stock[4].initial = 80 -- Single Hook Rod xi.data.guildShops['Mep_Nhapopoluko'].stock[5].initial = 100 -- Bluetail xi.data.guildShops['Mep_Nhapopoluko'].stock[6].initial = 100 -- Noble Lady @@ -618,7 +618,7 @@ xi.data.guildShops['Vuliaie'].stock[24].initial = 60 -- Curry Powder xi.data.guildShops['Vuliaie'].stock[25].initial = 100 -- Ground Wasabi xi.data.guildShops['Vuliaie'].stock[26].initial = 100 -- Rice Vinegar xi.data.guildShops['Vuliaie'].stock[27].initial = 100 -- Napa -table.insert(xi.data.guildShops['Vuliaie'].stock, { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }) -- Koma +table.insert(xi.data.guildShops['Vuliaie'].stock, { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }) -- Koma -- Tsutsuroon xi.data.guildShops['Tsutsuroon'].stock[1].initial = 30 -- Kunai @@ -665,7 +665,7 @@ xi.data.guildShops['Tsutsuroon'].stock[97].initial = 60 -- Curry Powder xi.data.guildShops['Tsutsuroon'].stock[98].initial = 100 -- Ground Wasabi xi.data.guildShops['Tsutsuroon'].stock[99].initial = 100 -- Rice Vinegar xi.data.guildShops['Tsutsuroon'].stock[100].initial = 100 -- Napa -table.insert(xi.data.guildShops['Tsutsuroon'].stock, { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }) -- Koma +table.insert(xi.data.guildShops['Tsutsuroon'].stock, { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }) -- Koma ----------------------------------- -- Tenshodo (new shops -- Akamafula and Amalasanda did not exist in base guild_shops.lua) @@ -676,30 +676,30 @@ xi.data.guildShops['Akamafula'] = holiday = xi.day.EARTHSDAY, stock = { - { id = xi.item.KUNAI, initial = 20, maxStock = 60, targetStock = 55, buyMax = 4419, restockRate = 5 }, -- Kunai - { id = xi.item.WAKIZASHI, initial = 20, maxStock = 60, targetStock = 55, buyMax = 12000, restockRate = 5 }, -- Wakizashi - { id = xi.item.UCHIGATANA, initial = 20, maxStock = 60, targetStock = 55, buyMax = 26680, restockRate = 5 }, -- Uchigatana - { id = xi.item.KANESADA, initial = 2, maxStock = 60, targetStock = 55, buyMax = 99000, restockRate = 10 }, -- Kanesada - { id = xi.item.TACHI, initial = 20, maxStock = 60, targetStock = 55, buyMax = 15695, restockRate = 5 }, -- Tachi - { id = xi.item.NODACHI, initial = 2, maxStock = 60, targetStock = 55, buyMax = 40620, restockRate = 0 }, -- Nodachi - { id = xi.item.OKANEHIRA, initial = 5, maxStock = 60, targetStock = 55, buyMax = 104730, restockRate = 7 }, -- Okanehira - { id = xi.item.TANEGASHIMA, initial = 2, maxStock = 60, targetStock = 55, buyMax = 65310, restockRate = 0 }, -- Tanegashima - { id = xi.item.SHURIKEN, initial = 30, maxStock = 60, targetStock = 55, buyMax = 250, restockRate = 10 }, -- Shuriken - { id = xi.item.HACHIMAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 4125, restockRate = 3 }, -- Hachimaki - { id = xi.item.COTTON_HACHIMAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 24420, restockRate = 3 }, -- Cotton Hachimaki - { id = xi.item.SOIL_HACHIMAKI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 66960, restockRate = 5 }, -- Soil Hachimaki - { id = xi.item.KENPOGI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 6225, restockRate = 3 }, -- Kenpogi - { id = xi.item.COTTON_DOGI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 36800, restockRate = 3 }, -- Cotton Dogi - { id = xi.item.SOIL_GI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 99000, restockRate = 5 }, -- Soil Gi - { id = xi.item.TEKKO, initial = 5, maxStock = 60, targetStock = 45, buyMax = 3425, restockRate = 3 }, -- Tekko - { id = xi.item.COTTON_TEKKO, initial = 5, maxStock = 60, targetStock = 45, buyMax = 20250, restockRate = 3 }, -- Cotton Tekko - { id = xi.item.SOIL_TEKKO, initial = 10, maxStock = 60, targetStock = 45, buyMax = 55440, restockRate = 5 }, -- Soil Tekko - { id = xi.item.SITABAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 4975, restockRate = 3 }, -- Sitabaki - { id = xi.item.COTTON_SITABAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 29490, restockRate = 3 }, -- Cotton Sitabaki - { id = xi.item.SOIL_SITABAKI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 80640, restockRate = 5 }, -- Soil Sitabaki - { id = xi.item.KYAHAN, initial = 5, maxStock = 60, targetStock = 45, buyMax = 3175, restockRate = 3 }, -- Kyahan - { id = xi.item.COTTON_KYAHAN, initial = 5, maxStock = 60, targetStock = 45, buyMax = 18870, restockRate = 3 }, -- Cotton Kyahan - { id = xi.item.SOIL_KYAHAN, initial = 10, maxStock = 60, targetStock = 45, buyMax = 82620, restockRate = 5 }, -- Soil Kyahan + { id = xi.item.KUNAI, initial = 20, maxStock = 60, targetStock = 55, buyMax = 4419, restockRate = 5 }, -- Kunai + { id = xi.item.WAKIZASHI, initial = 20, maxStock = 60, targetStock = 55, buyMax = 12000, restockRate = 5 }, -- Wakizashi + { id = xi.item.UCHIGATANA, initial = 20, maxStock = 60, targetStock = 55, buyMax = 26680, restockRate = 5 }, -- Uchigatana + { id = xi.item.KANESADA, initial = 2, maxStock = 60, targetStock = 55, buyMax = 99000, restockRate = 10 }, -- Kanesada + { id = xi.item.TACHI, initial = 20, maxStock = 60, targetStock = 55, buyMax = 15695, restockRate = 5 }, -- Tachi + { id = xi.item.NODACHI, initial = 2, maxStock = 60, targetStock = 55, buyMax = 40620, restockRate = 0 }, -- Nodachi + { id = xi.item.OKANEHIRA, initial = 5, maxStock = 60, targetStock = 55, buyMax = 104730, restockRate = 7 }, -- Okanehira + { id = xi.item.TANEGASHIMA, initial = 2, maxStock = 60, targetStock = 55, buyMax = 65310, restockRate = 0 }, -- Tanegashima + { id = xi.item.SHURIKEN, initial = 30, maxStock = 60, targetStock = 55, buyMax = 250, restockRate = 10 }, -- Shuriken + { id = xi.item.HACHIMAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 4125, restockRate = 3 }, -- Hachimaki + { id = xi.item.COTTON_HACHIMAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 24420, restockRate = 3 }, -- Cotton Hachimaki + { id = xi.item.SOIL_HACHIMAKI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 66960, restockRate = 5 }, -- Soil Hachimaki + { id = xi.item.KENPOGI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 6225, restockRate = 3 }, -- Kenpogi + { id = xi.item.COTTON_DOGI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 36800, restockRate = 3 }, -- Cotton Dogi + { id = xi.item.SOIL_GI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 99000, restockRate = 5 }, -- Soil Gi + { id = xi.item.TEKKO, initial = 5, maxStock = 60, targetStock = 45, buyMax = 3425, restockRate = 3 }, -- Tekko + { id = xi.item.COTTON_TEKKO, initial = 5, maxStock = 60, targetStock = 45, buyMax = 20250, restockRate = 3 }, -- Cotton Tekko + { id = xi.item.SOIL_TEKKO, initial = 10, maxStock = 60, targetStock = 45, buyMax = 55440, restockRate = 5 }, -- Soil Tekko + { id = xi.item.SITABAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 4975, restockRate = 3 }, -- Sitabaki + { id = xi.item.COTTON_SITABAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 29490, restockRate = 3 }, -- Cotton Sitabaki + { id = xi.item.SOIL_SITABAKI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 80640, restockRate = 5 }, -- Soil Sitabaki + { id = xi.item.KYAHAN, initial = 5, maxStock = 60, targetStock = 45, buyMax = 3175, restockRate = 3 }, -- Kyahan + { id = xi.item.COTTON_KYAHAN, initial = 5, maxStock = 60, targetStock = 45, buyMax = 18870, restockRate = 3 }, -- Cotton Kyahan + { id = xi.item.SOIL_KYAHAN, initial = 10, maxStock = 60, targetStock = 45, buyMax = 82620, restockRate = 5 }, -- Soil Kyahan }, } @@ -709,28 +709,28 @@ xi.data.guildShops['Amalasanda'] = holiday = xi.day.EARTHSDAY, stock = { - { id = xi.item.BAMBOO_STICK, initial = 30, maxStock = 240, targetStock = 180, buyMax = 720, restockRate = 10 }, -- Bamboo Stick - { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }, -- Koma - { id = xi.item.LUMP_OF_TAMA_HAGANE, initial = 20, maxStock = 60, targetStock = 45, buyMax = 35000, restockRate = 5 }, -- Tama Hagane - { id = xi.item.POT_OF_URUSHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 367650, restockRate = 1 }, -- Urushi - { id = xi.item.BOX_OF_STICKY_RICE, initial = 50, maxStock = 150, targetStock = 120, buyMax = 316, restockRate = 100, priceFloor = 150, noSell = true }, -- Sticky Rice - { id = xi.item.BAG_OF_BUCKWHEAT_FLOUR, initial = 50, maxStock = 150, targetStock = 120, buyMax = 1500, restockRate = 100, priceFloor = 150, noSell = true }, -- Buckwheat Flour - { id = xi.item.PINCH_OF_BLACK_PEPPER, initial = 10, maxStock = 60, targetStock = 45, buyMax = 1111, restockRate = 5 }, -- Black Pepper - { id = xi.item.ONZ_OF_TURMERIC, initial = 20, maxStock = 60, targetStock = 50, buyMax = 3225, restockRate = 15 }, -- Turmeric - { id = xi.item.ONZ_OF_CORIANDER, initial = 20, maxStock = 60, targetStock = 50, buyMax = 7925, restockRate = 15 }, -- Coriander - { id = xi.item.SPRIG_OF_HOLY_BASIL, initial = 20, maxStock = 60, targetStock = 50, buyMax = 4000, restockRate = 15 }, -- Holy Basil - { id = xi.item.ONZ_OF_CURRY_POWDER, initial = 10, maxStock = 30, targetStock = 25, buyMax = 1456, restockRate = 7 }, -- Curry Powder - { id = xi.item.JAR_OF_GROUND_WASABI, initial = 100, maxStock = 150, targetStock = 120, buyMax = 12974, restockRate = 100 }, -- Wasabi - { id = xi.item.BOTTLE_OF_RICE_VINEGAR, initial = 100, maxStock = 150, targetStock = 120, buyMax = 1000, restockRate = 100 }, -- Rice Vinegar - { id = xi.item.BUNDLE_OF_SHIRATAKI, initial = 50, maxStock = 150, targetStock = 120, buyMax = 369, restockRate = 100, priceFloor = 150, noSell = true }, -- Shirataki - { id = xi.item.SCROLL_OF_KATON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Katon: Ichi - { id = xi.item.SCROLL_OF_HUTON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Huton: Ichi - { id = xi.item.SCROLL_OF_DOTON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Doton: Ichi - { id = xi.item.SCROLL_OF_SUITON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Suiton: Ichi - { id = xi.item.UCHITAKE, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Uchitake - { id = xi.item.KAWAHORI_OGI, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Kawahori Ogi - { id = xi.item.MAKIBISHI, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Makibishi - { id = xi.item.MIZU_DEPPO, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Mizu Deppo + { id = xi.item.BAMBOO_STICK, initial = 30, maxStock = 240, targetStock = 180, buyMax = 720, restockRate = 10 }, -- Bamboo Stick + { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }, -- Koma + { id = xi.item.LUMP_OF_TAMA_HAGANE, initial = 20, maxStock = 60, targetStock = 45, buyMax = 35000, restockRate = 5 }, -- Tama Hagane + { id = xi.item.POT_OF_URUSHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 367650, restockRate = 1 }, -- Urushi + { id = xi.item.BOX_OF_STICKY_RICE, initial = 50, maxStock = 150, targetStock = 120, buyMax = 316, restockRate = 100, priceFloor = 150, noSell = true }, -- Sticky Rice + { id = xi.item.BAG_OF_BUCKWHEAT_FLOUR, initial = 50, maxStock = 150, targetStock = 120, buyMax = 1500, restockRate = 100, priceFloor = 150, noSell = true }, -- Buckwheat Flour + { id = xi.item.PINCH_OF_BLACK_PEPPER, initial = 10, maxStock = 60, targetStock = 45, buyMax = 1111, restockRate = 5 }, -- Black Pepper + { id = xi.item.ONZ_OF_TURMERIC, initial = 20, maxStock = 60, targetStock = 50, buyMax = 3225, restockRate = 15 }, -- Turmeric + { id = xi.item.ONZ_OF_CORIANDER, initial = 20, maxStock = 60, targetStock = 50, buyMax = 7925, restockRate = 15 }, -- Coriander + { id = xi.item.SPRIG_OF_HOLY_BASIL, initial = 20, maxStock = 60, targetStock = 50, buyMax = 4000, restockRate = 15 }, -- Holy Basil + { id = xi.item.ONZ_OF_CURRY_POWDER, initial = 10, maxStock = 30, targetStock = 25, buyMax = 1456, restockRate = 7 }, -- Curry Powder + { id = xi.item.JAR_OF_GROUND_WASABI, initial = 100, maxStock = 150, targetStock = 120, buyMax = 12974, restockRate = 100 }, -- Wasabi + { id = xi.item.BOTTLE_OF_RICE_VINEGAR, initial = 100, maxStock = 150, targetStock = 120, buyMax = 1000, restockRate = 100 }, -- Rice Vinegar + { id = xi.item.BUNDLE_OF_SHIRATAKI, initial = 50, maxStock = 150, targetStock = 120, buyMax = 369, restockRate = 100, priceFloor = 150, noSell = true }, -- Shirataki + { id = xi.item.SCROLL_OF_KATON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Katon: Ichi + { id = xi.item.SCROLL_OF_HUTON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Huton: Ichi + { id = xi.item.SCROLL_OF_DOTON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Doton: Ichi + { id = xi.item.SCROLL_OF_SUITON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Suiton: Ichi + { id = xi.item.UCHITAKE, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Uchitake + { id = xi.item.KAWAHORI_OGI, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Kawahori Ogi + { id = xi.item.MAKIBISHI, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Makibishi + { id = xi.item.MIZU_DEPPO, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Mizu Deppo }, } From 62c80bd732039fe18a1846ff55e639b9a5343594 Mon Sep 17 00:00:00 2001 From: Montijin <2160211+montijin@users.noreply.github.com> Date: Wed, 8 Jul 2026 20:48:49 -0500 Subject: [PATCH 05/10] Switched from array entries to patchStock --- modules/abyssea/lua/era_guild_shops.lua | 986 ++++++++++++------------ 1 file changed, 479 insertions(+), 507 deletions(-) diff --git a/modules/abyssea/lua/era_guild_shops.lua b/modules/abyssea/lua/era_guild_shops.lua index 4ede419dd85..3419fde32b8 100644 --- a/modules/abyssea/lua/era_guild_shops.lua +++ b/modules/abyssea/lua/era_guild_shops.lua @@ -6,126 +6,144 @@ require('modules/module_utils') ----------------------------------- local moduleName = 'era_guild_shops' +----------------------------------- +local function getShop(shopName) + local shop = xi.data.guildShops[shopName] + assert(shop and shop.stock, ('Missing guild shop: %s'):format(shopName)) + return shop +end + +local function findStock(shopName, itemId) + for index, cfg in ipairs(getShop(shopName).stock) do + if cfg.id == itemId then + return cfg, index + end + end + + error(('Missing item %s in guild shop %s'):format(itemId, shopName)) +end + +local function patchStock(shopName, itemId, patch) + local cfg = findStock(shopName, itemId) + + for key, value in pairs(patch) do + cfg[key] = value + end +end + +local function removeStock(shopName, itemId) + local _, index = findStock(shopName, itemId) + table.remove(getShop(shopName).stock, index) +end + ----------------------------------- -- Smithing ----------------------------------- -- Amulya & Vicious Eye xi.data.guildShops['Vicious_Eye'] = { sharedStock = 'Amulya' } table.insert(xi.data.guildShops['Amulya'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 40 }) -xi.data.guildShops['Amulya'].stock[2].initial = 120 -- Tin Ore -xi.data.guildShops['Amulya'].stock[3].initial = 120 -- Iron Ore -xi.data.guildShops['Amulya'].stock[6].initial = 12 -- Bronze Ingot -xi.data.guildShops['Amulya'].stock[7].initial = 12 -- Iron Ingot -xi.data.guildShops['Amulya'].stock[11].initial = 12 -- Bronze Sheet -xi.data.guildShops['Amulya'].stock[12].initial = 12 -- Iron Sheet +patchStock('Amulya', xi.item.CHUNK_OF_TIN_ORE, { initial = 120 }) -- Tin Ore +patchStock('Amulya', xi.item.CHUNK_OF_IRON_ORE, { initial = 120 }) -- Iron Ore +patchStock('Amulya', xi.item.BRONZE_INGOT, { initial = 12 }) -- Bronze Ingot +patchStock('Amulya', xi.item.IRON_INGOT, { initial = 12 }) -- Iron Ingot +patchStock('Amulya', xi.item.BRONZE_SHEET, { initial = 12 }) -- Bronze Sheet +patchStock('Amulya', xi.item.IRON_SHEET, { initial = 12 }) -- Iron Sheet table.insert(xi.data.guildShops['Amulya'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) table.insert(xi.data.guildShops['Amulya'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) -- Doggomehr & Lucretia xi.data.guildShops['Lucretia'] = { sharedStock = 'Doggomehr' } table.insert(xi.data.guildShops['Doggomehr'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) -xi.data.guildShops['Doggomehr'].stock[2].initial = 120 -- Tin Ore -xi.data.guildShops['Doggomehr'].stock[3].initial = 120 -- Iron Ore -xi.data.guildShops['Doggomehr'].stock[6].initial = 12 -- Bronze Ingot -xi.data.guildShops['Doggomehr'].stock[7].initial = 12 -- Iron Ingot -xi.data.guildShops['Doggomehr'].stock[11].initial = 12 -- Bronze Sheet -xi.data.guildShops['Doggomehr'].stock[12].initial = 12 -- Iron Sheet +patchStock('Doggomehr', xi.item.CHUNK_OF_TIN_ORE, { initial = 120 }) -- Tin Ore +patchStock('Doggomehr', xi.item.CHUNK_OF_IRON_ORE, { initial = 120 }) -- Iron Ore +patchStock('Doggomehr', xi.item.BRONZE_INGOT, { initial = 12 }) -- Bronze Ingot +patchStock('Doggomehr', xi.item.IRON_INGOT, { initial = 12 }) -- Iron Ingot +patchStock('Doggomehr', xi.item.BRONZE_SHEET, { initial = 12 }) -- Bronze Sheet +patchStock('Doggomehr', xi.item.IRON_SHEET, { initial = 12 }) -- Iron Sheet table.insert(xi.data.guildShops['Doggomehr'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) table.insert(xi.data.guildShops['Doggomehr'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) -- Mololo & Kamilah xi.data.guildShops['Mololo'] = { sharedStock = 'Kamilah' } table.insert(xi.data.guildShops['Kamilah'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 20 }) -xi.data.guildShops['Kamilah'].stock[2].initial = 120 -- Tin Ore -xi.data.guildShops['Kamilah'].stock[3].initial = 120 -- Iron Ore -xi.data.guildShops['Kamilah'].stock[4].initial = 60 -- Bronze Ingot -xi.data.guildShops['Kamilah'].stock[4].restockRate = 10 -- Bronze Ingot -xi.data.guildShops['Kamilah'].stock[5].initial = 30 -- Iron Ingot -xi.data.guildShops['Kamilah'].stock[5].restockRate = 2 -- Iron Ingot +patchStock('Kamilah', xi.item.CHUNK_OF_TIN_ORE, { initial = 120 }) -- Tin Ore +patchStock('Kamilah', xi.item.CHUNK_OF_IRON_ORE, { initial = 120 }) -- Iron Ore -- Ndego -xi.data.guildShops['Ndego'].stock[1].initial = 120 -- Copper Ore -xi.data.guildShops['Ndego'].stock[2].initial = 120 -- Tin Ore -xi.data.guildShops['Ndego'].stock[3].initial = 120 -- Iron Ore -xi.data.guildShops['Ndego'].stock[6].initial = 12 -- Bronze Ingot -xi.data.guildShops['Ndego'].stock[7].initial = 12 -- Iron Ingot -xi.data.guildShops['Ndego'].stock[11].initial = 12 -- Bronze Sheet -xi.data.guildShops['Ndego'].stock[12].initial = 12 -- Iron Sheet -xi.data.guildShops['Ndego'].stock[80].initial = 120 -- Mandrel -xi.data.guildShops['Ndego'].stock[81].initial = 120 -- Workshop Anvil +patchStock('Ndego', xi.item.CHUNK_OF_COPPER_ORE, { initial = 120 }) -- Copper Ore +patchStock('Ndego', xi.item.CHUNK_OF_TIN_ORE, { initial = 120 }) -- Tin Ore +patchStock('Ndego', xi.item.CHUNK_OF_IRON_ORE, { initial = 120 }) -- Iron Ore +patchStock('Ndego', xi.item.BRONZE_INGOT, { initial = 12 }) -- Bronze Ingot +patchStock('Ndego', xi.item.IRON_INGOT, { initial = 12 }) -- Iron Ingot +patchStock('Ndego', xi.item.BRONZE_SHEET, { initial = 12 }) -- Bronze Sheet +patchStock('Ndego', xi.item.IRON_SHEET, { initial = 12 }) -- Iron Sheet +patchStock('Ndego', xi.item.MANDREL, { initial = 120 }) -- Mandrel +patchStock('Ndego', xi.item.WORKSHOP_ANVIL, { initial = 120 }) -- Workshop Anvil ----------------------------------- -- Goldsmithing ----------------------------------- -- Bornahn -xi.data.guildShops['Bornahn'].stock[1].initial = 120 -- Copper Ore -xi.data.guildShops['Bornahn'].stock[3].initial = 120 -- Silver Ore -xi.data.guildShops['Bornahn'].stock[4].initial = 0 -- Mythril Ore -xi.data.guildShops['Bornahn'].stock[13].initial = 1 -- Brass Sheet -xi.data.guildShops['Bornahn'].stock[13].restockRate = 1 -- Brass Sheet -xi.data.guildShops['Bornahn'].stock[17].initial = 0 -- Handful of Brass Scales -xi.data.guildShops['Bornahn'].stock[17].restockRate = 0 -- Handful of Brass Scales -xi.data.guildShops['Bornahn'].stock[19].initial = 1 -- Mythril Chain -xi.data.guildShops['Bornahn'].stock[22].initial = 2 -- Red Rock -xi.data.guildShops['Bornahn'].stock[23].initial = 2 -- Blue Rock -xi.data.guildShops['Bornahn'].stock[24].initial = 2 -- Yellow Rock -xi.data.guildShops['Bornahn'].stock[25].initial = 2 -- Green Rock -xi.data.guildShops['Bornahn'].stock[26].initial = 2 -- Clear Rock -xi.data.guildShops['Bornahn'].stock[27].initial = 2 -- Purple Rock -xi.data.guildShops['Bornahn'].stock[28].initial = 2 -- Black Rock -xi.data.guildShops['Bornahn'].stock[29].initial = 2 -- White Stone -xi.data.guildShops['Bornahn'].stock[30].initial = 6 -- Lapis Lazuli -xi.data.guildShops['Bornahn'].stock[31].initial = 6 -- Light Opal -xi.data.guildShops['Bornahn'].stock[32].initial = 6 -- Onyx -xi.data.guildShops['Bornahn'].stock[33].initial = 6 -- Amethyst -xi.data.guildShops['Bornahn'].stock[34].initial = 6 -- Tourmaline -xi.data.guildShops['Bornahn'].stock[35].initial = 6 -- Sardonyx -xi.data.guildShops['Bornahn'].stock[36].initial = 6 -- Clear Topaz -xi.data.guildShops['Bornahn'].stock[37].initial = 6 -- Amber -xi.data.guildShops['Bornahn'].stock[126].initial = 0 -- Workshop Anvil -xi.data.guildShops['Bornahn'].stock[126].restockRate = 0 -- Workshop Anvil +patchStock('Bornahn', xi.item.CHUNK_OF_COPPER_ORE, { initial = 120 }) -- Copper Ore +patchStock('Bornahn', xi.item.CHUNK_OF_SILVER_ORE, { initial = 120 }) -- Silver Ore +patchStock('Bornahn', xi.item.CHUNK_OF_MYTHRIL_ORE, { initial = 0 }) -- Mythril Ore +patchStock('Bornahn', xi.item.HANDFUL_OF_BRASS_SCALES, { initial = 1, restockRate = 1 }) -- Handful of Brass Scales +patchStock('Bornahn', xi.item.MYTHRIL_CHAIN, { initial = 1, restockRate = 1 }) -- Mythril Chain +patchStock('Bornahn', xi.item.RED_ROCK, { initial = 2 }) -- Red Rock +patchStock('Bornahn', xi.item.BLUE_ROCK, { initial = 2 }) -- Blue Rock +patchStock('Bornahn', xi.item.YELLOW_ROCK, { initial = 2 }) -- Yellow Rock +patchStock('Bornahn', xi.item.GREEN_ROCK, { initial = 2 }) -- Green Rock +patchStock('Bornahn', xi.item.TRANSLUCENT_ROCK, { initial = 2 }) -- Clear Rock +patchStock('Bornahn', xi.item.PURPLE_ROCK, { initial = 2 }) -- Purple Rock +patchStock('Bornahn', xi.item.BLACK_ROCK, { initial = 2 }) -- Black Rock +patchStock('Bornahn', xi.item.WHITE_ROCK, { initial = 2 }) -- White Stone +patchStock('Bornahn', xi.item.LAPIS_LAZULI, { initial = 6 }) -- Lapis Lazuli +patchStock('Bornahn', xi.item.LIGHT_OPAL, { initial = 6 }) -- Light Opal +patchStock('Bornahn', xi.item.ONYX, { initial = 6 }) -- Onyx +patchStock('Bornahn', xi.item.AMETHYST, { initial = 6 }) -- Amethyst +patchStock('Bornahn', xi.item.TOURMALINE, { initial = 6 }) -- Tourmaline +patchStock('Bornahn', xi.item.SARDONYX, { initial = 6 }) -- Sardonyx +patchStock('Bornahn', xi.item.CLEAR_TOPAZ, { initial = 6 }) -- Clear Topaz +patchStock('Bornahn', xi.item.AMBER_STONE, { initial = 6 }) -- Amber +patchStock('Bornahn', xi.item.WORKSHOP_ANVIL, { initial = 0, restockRate = 0 }) -- Workshop Anvil -- Teerth & Visala xi.data.guildShops['Teerth'] = { sharedStock = 'Visala' } table.insert(xi.data.guildShops['Visala'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) -xi.data.guildShops['Visala'].stock[2].initial = 120 -- Silver Ore -xi.data.guildShops['Visala'].stock[3].initial = 0 -- Mythril Ore -xi.data.guildShops['Visala'].stock[12].initial = 1 -- Brass Sheet -xi.data.guildShops['Visala'].stock[12].restockRate = 1 -- Brass Sheet -xi.data.guildShops['Visala'].stock[16].initial = 0 -- Handful of Brass Scales -xi.data.guildShops['Visala'].stock[16].restockRate = 0 -- Handful of Brass Scales -xi.data.guildShops['Visala'].stock[18].initial = 1 -- Mythril Chain -xi.data.guildShops['Visala'].stock[21].initial = 2 -- Red Rock -xi.data.guildShops['Visala'].stock[22].initial = 2 -- Blue Rock -xi.data.guildShops['Visala'].stock[23].initial = 2 -- Yellow Rock -xi.data.guildShops['Visala'].stock[24].initial = 2 -- Green Rock -xi.data.guildShops['Visala'].stock[25].initial = 2 -- Clear Rock -xi.data.guildShops['Visala'].stock[26].initial = 2 -- Purple Rock -xi.data.guildShops['Visala'].stock[27].initial = 2 -- Black Rock -xi.data.guildShops['Visala'].stock[28].initial = 2 -- White Stone -xi.data.guildShops['Visala'].stock[29].initial = 6 -- Lapis Lazuli -xi.data.guildShops['Visala'].stock[30].initial = 6 -- Light Opal -xi.data.guildShops['Visala'].stock[31].initial = 6 -- Onyx -xi.data.guildShops['Visala'].stock[32].initial = 6 -- Amethyst -xi.data.guildShops['Visala'].stock[33].initial = 6 -- Tourmaline -xi.data.guildShops['Visala'].stock[34].initial = 6 -- Sardonyx -xi.data.guildShops['Visala'].stock[35].initial = 6 -- Clear Topaz -xi.data.guildShops['Visala'].stock[36].initial = 6 -- Amber -xi.data.guildShops['Visala'].stock[125].initial = 120 -- Tufa +patchStock('Visala', xi.item.CHUNK_OF_SILVER_ORE, { initial = 120 }) -- Silver Ore +patchStock('Visala', xi.item.CHUNK_OF_MYTHRIL_ORE, { initial = 0 }) -- Mythril Ore +patchStock('Visala', xi.item.HANDFUL_OF_BRASS_SCALES, { initial = 1, restockRate = 1 }) -- Handful of Brass Scales +patchStock('Visala', xi.item.MYTHRIL_CHAIN, { initial = 1 }) -- Mythril Chain +patchStock('Visala', xi.item.RED_ROCK, { initial = 2 }) -- Red Rock +patchStock('Visala', xi.item.BLUE_ROCK, { initial = 2 }) -- Blue Rock +patchStock('Visala', xi.item.YELLOW_ROCK, { initial = 2 }) -- Yellow Rock +patchStock('Visala', xi.item.GREEN_ROCK, { initial = 2 }) -- Green Rock +patchStock('Visala', xi.item.TRANSLUCENT_ROCK, { initial = 2 }) -- Clear Rock +patchStock('Visala', xi.item.PURPLE_ROCK, { initial = 2 }) -- Purple Rock +patchStock('Visala', xi.item.BLACK_ROCK, { initial = 2 }) -- Black Rock +patchStock('Visala', xi.item.WHITE_ROCK, { initial = 2 }) -- White Stone +patchStock('Visala', xi.item.LAPIS_LAZULI, { initial = 6 }) -- Lapis Lazuli +patchStock('Visala', xi.item.LIGHT_OPAL, { initial = 6 }) -- Light Opal +patchStock('Visala', xi.item.ONYX, { initial = 6 }) -- Onyx +patchStock('Visala', xi.item.AMETHYST, { initial = 6 }) -- Amethyst +patchStock('Visala', xi.item.TOURMALINE, { initial = 6 }) -- Tourmaline +patchStock('Visala', xi.item.SARDONYX, { initial = 6 }) -- Sardonyx +patchStock('Visala', xi.item.CLEAR_TOPAZ, { initial = 6 }) -- Clear Topaz +patchStock('Visala', xi.item.AMBER_STONE, { initial = 6 }) -- Amber +patchStock('Visala', xi.item.SLAB_OF_TUFA, { initial = 120 }) -- Tufa -- Yabby Tanmikey & Celestina xi.data.guildShops['Celestina'] = { sharedStock = 'Yabby_Tanmikey' } table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 90, maxStock = 240, targetStock = 180, buyMax = 133, restockRate = 15 }) -- buyMax Mhaura-specific (20g vs 9g at Bastok/Al Zahbi) -xi.data.guildShops['Yabby_Tanmikey'].stock[2].initial = 70 -- Silver Ore -xi.data.guildShops['Yabby_Tanmikey'].stock[2].buyMax = 4700 -- Silver Ore, Mhaura-specific price curve (705g vs 315g at Bastok/Al Zahbi) -xi.data.guildShops['Yabby_Tanmikey'].stock[21].initial = 2 -- Red Rock -xi.data.guildShops['Yabby_Tanmikey'].stock[22].initial = 2 -- Blue Rock -xi.data.guildShops['Yabby_Tanmikey'].stock[23].initial = 2 -- Yellow Rock -xi.data.guildShops['Yabby_Tanmikey'].stock[24].initial = 2 -- Green Rock -xi.data.guildShops['Yabby_Tanmikey'].stock[25].initial = 2 -- Clear Rock -xi.data.guildShops['Yabby_Tanmikey'].stock[26].initial = 2 -- Purple Rock -xi.data.guildShops['Yabby_Tanmikey'].stock[27].initial = 2 -- Black Rock -xi.data.guildShops['Yabby_Tanmikey'].stock[28].initial = 2 -- White Stone +patchStock('Yabby_Tanmikey', xi.item.CHUNK_OF_SILVER_ORE, { initial = 70, buyMax = 4700 }) -- Silver Ore, Mhaura-specific price curve (705g vs 315g at Bastok/Al Zahbi) +patchStock('Yabby_Tanmikey', xi.item.RED_ROCK, { initial = 2 }) -- Red Rock +patchStock('Yabby_Tanmikey', xi.item.BLUE_ROCK, { initial = 2 }) -- Blue Rock +patchStock('Yabby_Tanmikey', xi.item.YELLOW_ROCK, { initial = 2 }) -- Yellow Rock +patchStock('Yabby_Tanmikey', xi.item.GREEN_ROCK, { initial = 2 }) -- Green Rock +patchStock('Yabby_Tanmikey', xi.item.TRANSLUCENT_ROCK, { initial = 2 }) -- Clear Rock +patchStock('Yabby_Tanmikey', xi.item.PURPLE_ROCK, { initial = 2 }) -- Purple Rock +patchStock('Yabby_Tanmikey', xi.item.BLACK_ROCK, { initial = 2 }) -- Black Rock +patchStock('Yabby_Tanmikey', xi.item.WHITE_ROCK, { initial = 2 }) -- White Stone table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) @@ -137,73 +155,65 @@ xi.data.guildShops['Cauzeriste'] = { sharedStock = 'Chaupire' } table.insert(xi.data.guildShops['Chaupire'].stock, 1, { id = xi.item.ARROWWOOD_LOG, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 60 }) table.insert(xi.data.guildShops['Chaupire'].stock, 2, { id = xi.item.LAUAN_LOG, initial = 120, maxStock = 240, targetStock = 144, buyMax = 180, restockRate = 12 }) table.insert(xi.data.guildShops['Chaupire'].stock, 3, { id = xi.item.MAPLE_LOG, initial = 120, maxStock = 240, targetStock = 144, buyMax = 300, restockRate = 12 }) -xi.data.guildShops['Chaupire'].stock[4].initial = 120 -- Ash Log -xi.data.guildShops['Chaupire'].stock[5].initial = 120 -- Willow Log -xi.data.guildShops['Chaupire'].stock[6].initial = 90 -- Holly Log -xi.data.guildShops['Chaupire'].stock[7].initial = 90 -- Yew Log -xi.data.guildShops['Chaupire'].stock[8].initial = 60 -- Elm Log -xi.data.guildShops['Chaupire'].stock[9].initial = 60 -- Walnut Log -xi.data.guildShops['Chaupire'].stock[10].initial = 60 -- Chestnut Log -xi.data.guildShops['Chaupire'].stock[11].initial = 30 -- Oak Log -xi.data.guildShops['Chaupire'].stock[12].initial = 30 -- Rosewood Log -xi.data.guildShops['Chaupire'].stock[13].initial = 10 -- Mahogany Log -xi.data.guildShops['Chaupire'].stock[14].initial = 10 -- Ebony Log -xi.data.guildShops['Chaupire'].stock[15].initial = 12 -- Bamboo Stick -xi.data.guildShops['Chaupire'].stock[17].initial = 12 -- Arrowwood Lumber -xi.data.guildShops['Chaupire'].stock[18].initial = 12 -- Lauan Lumber -xi.data.guildShops['Chaupire'].stock[19].initial = 12 -- Maple Lumber -xi.data.guildShops['Chaupire'].stock[20].initial = 12 -- Ash Lumber -xi.data.guildShops['Chaupire'].stock[21].initial = 12 -- Willow Lumber -xi.data.guildShops['Chaupire'].stock[22].initial = 9 -- Holly Lumber -xi.data.guildShops['Chaupire'].stock[23].initial = 9 -- Yew Lumber -xi.data.guildShops['Chaupire'].stock[24].initial = 12 -- Elm Lumber -xi.data.guildShops['Chaupire'].stock[24].restockRate = 12 -- Elm Lumber -xi.data.guildShops['Chaupire'].stock[25].initial = 6 -- Chestnut Lumber -xi.data.guildShops['Chaupire'].stock[26].initial = 6 -- Oak Lumber +patchStock('Chaupire', xi.item.ASH_LOG, { initial = 120 }) -- Ash Log +patchStock('Chaupire', xi.item.WILLOW_LOG, { initial = 120 }) -- Willow Log +patchStock('Chaupire', xi.item.HOLLY_LOG, { initial = 90 }) -- Holly Log +patchStock('Chaupire', xi.item.YEW_LOG, { initial = 90 }) -- Yew Log +patchStock('Chaupire', xi.item.ELM_LOG, { initial = 60 }) -- Elm Log +patchStock('Chaupire', xi.item.WALNUT_LOG, { initial = 60 }) -- Walnut Log +patchStock('Chaupire', xi.item.CHESTNUT_LOG, { initial = 60 }) -- Chestnut Log +patchStock('Chaupire', xi.item.OAK_LOG, { initial = 30 }) -- Oak Log +patchStock('Chaupire', xi.item.ROSEWOOD_LOG, { initial = 30 }) -- Rosewood Log +patchStock('Chaupire', xi.item.MAHOGANY_LOG, { initial = 10 }) -- Mahogany Log +patchStock('Chaupire', xi.item.EBONY_LOG, { initial = 10 }) -- Ebony Log +patchStock('Chaupire', xi.item.BAMBOO_STICK, { initial = 12 }) -- Bamboo Stick +patchStock('Chaupire', xi.item.PIECE_OF_ARROWWOOD_LUMBER, { initial = 12 }) -- Arrowwood Lumber +patchStock('Chaupire', xi.item.PIECE_OF_LAUAN_LUMBER, { initial = 12 }) -- Lauan Lumber +patchStock('Chaupire', xi.item.PIECE_OF_MAPLE_LUMBER, { initial = 12 }) -- Maple Lumber +patchStock('Chaupire', xi.item.PIECE_OF_ASH_LUMBER, { initial = 12 }) -- Ash Lumber +patchStock('Chaupire', xi.item.PIECE_OF_WILLOW_LUMBER, { initial = 12 }) -- Willow Lumber +patchStock('Chaupire', xi.item.PIECE_OF_HOLLY_LUMBER, { initial = 9 }) -- Holly Lumber +patchStock('Chaupire', xi.item.PIECE_OF_YEW_LUMBER, { initial = 9 }) -- Yew Lumber +patchStock('Chaupire', xi.item.PIECE_OF_ELM_LUMBER, { initial = 12, restockRate = 12 }) -- Elm Lumber +patchStock('Chaupire', xi.item.PIECE_OF_CHESTNUT_LUMBER, { initial = 6 }) -- Chestnut Lumber +patchStock('Chaupire', xi.item.PIECE_OF_OAK_LUMBER, { initial = 6 }) -- Oak Lumber -- Beugungel xi.data.guildShops['Beugungel'].hours = { 5, 21 } -- close time corrected from base 22 -xi.data.guildShops['Beugungel'].stock[1].initial = 120 -- Bundling Twine -xi.data.guildShops['Beugungel'].stock[2].initial = 120 -- Hatchet -xi.data.guildShops['Beugungel'].stock[3].initial = 120 -- Arrowwood Log -xi.data.guildShops['Beugungel'].stock[4].initial = 120 -- Ash Log -xi.data.guildShops['Beugungel'].stock[4].buyMax = 500 -- Ash Log -xi.data.guildShops['Beugungel'].stock[5].initial = 100 -- Yew Log -xi.data.guildShops['Beugungel'].stock[6].initial = 100 -- Willow Log -xi.data.guildShops['Beugungel'].stock[7].initial = 120 -- Walnut Log -xi.data.guildShops['Beugungel'].stock[7].restockRate = 50 -- Walnut Log +patchStock('Beugungel', xi.item.SPOOL_OF_BUNDLING_TWINE, { initial = 120 }) -- Bundling Twine +patchStock('Beugungel', xi.item.HATCHET, { initial = 120 }) -- Hatchet +patchStock('Beugungel', xi.item.ARROWWOOD_LOG, { initial = 120 }) -- Arrowwood Log +patchStock('Beugungel', xi.item.ASH_LOG, { initial = 120, buyMax = 500 }) -- Ash Log +patchStock('Beugungel', xi.item.YEW_LOG, { initial = 100 }) -- Yew Log +patchStock('Beugungel', xi.item.WILLOW_LOG, { initial = 100 }) -- Willow Log +patchStock('Beugungel', xi.item.WALNUT_LOG, { initial = 120, restockRate = 50 }) -- Walnut Log -- Dehbi_Moshal -xi.data.guildShops['Dehbi_Moshal'].stock[1].initial = 120 -- Arrowwood Log -xi.data.guildShops['Dehbi_Moshal'].stock[2].initial = 120 -- Lauan Log -xi.data.guildShops['Dehbi_Moshal'].stock[3].initial = 120 -- Maple Log -xi.data.guildShops['Dehbi_Moshal'].stock[4].initial = 100 -- Ash Log -xi.data.guildShops['Dehbi_Moshal'].stock[4].buyMax = 400 -- Ash Log -xi.data.guildShops['Dehbi_Moshal'].stock[4].restockRate = 50 -- Ash Log -xi.data.guildShops['Dehbi_Moshal'].stock[5].initial = 120 -- Willow Log -xi.data.guildShops['Dehbi_Moshal'].stock[5].restockRate = 20 -- Willow Log -xi.data.guildShops['Dehbi_Moshal'].stock[6].initial = 90 -- Holly Log -xi.data.guildShops['Dehbi_Moshal'].stock[7].initial = 120 -- Yew Log -xi.data.guildShops['Dehbi_Moshal'].stock[7].restockRate = 20 -- Yew Log -xi.data.guildShops['Dehbi_Moshal'].stock[8].initial = 60 -- Elm Log -xi.data.guildShops['Dehbi_Moshal'].stock[9].initial = 60 -- Walnut Log -xi.data.guildShops['Dehbi_Moshal'].stock[10].initial = 60 -- Chestnut Log -xi.data.guildShops['Dehbi_Moshal'].stock[11].initial = 30 -- Oak Log -xi.data.guildShops['Dehbi_Moshal'].stock[12].initial = 30 -- Rosewood Log -xi.data.guildShops['Dehbi_Moshal'].stock[13].initial = 10 -- Mahogany Log -xi.data.guildShops['Dehbi_Moshal'].stock[14].initial = 10 -- Ebony Log -xi.data.guildShops['Dehbi_Moshal'].stock[17].initial = 12 -- Bamboo Stick -xi.data.guildShops['Dehbi_Moshal'].stock[19].initial = 12 -- Arrowwood Lumber -xi.data.guildShops['Dehbi_Moshal'].stock[20].initial = 12 -- Lauan Lumber -xi.data.guildShops['Dehbi_Moshal'].stock[21].initial = 12 -- Maple Lumber -xi.data.guildShops['Dehbi_Moshal'].stock[22].initial = 12 -- Ash Lumber -xi.data.guildShops['Dehbi_Moshal'].stock[23].initial = 12 -- Willow Lumber -xi.data.guildShops['Dehbi_Moshal'].stock[24].initial = 9 -- Holly Lumber -xi.data.guildShops['Dehbi_Moshal'].stock[25].initial = 9 -- Yew Lumber -xi.data.guildShops['Dehbi_Moshal'].stock[26].initial = 12 -- Elm Lumber -xi.data.guildShops['Dehbi_Moshal'].stock[26].restockRate = 12 -- Elm Lumber -xi.data.guildShops['Dehbi_Moshal'].stock[27].initial = 6 -- Chestnut Lumber -xi.data.guildShops['Dehbi_Moshal'].stock[28].initial = 6 -- Oak Lumber +patchStock('Dehbi_Moshal', xi.item.ARROWWOOD_LOG, { initial = 120 }) -- Arrowwood Log +patchStock('Dehbi_Moshal', xi.item.LAUAN_LOG, { initial = 120 }) -- Lauan Log +patchStock('Dehbi_Moshal', xi.item.MAPLE_LOG, { initial = 120 }) -- Maple Log +patchStock('Dehbi_Moshal', xi.item.ASH_LOG, { initial = 100, buyMax = 400, restockRate = 50 }) -- Ash Log +patchStock('Dehbi_Moshal', xi.item.WILLOW_LOG, { initial = 120, restockRate = 20 }) -- Willow Log +patchStock('Dehbi_Moshal', xi.item.HOLLY_LOG, { initial = 90 }) -- Holly Log +patchStock('Dehbi_Moshal', xi.item.YEW_LOG, { initial = 120, restockRate = 20 }) -- Yew Log +patchStock('Dehbi_Moshal', xi.item.ELM_LOG, { initial = 60 }) -- Elm Log +patchStock('Dehbi_Moshal', xi.item.WALNUT_LOG, { initial = 60 }) -- Walnut Log +patchStock('Dehbi_Moshal', xi.item.CHESTNUT_LOG, { initial = 60 }) -- Chestnut Log +patchStock('Dehbi_Moshal', xi.item.OAK_LOG, { initial = 30 }) -- Oak Log +patchStock('Dehbi_Moshal', xi.item.ROSEWOOD_LOG, { initial = 30 }) -- Rosewood Log +patchStock('Dehbi_Moshal', xi.item.MAHOGANY_LOG, { initial = 10 }) -- Mahogany Log +patchStock('Dehbi_Moshal', xi.item.EBONY_LOG, { initial = 10 }) -- Ebony Log +patchStock('Dehbi_Moshal', xi.item.BAMBOO_STICK, { initial = 12 }) -- Bamboo Stick +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_ARROWWOOD_LUMBER, { initial = 12 }) -- Arrowwood Lumber +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_LAUAN_LUMBER, { initial = 12 }) -- Lauan Lumber +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_MAPLE_LUMBER, { initial = 12 }) -- Maple Lumber +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_ASH_LUMBER, { initial = 12 }) -- Ash Lumber +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_WILLOW_LUMBER, { initial = 12 }) -- Willow Lumber +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_HOLLY_LUMBER, { initial = 9 }) -- Holly Lumber +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_YEW_LUMBER, { initial = 9 }) -- Yew Lumber +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_ELM_LUMBER, { initial = 12, restockRate = 12 }) -- Elm Lumber +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_CHESTNUT_LUMBER, { initial = 6 }) -- Chestnut Lumber +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_OAK_LUMBER, { initial = 6 }) -- Oak Lumber ----------------------------------- -- Clothcraft @@ -211,65 +221,53 @@ xi.data.guildShops['Dehbi_Moshal'].stock[28].initial = 6 -- Oak Lumber -- Kuzah Hpirohpon & Meriri xi.data.guildShops['Meriri'] = { sharedStock = 'Kuzah_Hpirohpon' } table.insert(xi.data.guildShops['Kuzah_Hpirohpon'].stock, 1, { id = xi.item.CLUMP_OF_MOKO_GRASS, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 60 }) -xi.data.guildShops['Kuzah_Hpirohpon'].stock[2].initial = 0 -- Saruta Cotton -xi.data.guildShops['Kuzah_Hpirohpon'].stock[2].buyMax = 214 -- Saruta Cotton -xi.data.guildShops['Kuzah_Hpirohpon'].stock[3].initial = 120 -- Flax -xi.data.guildShops['Kuzah_Hpirohpon'].stock[4].initial = 120 -- Sheep Wool -xi.data.guildShops['Kuzah_Hpirohpon'].stock[5].initial = 40 -- Crawler Cocoon -xi.data.guildShops['Kuzah_Hpirohpon'].stock[7].initial = 120 -- Grass Thread -xi.data.guildShops['Kuzah_Hpirohpon'].stock[8].initial = 120 -- Cotton Thread -xi.data.guildShops['Kuzah_Hpirohpon'].stock[8].buyMax = 780 -- Cotton Thread -xi.data.guildShops['Kuzah_Hpirohpon'].stock[9].initial = 90 -- Linen Thread -xi.data.guildShops['Kuzah_Hpirohpon'].stock[10].initial = 60 -- Wool Thread -xi.data.guildShops['Kuzah_Hpirohpon'].stock[11].initial = 6 -- Silk Thread -xi.data.guildShops['Kuzah_Hpirohpon'].stock[11].buyMax = 2375 -- Silk Thread -xi.data.guildShops['Kuzah_Hpirohpon'].stock[12].initial = 4 -- Silver Thread -xi.data.guildShops['Kuzah_Hpirohpon'].stock[12].buyMax = 1875 -- Silver Thread -xi.data.guildShops['Kuzah_Hpirohpon'].stock[13].initial = 3 -- Gold Thread -xi.data.guildShops['Kuzah_Hpirohpon'].stock[15].initial = 12 -- Grass Cloth -xi.data.guildShops['Kuzah_Hpirohpon'].stock[16].initial = 12 -- Cotton Cloth +patchStock('Kuzah_Hpirohpon', xi.item.BALL_OF_SARUTA_COTTON, { initial = 0, buyMax = 214 }) -- Saruta Cotton +patchStock('Kuzah_Hpirohpon', xi.item.FLAX_FLOWER, { initial = 120 }) -- Flax +patchStock('Kuzah_Hpirohpon', xi.item.CLUMP_OF_SHEEP_WOOL, { initial = 120 }) -- Sheep Wool +patchStock('Kuzah_Hpirohpon', xi.item.PIECE_OF_CRAWLER_COCOON, { initial = 40 }) -- Crawler Cocoon +patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_GRASS_THREAD, { initial = 120 }) -- Grass Thread +patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_COTTON_THREAD, { initial = 120, buyMax = 780 }) -- Cotton Thread +patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_LINEN_THREAD, { initial = 90 }) -- Linen Thread +patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_WOOL_THREAD, { initial = 60 }) -- Wool Thread +patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_SILK_THREAD, { initial = 6, buyMax = 2375 }) -- Silk Thread +patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_SILVER_THREAD, { initial = 4, buyMax = 1875 }) -- Silver Thread +patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_GOLD_THREAD, { initial = 3 }) -- Gold Thread +patchStock('Kuzah_Hpirohpon', xi.item.SQUARE_OF_GRASS_CLOTH, { initial = 12 }) -- Grass Cloth +patchStock('Kuzah_Hpirohpon', xi.item.SQUARE_OF_COTTON_CLOTH, { initial = 12 }) -- Cotton Cloth table.insert(xi.data.guildShops['Kuzah_Hpirohpon'].stock, 78, { id = xi.item.SPINDLE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) -- Taten-Bilten -xi.data.guildShops['Taten-Bilten'].stock[1].initial = 6 -- Silk Thread -xi.data.guildShops['Taten-Bilten'].stock[1].buyMax = 2944 -- Silk Thread -xi.data.guildShops['Taten-Bilten'].stock[2].initial = 120 -- Grass Thread -xi.data.guildShops['Taten-Bilten'].stock[3].initial = 120 -- Cotton Thread -xi.data.guildShops['Taten-Bilten'].stock[4].initial = 90 -- Linen Thread -xi.data.guildShops['Taten-Bilten'].stock[6].initial = 4 -- Silver Thread -xi.data.guildShops['Taten-Bilten'].stock[6].buyMax = 4480 -- Silver Thread -xi.data.guildShops['Taten-Bilten'].stock[7].initial = 3 -- Gold Thread -xi.data.guildShops['Taten-Bilten'].stock[8].initial = 12 -- Grass Cloth -xi.data.guildShops['Taten-Bilten'].stock[9].initial = 12 -- Cotton Cloth -xi.data.guildShops['Taten-Bilten'].stock[14].initial = 120 -- Sheep Wool -xi.data.guildShops['Taten-Bilten'].stock[15].initial = 120 -- Moko Grass -xi.data.guildShops['Taten-Bilten'].stock[16].initial = 0 -- Saruta Cotton -xi.data.guildShops['Taten-Bilten'].stock[16].buyMax = 84 -- Saruta Cotton -xi.data.guildShops['Taten-Bilten'].stock[17].initial = 120 -- Flax -xi.data.guildShops['Taten-Bilten'].stock[19].initial = 40 -- Crawler Cocoon -xi.data.guildShops['Taten-Bilten'].stock[21].initial = 120 -- Spindle -xi.data.guildShops['Taten-Bilten'].stock[22].initial = 120 -- Spool of Zephyr Thread -xi.data.guildShops['Taten-Bilten'].stock[26].initial = 60 -- Wamoura Cocoon -xi.data.guildShops['Taten-Bilten'].stock[27].initial = 60 -- Karakul Thread +patchStock('Taten-Bilten', xi.item.SPOOL_OF_SILK_THREAD, { initial = 6, buyMax = 2944 }) -- Silk Thread +patchStock('Taten-Bilten', xi.item.SPOOL_OF_GRASS_THREAD, { initial = 120 }) -- Grass Thread +patchStock('Taten-Bilten', xi.item.SPOOL_OF_COTTON_THREAD, { initial = 120 }) -- Cotton Thread +patchStock('Taten-Bilten', xi.item.SPOOL_OF_LINEN_THREAD, { initial = 90 }) -- Linen Thread +patchStock('Taten-Bilten', xi.item.SPOOL_OF_SILVER_THREAD, { initial = 4, buyMax = 4480 }) -- Silver Thread +patchStock('Taten-Bilten', xi.item.SPOOL_OF_GOLD_THREAD, { initial = 3 }) -- Gold Thread +patchStock('Taten-Bilten', xi.item.SQUARE_OF_GRASS_CLOTH, { initial = 12 }) -- Grass Cloth +patchStock('Taten-Bilten', xi.item.SQUARE_OF_COTTON_CLOTH, { initial = 12 }) -- Cotton Cloth +patchStock('Taten-Bilten', xi.item.CLUMP_OF_SHEEP_WOOL, { initial = 120 }) -- Sheep Wool +patchStock('Taten-Bilten', xi.item.CLUMP_OF_MOKO_GRASS, { initial = 120 }) -- Moko Grass +patchStock('Taten-Bilten', xi.item.BALL_OF_SARUTA_COTTON, { initial = 0, buyMax = 84 }) -- Saruta Cotton +patchStock('Taten-Bilten', xi.item.FLAX_FLOWER, { initial = 120 }) -- Flax +patchStock('Taten-Bilten', xi.item.PIECE_OF_CRAWLER_COCOON, { initial = 40 }) -- Crawler Cocoon +patchStock('Taten-Bilten', xi.item.SPINDLE, { initial = 120 }) -- Spindle +patchStock('Taten-Bilten', xi.item.SPOOL_OF_ZEPHYR_THREAD, { initial = 120 }) -- Spool of Zephyr Thread +patchStock('Taten-Bilten', xi.item.WAMOURA_COCOON, { initial = 60 }) -- Wamoura Cocoon +patchStock('Taten-Bilten', xi.item.SPOOL_OF_KARAKUL_THREAD, { initial = 60 }) -- Karakul Thread table.insert(xi.data.guildShops['Taten-Bilten'].stock, { id = xi.item.SPOOL_OF_WOOL_THREAD, initial = 60, maxStock = 120, targetStock = 90, buyMax = 18000, restockRate = 3 }) -- Tilala & Gibol xi.data.guildShops['Gibol'] = { sharedStock = 'Tilala' } table.insert(xi.data.guildShops['Tilala'].stock, 1, { id = xi.item.CLUMP_OF_MOKO_GRASS, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 40 }) -xi.data.guildShops['Tilala'].stock[3].initial = 60 -- Flax -xi.data.guildShops['Tilala'].stock[4].initial = 55 -- Sheep Wool -xi.data.guildShops['Tilala'].stock[5].initial = 40 -- Crawler Cocoon -xi.data.guildShops['Tilala'].stock[5].restockRate = 10 -- Crawler Cocoon -xi.data.guildShops['Tilala'].stock[7].initial = 90 -- Grass Thread -xi.data.guildShops['Tilala'].stock[8].initial = 90 -- Cotton Thread -xi.data.guildShops['Tilala'].stock[8].restockRate = 30 -- Cotton Thread -xi.data.guildShops['Tilala'].stock[9].initial = 90 -- Linen Thread -xi.data.guildShops['Tilala'].stock[9].buyMax = 4524 -- Linen Thread -xi.data.guildShops['Tilala'].stock[10].initial = 60 -- Wool Thread -xi.data.guildShops['Tilala'].stock[11].initial = 12 -- Silk Thread -xi.data.guildShops['Tilala'].stock[11].buyMax = 699 -- Silk Thread -xi.data.guildShops['Tilala'].stock[12].initial = 6 -- Silver Thread -xi.data.guildShops['Tilala'].stock[13].initial = 3 -- Gold Thread +patchStock('Tilala', xi.item.FLAX_FLOWER, { initial = 60 }) -- Flax +patchStock('Tilala', xi.item.CLUMP_OF_SHEEP_WOOL, { initial = 55 }) -- Sheep Wool +patchStock('Tilala', xi.item.SPOOL_OF_GRASS_THREAD, { initial = 90 }) -- Grass Thread +patchStock('Tilala', xi.item.SPOOL_OF_COTTON_THREAD, { initial = 90, restockRate = 30 }) -- Cotton Thread +patchStock('Tilala', xi.item.SPOOL_OF_LINEN_THREAD, { initial = 90, buyMax = 4524 }) -- Linen Thread +patchStock('Tilala', xi.item.SPOOL_OF_WOOL_THREAD, { initial = 60 }) -- Wool Thread +patchStock('Tilala', xi.item.SPOOL_OF_SILK_THREAD, { initial = 12, buyMax = 699 }) -- Silk Thread +patchStock('Tilala', xi.item.SPOOL_OF_SILVER_THREAD, { initial = 6 }) -- Silver Thread +patchStock('Tilala', xi.item.SPOOL_OF_GOLD_THREAD, { initial = 3 }) -- Gold Thread ----------------------------------- -- Leatherworking @@ -278,14 +276,14 @@ xi.data.guildShops['Tilala'].stock[13].initial = 3 -- Gold Thread xi.data.guildShops['Cletae'] = { sharedStock = 'Kueh_Igunahmori' } table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, 1, { id = xi.item.RABBIT_HIDE, initial = 12, maxStock = 160, targetStock = 120, buyMax = 400, restockRate = 12 }) -- targetStock assumed table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, 2, { id = xi.item.SHEEPSKIN, initial = 12, maxStock = 160, targetStock = 120, buyMax = 506, restockRate = 12 }) -- targetStock assumed -xi.data.guildShops['Kueh_Igunahmori'].stock[4].initial = 0 -- Wolf Hide -xi.data.guildShops['Kueh_Igunahmori'].stock[5].initial = 0 -- Ram Skin -xi.data.guildShops['Kueh_Igunahmori'].stock[6].initial = 0 -- Tiger Hide -xi.data.guildShops['Kueh_Igunahmori'].stock[7].initial = 0 -- Coeurl Hide -xi.data.guildShops['Kueh_Igunahmori'].stock[16].initial = 30 -- Raptor Skin -xi.data.guildShops['Kueh_Igunahmori'].stock[17].initial = 30 -- Cockatrice Skin -xi.data.guildShops['Kueh_Igunahmori'].stock[19].initial = 120 -- Willow Log -xi.data.guildShops['Kueh_Igunahmori'].stock[20].initial = 120 -- Distilled Water +patchStock('Kueh_Igunahmori', xi.item.WOLF_HIDE, { initial = 0 }) -- Wolf Hide +patchStock('Kueh_Igunahmori', xi.item.RAM_SKIN, { initial = 0 }) -- Ram Skin +patchStock('Kueh_Igunahmori', xi.item.TIGER_HIDE, { initial = 0 }) -- Tiger Hide +patchStock('Kueh_Igunahmori', xi.item.COEURL_HIDE, { initial = 0 }) -- Coeurl Hide +patchStock('Kueh_Igunahmori', xi.item.RAPTOR_SKIN, { initial = 30 }) -- Raptor Skin +patchStock('Kueh_Igunahmori', xi.item.COCKATRICE_SKIN, { initial = 30 }) -- Cockatrice Skin +patchStock('Kueh_Igunahmori', xi.item.WILLOW_LOG, { initial = 120 }) -- Willow Log +patchStock('Kueh_Igunahmori', xi.item.FLASK_OF_DISTILLED_WATER, { initial = 120 }) -- Distilled Water table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, { id = xi.item.TANNING_VAT, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) ----------------------------------- @@ -294,12 +292,12 @@ table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, { id = xi.item.TANNING -- Retto-Marutto & Shih Tayuun xi.data.guildShops['Retto-Marutto'] = { sharedStock = 'Shih_Tayuun' } table.insert(xi.data.guildShops['Shih_Tayuun'].stock, 1, { id = xi.item.BONE_CHIP, initial = 12, maxStock = 240, targetStock = 180, buyMax = 380, restockRate = 12 }) -xi.data.guildShops['Shih_Tayuun'].stock[3].initial = 12 -- Sheep Tooth -xi.data.guildShops['Shih_Tayuun'].stock[5].initial = 4 -- Turtle Shell -xi.data.guildShops['Shih_Tayuun'].stock[6].initial = 120 -- Seashell -xi.data.guildShops['Shih_Tayuun'].stock[13].initial = 7 -- Chicken Bone +patchStock('Shih_Tayuun', xi.item.SHEEP_TOOTH, { initial = 12 }) -- Sheep Tooth +patchStock('Shih_Tayuun', xi.item.TURTLE_SHELL, { initial = 4 }) -- Turtle Shell +patchStock('Shih_Tayuun', xi.item.SEASHELL, { initial = 120 }) -- Seashell +patchStock('Shih_Tayuun', xi.item.CHICKEN_BONE, { initial = 7 }) -- Chicken Bone table.insert(xi.data.guildShops['Shih_Tayuun'].stock, 14, { id = xi.item.HANDFUL_OF_FISH_SCALES, initial = 30, maxStock = 240, targetStock = 180, buyMax = 480, restockRate = 15 }) -xi.data.guildShops['Shih_Tayuun'].stock[60].initial = 0 -- Bone Arrow +patchStock('Shih_Tayuun', xi.item.BONE_ARROW, { initial = 0 }) -- Bone Arrow table.insert(xi.data.guildShops['Shih_Tayuun'].stock, { id = xi.item.SHAGREEN_FILE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) ----------------------------------- @@ -308,35 +306,35 @@ table.insert(xi.data.guildShops['Shih_Tayuun'].stock, { id = xi.item.SHAGREEN_FI -- Maymunah & Odoba xi.data.guildShops['Odoba'] = { sharedStock = 'Maymunah' } table.insert(xi.data.guildShops['Maymunah'].stock, 1, { id = xi.item.VIAL_OF_MERCURY, initial = 8, maxStock = 60, targetStock = 45, buyMax = 7500, restockRate = 1 }) -xi.data.guildShops['Maymunah'].stock[9].initial = 60 -- Wijnruit -xi.data.guildShops['Maymunah'].stock[10].initial = 60 -- Crying Mustard -xi.data.guildShops['Maymunah'].stock[11].initial = 60 -- Dried Marjoram -xi.data.guildShops['Maymunah'].stock[12].initial = 60 -- Chamomile -xi.data.guildShops['Maymunah'].stock[17].initial = 12 -- Cobalt Jelly -xi.data.guildShops['Maymunah'].stock[18].initial = 30 -- Glass Fiber -xi.data.guildShops['Maymunah'].stock[71].initial = 120 -- Battery -xi.data.guildShops['Maymunah'].stock[72].initial = 120 -- Hydro Pump -xi.data.guildShops['Maymunah'].stock[73].initial = 120 -- Wind Fan +patchStock('Maymunah', xi.item.WIJNRUIT, { initial = 60 }) -- Wijnruit +patchStock('Maymunah', xi.item.POT_OF_CRYING_MUSTARD, { initial = 60 }) -- Crying Mustard +patchStock('Maymunah', xi.item.PINCH_OF_DRIED_MARJORAM, { initial = 60 }) -- Dried Marjoram +patchStock('Maymunah', xi.item.CHAMOMILE, { initial = 60 }) -- Chamomile +patchStock('Maymunah', xi.item.COBALT_JELLYFISH, { initial = 12 }) -- Cobalt Jelly +patchStock('Maymunah', xi.item.LOOP_OF_GLASS_FIBER, { initial = 30 }) -- Glass Fiber +patchStock('Maymunah', xi.item.BATTERY, { initial = 120 }) -- Battery +patchStock('Maymunah', xi.item.HYDRO_PUMP, { initial = 120 }) -- Hydro Pump +patchStock('Maymunah', xi.item.WIND_FAN, { initial = 120 }) -- Wind Fan table.insert(xi.data.guildShops['Maymunah'].stock, { id = xi.item.TRITURATOR, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) -- Wahraga & Gathweeda -xi.data.guildShops['Wahraga'].stock[33].initial = 8 -- Mercury -xi.data.guildShops['Wahraga'].stock[34].initial = 8 -- Morbol Vine -xi.data.guildShops['Wahraga'].stock[38].initial = 40 -- Sulfur -xi.data.guildShops['Wahraga'].stock[40].initial = 60 -- Wijnruit -xi.data.guildShops['Wahraga'].stock[41].initial = 60 -- Crying Mustard -xi.data.guildShops['Wahraga'].stock[42].initial = 60 -- Dried Marjoram -xi.data.guildShops['Wahraga'].stock[43].initial = 60 -- Chamomile -xi.data.guildShops['Wahraga'].stock[46].initial = 120 -- Sage -xi.data.guildShops['Wahraga'].stock[48].initial = 12 -- Cobalt Jelly -xi.data.guildShops['Wahraga'].stock[49].initial = 30 -- Glass Fiber -xi.data.guildShops['Wahraga'].stock[77].initial = 120 -- Triturator -xi.data.guildShops['Wahraga'].stock[78].initial = 120 -- Homunculus Nerves -xi.data.guildShops['Wahraga'].stock[79].initial = 120 -- Polyflan Paper -xi.data.guildShops['Wahraga'].stock[80].initial = 120 -- Battery -xi.data.guildShops['Wahraga'].stock[81].initial = 120 -- Hydro Pump -xi.data.guildShops['Wahraga'].stock[82].initial = 120 -- Wind Fan -xi.data.guildShops['Wahraga'].stock[83].initial = 12 -- Minium +patchStock('Wahraga', xi.item.VIAL_OF_MERCURY, { initial = 8 }) -- Mercury +patchStock('Wahraga', xi.item.MALBORO_VINE, { initial = 8 }) -- Morbol Vine +patchStock('Wahraga', xi.item.PINCH_OF_SULFUR, { initial = 40 }) -- Sulfur +patchStock('Wahraga', xi.item.WIJNRUIT, { initial = 60 }) -- Wijnruit +patchStock('Wahraga', xi.item.POT_OF_CRYING_MUSTARD, { initial = 60 }) -- Crying Mustard +patchStock('Wahraga', xi.item.PINCH_OF_DRIED_MARJORAM, { initial = 60 }) -- Dried Marjoram +patchStock('Wahraga', xi.item.CHAMOMILE, { initial = 60 }) -- Chamomile +patchStock('Wahraga', xi.item.SPRIG_OF_SAGE, { initial = 120 }) -- Sage +patchStock('Wahraga', xi.item.COBALT_JELLYFISH, { initial = 12 }) -- Cobalt Jelly +patchStock('Wahraga', xi.item.LOOP_OF_GLASS_FIBER, { initial = 30 }) -- Glass Fiber +patchStock('Wahraga', xi.item.TRITURATOR, { initial = 120 }) -- Triturator +patchStock('Wahraga', xi.item.BUNDLE_OF_HOMUNCULUS_NERVES, { initial = 120 }) -- Homunculus Nerves +patchStock('Wahraga', xi.item.SHEET_OF_POLYFLAN_PAPER, { initial = 120 }) -- Polyflan Paper +patchStock('Wahraga', xi.item.BATTERY, { initial = 120 }) -- Battery +patchStock('Wahraga', xi.item.HYDRO_PUMP, { initial = 120 }) -- Hydro Pump +patchStock('Wahraga', xi.item.WIND_FAN, { initial = 120 }) -- Wind Fan +patchStock('Wahraga', xi.item.PINCH_OF_MINIUM, { initial = 12 }) -- Minium ----------------------------------- -- Cooking @@ -346,73 +344,73 @@ xi.data.guildShops['Chomo_Jinjahl'] = { sharedStock = 'Kopopo' } table.insert(xi.data.guildShops['Kopopo'].stock, 1, { id = xi.item.CHUNK_OF_ROCK_SALT, initial = 120, maxStock = 240, targetStock = 180, buyMax = 93, restockRate = 12 }) -- targetStock assumed table.insert(xi.data.guildShops['Kopopo'].stock, 42, { id = xi.item.SARUTA_ORANGE, initial = 60, maxStock = 240, targetStock = 180, buyMax = 300, restockRate = 2 }) -- targetStock assumed table.insert(xi.data.guildShops['Kopopo'].stock, 47, { id = xi.item.BUNCH_OF_SAN_DORIAN_GRAPES, initial = 12, maxStock = 240, targetStock = 180, buyMax = 380, restockRate = 2 }) -- targetStock assumed -xi.data.guildShops['Kopopo'].stock[3].initial = 120 -- Rye Flour -xi.data.guildShops['Kopopo'].stock[4].initial = 120 -- San d'Orian Flour -xi.data.guildShops['Kopopo'].stock[5].initial = 120 -- Kazham Peppers -xi.data.guildShops['Kopopo'].stock[6].initial = 120 -- Mhaura Garlic -xi.data.guildShops['Kopopo'].stock[7].initial = 120 -- Selbina Milk -xi.data.guildShops['Kopopo'].stock[9].initial = 6 -- Pie Dough -xi.data.guildShops['Kopopo'].stock[10].initial = 120 -- Blue Peas -xi.data.guildShops['Kopopo'].stock[11].initial = 120 -- Poteto (Popoto) -xi.data.guildShops['Kopopo'].stock[12].initial = 120 -- Tarutaru Rice -xi.data.guildShops['Kopopo'].stock[13].initial = 120 -- Crying Mustard -xi.data.guildShops['Kopopo'].stock[14].initial = 120 -- Dried Marjoram -xi.data.guildShops['Kopopo'].stock[15].initial = 0 -- Apple Vinegar -xi.data.guildShops['Kopopo'].stock[18].initial = 120 -- Cinnamon -xi.data.guildShops['Kopopo'].stock[19].initial = 120 -- Millioncorn -xi.data.guildShops['Kopopo'].stock[25].initial = 60 -- Bird Egg -xi.data.guildShops['Kopopo'].stock[26].initial = 60 -- Faerie Apple -xi.data.guildShops['Kopopo'].stock[28].initial = 60 -- La Theine Cabbage -xi.data.guildShops['Kopopo'].stock[29].initial = 60 -- Beaucedine Cabbage -xi.data.guildShops['Kopopo'].stock[30].initial = 0 -- Batallia Cabbage -xi.data.guildShops['Kopopo'].stock[32].initial = 0 -- Smoked Salmon -xi.data.guildShops['Kopopo'].stock[36].initial = 60 -- San d'Orian Carrot -xi.data.guildShops['Kopopo'].stock[37].initial = 60 -- Mithran Tomato -xi.data.guildShops['Kopopo'].stock[40].initial = 12 -- Thundermelon -xi.data.guildShops['Kopopo'].stock[41].initial = 12 -- Kazham Pineapple -xi.data.guildShops['Kopopo'].stock[51].initial = 12 -- Watermelon -xi.data.guildShops['Kopopo'].stock[52].initial = 4 -- White Bread -xi.data.guildShops['Kopopo'].stock[53].initial = 8 -- Black Bread -xi.data.guildShops['Kopopo'].stock[99].initial = 30 -- Turmeric -xi.data.guildShops['Kopopo'].stock[100].initial = 30 -- Coriander -xi.data.guildShops['Kopopo'].stock[101].initial = 15 -- Holy Basil -xi.data.guildShops['Kopopo'].stock[103].initial = 60 -- Semolina -xi.data.guildShops['Kopopo'].stock[104].initial = 50 -- Fish Stock -xi.data.guildShops['Kopopo'].stock[105].initial = 50 -- Soy Stock +patchStock('Kopopo', xi.item.BAG_OF_RYE_FLOUR, { initial = 120 }) -- Rye Flour +patchStock('Kopopo', xi.item.BAG_OF_SAN_DORIAN_FLOUR, { initial = 120 }) -- San d'Orian Flour +patchStock('Kopopo', xi.item.BUNCH_OF_KAZHAM_PEPPERS, { initial = 120 }) -- Kazham Peppers +patchStock('Kopopo', xi.item.BULB_OF_MHAURA_GARLIC, { initial = 120 }) -- Mhaura Garlic +patchStock('Kopopo', xi.item.JUG_OF_SELBINA_MILK, { initial = 120 }) -- Selbina Milk +patchStock('Kopopo', xi.item.PIECE_OF_PIE_DOUGH, { initial = 6 }) -- Pie Dough +patchStock('Kopopo', xi.item.POD_OF_BLUE_PEAS, { initial = 120 }) -- Blue Peas +patchStock('Kopopo', xi.item.POPOTO, { initial = 120 }) -- Poteto (Popoto) +patchStock('Kopopo', xi.item.BOX_OF_TARUTARU_RICE, { initial = 120 }) -- Tarutaru Rice +patchStock('Kopopo', xi.item.POT_OF_CRYING_MUSTARD, { initial = 120 }) -- Crying Mustard +patchStock('Kopopo', xi.item.PINCH_OF_DRIED_MARJORAM, { initial = 120 }) -- Dried Marjoram +patchStock('Kopopo', xi.item.BOTTLE_OF_APPLE_VINEGAR, { initial = 0 }) -- Apple Vinegar +patchStock('Kopopo', xi.item.STICK_OF_CINNAMON, { initial = 120 }) -- Cinnamon +patchStock('Kopopo', xi.item.EAR_OF_MILLIONCORN, { initial = 120 }) -- Millioncorn +patchStock('Kopopo', xi.item.BIRD_EGG, { initial = 60 }) -- Bird Egg +patchStock('Kopopo', xi.item.FAERIE_APPLE, { initial = 60 }) -- Faerie Apple +patchStock('Kopopo', xi.item.LA_THEINE_CABBAGE, { initial = 60 }) -- La Theine Cabbage +patchStock('Kopopo', xi.item.CLUMP_OF_BEAUGREENS, { initial = 60 }) -- Beaucedine Cabbage +patchStock('Kopopo', xi.item.CLUMP_OF_BATAGREENS, { initial = 0 }) -- Batallia Cabbage +patchStock('Kopopo', xi.item.SMOKED_SALMON, { initial = 0 }) -- Smoked Salmon +patchStock('Kopopo', xi.item.SAN_DORIAN_CARROT, { initial = 60 }) -- San d'Orian Carrot +patchStock('Kopopo', xi.item.MITHRAN_TOMATO, { initial = 60 }) -- Mithran Tomato +patchStock('Kopopo', xi.item.THUNDERMELON, { initial = 12 }) -- Thundermelon +patchStock('Kopopo', xi.item.KAZHAM_PINEAPPLE, { initial = 12 }) -- Kazham Pineapple +patchStock('Kopopo', xi.item.WATERMELON, { initial = 12 }) -- Watermelon +patchStock('Kopopo', xi.item.LOAF_OF_WHITE_BREAD, { initial = 4 }) -- White Bread +patchStock('Kopopo', xi.item.LOAF_OF_BLACK_BREAD, { initial = 8 }) -- Black Bread +patchStock('Kopopo', xi.item.ONZ_OF_TURMERIC, { initial = 30 }) -- Turmeric +patchStock('Kopopo', xi.item.ONZ_OF_CORIANDER, { initial = 30 }) -- Coriander +patchStock('Kopopo', xi.item.SPRIG_OF_HOLY_BASIL, { initial = 15 }) -- Holy Basil +patchStock('Kopopo', xi.item.BAG_OF_SEMOLINA, { initial = 60 }) -- Semolina +patchStock('Kopopo', xi.item.JAR_OF_FISH_STOCK, { initial = 50 }) -- Fish Stock +patchStock('Kopopo', xi.item.SAUCER_OF_SOY_STOCK, { initial = 50 }) -- Soy Stock ----------------------------------- -- Fishing ----------------------------------- -- Babubu -xi.data.guildShops['Babubu'].stock[1].initial = 120 -- Little Worm -xi.data.guildShops['Babubu'].stock[2].initial = 120 -- Lugworm -xi.data.guildShops['Babubu'].stock[3].initial = 120 -- Sardine Ball -xi.data.guildShops['Babubu'].stock[4].initial = 120 -- Shrimp Ball -xi.data.guildShops['Babubu'].stock[5].initial = 120 -- Bug Ball -xi.data.guildShops['Babubu'].stock[6].initial = 120 -- Trout Ball -xi.data.guildShops['Babubu'].stock[7].initial = 120 -- Meatball -xi.data.guildShops['Babubu'].stock[8].initial = 120 -- Slice of Sardine -xi.data.guildShops['Babubu'].stock[9].initial = 120 -- Slice of Cod -xi.data.guildShops['Babubu'].stock[10].initial = 120 -- Peeled Lobster -xi.data.guildShops['Babubu'].stock[11].initial = 120 -- Slice of Bluetail -xi.data.guildShops['Babubu'].stock[12].initial = 120 -- Peeled Crayfish -xi.data.guildShops['Babubu'].stock[13].initial = 120 -- Slice of Moat Carp -xi.data.guildShops['Babubu'].stock[14].initial = 120 -- Fly Lure -xi.data.guildShops['Babubu'].stock[15].initial = 120 -- Minnow -xi.data.guildShops['Babubu'].stock[17].initial = 120 -- Worm Lure -xi.data.guildShops['Babubu'].stock[21].initial = 120 -- Sabiki Rig -xi.data.guildShops['Babubu'].stock[22].initial = 90 -- Willow Fishing Rod -xi.data.guildShops['Babubu'].stock[23].initial = 90 -- Yew Fishing Rod -xi.data.guildShops['Babubu'].stock[24].initial = 90 -- Bamboo Fishing Rod -xi.data.guildShops['Babubu'].stock[25].initial = 60 -- Fastwater Rod -xi.data.guildShops['Babubu'].stock[26].initial = 30 -- Tarutaru Fishing Rod -xi.data.guildShops['Babubu'].stock[27].initial = 30 -- Mithran Fishing Rod -xi.data.guildShops['Babubu'].stock[30].initial = 30 -- Single Hook Rod +patchStock('Babubu', xi.item.LITTLE_WORM, { initial = 120 }) -- Little Worm +patchStock('Babubu', xi.item.LUGWORM, { initial = 120 }) -- Lugworm +patchStock('Babubu', xi.item.BALL_OF_SARDINE_PASTE, { initial = 120 }) -- Sardine Ball +patchStock('Babubu', xi.item.BALL_OF_CRAYFISH_PASTE, { initial = 120 }) -- Shrimp Ball +patchStock('Babubu', xi.item.BALL_OF_INSECT_PASTE, { initial = 120 }) -- Bug Ball +patchStock('Babubu', xi.item.BALL_OF_TROUT_PASTE, { initial = 120 }) -- Trout Ball +patchStock('Babubu', xi.item.MEATBALL, { initial = 120 }) -- Meatball +patchStock('Babubu', xi.item.SLICE_OF_SARDINE, { initial = 120 }) -- Slice of Sardine +patchStock('Babubu', xi.item.SLICE_OF_COD, { initial = 120 }) -- Slice of Cod +patchStock('Babubu', xi.item.PEELED_LOBSTER, { initial = 120 }) -- Peeled Lobster +patchStock('Babubu', xi.item.SLICE_OF_BLUETAIL, { initial = 120 }) -- Slice of Bluetail +patchStock('Babubu', xi.item.PEELED_CRAYFISH, { initial = 120 }) -- Peeled Crayfish +patchStock('Babubu', xi.item.SLICE_OF_MOAT_CARP, { initial = 120 }) -- Slice of Moat Carp +patchStock('Babubu', xi.item.FLY_LURE, { initial = 120 }) -- Fly Lure +patchStock('Babubu', xi.item.MINNOW, { initial = 120 }) -- Minnow +patchStock('Babubu', xi.item.WORM_LURE, { initial = 120 }) -- Worm Lure +patchStock('Babubu', xi.item.SABIKI_RIG, { initial = 120 }) -- Sabiki Rig +patchStock('Babubu', xi.item.WILLOW_FISHING_ROD, { initial = 90 }) -- Willow Fishing Rod +patchStock('Babubu', xi.item.YEW_FISHING_ROD, { initial = 90 }) -- Yew Fishing Rod +patchStock('Babubu', xi.item.BAMBOO_FISHING_ROD, { initial = 90 }) -- Bamboo Fishing Rod +patchStock('Babubu', xi.item.FASTWATER_FISHING_ROD, { initial = 60 }) -- Fastwater Rod +patchStock('Babubu', xi.item.TARUTARU_FISHING_ROD, { initial = 30 }) -- Tarutaru Fishing Rod +patchStock('Babubu', xi.item.MITHRAN_FISHING_ROD, { initial = 30 }) -- Mithran Fishing Rod +patchStock('Babubu', xi.item.SINGLE_HOOK_FISHING_ROD, { initial = 30 }) -- Single Hook Rod -- Cehn Teyohngo -xi.data.guildShops['Cehn_Teyohngo'].stock[2].initial = 10 -- Sabiki Rig -xi.data.guildShops['Cehn_Teyohngo'].stock[3].initial = 10 -- Minnow -xi.data.guildShops['Cehn_Teyohngo'].stock[5].initial = 120 -- Tarutaru Fishing Rod +patchStock('Cehn_Teyohngo', xi.item.SABIKI_RIG, { initial = 10 }) -- Sabiki Rig +patchStock('Cehn_Teyohngo', xi.item.MINNOW, { initial = 10 }) -- Minnow +patchStock('Cehn_Teyohngo', xi.item.TARUTARU_FISHING_ROD, { initial = 120 }) -- Tarutaru Fishing Rod -- Graegham & Mendoline table.insert(xi.data.guildShops['Graegham'].stock, 1, { id = xi.item.LITTLE_WORM, initial = 120, maxStock = 240, targetStock = 180, buyMax = 20, restockRate = 60 }) @@ -422,249 +420,223 @@ table.insert(xi.data.guildShops['Graegham'].stock, 4, { id = xi.item.BALL_OF_CRA table.insert(xi.data.guildShops['Graegham'].stock, 5, { id = xi.item.SLICE_OF_COD, initial = 120, maxStock = 240, targetStock = 180, buyMax = 1425, restockRate = 12 }) table.insert(xi.data.guildShops['Graegham'].stock, 6, { id = xi.item.FLY_LURE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 3600, restockRate = 12 }) table.insert(xi.data.guildShops['Graegham'].stock, 7, { id = xi.item.MINNOW, initial = 120, maxStock = 240, targetStock = 180, buyMax = 2025, restockRate = 12 }) -xi.data.guildShops['Graegham'].stock[8].initial = 120 -- Sabiki Rig -xi.data.guildShops['Graegham'].stock[8].restockRate = 12 -- Sabiki Rig +patchStock('Graegham', xi.item.SABIKI_RIG, { initial = 120, restockRate = 12 }) -- Sabiki Rig table.insert(xi.data.guildShops['Graegham'].stock, 9, { id = xi.item.WILLOW_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 360, restockRate = 9 }) table.insert(xi.data.guildShops['Graegham'].stock, 10, { id = xi.item.YEW_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 1180, restockRate = 9 }) table.insert(xi.data.guildShops['Graegham'].stock, 11, { id = xi.item.BAMBOO_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 2700, restockRate = 9 }) -xi.data.guildShops['Graegham'].stock[12].initial = 30 -- Tarutaru Fishing Rod -xi.data.guildShops['Graegham'].stock[12].restockRate = 15 -- Tarutaru Fishing Rod +patchStock('Graegham', xi.item.TARUTARU_FISHING_ROD, { initial = 30, restockRate = 15 }) -- Tarutaru Fishing Rod table.insert(xi.data.guildShops['Graegham'].stock, 13, { id = xi.item.MITHRAN_FISHING_ROD, initial = 30, maxStock = 60, targetStock = 45, buyMax = 171600, restockRate = 5 }) -xi.data.guildShops['Graegham'].stock[14].initial = 30 -- Clothespole -xi.data.guildShops['Graegham'].stock[14].restockRate = 15 -- Clothespole -xi.data.guildShops['Graegham'].stock[15].initial = 30 -- Fastwater Rod -xi.data.guildShops['Graegham'].stock[15].restockRate = 15 -- Fastwater Rod -xi.data.guildShops['Graegham'].stock[17].initial = 30 -- Single Hook Rod -xi.data.guildShops['Graegham'].stock[17].restockRate = 3 -- Single Hook Rod -xi.data.guildShops['Graegham'].stock[18].initial = 120 -- Cobalt Jellyfish -xi.data.guildShops['Graegham'].stock[18].restockRate = 12 -- Cobalt Jellyfish -xi.data.guildShops['Graegham'].stock[19].initial = 6 -- Crayfish -xi.data.guildShops['Graegham'].stock[19].restockRate = 6 -- Crayfish -xi.data.guildShops['Graegham'].stock[31].restockRate = 0 -- Dark Bass -xi.data.guildShops['Graegham'].stock[37].restockRate = 0 -- Red Terrapin -xi.data.guildShops['Graegham'].stock[43].restockRate = 0 -- Silver Shark -xi.data.guildShops['Graegham'].stock[45].restockRate = 0 -- Black Sole -xi.data.guildShops['Graegham'].stock[46].restockRate = 0 -- Greedie +patchStock('Graegham', xi.item.CLOTHESPOLE, { initial = 30, restockRate = 15 }) -- Clothespole +patchStock('Graegham', xi.item.FASTWATER_FISHING_ROD, { initial = 30, restockRate = 15 }) -- Fastwater Rod +patchStock('Graegham', xi.item.SINGLE_HOOK_FISHING_ROD, { initial = 30, restockRate = 3 }) -- Single Hook Rod +patchStock('Graegham', xi.item.BASTORE_SARDINE_1, { restockRate = 0 }) -- Bastore Sardine +patchStock('Graegham', xi.item.DARK_BASS_1, { restockRate = 0 }) -- Dark Bass +patchStock('Graegham', xi.item.RED_TERRAPIN, { restockRate = 0 }) -- Red Terrapin +patchStock('Graegham', xi.item.SILVER_SHARK, { restockRate = 0 }) -- Silver Shark +patchStock('Graegham', xi.item.BLACK_SOLE, { restockRate = 0 }) -- Black Sole +patchStock('Graegham', xi.item.GREEDIE, { restockRate = 0 }) -- Greedie -- Jidwahn -xi.data.guildShops['Jidwahn'].stock[2].initial = 10 -- Sabiki Rig -xi.data.guildShops['Jidwahn'].stock[3].initial = 10 -- Minnow -xi.data.guildShops['Jidwahn'].stock[33].initial = 120 -- Ice Card -xi.data.guildShops['Jidwahn'].stock[34].initial = 120 -- Thunder Card -xi.data.guildShops['Jidwahn'].stock[35].initial = 120 -- Light Card -xi.data.guildShops['Jidwahn'].stock[36].initial = 120 -- Dark Card +patchStock('Jidwahn', xi.item.SABIKI_RIG, { initial = 10 }) -- Sabiki Rig +patchStock('Jidwahn', xi.item.MINNOW, { initial = 10 }) -- Minnow +patchStock('Jidwahn', xi.item.ICE_CARD, { initial = 120 }) -- Ice Card +patchStock('Jidwahn', xi.item.THUNDER_CARD, { initial = 120 }) -- Thunder Card +patchStock('Jidwahn', xi.item.LIGHT_CARD, { initial = 120 }) -- Light Card +patchStock('Jidwahn', xi.item.DARK_CARD, { initial = 120 }) -- Dark Card -- Lokhong -xi.data.guildShops['Lokhong'].stock[2].initial = 10 -- Sabiki Rig -xi.data.guildShops['Lokhong'].stock[3].initial = 10 -- Minnow -xi.data.guildShops['Lokhong'].stock[5].initial = 120 -- Tarutaru Fishing Rod +patchStock('Lokhong', xi.item.SABIKI_RIG, { initial = 10 }) -- Sabiki Rig +patchStock('Lokhong', xi.item.MINNOW, { initial = 10 }) -- Minnow +patchStock('Lokhong', xi.item.TARUTARU_FISHING_ROD, { initial = 120 }) -- Tarutaru Fishing Rod -- Mep Nhapopoluko table.insert(xi.data.guildShops['Mep_Nhapopoluko'].stock, 1, { id = xi.item.SABIKI_RIG, initial = 120, maxStock = 240, targetStock = 180, buyMax = 15960, restockRate = 12 }) -xi.data.guildShops['Mep_Nhapopoluko'].stock[2].initial = 80 -- Fastwater Rod +patchStock('Mep_Nhapopoluko', xi.item.FASTWATER_FISHING_ROD, { initial = 80 }) -- Fastwater Rod table.insert(xi.data.guildShops['Mep_Nhapopoluko'].stock, 3, { id = xi.item.TARUTARU_FISHING_ROD, initial = 30, maxStock = 60, targetStock = 45, buyMax = 27180, restockRate = 3 }) -xi.data.guildShops['Mep_Nhapopoluko'].stock[4].initial = 80 -- Single Hook Rod -xi.data.guildShops['Mep_Nhapopoluko'].stock[5].initial = 100 -- Bluetail -xi.data.guildShops['Mep_Nhapopoluko'].stock[6].initial = 100 -- Noble Lady -xi.data.guildShops['Mep_Nhapopoluko'].stock[7].initial = 100 -- Trilobite -xi.data.guildShops['Mep_Nhapopoluko'].stock[8].initial = 100 -- Shall Shell -xi.data.guildShops['Mep_Nhapopoluko'].stock[9].initial = 100 -- Zafmlug Bass -xi.data.guildShops['Mep_Nhapopoluko'].stock[10].initial = 100 -- Moorish Idol -xi.data.guildShops['Mep_Nhapopoluko'].stock[11].initial = 100 -- Bibikibo -xi.data.guildShops['Mep_Nhapopoluko'].stock[12].initial = 100 -- Bibiki Urchin -xi.data.guildShops['Mep_Nhapopoluko'].stock[13].initial = 100 -- Pamtam Kelp -xi.data.guildShops['Mep_Nhapopoluko'].stock[14].initial = 100 -- Cobalt Jellyfish +patchStock('Mep_Nhapopoluko', xi.item.SINGLE_HOOK_FISHING_ROD, { initial = 80 }) -- Single Hook Rod +patchStock('Mep_Nhapopoluko', xi.item.BLUETAIL_1, { initial = 100 }) -- Bluetail +patchStock('Mep_Nhapopoluko', xi.item.NOBLE_LADY, { initial = 100 }) -- Noble Lady +patchStock('Mep_Nhapopoluko', xi.item.TRILOBITE, { initial = 100 }) -- Trilobite +patchStock('Mep_Nhapopoluko', xi.item.SHALL_SHELL, { initial = 100 }) -- Shall Shell +patchStock('Mep_Nhapopoluko', xi.item.ZAFMLUG_BASS, { initial = 100 }) -- Zafmlug Bass +patchStock('Mep_Nhapopoluko', xi.item.MOORISH_IDOL, { initial = 100 }) -- Moorish Idol +patchStock('Mep_Nhapopoluko', xi.item.BIBIKIBO, { initial = 100 }) -- Bibikibo +patchStock('Mep_Nhapopoluko', xi.item.BIBIKI_URCHIN, { initial = 100 }) -- Bibiki Urchin +patchStock('Mep_Nhapopoluko', xi.item.CLUMP_OF_PAMTAM_KELP, { initial = 100 }) -- Pamtam Kelp +patchStock('Mep_Nhapopoluko', xi.item.COBALT_JELLYFISH, { initial = 100 }) -- Cobalt Jellyfish -- Pashi Maccaleh -xi.data.guildShops['Pashi_Maccaleh'].stock[2].initial = 10 -- Sabiki Rig -xi.data.guildShops['Pashi_Maccaleh'].stock[3].initial = 10 -- Minnow -xi.data.guildShops['Pashi_Maccaleh'].stock[5].initial = 120 -- Tarutaru Fishing Rod +patchStock('Pashi_Maccaleh', xi.item.SABIKI_RIG, { initial = 10 }) -- Sabiki Rig +patchStock('Pashi_Maccaleh', xi.item.MINNOW, { initial = 10 }) -- Minnow +patchStock('Pashi_Maccaleh', xi.item.TARUTARU_FISHING_ROD, { initial = 120 }) -- Tarutaru Fishing Rod -- Rajmonda -xi.data.guildShops['Rajmonda'].stock[2].initial = 10 -- Sabiki Rig -xi.data.guildShops['Rajmonda'].stock[3].initial = 10 -- Minnow -xi.data.guildShops['Rajmonda'].stock[5].initial = 120 -- Tarutaru Fishing Rod +patchStock('Rajmonda', xi.item.SABIKI_RIG, { initial = 10 }) -- Sabiki Rig +patchStock('Rajmonda', xi.item.MINNOW, { initial = 10 }) -- Minnow +patchStock('Rajmonda', xi.item.TARUTARU_FISHING_ROD, { initial = 120 }) -- Tarutaru Fishing Rod -- Wahnid -xi.data.guildShops['Wahnid'].stock[1].initial = 120 -- Little Worm -xi.data.guildShops['Wahnid'].stock[2].initial = 120 -- Lugworm -xi.data.guildShops['Wahnid'].stock[3].initial = 0 -- Sardine Ball -xi.data.guildShops['Wahnid'].stock[3].restockRate = 0 -- Sardine Ball -xi.data.guildShops['Wahnid'].stock[4].initial = 0 -- Shrimp Lure -xi.data.guildShops['Wahnid'].stock[4].restockRate = 0 -- Shrimp Lure -xi.data.guildShops['Wahnid'].stock[5].initial = 0 -- Bug Lure -xi.data.guildShops['Wahnid'].stock[5].restockRate = 0 -- Bug Lure -xi.data.guildShops['Wahnid'].stock[6].initial = 0 -- Trout Lure -xi.data.guildShops['Wahnid'].stock[6].restockRate = 0 -- Trout Lure -xi.data.guildShops['Wahnid'].stock[7].initial = 0 -- Meat Lure -xi.data.guildShops['Wahnid'].stock[7].restockRate = 0 -- Meat Lure -xi.data.guildShops['Wahnid'].stock[8].initial = 0 -- Slice of Sardine -xi.data.guildShops['Wahnid'].stock[8].restockRate = 0 -- Slice of Sardine -xi.data.guildShops['Wahnid'].stock[9].initial = 0 -- Slice of Cod -xi.data.guildShops['Wahnid'].stock[9].restockRate = 0 -- Slice of Cod -xi.data.guildShops['Wahnid'].stock[10].initial = 0 -- Peeled Lobster -xi.data.guildShops['Wahnid'].stock[10].restockRate = 0 -- Peeled Lobster -xi.data.guildShops['Wahnid'].stock[11].initial = 0 -- Slice of Bluetail -xi.data.guildShops['Wahnid'].stock[11].restockRate = 0 -- Slice of Bluetail -xi.data.guildShops['Wahnid'].stock[12].initial = 0 -- Peeled Crayfish -xi.data.guildShops['Wahnid'].stock[12].restockRate = 0 -- Peeled Crayfish -xi.data.guildShops['Wahnid'].stock[13].initial = 0 -- Slice of Moat Carp -xi.data.guildShops['Wahnid'].stock[13].restockRate = 0 -- Slice of Moat Carp -xi.data.guildShops['Wahnid'].stock[14].initial = 0 -- Fly Lure -xi.data.guildShops['Wahnid'].stock[14].restockRate = 0 -- Fly Lure -xi.data.guildShops['Wahnid'].stock[15].initial = 0 -- Minnow -xi.data.guildShops['Wahnid'].stock[15].restockRate = 0 -- Minnow -xi.data.guildShops['Wahnid'].stock[16].initial = 10 -- Sinking Minnow -xi.data.guildShops['Wahnid'].stock[21].initial = 120 -- Sabiki Rig -xi.data.guildShops['Wahnid'].stock[21].restockRate = 12 -- Sabiki Rig -xi.data.guildShops['Wahnid'].stock[23].initial = 0 -- Yew Fishing Rod -xi.data.guildShops['Wahnid'].stock[23].restockRate = 0 -- Yew Fishing Rod -xi.data.guildShops['Wahnid'].stock[24].initial = 90 -- Bamboo Fishing Rod -xi.data.guildShops['Wahnid'].stock[25].initial = 60 -- Fastwater Rod -xi.data.guildShops['Wahnid'].stock[25].restockRate = 6 -- Fastwater Rod -xi.data.guildShops['Wahnid'].stock[26].initial = 30 -- Tarutaru Fishing Rod -xi.data.guildShops['Wahnid'].stock[26].restockRate = 3 -- Tarutaru Fishing Rod -xi.data.guildShops['Wahnid'].stock[31].restockRate = 0 -- Denizanasi +patchStock('Wahnid', xi.item.LITTLE_WORM, { initial = 120 }) -- Little Worm +patchStock('Wahnid', xi.item.LUGWORM, { initial = 120 }) -- Lugworm +patchStock('Wahnid', xi.item.BALL_OF_SARDINE_PASTE, { initial = 0, restockRate = 0 }) -- Sardine Ball +patchStock('Wahnid', xi.item.BALL_OF_CRAYFISH_PASTE, { initial = 0, restockRate = 0 }) -- Shrimp Lure +patchStock('Wahnid', xi.item.BALL_OF_INSECT_PASTE, { initial = 0, restockRate = 0 }) -- Bug Lure +patchStock('Wahnid', xi.item.BALL_OF_TROUT_PASTE, { initial = 0, restockRate = 0 }) -- Trout Lure +patchStock('Wahnid', xi.item.MEATBALL, { initial = 0, restockRate = 0 }) -- Meat Lure +patchStock('Wahnid', xi.item.SLICE_OF_SARDINE, { initial = 0, restockRate = 0 }) -- Slice of Sardine +patchStock('Wahnid', xi.item.SLICE_OF_COD, { initial = 0, restockRate = 0 }) -- Slice of Cod +patchStock('Wahnid', xi.item.PEELED_LOBSTER, { initial = 0, restockRate = 0 }) -- Peeled Lobster +patchStock('Wahnid', xi.item.SLICE_OF_BLUETAIL, { initial = 0, restockRate = 0 }) -- Slice of Bluetail +patchStock('Wahnid', xi.item.PEELED_CRAYFISH, { initial = 0, restockRate = 0 }) -- Peeled Crayfish +patchStock('Wahnid', xi.item.SLICE_OF_MOAT_CARP, { initial = 0, restockRate = 0 }) -- Slice of Moat Carp +patchStock('Wahnid', xi.item.FLY_LURE, { initial = 0, restockRate = 0 }) -- Fly Lure +patchStock('Wahnid', xi.item.MINNOW, { initial = 0, restockRate = 0 }) -- Minnow +patchStock('Wahnid', xi.item.SINKING_MINNOW, { initial = 0, restockRate = 0 }) -- Sinking Minnow +patchStock('Wahnid', xi.item.SABIKI_RIG, { initial = 120, restockRate = 12 }) -- Sabiki Rig +patchStock('Wahnid', xi.item.YEW_FISHING_ROD, { initial = 0, restockRate = 0 }) -- Yew Fishing Rod +patchStock('Wahnid', xi.item.BAMBOO_FISHING_ROD, { initial = 90 }) -- Bamboo Fishing Rod +patchStock('Wahnid', xi.item.FASTWATER_FISHING_ROD, { initial = 60, restockRate = 6 }) -- Fastwater Rod +patchStock('Wahnid', xi.item.TARUTARU_FISHING_ROD, { initial = 30, restockRate = 3 }) -- Tarutaru Fishing Rod +patchStock('Wahnid', xi.item.DENIZANASI, { restockRate = 0 }) -- Denizanasi -- Yahliq -xi.data.guildShops['Yahliq'].stock[2].initial = 10 -- Sabiki Rig -xi.data.guildShops['Yahliq'].stock[3].initial = 10 -- Minnow -xi.data.guildShops['Yahliq'].stock[33].initial = 120 -- Ice Card -xi.data.guildShops['Yahliq'].stock[34].initial = 120 -- Thunder Card -xi.data.guildShops['Yahliq'].stock[35].initial = 120 -- Light Card -xi.data.guildShops['Yahliq'].stock[36].initial = 120 -- Dark Card +patchStock('Yahliq', xi.item.SABIKI_RIG, { initial = 10 }) -- Sabiki Rig +patchStock('Yahliq', xi.item.MINNOW, { initial = 10 }) -- Minnow +patchStock('Yahliq', xi.item.ICE_CARD, { initial = 120 }) -- Ice Card +patchStock('Yahliq', xi.item.THUNDER_CARD, { initial = 120 }) -- Thunder Card +patchStock('Yahliq', xi.item.LIGHT_CARD, { initial = 120 }) -- Light Card +patchStock('Yahliq', xi.item.DARK_CARD, { initial = 120 }) -- Dark Card ----------------------------------- -- Tenshodo ----------------------------------- -- Jabbar -xi.data.guildShops['Jabbar'].stock[1].initial = 30 -- Bamboo Stick -xi.data.guildShops['Jabbar'].stock[18].initial = 10 -- Katon: Ichi -xi.data.guildShops['Jabbar'].stock[20].initial = 10 -- Huton: Ichi -xi.data.guildShops['Jabbar'].stock[21].initial = 10 -- Doton: Ichi -xi.data.guildShops['Jabbar'].stock[35].initial = 12 -- Absorb MND -xi.data.guildShops['Jabbar'].stock[36].initial = 12 -- Absorb CHR -xi.data.guildShops['Jabbar'].stock[37].initial = 30 -- Turmeric -xi.data.guildShops['Jabbar'].stock[38].initial = 30 -- Coriander -xi.data.guildShops['Jabbar'].stock[39].initial = 30 -- Holy Basil -xi.data.guildShops['Jabbar'].stock[40].initial = 15 -- Curry Powder -xi.data.guildShops['Jabbar'].stock[41].initial = 50 -- Ground Wasabi -xi.data.guildShops['Jabbar'].stock[42].initial = 50 -- Rice Vinegar -xi.data.guildShops['Jabbar'].stock[43].initial = 50 -- Shungiku +patchStock('Jabbar', xi.item.BAMBOO_STICK, { initial = 30 }) -- Bamboo Stick +patchStock('Jabbar', xi.item.SCROLL_OF_KATON_ICHI, { initial = 10 }) -- Katon: Ichi +patchStock('Jabbar', xi.item.SCROLL_OF_HUTON_ICHI, { initial = 10 }) -- Huton: Ichi +patchStock('Jabbar', xi.item.SCROLL_OF_DOTON_ICHI, { initial = 10 }) -- Doton: Ichi +patchStock('Jabbar', xi.item.SCROLL_OF_ABSORB_MND, { initial = 12 }) -- Absorb MND +patchStock('Jabbar', xi.item.SCROLL_OF_ABSORB_CHR, { initial = 12 }) -- Absorb CHR +patchStock('Jabbar', xi.item.ONZ_OF_TURMERIC, { initial = 30 }) -- Turmeric +patchStock('Jabbar', xi.item.ONZ_OF_CORIANDER, { initial = 30 }) -- Coriander +patchStock('Jabbar', xi.item.SPRIG_OF_HOLY_BASIL, { initial = 30 }) -- Holy Basil +patchStock('Jabbar', xi.item.ONZ_OF_CURRY_POWDER, { initial = 15 }) -- Curry Powder +patchStock('Jabbar', xi.item.JAR_OF_GROUND_WASABI, { initial = 50 }) -- Ground Wasabi +patchStock('Jabbar', xi.item.BOTTLE_OF_RICE_VINEGAR, { initial = 50 }) -- Rice Vinegar +patchStock('Jabbar', xi.item.CLUMP_OF_SHUNGIKU, { initial = 50 }) -- Shungiku -- Silver_Owl -xi.data.guildShops['Silver_Owl'].stock[10].initial = 15 -- Kunai -xi.data.guildShops['Silver_Owl'].stock[15].initial = 15 -- Shinobi Gatana -xi.data.guildShops['Silver_Owl'].stock[21].initial = 5 -- Kanesada -xi.data.guildShops['Silver_Owl'].stock[23].initial = 15 -- Tachi -xi.data.guildShops['Silver_Owl'].stock[27].initial = 5 -- Kotetsu -xi.data.guildShops['Silver_Owl'].stock[52].initial = 10 -- Hachimaki -xi.data.guildShops['Silver_Owl'].stock[53].initial = 10 -- Cotton Hachimaki -xi.data.guildShops['Silver_Owl'].stock[59].initial = 10 -- Kenpogi -xi.data.guildShops['Silver_Owl'].stock[60].initial = 10 -- Cotton Dogi -xi.data.guildShops['Silver_Owl'].stock[65].initial = 10 -- Tekko -xi.data.guildShops['Silver_Owl'].stock[66].initial = 10 -- Cotton Tekko -xi.data.guildShops['Silver_Owl'].stock[67].initial = 10 -- Soil Tekko -xi.data.guildShops['Silver_Owl'].stock[67].restockRate = 5 -- Soil Tekko -xi.data.guildShops['Silver_Owl'].stock[70].initial = 10 -- Sitabaki -xi.data.guildShops['Silver_Owl'].stock[71].initial = 10 -- Cotton Sitabaki -xi.data.guildShops['Silver_Owl'].stock[72].initial = 10 -- Soil Sitabaki -xi.data.guildShops['Silver_Owl'].stock[72].restockRate = 5 -- Soil Sitabaki -xi.data.guildShops['Silver_Owl'].stock[75].initial = 10 -- Kyahan -xi.data.guildShops['Silver_Owl'].stock[76].initial = 10 -- Cotton Kyahan +patchStock('Silver_Owl', xi.item.KUNAI, { initial = 15 }) -- Kunai +patchStock('Silver_Owl', xi.item.SHINOBI_GATANA, { initial = 15 }) -- Shinobi Gatana +patchStock('Silver_Owl', xi.item.KANESADA, { initial = 5 }) -- Kanesada +patchStock('Silver_Owl', xi.item.TACHI, { initial = 15 }) -- Tachi +patchStock('Silver_Owl', xi.item.KOTETSU, { initial = 5 }) -- Kotetsu +patchStock('Silver_Owl', xi.item.HACHIMAKI, { initial = 10 }) -- Hachimaki +patchStock('Silver_Owl', xi.item.COTTON_HACHIMAKI, { initial = 10 }) -- Cotton Hachimaki +patchStock('Silver_Owl', xi.item.KENPOGI, { initial = 10 }) -- Kenpogi +patchStock('Silver_Owl', xi.item.COTTON_DOGI, { initial = 10 }) -- Cotton Dogi +patchStock('Silver_Owl', xi.item.TEKKO, { initial = 10 }) -- Tekko +patchStock('Silver_Owl', xi.item.COTTON_TEKKO, { initial = 10 }) -- Cotton Tekko +patchStock('Silver_Owl', xi.item.SOIL_TEKKO, { initial = 10, restockRate = 5 }) -- Soil Tekko +patchStock('Silver_Owl', xi.item.SITABAKI, { initial = 10 }) -- Sitabaki +patchStock('Silver_Owl', xi.item.COTTON_SITABAKI, { initial = 10 }) -- Cotton Sitabaki +patchStock('Silver_Owl', xi.item.SOIL_SITABAKI, { initial = 10, restockRate = 5 }) -- Soil Sitabaki +patchStock('Silver_Owl', xi.item.KYAHAN, { initial = 10 }) -- Kyahan +patchStock('Silver_Owl', xi.item.COTTON_KYAHAN, { initial = 10 }) -- Cotton Kyahan +removeStock('Silver_Owl', xi.item.JUJI_SHURIKEN) -- Jirokichi -xi.data.guildShops['Jirokichi'].stock[10].initial = 30 -- Kunai -xi.data.guildShops['Jirokichi'].stock[11].initial = 30 -- Suzume -xi.data.guildShops['Jirokichi'].stock[14].initial = 30 -- Wakizashi -xi.data.guildShops['Jirokichi'].stock[15].initial = 30 -- Shinobi Gatana -xi.data.guildShops['Jirokichi'].stock[19].initial = 30 -- Uchigatana -xi.data.guildShops['Jirokichi'].stock[21].initial = 10 -- Kanesada -xi.data.guildShops['Jirokichi'].stock[23].initial = 30 -- Tachi -xi.data.guildShops['Jirokichi'].stock[24].initial = 10 -- Nodachi -xi.data.guildShops['Jirokichi'].stock[26].initial = 5 -- Okanehira -xi.data.guildShops['Jirokichi'].stock[41].initial = 30 -- Shuriken -xi.data.guildShops['Jirokichi'].stock[42].initial = 20 -- Juji Shuriken +patchStock('Jirokichi', xi.item.KUNAI, { initial = 30 }) -- Kunai +patchStock('Jirokichi', xi.item.SUZUME, { initial = 30 }) -- Suzume +patchStock('Jirokichi', xi.item.WAKIZASHI, { initial = 30 }) -- Wakizashi +patchStock('Jirokichi', xi.item.SHINOBI_GATANA, { initial = 30 }) -- Shinobi Gatana +patchStock('Jirokichi', xi.item.UCHIGATANA, { initial = 30 }) -- Uchigatana +patchStock('Jirokichi', xi.item.KANESADA, { initial = 10 }) -- Kanesada +patchStock('Jirokichi', xi.item.TACHI, { initial = 30 }) -- Tachi +patchStock('Jirokichi', xi.item.NODACHI, { initial = 10 }) -- Nodachi +patchStock('Jirokichi', xi.item.OKANEHIRA, { initial = 5 }) -- Okanehira +patchStock('Jirokichi', xi.item.SHURIKEN, { initial = 30 }) -- Shuriken +patchStock('Jirokichi', xi.item.JUJI_SHURIKEN, { initial = 20, buyMax = 2970 }) -- Juji Shuriken, buyMax changed because of RMT change reverts -- Achika -xi.data.guildShops['Achika'].stock[1].initial = 30 -- Hachimaki -xi.data.guildShops['Achika'].stock[14].initial = 30 -- Tekko -xi.data.guildShops['Achika'].stock[25].initial = 30 -- Cotton Kyahan -xi.data.guildShops['Achika'].stock[26].initial = 30 -- Soil Kyahan +patchStock('Achika', xi.item.HACHIMAKI, { initial = 30 }) -- Hachimaki +patchStock('Achika', xi.item.TEKKO, { initial = 30 }) -- Tekko +patchStock('Achika', xi.item.COTTON_KYAHAN, { initial = 30 }) -- Cotton Kyahan +patchStock('Achika', xi.item.SOIL_KYAHAN, { initial = 30 }) -- Soil Kyahan -- Chiyo -xi.data.guildShops['Chiyo'].stock[9].initial = 20 -- Hyoton: Ichi -xi.data.guildShops['Chiyo'].stock[10].initial = 20 -- Huton: Ichi -xi.data.guildShops['Chiyo'].stock[11].initial = 20 -- Doton: Ichi -xi.data.guildShops['Chiyo'].stock[12].initial = 20 -- Raiton: Ichi -xi.data.guildShops['Chiyo'].stock[13].initial = 20 -- Suiton: Ichi +patchStock('Chiyo', xi.item.SCROLL_OF_HYOTON_ICHI, { initial = 20 }) -- Hyoton: Ichi +patchStock('Chiyo', xi.item.SCROLL_OF_HUTON_ICHI, { initial = 20 }) -- Huton: Ichi +patchStock('Chiyo', xi.item.SCROLL_OF_DOTON_ICHI, { initial = 20 }) -- Doton: Ichi +patchStock('Chiyo', xi.item.SCROLL_OF_RAITON_ICHI, { initial = 20 }) -- Raiton: Ichi +patchStock('Chiyo', xi.item.SCROLL_OF_SUITON_ICHI, { initial = 20 }) -- Suiton: Ichi -- Vuliaie -xi.data.guildShops['Vuliaie'].stock[2].initial = 10 -- Toad Oil -xi.data.guildShops['Vuliaie'].stock[3].initial = 6 -- Bast Parchment -xi.data.guildShops['Vuliaie'].stock[4].initial = 10 -- Silk Cloth -xi.data.guildShops['Vuliaie'].stock[5].initial = 180 -- Iron Sand -xi.data.guildShops['Vuliaie'].stock[8].initial = 60 -- Uchitake -xi.data.guildShops['Vuliaie'].stock[9].initial = 60 -- Tsurara -xi.data.guildShops['Vuliaie'].stock[10].initial = 60 -- Kawahori Ogi -xi.data.guildShops['Vuliaie'].stock[11].initial = 60 -- Makibishi -xi.data.guildShops['Vuliaie'].stock[12].initial = 60 -- Hiraishin -xi.data.guildShops['Vuliaie'].stock[13].initial = 60 -- Mizu Deppo -xi.data.guildShops['Vuliaie'].stock[20].initial = 50 -- Gardenia Seed -xi.data.guildShops['Vuliaie'].stock[21].initial = 120 -- Turmeric -xi.data.guildShops['Vuliaie'].stock[22].initial = 120 -- Coriander -xi.data.guildShops['Vuliaie'].stock[23].initial = 120 -- Holy Basil -xi.data.guildShops['Vuliaie'].stock[24].initial = 60 -- Curry Powder -xi.data.guildShops['Vuliaie'].stock[25].initial = 100 -- Ground Wasabi -xi.data.guildShops['Vuliaie'].stock[26].initial = 100 -- Rice Vinegar -xi.data.guildShops['Vuliaie'].stock[27].initial = 100 -- Napa +patchStock('Vuliaie', xi.item.JAR_OF_TOAD_OIL, { initial = 10 }) -- Toad Oil +patchStock('Vuliaie', xi.item.SHEET_OF_BAST_PARCHMENT, { initial = 6 }) -- Bast Parchment +patchStock('Vuliaie', xi.item.HANDFUL_OF_IRON_SAND, { initial = 180 }) -- Iron Sand +patchStock('Vuliaie', xi.item.UCHITAKE, { initial = 60 }) -- Uchitake +patchStock('Vuliaie', xi.item.TSURARA, { initial = 60 }) -- Tsurara +patchStock('Vuliaie', xi.item.KAWAHORI_OGI, { initial = 60 }) -- Kawahori Ogi +patchStock('Vuliaie', xi.item.MAKIBISHI, { initial = 60 }) -- Makibishi +patchStock('Vuliaie', xi.item.HIRAISHIN, { initial = 60 }) -- Hiraishin +patchStock('Vuliaie', xi.item.MIZU_DEPPO, { initial = 60 }) -- Mizu Deppo +patchStock('Vuliaie', xi.item.GARDENIA_SEED, { initial = 50 }) -- Gardenia Seed +patchStock('Vuliaie', xi.item.ONZ_OF_TURMERIC, { initial = 120 }) -- Turmeric +patchStock('Vuliaie', xi.item.ONZ_OF_CORIANDER, { initial = 120 }) -- Coriander +patchStock('Vuliaie', xi.item.SPRIG_OF_HOLY_BASIL, { initial = 120 }) -- Holy Basil +patchStock('Vuliaie', xi.item.ONZ_OF_CURRY_POWDER, { initial = 60 }) -- Curry Powder +patchStock('Vuliaie', xi.item.JAR_OF_GROUND_WASABI, { initial = 100 }) -- Ground Wasabi +patchStock('Vuliaie', xi.item.BOTTLE_OF_RICE_VINEGAR, { initial = 100 }) -- Rice Vinegar +patchStock('Vuliaie', xi.item.HEAD_OF_NAPA, { initial = 100 }) -- Napa table.insert(xi.data.guildShops['Vuliaie'].stock, { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }) -- Koma -- Tsutsuroon -xi.data.guildShops['Tsutsuroon'].stock[1].initial = 30 -- Kunai -xi.data.guildShops['Tsutsuroon'].stock[2].initial = 30 -- Suzume -xi.data.guildShops['Tsutsuroon'].stock[5].initial = 30 -- Wakizashi -xi.data.guildShops['Tsutsuroon'].stock[6].initial = 30 -- Shinobi Gatana -xi.data.guildShops['Tsutsuroon'].stock[10].initial = 30 -- Uchigatana -xi.data.guildShops['Tsutsuroon'].stock[12].initial = 10 -- Kanesada -xi.data.guildShops['Tsutsuroon'].stock[14].initial = 30 -- Tachi -xi.data.guildShops['Tsutsuroon'].stock[15].initial = 10 -- Nodachi -xi.data.guildShops['Tsutsuroon'].stock[17].initial = 5 -- Okanehira -xi.data.guildShops['Tsutsuroon'].stock[18].initial = 5 -- Kotetsu -xi.data.guildShops['Tsutsuroon'].stock[32].initial = 30 -- Shuriken -xi.data.guildShops['Tsutsuroon'].stock[33].initial = 20 -- Juji Shuriken -xi.data.guildShops['Tsutsuroon'].stock[41].initial = 30 -- Fire Arrow -xi.data.guildShops['Tsutsuroon'].stock[42].initial = 20 -- Bullet -xi.data.guildShops['Tsutsuroon'].stock[45].initial = 30 -- Soil Hachimaki -xi.data.guildShops['Tsutsuroon'].stock[50].initial = 30 -- Kenpogi -xi.data.guildShops['Tsutsuroon'].stock[51].initial = 30 -- Cotton Dogi -xi.data.guildShops['Tsutsuroon'].stock[53].initial = 30 -- Soil Gi -xi.data.guildShops['Tsutsuroon'].stock[56].initial = 30 -- Tekko -xi.data.guildShops['Tsutsuroon'].stock[57].initial = 30 -- Cotton Tekko -xi.data.guildShops['Tsutsuroon'].stock[61].initial = 30 -- Sitabaki -xi.data.guildShops['Tsutsuroon'].stock[62].initial = 30 -- Cotton Sitabaki -xi.data.guildShops['Tsutsuroon'].stock[63].initial = 30 -- Soil Sitabaki -xi.data.guildShops['Tsutsuroon'].stock[66].initial = 30 -- Kyahan -xi.data.guildShops['Tsutsuroon'].stock[67].initial = 30 -- Cotton Kyahan -xi.data.guildShops['Tsutsuroon'].stock[68].initial = 30 -- Soil Kyahan -xi.data.guildShops['Tsutsuroon'].stock[75].initial = 10 -- Toad Oil -xi.data.guildShops['Tsutsuroon'].stock[76].initial = 6 -- Bast Parchment -xi.data.guildShops['Tsutsuroon'].stock[77].initial = 10 -- Silk Cloth -xi.data.guildShops['Tsutsuroon'].stock[78].initial = 180 -- Iron Sand -xi.data.guildShops['Tsutsuroon'].stock[81].initial = 60 -- Uchitake -xi.data.guildShops['Tsutsuroon'].stock[82].initial = 60 -- Tsurara -xi.data.guildShops['Tsutsuroon'].stock[83].initial = 60 -- Kawahori Ogi -xi.data.guildShops['Tsutsuroon'].stock[84].initial = 60 -- Makibishi -xi.data.guildShops['Tsutsuroon'].stock[85].initial = 60 -- Hiraishin -xi.data.guildShops['Tsutsuroon'].stock[86].initial = 60 -- Mizu Deppo -xi.data.guildShops['Tsutsuroon'].stock[93].initial = 50 -- Gardenia Seed -xi.data.guildShops['Tsutsuroon'].stock[94].initial = 120 -- Turmeric -xi.data.guildShops['Tsutsuroon'].stock[95].initial = 120 -- Coriander -xi.data.guildShops['Tsutsuroon'].stock[96].initial = 120 -- Holy Basil -xi.data.guildShops['Tsutsuroon'].stock[97].initial = 60 -- Curry Powder -xi.data.guildShops['Tsutsuroon'].stock[98].initial = 100 -- Ground Wasabi -xi.data.guildShops['Tsutsuroon'].stock[99].initial = 100 -- Rice Vinegar -xi.data.guildShops['Tsutsuroon'].stock[100].initial = 100 -- Napa +patchStock('Tsutsuroon', xi.item.KUNAI, { initial = 30 }) -- Kunai +patchStock('Tsutsuroon', xi.item.SUZUME, { initial = 30 }) -- Suzume +patchStock('Tsutsuroon', xi.item.WAKIZASHI, { initial = 30 }) -- Wakizashi +patchStock('Tsutsuroon', xi.item.SHINOBI_GATANA, { initial = 30 }) -- Shinobi Gatana +patchStock('Tsutsuroon', xi.item.UCHIGATANA, { initial = 30 }) -- Uchigatana +patchStock('Tsutsuroon', xi.item.KANESADA, { initial = 10 }) -- Kanesada +patchStock('Tsutsuroon', xi.item.TACHI, { initial = 30 }) -- Tachi +patchStock('Tsutsuroon', xi.item.NODACHI, { initial = 10 }) -- Nodachi +patchStock('Tsutsuroon', xi.item.OKANEHIRA, { initial = 5 }) -- Okanehira +patchStock('Tsutsuroon', xi.item.KOTETSU, { initial = 5 }) -- Kotetsu +patchStock('Tsutsuroon', xi.item.SHURIKEN, { initial = 30 }) -- Shuriken +patchStock('Tsutsuroon', xi.item.JUJI_SHURIKEN, { initial = 20, buyMax = 2970 }) -- Juji Shuriken, buyMax changed because of RMT change reverts +patchStock('Tsutsuroon', xi.item.FIRE_ARROW, { initial = 30 }) -- Fire Arrow +patchStock('Tsutsuroon', xi.item.BULLET, { initial = 20 }) -- Bullet +patchStock('Tsutsuroon', xi.item.FUMA_SHURIKEN, { buyMax = 78750 }) -- Fuma Shuriken, buyMax changed because of RMT change reverts +patchStock('Tsutsuroon', xi.item.SOIL_HACHIMAKI, { initial = 30 }) -- Soil Hachimaki +patchStock('Tsutsuroon', xi.item.KENPOGI, { initial = 30 }) -- Kenpogi +patchStock('Tsutsuroon', xi.item.COTTON_DOGI, { initial = 30 }) -- Cotton Dogi +patchStock('Tsutsuroon', xi.item.SOIL_GI, { initial = 30 }) -- Soil Gi +patchStock('Tsutsuroon', xi.item.TEKKO, { initial = 30 }) -- Tekko +patchStock('Tsutsuroon', xi.item.COTTON_TEKKO, { initial = 30 }) -- Cotton Tekko +patchStock('Tsutsuroon', xi.item.SITABAKI, { initial = 30 }) -- Sitabaki +patchStock('Tsutsuroon', xi.item.COTTON_SITABAKI, { initial = 30 }) -- Cotton Sitabaki +patchStock('Tsutsuroon', xi.item.SOIL_SITABAKI, { initial = 30 }) -- Soil Sitabaki +patchStock('Tsutsuroon', xi.item.KYAHAN, { initial = 30 }) -- Kyahan +patchStock('Tsutsuroon', xi.item.COTTON_KYAHAN, { initial = 30 }) -- Cotton Kyahan +patchStock('Tsutsuroon', xi.item.SOIL_KYAHAN, { initial = 30 }) -- Soil Kyahan +patchStock('Tsutsuroon', xi.item.JAR_OF_TOAD_OIL, { initial = 10 }) -- Toad Oil +patchStock('Tsutsuroon', xi.item.SHEET_OF_BAST_PARCHMENT, { initial = 6 }) -- Bast Parchment +patchStock('Tsutsuroon', xi.item.SQUARE_OF_SILK_CLOTH, { initial = 10 }) -- Silk Cloth +patchStock('Tsutsuroon', xi.item.HANDFUL_OF_IRON_SAND, { initial = 180, buyMax = 3074 }) -- Iron Sand, buyMax changed because of RMT change reverts +patchStock('Tsutsuroon', xi.item.UCHITAKE, { initial = 60 }) -- Uchitake +patchStock('Tsutsuroon', xi.item.TSURARA, { initial = 60 }) -- Tsurara +patchStock('Tsutsuroon', xi.item.KAWAHORI_OGI, { initial = 60 }) -- Kawahori Ogi +patchStock('Tsutsuroon', xi.item.MAKIBISHI, { initial = 60 }) -- Makibishi +patchStock('Tsutsuroon', xi.item.HIRAISHIN, { initial = 60 }) -- Hiraishin +patchStock('Tsutsuroon', xi.item.MIZU_DEPPO, { initial = 60 }) -- Mizu Deppo +patchStock('Tsutsuroon', xi.item.GARDENIA_SEED, { initial = 50 }) -- Gardenia Seed +patchStock('Tsutsuroon', xi.item.ONZ_OF_TURMERIC, { initial = 120 }) -- Turmeric +patchStock('Tsutsuroon', xi.item.ONZ_OF_CORIANDER, { initial = 120 }) -- Coriander +patchStock('Tsutsuroon', xi.item.SPRIG_OF_HOLY_BASIL, { initial = 120 }) -- Holy Basil +patchStock('Tsutsuroon', xi.item.ONZ_OF_CURRY_POWDER, { initial = 60 }) -- Curry Powder +patchStock('Tsutsuroon', xi.item.JAR_OF_GROUND_WASABI, { initial = 100 }) -- Ground Wasabi +patchStock('Tsutsuroon', xi.item.BOTTLE_OF_RICE_VINEGAR, { initial = 100 }) -- Rice Vinegar +patchStock('Tsutsuroon', xi.item.HEAD_OF_NAPA, { initial = 100 }) -- Napa table.insert(xi.data.guildShops['Tsutsuroon'].stock, { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }) -- Koma ----------------------------------- @@ -737,8 +709,8 @@ xi.data.guildShops['Amalasanda'] = ----------------------------------- -- Linkshell / Pendant Compass Vendors ----------------------------------- -table.remove(xi.data.guildShops['Ilita'].stock, 2) -- Pendant Compass -table.remove(xi.data.guildShops['Khel_Pahlhama'].stock, 2) -- Pendant Compass -table.remove(xi.data.guildShops['Paunelie'].stock, 2) -- Pendant Compass +removeStock('Ilita', xi.item.PENDANT_COMPASS) -- Pendant Compass +removeStock('Khel_Pahlhama', xi.item.PENDANT_COMPASS) -- Pendant Compass +removeStock('Paunelie', xi.item.PENDANT_COMPASS) -- Pendant Compass return { name = moduleName } From 378949c76abb5c24837a70f70c49c75475f47f5b Mon Sep 17 00:00:00 2001 From: Montijin <2160211+montijin@users.noreply.github.com> Date: Wed, 8 Jul 2026 20:54:41 -0500 Subject: [PATCH 06/10] fixed trailing whitespace --- modules/abyssea/lua/era_guild_shops.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/abyssea/lua/era_guild_shops.lua b/modules/abyssea/lua/era_guild_shops.lua index 3419fde32b8..914834cb109 100644 --- a/modules/abyssea/lua/era_guild_shops.lua +++ b/modules/abyssea/lua/era_guild_shops.lua @@ -87,8 +87,8 @@ patchStock('Ndego', xi.item.WORKSHOP_ANVIL, { initial = 120 }) -- Workshop Anvil patchStock('Bornahn', xi.item.CHUNK_OF_COPPER_ORE, { initial = 120 }) -- Copper Ore patchStock('Bornahn', xi.item.CHUNK_OF_SILVER_ORE, { initial = 120 }) -- Silver Ore patchStock('Bornahn', xi.item.CHUNK_OF_MYTHRIL_ORE, { initial = 0 }) -- Mythril Ore -patchStock('Bornahn', xi.item.HANDFUL_OF_BRASS_SCALES, { initial = 1, restockRate = 1 }) -- Handful of Brass Scales -patchStock('Bornahn', xi.item.MYTHRIL_CHAIN, { initial = 1, restockRate = 1 }) -- Mythril Chain +patchStock('Bornahn', xi.item.HANDFUL_OF_BRASS_SCALES, { initial = 1, restockRate = 1 }) -- Handful of Brass Scales +patchStock('Bornahn', xi.item.MYTHRIL_CHAIN, { initial = 1, restockRate = 1 }) -- Mythril Chain patchStock('Bornahn', xi.item.RED_ROCK, { initial = 2 }) -- Red Rock patchStock('Bornahn', xi.item.BLUE_ROCK, { initial = 2 }) -- Blue Rock patchStock('Bornahn', xi.item.YELLOW_ROCK, { initial = 2 }) -- Yellow Rock @@ -429,7 +429,7 @@ table.insert(xi.data.guildShops['Graegham'].stock, 13, { id = xi.item.MITHRAN_FI patchStock('Graegham', xi.item.CLOTHESPOLE, { initial = 30, restockRate = 15 }) -- Clothespole patchStock('Graegham', xi.item.FASTWATER_FISHING_ROD, { initial = 30, restockRate = 15 }) -- Fastwater Rod patchStock('Graegham', xi.item.SINGLE_HOOK_FISHING_ROD, { initial = 30, restockRate = 3 }) -- Single Hook Rod -patchStock('Graegham', xi.item.BASTORE_SARDINE_1, { restockRate = 0 }) -- Bastore Sardine +patchStock('Graegham', xi.item.BASTORE_SARDINE_1, { restockRate = 0 }) -- Bastore Sardine patchStock('Graegham', xi.item.DARK_BASS_1, { restockRate = 0 }) -- Dark Bass patchStock('Graegham', xi.item.RED_TERRAPIN, { restockRate = 0 }) -- Red Terrapin patchStock('Graegham', xi.item.SILVER_SHARK, { restockRate = 0 }) -- Silver Shark @@ -543,7 +543,7 @@ patchStock('Silver_Owl', xi.item.COTTON_SITABAKI, { initial = 10 }) -- Cotton Si patchStock('Silver_Owl', xi.item.SOIL_SITABAKI, { initial = 10, restockRate = 5 }) -- Soil Sitabaki patchStock('Silver_Owl', xi.item.KYAHAN, { initial = 10 }) -- Kyahan patchStock('Silver_Owl', xi.item.COTTON_KYAHAN, { initial = 10 }) -- Cotton Kyahan -removeStock('Silver_Owl', xi.item.JUJI_SHURIKEN) +removeStock('Silver_Owl', xi.item.JUJI_SHURIKEN) -- Jirokichi patchStock('Jirokichi', xi.item.KUNAI, { initial = 30 }) -- Kunai From 28e7d723222ea73ebc8098956ca64406bdfd3faa Mon Sep 17 00:00:00 2001 From: Montijin <2160211+montijin@users.noreply.github.com> Date: Thu, 9 Jul 2026 11:00:30 -0500 Subject: [PATCH 07/10] Move era guild shop files to phoenix modules, formatting cleanup --- .../Guild Shops/era_guild_shared_stocks.lua | 112 +++ .../sql/Guild Shops/era_guild_shops.lua | 716 ++++++++++++++++++ 2 files changed, 828 insertions(+) create mode 100644 modules/phoenix/sql/Guild Shops/era_guild_shared_stocks.lua create mode 100644 modules/phoenix/sql/Guild Shops/era_guild_shops.lua diff --git a/modules/phoenix/sql/Guild Shops/era_guild_shared_stocks.lua b/modules/phoenix/sql/Guild Shops/era_guild_shared_stocks.lua new file mode 100644 index 00000000000..8a28d0a336c --- /dev/null +++ b/modules/phoenix/sql/Guild Shops/era_guild_shared_stocks.lua @@ -0,0 +1,112 @@ +----------------------------------- +-- Era Guild Shared Stocks +-- A module to link guild shops to share stocks +----------------------------------- +require('modules/module_utils') +require('scripts/globals/guild_shops') +----------------------------------- +local m = Module:new('era_guild_shared_stocks') + +m:addOverride('xi.zones.Metalworks.npcs.Vicious_Eye.onTrigger', function(player, npc) + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.METALWORKS].text.VICIOUS_EYE_SHOP_DIALOG) + end +end) + +m:addOverride('xi.zones.Northern_San_dOria.npcs.Lucretia.onTrigger', function(player, npc) + local ID = zones[xi.zone.NORTHERN_SAN_DORIA] + + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, ID.text.LUCRETIA_SHOP_DIALOG) + end +end) + +m:addOverride('xi.zones.Mhaura.npcs.Mololo.onTrigger', function(player, npc) + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.MHAURA].text.SMITHING_GUILD) + end +end) + +m:addOverride('xi.zones.Bastok_Markets.npcs.Teerth.onTrigger', function(player, npc) + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.BASTOK_MARKETS].text.TEERTH_SHOP_DIALOG) + end +end) + +m:addOverride('xi.zones.Mhaura.npcs.Celestina.onTrigger', function(player, npc) + xi.guildShops.onTrigger(player, npc) +end) + +m:addOverride('xi.zones.Windurst_Waters.npcs.Chomo_Jinjahl.onTrigger', function(player, npc) + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.WINDURST_WATERS].text.CHOMOJINJAHL_SHOP_DIALOG) + end +end) + +m:addOverride('xi.zones.Southern_San_dOria.npcs.Cletae.onTrigger', function(player, npc) + local ID = zones[xi.zone.SOUTHERN_SAN_DORIA] + + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, ID.text.CLETAE_DIALOG) + end +end) + +m:addOverride('xi.zones.Windurst_Woods.npcs.Meriri.onTrigger', function(player, npc) + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.WINDURST_WOODS].text.MERIRI_DIALOG) + end +end) + +m:addOverride('xi.zones.Bastok_Mines.npcs.Odoba.onTrigger', function(player, npc) + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.BASTOK_MINES].text.ODOBA_SHOP_DIALOG) + end +end) + +m:addOverride('xi.zones.Windurst_Woods.npcs.Retto-Marutto.onTrigger', function(player, npc) + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.WINDURST_WOODS].text.RETTO_MARUTTO_DIALOG) + end +end) + +m:addOverride('xi.zones.Selbina.npcs.Gibol.onTrigger', function(player, npc) + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.SELBINA].text.CLOTHCRAFT_SHOP_DIALOG) + end +end) + +m:addOverride('xi.zones.Northern_San_dOria.npcs.Cauzeriste.onTrigger', function(player, npc) + local ID = zones[xi.zone.NORTHERN_SAN_DORIA] + + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, ID.text.CAUZERISTE_SHOP_DIALOG) + end +end) + +----------------------------------- +-- Neptune's Spire Tenshodo guild vendors +-- Akamafula and Amalasanda were converted to normal shops on retail. +-- This reverts them back to being guild shops, while also keeping the tenshodo membership anti-cheat +-- that was already in place on their files. +----------------------------------- +m:addOverride('xi.zones.Lower_Jeuno.npcs.Akamafula.onTrigger', function(player, npc) + if not player:hasKeyItem(xi.ki.TENSHODO_MEMBERS_CARD) then + return -- Anti-Cheat. + end + + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.LOWER_JEUNO].text.AKAMAFULA_SHOP_DIALOG) + end +end) + +m:addOverride('xi.zones.Lower_Jeuno.npcs.Amalasanda.onTrigger', function(player, npc) + if not player:hasKeyItem(xi.ki.TENSHODO_MEMBERS_CARD) then + return -- Anti-Cheat. + end + + if xi.guildShops.onTrigger(player, npc) then + player:showText(npc, zones[xi.zone.LOWER_JEUNO].text.AMALASANDA_SHOP_DIALOG) + end +end) + +return m diff --git a/modules/phoenix/sql/Guild Shops/era_guild_shops.lua b/modules/phoenix/sql/Guild Shops/era_guild_shops.lua new file mode 100644 index 00000000000..9ad8d1fc6b5 --- /dev/null +++ b/modules/phoenix/sql/Guild Shops/era_guild_shops.lua @@ -0,0 +1,716 @@ +----------------------------------- +-- Era Guild Shops +-- Info from 2009 Guild Masters Guide Ver.101207, FFXI Lightning Brigade Ver.070613 and various archived https://wiki.ffo.jp/ pages +----------------------------------- +require('modules/module_utils') +----------------------------------- +local moduleName = 'era_guild_shops' + +----------------------------------- +local function getShop(shopName) + local shop = xi.data.guildShops[shopName] + assert(shop and shop.stock, ('Missing guild shop: %s'):format(shopName)) + return shop +end + +local function findStock(shopName, itemId) + for index, cfg in ipairs(getShop(shopName).stock) do + if cfg.id == itemId then + return cfg, index + end + end + + error(('Missing item %s in guild shop %s'):format(itemId, shopName)) +end + +local function patchStock(shopName, itemId, patch) + local cfg = findStock(shopName, itemId) + + for key, value in pairs(patch) do + cfg[key] = value + end +end + +local function removeStock(shopName, itemId) + local _, index = findStock(shopName, itemId) + table.remove(getShop(shopName).stock, index) +end + +----------------------------------- +-- Smithing +----------------------------------- +-- Amulya & Vicious Eye +xi.data.guildShops['Vicious_Eye'] = { sharedStock = 'Amulya' } +table.insert(xi.data.guildShops['Amulya'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 40 }) +patchStock('Amulya', xi.item.CHUNK_OF_TIN_ORE, { initial = 120 }) +patchStock('Amulya', xi.item.CHUNK_OF_IRON_ORE, { initial = 120 }) +patchStock('Amulya', xi.item.BRONZE_INGOT, { initial = 12 }) +patchStock('Amulya', xi.item.IRON_INGOT, { initial = 12 }) +patchStock('Amulya', xi.item.BRONZE_SHEET, { initial = 12 }) +patchStock('Amulya', xi.item.IRON_SHEET, { initial = 12 }) +table.insert(xi.data.guildShops['Amulya'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) +table.insert(xi.data.guildShops['Amulya'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) + +-- Doggomehr & Lucretia +xi.data.guildShops['Lucretia'] = { sharedStock = 'Doggomehr' } +table.insert(xi.data.guildShops['Doggomehr'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) +patchStock('Doggomehr', xi.item.CHUNK_OF_TIN_ORE, { initial = 120 }) +patchStock('Doggomehr', xi.item.CHUNK_OF_IRON_ORE, { initial = 120 }) +patchStock('Doggomehr', xi.item.BRONZE_INGOT, { initial = 12 }) +patchStock('Doggomehr', xi.item.IRON_INGOT, { initial = 12 }) +patchStock('Doggomehr', xi.item.BRONZE_SHEET, { initial = 12 }) +patchStock('Doggomehr', xi.item.IRON_SHEET, { initial = 12 }) +table.insert(xi.data.guildShops['Doggomehr'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) +table.insert(xi.data.guildShops['Doggomehr'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) + +-- Mololo & Kamilah +xi.data.guildShops['Mololo'] = { sharedStock = 'Kamilah' } +table.insert(xi.data.guildShops['Kamilah'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 20 }) +patchStock('Kamilah', xi.item.CHUNK_OF_TIN_ORE, { initial = 120 }) +patchStock('Kamilah', xi.item.CHUNK_OF_IRON_ORE, { initial = 120 }) + +-- Ndego +patchStock('Ndego', xi.item.CHUNK_OF_COPPER_ORE, { initial = 120 }) +patchStock('Ndego', xi.item.CHUNK_OF_TIN_ORE, { initial = 120 }) +patchStock('Ndego', xi.item.CHUNK_OF_IRON_ORE, { initial = 120 }) +patchStock('Ndego', xi.item.BRONZE_INGOT, { initial = 12 }) +patchStock('Ndego', xi.item.IRON_INGOT, { initial = 12 }) +patchStock('Ndego', xi.item.BRONZE_SHEET, { initial = 12 }) +patchStock('Ndego', xi.item.IRON_SHEET, { initial = 12 }) +patchStock('Ndego', xi.item.MANDREL, { initial = 120 }) +patchStock('Ndego', xi.item.WORKSHOP_ANVIL, { initial = 120 }) + +----------------------------------- +-- Goldsmithing +----------------------------------- +-- Bornahn +patchStock('Bornahn', xi.item.CHUNK_OF_COPPER_ORE, { initial = 120 }) +patchStock('Bornahn', xi.item.CHUNK_OF_SILVER_ORE, { initial = 120 }) +patchStock('Bornahn', xi.item.CHUNK_OF_MYTHRIL_ORE, { initial = 0 }) +patchStock('Bornahn', xi.item.HANDFUL_OF_BRASS_SCALES, { initial = 1, restockRate = 1 }) +patchStock('Bornahn', xi.item.MYTHRIL_CHAIN, { initial = 1, restockRate = 1 }) +patchStock('Bornahn', xi.item.RED_ROCK, { initial = 2 }) +patchStock('Bornahn', xi.item.BLUE_ROCK, { initial = 2 }) +patchStock('Bornahn', xi.item.YELLOW_ROCK, { initial = 2 }) +patchStock('Bornahn', xi.item.GREEN_ROCK, { initial = 2 }) +patchStock('Bornahn', xi.item.TRANSLUCENT_ROCK, { initial = 2 }) +patchStock('Bornahn', xi.item.PURPLE_ROCK, { initial = 2 }) +patchStock('Bornahn', xi.item.BLACK_ROCK, { initial = 2 }) +patchStock('Bornahn', xi.item.WHITE_ROCK, { initial = 2 }) +patchStock('Bornahn', xi.item.LAPIS_LAZULI, { initial = 6 }) +patchStock('Bornahn', xi.item.LIGHT_OPAL, { initial = 6 }) +patchStock('Bornahn', xi.item.ONYX, { initial = 6 }) +patchStock('Bornahn', xi.item.AMETHYST, { initial = 6 }) +patchStock('Bornahn', xi.item.TOURMALINE, { initial = 6 }) +patchStock('Bornahn', xi.item.SARDONYX, { initial = 6 }) +patchStock('Bornahn', xi.item.CLEAR_TOPAZ, { initial = 6 }) +patchStock('Bornahn', xi.item.AMBER_STONE, { initial = 6 }) +patchStock('Bornahn', xi.item.WORKSHOP_ANVIL, { initial = 0, restockRate = 0 }) + +-- Teerth & Visala +xi.data.guildShops['Teerth'] = { sharedStock = 'Visala' } +table.insert(xi.data.guildShops['Visala'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) +patchStock('Visala', xi.item.CHUNK_OF_SILVER_ORE, { initial = 120 }) +patchStock('Visala', xi.item.CHUNK_OF_MYTHRIL_ORE, { initial = 0 }) +patchStock('Visala', xi.item.HANDFUL_OF_BRASS_SCALES, { initial = 1, restockRate = 1 }) +patchStock('Visala', xi.item.MYTHRIL_CHAIN, { initial = 1 }) +patchStock('Visala', xi.item.RED_ROCK, { initial = 2 }) +patchStock('Visala', xi.item.BLUE_ROCK, { initial = 2 }) +patchStock('Visala', xi.item.YELLOW_ROCK, { initial = 2 }) +patchStock('Visala', xi.item.GREEN_ROCK, { initial = 2 }) +patchStock('Visala', xi.item.TRANSLUCENT_ROCK, { initial = 2 }) +patchStock('Visala', xi.item.PURPLE_ROCK, { initial = 2 }) +patchStock('Visala', xi.item.BLACK_ROCK, { initial = 2 }) +patchStock('Visala', xi.item.WHITE_ROCK, { initial = 2 }) +patchStock('Visala', xi.item.LAPIS_LAZULI, { initial = 6 }) +patchStock('Visala', xi.item.LIGHT_OPAL, { initial = 6 }) +patchStock('Visala', xi.item.ONYX, { initial = 6 }) +patchStock('Visala', xi.item.AMETHYST, { initial = 6 }) +patchStock('Visala', xi.item.TOURMALINE, { initial = 6 }) +patchStock('Visala', xi.item.SARDONYX, { initial = 6 }) +patchStock('Visala', xi.item.CLEAR_TOPAZ, { initial = 6 }) +patchStock('Visala', xi.item.AMBER_STONE, { initial = 6 }) +patchStock('Visala', xi.item.SLAB_OF_TUFA, { initial = 120 }) + +-- Yabby Tanmikey & Celestina +xi.data.guildShops['Celestina'] = { sharedStock = 'Yabby_Tanmikey' } +table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 90, maxStock = 240, targetStock = 180, buyMax = 133, restockRate = 15 }) -- buyMax Mhaura-specific (20g vs 9g at Bastok/Al Zahbi) +patchStock('Yabby_Tanmikey', xi.item.CHUNK_OF_SILVER_ORE, { initial = 70, buyMax = 4700 }) -- Silver Ore, Mhaura-specific price curve (705g vs 315g at Bastok/Al Zahbi) +patchStock('Yabby_Tanmikey', xi.item.RED_ROCK, { initial = 2 }) +patchStock('Yabby_Tanmikey', xi.item.BLUE_ROCK, { initial = 2 }) +patchStock('Yabby_Tanmikey', xi.item.YELLOW_ROCK, { initial = 2 }) +patchStock('Yabby_Tanmikey', xi.item.GREEN_ROCK, { initial = 2 }) +patchStock('Yabby_Tanmikey', xi.item.TRANSLUCENT_ROCK, { initial = 2 }) +patchStock('Yabby_Tanmikey', xi.item.PURPLE_ROCK, { initial = 2 }) +patchStock('Yabby_Tanmikey', xi.item.BLACK_ROCK, { initial = 2 }) +patchStock('Yabby_Tanmikey', xi.item.WHITE_ROCK, { initial = 2 }) +table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) +table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) + +----------------------------------- +-- Woodworking +----------------------------------- +-- Cauzeriste & Chaupire +xi.data.guildShops['Cauzeriste'] = { sharedStock = 'Chaupire' } +table.insert(xi.data.guildShops['Chaupire'].stock, 1, { id = xi.item.ARROWWOOD_LOG, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 60 }) +table.insert(xi.data.guildShops['Chaupire'].stock, 2, { id = xi.item.LAUAN_LOG, initial = 120, maxStock = 240, targetStock = 144, buyMax = 180, restockRate = 12 }) +table.insert(xi.data.guildShops['Chaupire'].stock, 3, { id = xi.item.MAPLE_LOG, initial = 120, maxStock = 240, targetStock = 144, buyMax = 300, restockRate = 12 }) +patchStock('Chaupire', xi.item.ASH_LOG, { initial = 120 }) +patchStock('Chaupire', xi.item.WILLOW_LOG, { initial = 120 }) +patchStock('Chaupire', xi.item.HOLLY_LOG, { initial = 90 }) +patchStock('Chaupire', xi.item.YEW_LOG, { initial = 90 }) +patchStock('Chaupire', xi.item.ELM_LOG, { initial = 60 }) +patchStock('Chaupire', xi.item.WALNUT_LOG, { initial = 60 }) +patchStock('Chaupire', xi.item.CHESTNUT_LOG, { initial = 60 }) +patchStock('Chaupire', xi.item.OAK_LOG, { initial = 30 }) +patchStock('Chaupire', xi.item.ROSEWOOD_LOG, { initial = 30 }) +patchStock('Chaupire', xi.item.MAHOGANY_LOG, { initial = 10 }) +patchStock('Chaupire', xi.item.EBONY_LOG, { initial = 10 }) +patchStock('Chaupire', xi.item.BAMBOO_STICK, { initial = 12 }) +patchStock('Chaupire', xi.item.PIECE_OF_ARROWWOOD_LUMBER, { initial = 12 }) +patchStock('Chaupire', xi.item.PIECE_OF_LAUAN_LUMBER, { initial = 12 }) +patchStock('Chaupire', xi.item.PIECE_OF_MAPLE_LUMBER, { initial = 12 }) +patchStock('Chaupire', xi.item.PIECE_OF_ASH_LUMBER, { initial = 12 }) +patchStock('Chaupire', xi.item.PIECE_OF_WILLOW_LUMBER, { initial = 12 }) +patchStock('Chaupire', xi.item.PIECE_OF_HOLLY_LUMBER, { initial = 9 }) +patchStock('Chaupire', xi.item.PIECE_OF_YEW_LUMBER, { initial = 9 }) +patchStock('Chaupire', xi.item.PIECE_OF_ELM_LUMBER, { initial = 12, restockRate = 12 }) +patchStock('Chaupire', xi.item.PIECE_OF_CHESTNUT_LUMBER, { initial = 6 }) +patchStock('Chaupire', xi.item.PIECE_OF_OAK_LUMBER, { initial = 6 }) + +-- Beugungel +xi.data.guildShops['Beugungel'].hours = { 5, 21 } -- close time corrected from base 22 +patchStock('Beugungel', xi.item.SPOOL_OF_BUNDLING_TWINE, { initial = 120 }) +patchStock('Beugungel', xi.item.HATCHET, { initial = 120 }) +patchStock('Beugungel', xi.item.ARROWWOOD_LOG, { initial = 120 }) +patchStock('Beugungel', xi.item.ASH_LOG, { initial = 120, buyMax = 500 }) +patchStock('Beugungel', xi.item.YEW_LOG, { initial = 100 }) +patchStock('Beugungel', xi.item.WILLOW_LOG, { initial = 100 }) +patchStock('Beugungel', xi.item.WALNUT_LOG, { initial = 120, restockRate = 50 }) + +-- Dehbi_Moshal +patchStock('Dehbi_Moshal', xi.item.ARROWWOOD_LOG, { initial = 120 }) +patchStock('Dehbi_Moshal', xi.item.LAUAN_LOG, { initial = 120 }) +patchStock('Dehbi_Moshal', xi.item.MAPLE_LOG, { initial = 120 }) +patchStock('Dehbi_Moshal', xi.item.ASH_LOG, { initial = 100, buyMax = 400, restockRate = 50 }) +patchStock('Dehbi_Moshal', xi.item.WILLOW_LOG, { initial = 120, restockRate = 20 }) +patchStock('Dehbi_Moshal', xi.item.HOLLY_LOG, { initial = 90 }) +patchStock('Dehbi_Moshal', xi.item.YEW_LOG, { initial = 120, restockRate = 20 }) +patchStock('Dehbi_Moshal', xi.item.ELM_LOG, { initial = 60 }) +patchStock('Dehbi_Moshal', xi.item.WALNUT_LOG, { initial = 60 }) +patchStock('Dehbi_Moshal', xi.item.CHESTNUT_LOG, { initial = 60 }) +patchStock('Dehbi_Moshal', xi.item.OAK_LOG, { initial = 30 }) +patchStock('Dehbi_Moshal', xi.item.ROSEWOOD_LOG, { initial = 30 }) +patchStock('Dehbi_Moshal', xi.item.MAHOGANY_LOG, { initial = 10 }) +patchStock('Dehbi_Moshal', xi.item.EBONY_LOG, { initial = 10 }) +patchStock('Dehbi_Moshal', xi.item.BAMBOO_STICK, { initial = 12 }) +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_ARROWWOOD_LUMBER, { initial = 12 }) +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_LAUAN_LUMBER, { initial = 12 }) +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_MAPLE_LUMBER, { initial = 12 }) +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_ASH_LUMBER, { initial = 12 }) +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_WILLOW_LUMBER, { initial = 12 }) +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_HOLLY_LUMBER, { initial = 9 }) +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_YEW_LUMBER, { initial = 9 }) +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_ELM_LUMBER, { initial = 12, restockRate = 12 }) +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_CHESTNUT_LUMBER, { initial = 6 }) +patchStock('Dehbi_Moshal', xi.item.PIECE_OF_OAK_LUMBER, { initial = 6 }) + +----------------------------------- +-- Clothcraft +----------------------------------- +-- Kuzah Hpirohpon & Meriri +xi.data.guildShops['Meriri'] = { sharedStock = 'Kuzah_Hpirohpon' } +table.insert(xi.data.guildShops['Kuzah_Hpirohpon'].stock, 1, { id = xi.item.CLUMP_OF_MOKO_GRASS, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 60 }) +patchStock('Kuzah_Hpirohpon', xi.item.BALL_OF_SARUTA_COTTON, { initial = 0, buyMax = 214 }) +patchStock('Kuzah_Hpirohpon', xi.item.FLAX_FLOWER, { initial = 120 }) +patchStock('Kuzah_Hpirohpon', xi.item.CLUMP_OF_SHEEP_WOOL, { initial = 120 }) +patchStock('Kuzah_Hpirohpon', xi.item.PIECE_OF_CRAWLER_COCOON, { initial = 40 }) +patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_GRASS_THREAD, { initial = 120 }) +patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_COTTON_THREAD, { initial = 120, buyMax = 780 }) +patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_LINEN_THREAD, { initial = 90 }) +patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_WOOL_THREAD, { initial = 60 }) +patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_SILK_THREAD, { initial = 6, buyMax = 2375 }) +patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_SILVER_THREAD, { initial = 4, buyMax = 1875 }) +patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_GOLD_THREAD, { initial = 3 }) +patchStock('Kuzah_Hpirohpon', xi.item.SQUARE_OF_GRASS_CLOTH, { initial = 12 }) +patchStock('Kuzah_Hpirohpon', xi.item.SQUARE_OF_COTTON_CLOTH, { initial = 12 }) +table.insert(xi.data.guildShops['Kuzah_Hpirohpon'].stock, 78, { id = xi.item.SPINDLE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) + +-- Taten-Bilten +patchStock('Taten-Bilten', xi.item.SPOOL_OF_SILK_THREAD, { initial = 6, buyMax = 2944 }) +patchStock('Taten-Bilten', xi.item.SPOOL_OF_GRASS_THREAD, { initial = 120 }) +patchStock('Taten-Bilten', xi.item.SPOOL_OF_COTTON_THREAD, { initial = 120 }) +patchStock('Taten-Bilten', xi.item.SPOOL_OF_LINEN_THREAD, { initial = 90 }) +patchStock('Taten-Bilten', xi.item.SPOOL_OF_SILVER_THREAD, { initial = 4, buyMax = 4480 }) +patchStock('Taten-Bilten', xi.item.SPOOL_OF_GOLD_THREAD, { initial = 3 }) +patchStock('Taten-Bilten', xi.item.SQUARE_OF_GRASS_CLOTH, { initial = 12 }) +patchStock('Taten-Bilten', xi.item.SQUARE_OF_COTTON_CLOTH, { initial = 12 }) +patchStock('Taten-Bilten', xi.item.CLUMP_OF_SHEEP_WOOL, { initial = 120 }) +patchStock('Taten-Bilten', xi.item.CLUMP_OF_MOKO_GRASS, { initial = 120 }) +patchStock('Taten-Bilten', xi.item.BALL_OF_SARUTA_COTTON, { initial = 0, buyMax = 84 }) +patchStock('Taten-Bilten', xi.item.FLAX_FLOWER, { initial = 120 }) +patchStock('Taten-Bilten', xi.item.PIECE_OF_CRAWLER_COCOON, { initial = 40 }) +patchStock('Taten-Bilten', xi.item.SPINDLE, { initial = 120 }) +patchStock('Taten-Bilten', xi.item.SPOOL_OF_ZEPHYR_THREAD, { initial = 120 }) +patchStock('Taten-Bilten', xi.item.WAMOURA_COCOON, { initial = 60 }) +patchStock('Taten-Bilten', xi.item.SPOOL_OF_KARAKUL_THREAD, { initial = 60 }) +table.insert(xi.data.guildShops['Taten-Bilten'].stock, { id = xi.item.SPOOL_OF_WOOL_THREAD, initial = 60, maxStock = 120, targetStock = 90, buyMax = 18000, restockRate = 3 }) + +-- Tilala & Gibol +xi.data.guildShops['Gibol'] = { sharedStock = 'Tilala' } +table.insert(xi.data.guildShops['Tilala'].stock, 1, { id = xi.item.CLUMP_OF_MOKO_GRASS, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 40 }) +patchStock('Tilala', xi.item.FLAX_FLOWER, { initial = 60 }) +patchStock('Tilala', xi.item.CLUMP_OF_SHEEP_WOOL, { initial = 55 }) +patchStock('Tilala', xi.item.SPOOL_OF_GRASS_THREAD, { initial = 90 }) +patchStock('Tilala', xi.item.SPOOL_OF_COTTON_THREAD, { initial = 90, restockRate = 30 }) +patchStock('Tilala', xi.item.SPOOL_OF_LINEN_THREAD, { initial = 90, buyMax = 4524 }) +patchStock('Tilala', xi.item.SPOOL_OF_WOOL_THREAD, { initial = 60 }) +patchStock('Tilala', xi.item.SPOOL_OF_SILK_THREAD, { initial = 12, buyMax = 699 }) +patchStock('Tilala', xi.item.SPOOL_OF_SILVER_THREAD, { initial = 6 }) +patchStock('Tilala', xi.item.SPOOL_OF_GOLD_THREAD, { initial = 3 }) + +----------------------------------- +-- Leatherworking +----------------------------------- +-- Cletae & Kueh Igunahmori +xi.data.guildShops['Cletae'] = { sharedStock = 'Kueh_Igunahmori' } +table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, 1, { id = xi.item.RABBIT_HIDE, initial = 12, maxStock = 160, targetStock = 120, buyMax = 400, restockRate = 12 }) -- targetStock assumed +table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, 2, { id = xi.item.SHEEPSKIN, initial = 12, maxStock = 160, targetStock = 120, buyMax = 506, restockRate = 12 }) -- targetStock assumed +patchStock('Kueh_Igunahmori', xi.item.WOLF_HIDE, { initial = 0 }) +patchStock('Kueh_Igunahmori', xi.item.RAM_SKIN, { initial = 0 }) +patchStock('Kueh_Igunahmori', xi.item.TIGER_HIDE, { initial = 0 }) +patchStock('Kueh_Igunahmori', xi.item.COEURL_HIDE, { initial = 0 }) +patchStock('Kueh_Igunahmori', xi.item.RAPTOR_SKIN, { initial = 30 }) +patchStock('Kueh_Igunahmori', xi.item.COCKATRICE_SKIN, { initial = 30 }) +patchStock('Kueh_Igunahmori', xi.item.WILLOW_LOG, { initial = 120 }) +patchStock('Kueh_Igunahmori', xi.item.FLASK_OF_DISTILLED_WATER, { initial = 120 }) +table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, { id = xi.item.TANNING_VAT, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) + +----------------------------------- +-- Bonecraft +----------------------------------- +-- Retto-Marutto & Shih Tayuun +xi.data.guildShops['Retto-Marutto'] = { sharedStock = 'Shih_Tayuun' } +table.insert(xi.data.guildShops['Shih_Tayuun'].stock, 1, { id = xi.item.BONE_CHIP, initial = 12, maxStock = 240, targetStock = 180, buyMax = 380, restockRate = 12 }) +patchStock('Shih_Tayuun', xi.item.SHEEP_TOOTH, { initial = 12 }) +patchStock('Shih_Tayuun', xi.item.TURTLE_SHELL, { initial = 4 }) +patchStock('Shih_Tayuun', xi.item.SEASHELL, { initial = 120 }) +patchStock('Shih_Tayuun', xi.item.CHICKEN_BONE, { initial = 7 }) +table.insert(xi.data.guildShops['Shih_Tayuun'].stock, 14, { id = xi.item.HANDFUL_OF_FISH_SCALES, initial = 30, maxStock = 240, targetStock = 180, buyMax = 480, restockRate = 15 }) +patchStock('Shih_Tayuun', xi.item.BONE_ARROW, { initial = 0 }) +table.insert(xi.data.guildShops['Shih_Tayuun'].stock, { id = xi.item.SHAGREEN_FILE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) + +----------------------------------- +-- Alchemy +----------------------------------- +-- Maymunah & Odoba +xi.data.guildShops['Odoba'] = { sharedStock = 'Maymunah' } +table.insert(xi.data.guildShops['Maymunah'].stock, 1, { id = xi.item.VIAL_OF_MERCURY, initial = 8, maxStock = 60, targetStock = 45, buyMax = 7500, restockRate = 1 }) +patchStock('Maymunah', xi.item.WIJNRUIT, { initial = 60 }) +patchStock('Maymunah', xi.item.POT_OF_CRYING_MUSTARD, { initial = 60 }) +patchStock('Maymunah', xi.item.PINCH_OF_DRIED_MARJORAM, { initial = 60 }) +patchStock('Maymunah', xi.item.CHAMOMILE, { initial = 60 }) +patchStock('Maymunah', xi.item.COBALT_JELLYFISH, { initial = 12 }) +patchStock('Maymunah', xi.item.LOOP_OF_GLASS_FIBER, { initial = 30 }) +patchStock('Maymunah', xi.item.BATTERY, { initial = 120 }) +patchStock('Maymunah', xi.item.HYDRO_PUMP, { initial = 120 }) +patchStock('Maymunah', xi.item.WIND_FAN, { initial = 120 }) +table.insert(xi.data.guildShops['Maymunah'].stock, { id = xi.item.TRITURATOR, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) + +-- Wahraga & Gathweeda +patchStock('Wahraga', xi.item.VIAL_OF_MERCURY, { initial = 8 }) +patchStock('Wahraga', xi.item.MALBORO_VINE, { initial = 8 }) +patchStock('Wahraga', xi.item.PINCH_OF_SULFUR, { initial = 40 }) +patchStock('Wahraga', xi.item.WIJNRUIT, { initial = 60 }) +patchStock('Wahraga', xi.item.POT_OF_CRYING_MUSTARD, { initial = 60 }) +patchStock('Wahraga', xi.item.PINCH_OF_DRIED_MARJORAM, { initial = 60 }) +patchStock('Wahraga', xi.item.CHAMOMILE, { initial = 60 }) +patchStock('Wahraga', xi.item.SPRIG_OF_SAGE, { initial = 120 }) +patchStock('Wahraga', xi.item.COBALT_JELLYFISH, { initial = 12 }) +patchStock('Wahraga', xi.item.LOOP_OF_GLASS_FIBER, { initial = 30 }) +patchStock('Wahraga', xi.item.TRITURATOR, { initial = 120 }) +patchStock('Wahraga', xi.item.BUNDLE_OF_HOMUNCULUS_NERVES, { initial = 120 }) +patchStock('Wahraga', xi.item.SHEET_OF_POLYFLAN_PAPER, { initial = 120 }) +patchStock('Wahraga', xi.item.BATTERY, { initial = 120 }) +patchStock('Wahraga', xi.item.HYDRO_PUMP, { initial = 120 }) +patchStock('Wahraga', xi.item.WIND_FAN, { initial = 120 }) +patchStock('Wahraga', xi.item.PINCH_OF_MINIUM, { initial = 12 }) + +----------------------------------- +-- Cooking +----------------------------------- +-- Chomo Jinhahl & Kopopo +xi.data.guildShops['Chomo_Jinjahl'] = { sharedStock = 'Kopopo' } +table.insert(xi.data.guildShops['Kopopo'].stock, 1, { id = xi.item.CHUNK_OF_ROCK_SALT, initial = 120, maxStock = 240, targetStock = 180, buyMax = 93, restockRate = 12 }) -- targetStock assumed +table.insert(xi.data.guildShops['Kopopo'].stock, 42, { id = xi.item.SARUTA_ORANGE, initial = 60, maxStock = 240, targetStock = 180, buyMax = 300, restockRate = 2 }) -- targetStock assumed +table.insert(xi.data.guildShops['Kopopo'].stock, 47, { id = xi.item.BUNCH_OF_SAN_DORIAN_GRAPES, initial = 12, maxStock = 240, targetStock = 180, buyMax = 380, restockRate = 2 }) -- targetStock assumed +patchStock('Kopopo', xi.item.BAG_OF_RYE_FLOUR, { initial = 120 }) +patchStock('Kopopo', xi.item.BAG_OF_SAN_DORIAN_FLOUR, { initial = 120 }) +patchStock('Kopopo', xi.item.BUNCH_OF_KAZHAM_PEPPERS, { initial = 120 }) +patchStock('Kopopo', xi.item.BULB_OF_MHAURA_GARLIC, { initial = 120 }) +patchStock('Kopopo', xi.item.JUG_OF_SELBINA_MILK, { initial = 120 }) +patchStock('Kopopo', xi.item.PIECE_OF_PIE_DOUGH, { initial = 6 }) +patchStock('Kopopo', xi.item.POD_OF_BLUE_PEAS, { initial = 120 }) +patchStock('Kopopo', xi.item.POPOTO, { initial = 120 }) +patchStock('Kopopo', xi.item.BOX_OF_TARUTARU_RICE, { initial = 120 }) +patchStock('Kopopo', xi.item.POT_OF_CRYING_MUSTARD, { initial = 120 }) +patchStock('Kopopo', xi.item.PINCH_OF_DRIED_MARJORAM, { initial = 120 }) +patchStock('Kopopo', xi.item.BOTTLE_OF_APPLE_VINEGAR, { initial = 0 }) +patchStock('Kopopo', xi.item.STICK_OF_CINNAMON, { initial = 120 }) +patchStock('Kopopo', xi.item.EAR_OF_MILLIONCORN, { initial = 120 }) +patchStock('Kopopo', xi.item.BIRD_EGG, { initial = 60 }) +patchStock('Kopopo', xi.item.FAERIE_APPLE, { initial = 60 }) +patchStock('Kopopo', xi.item.LA_THEINE_CABBAGE, { initial = 60 }) +patchStock('Kopopo', xi.item.CLUMP_OF_BEAUGREENS, { initial = 60 }) +patchStock('Kopopo', xi.item.CLUMP_OF_BATAGREENS, { initial = 0 }) +patchStock('Kopopo', xi.item.SMOKED_SALMON, { initial = 0 }) +patchStock('Kopopo', xi.item.SAN_DORIAN_CARROT, { initial = 60 }) +patchStock('Kopopo', xi.item.MITHRAN_TOMATO, { initial = 60 }) +patchStock('Kopopo', xi.item.THUNDERMELON, { initial = 12 }) +patchStock('Kopopo', xi.item.KAZHAM_PINEAPPLE, { initial = 12 }) +patchStock('Kopopo', xi.item.WATERMELON, { initial = 12 }) +patchStock('Kopopo', xi.item.LOAF_OF_WHITE_BREAD, { initial = 4 }) +patchStock('Kopopo', xi.item.LOAF_OF_BLACK_BREAD, { initial = 8 }) +patchStock('Kopopo', xi.item.ONZ_OF_TURMERIC, { initial = 30 }) +patchStock('Kopopo', xi.item.ONZ_OF_CORIANDER, { initial = 30 }) +patchStock('Kopopo', xi.item.SPRIG_OF_HOLY_BASIL, { initial = 15 }) +patchStock('Kopopo', xi.item.BAG_OF_SEMOLINA, { initial = 60 }) +patchStock('Kopopo', xi.item.JAR_OF_FISH_STOCK, { initial = 50 }) +patchStock('Kopopo', xi.item.SAUCER_OF_SOY_STOCK, { initial = 50 }) + +----------------------------------- +-- Fishing +----------------------------------- +-- Babubu +patchStock('Babubu', xi.item.LITTLE_WORM, { initial = 120 }) +patchStock('Babubu', xi.item.LUGWORM, { initial = 120 }) +patchStock('Babubu', xi.item.BALL_OF_SARDINE_PASTE, { initial = 120 }) +patchStock('Babubu', xi.item.BALL_OF_CRAYFISH_PASTE, { initial = 120 }) +patchStock('Babubu', xi.item.BALL_OF_INSECT_PASTE, { initial = 120 }) +patchStock('Babubu', xi.item.BALL_OF_TROUT_PASTE, { initial = 120 }) +patchStock('Babubu', xi.item.MEATBALL, { initial = 120 }) +patchStock('Babubu', xi.item.SLICE_OF_SARDINE, { initial = 120 }) +patchStock('Babubu', xi.item.SLICE_OF_COD, { initial = 120 }) +patchStock('Babubu', xi.item.PEELED_LOBSTER, { initial = 120 }) +patchStock('Babubu', xi.item.SLICE_OF_BLUETAIL, { initial = 120 }) +patchStock('Babubu', xi.item.PEELED_CRAYFISH, { initial = 120 }) +patchStock('Babubu', xi.item.SLICE_OF_MOAT_CARP, { initial = 120 }) +patchStock('Babubu', xi.item.FLY_LURE, { initial = 120 }) +patchStock('Babubu', xi.item.MINNOW, { initial = 120 }) +patchStock('Babubu', xi.item.WORM_LURE, { initial = 120 }) +patchStock('Babubu', xi.item.SABIKI_RIG, { initial = 120 }) +patchStock('Babubu', xi.item.WILLOW_FISHING_ROD, { initial = 90 }) +patchStock('Babubu', xi.item.YEW_FISHING_ROD, { initial = 90 }) +patchStock('Babubu', xi.item.BAMBOO_FISHING_ROD, { initial = 90 }) +patchStock('Babubu', xi.item.FASTWATER_FISHING_ROD, { initial = 60 }) +patchStock('Babubu', xi.item.TARUTARU_FISHING_ROD, { initial = 30 }) +patchStock('Babubu', xi.item.MITHRAN_FISHING_ROD, { initial = 30 }) +patchStock('Babubu', xi.item.SINGLE_HOOK_FISHING_ROD, { initial = 30 }) + +-- Cehn Teyohngo +patchStock('Cehn_Teyohngo', xi.item.SABIKI_RIG, { initial = 10 }) +patchStock('Cehn_Teyohngo', xi.item.MINNOW, { initial = 10 }) +patchStock('Cehn_Teyohngo', xi.item.TARUTARU_FISHING_ROD, { initial = 120 }) + +-- Graegham & Mendoline +table.insert(xi.data.guildShops['Graegham'].stock, 1, { id = xi.item.LITTLE_WORM, initial = 120, maxStock = 240, targetStock = 180, buyMax = 20, restockRate = 60 }) +table.insert(xi.data.guildShops['Graegham'].stock, 2, { id = xi.item.LUGWORM, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) +table.insert(xi.data.guildShops['Graegham'].stock, 3, { id = xi.item.BALL_OF_SARDINE_PASTE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 350, restockRate = 12 }) +table.insert(xi.data.guildShops['Graegham'].stock, 4, { id = xi.item.BALL_OF_CRAYFISH_PASTE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 350, restockRate = 12 }) +table.insert(xi.data.guildShops['Graegham'].stock, 5, { id = xi.item.SLICE_OF_COD, initial = 120, maxStock = 240, targetStock = 180, buyMax = 1425, restockRate = 12 }) +table.insert(xi.data.guildShops['Graegham'].stock, 6, { id = xi.item.FLY_LURE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 3600, restockRate = 12 }) +table.insert(xi.data.guildShops['Graegham'].stock, 7, { id = xi.item.MINNOW, initial = 120, maxStock = 240, targetStock = 180, buyMax = 2025, restockRate = 12 }) +patchStock('Graegham', xi.item.SABIKI_RIG, { initial = 120, restockRate = 12 }) +table.insert(xi.data.guildShops['Graegham'].stock, 9, { id = xi.item.WILLOW_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 360, restockRate = 9 }) +table.insert(xi.data.guildShops['Graegham'].stock, 10, { id = xi.item.YEW_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 1180, restockRate = 9 }) +table.insert(xi.data.guildShops['Graegham'].stock, 11, { id = xi.item.BAMBOO_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 2700, restockRate = 9 }) +patchStock('Graegham', xi.item.TARUTARU_FISHING_ROD, { initial = 30, restockRate = 15 }) +table.insert(xi.data.guildShops['Graegham'].stock, 13, { id = xi.item.MITHRAN_FISHING_ROD, initial = 30, maxStock = 60, targetStock = 45, buyMax = 171600, restockRate = 5 }) +patchStock('Graegham', xi.item.CLOTHESPOLE, { initial = 30, restockRate = 15 }) +patchStock('Graegham', xi.item.FASTWATER_FISHING_ROD, { initial = 30, restockRate = 15 }) +patchStock('Graegham', xi.item.SINGLE_HOOK_FISHING_ROD, { initial = 30, restockRate = 3 }) +patchStock('Graegham', xi.item.BASTORE_SARDINE_1, { restockRate = 0 }) +patchStock('Graegham', xi.item.DARK_BASS_1, { restockRate = 0 }) +patchStock('Graegham', xi.item.RED_TERRAPIN, { restockRate = 0 }) +patchStock('Graegham', xi.item.SILVER_SHARK, { restockRate = 0 }) +patchStock('Graegham', xi.item.BLACK_SOLE, { restockRate = 0 }) +patchStock('Graegham', xi.item.GREEDIE, { restockRate = 0 }) + +-- Jidwahn +patchStock('Jidwahn', xi.item.SABIKI_RIG, { initial = 10 }) +patchStock('Jidwahn', xi.item.MINNOW, { initial = 10 }) +patchStock('Jidwahn', xi.item.ICE_CARD, { initial = 120 }) +patchStock('Jidwahn', xi.item.THUNDER_CARD, { initial = 120 }) +patchStock('Jidwahn', xi.item.LIGHT_CARD, { initial = 120 }) +patchStock('Jidwahn', xi.item.DARK_CARD, { initial = 120 }) + +-- Lokhong +patchStock('Lokhong', xi.item.SABIKI_RIG, { initial = 10 }) +patchStock('Lokhong', xi.item.MINNOW, { initial = 10 }) +patchStock('Lokhong', xi.item.TARUTARU_FISHING_ROD, { initial = 120 }) + +-- Mep Nhapopoluko +table.insert(xi.data.guildShops['Mep_Nhapopoluko'].stock, 1, { id = xi.item.SABIKI_RIG, initial = 120, maxStock = 240, targetStock = 180, buyMax = 15960, restockRate = 12 }) +patchStock('Mep_Nhapopoluko', xi.item.FASTWATER_FISHING_ROD, { initial = 80 }) +table.insert(xi.data.guildShops['Mep_Nhapopoluko'].stock, 3, { id = xi.item.TARUTARU_FISHING_ROD, initial = 30, maxStock = 60, targetStock = 45, buyMax = 27180, restockRate = 3 }) +patchStock('Mep_Nhapopoluko', xi.item.SINGLE_HOOK_FISHING_ROD, { initial = 80 }) +patchStock('Mep_Nhapopoluko', xi.item.BLUETAIL_1, { initial = 100 }) +patchStock('Mep_Nhapopoluko', xi.item.NOBLE_LADY, { initial = 100 }) +patchStock('Mep_Nhapopoluko', xi.item.TRILOBITE, { initial = 100 }) +patchStock('Mep_Nhapopoluko', xi.item.SHALL_SHELL, { initial = 100 }) +patchStock('Mep_Nhapopoluko', xi.item.ZAFMLUG_BASS, { initial = 100 }) +patchStock('Mep_Nhapopoluko', xi.item.MOORISH_IDOL, { initial = 100 }) +patchStock('Mep_Nhapopoluko', xi.item.BIBIKIBO, { initial = 100 }) +patchStock('Mep_Nhapopoluko', xi.item.BIBIKI_URCHIN, { initial = 100 }) +patchStock('Mep_Nhapopoluko', xi.item.CLUMP_OF_PAMTAM_KELP, { initial = 100 }) +patchStock('Mep_Nhapopoluko', xi.item.COBALT_JELLYFISH, { initial = 100 }) + +-- Pashi Maccaleh +patchStock('Pashi_Maccaleh', xi.item.SABIKI_RIG, { initial = 10 }) +patchStock('Pashi_Maccaleh', xi.item.MINNOW, { initial = 10 }) +patchStock('Pashi_Maccaleh', xi.item.TARUTARU_FISHING_ROD, { initial = 120 }) + +-- Rajmonda +patchStock('Rajmonda', xi.item.SABIKI_RIG, { initial = 10 }) +patchStock('Rajmonda', xi.item.MINNOW, { initial = 10 }) +patchStock('Rajmonda', xi.item.TARUTARU_FISHING_ROD, { initial = 120 }) + +-- Wahnid +patchStock('Wahnid', xi.item.LITTLE_WORM, { initial = 120 }) +patchStock('Wahnid', xi.item.LUGWORM, { initial = 120 }) +patchStock('Wahnid', xi.item.BALL_OF_SARDINE_PASTE, { initial = 0, restockRate = 0 }) +patchStock('Wahnid', xi.item.BALL_OF_CRAYFISH_PASTE, { initial = 0, restockRate = 0 }) +patchStock('Wahnid', xi.item.BALL_OF_INSECT_PASTE, { initial = 0, restockRate = 0 }) +patchStock('Wahnid', xi.item.BALL_OF_TROUT_PASTE, { initial = 0, restockRate = 0 }) +patchStock('Wahnid', xi.item.MEATBALL, { initial = 0, restockRate = 0 }) +patchStock('Wahnid', xi.item.SLICE_OF_SARDINE, { initial = 0, restockRate = 0 }) +patchStock('Wahnid', xi.item.SLICE_OF_COD, { initial = 0, restockRate = 0 }) +patchStock('Wahnid', xi.item.PEELED_LOBSTER, { initial = 0, restockRate = 0 }) +patchStock('Wahnid', xi.item.SLICE_OF_BLUETAIL, { initial = 0, restockRate = 0 }) +patchStock('Wahnid', xi.item.PEELED_CRAYFISH, { initial = 0, restockRate = 0 }) +patchStock('Wahnid', xi.item.SLICE_OF_MOAT_CARP, { initial = 0, restockRate = 0 }) +patchStock('Wahnid', xi.item.FLY_LURE, { initial = 0, restockRate = 0 }) +patchStock('Wahnid', xi.item.MINNOW, { initial = 0, restockRate = 0 }) +patchStock('Wahnid', xi.item.SINKING_MINNOW, { initial = 0, restockRate = 0 }) +patchStock('Wahnid', xi.item.SABIKI_RIG, { initial = 120, restockRate = 12 }) +patchStock('Wahnid', xi.item.YEW_FISHING_ROD, { initial = 0, restockRate = 0 }) +patchStock('Wahnid', xi.item.BAMBOO_FISHING_ROD, { initial = 90 }) +patchStock('Wahnid', xi.item.FASTWATER_FISHING_ROD, { initial = 60, restockRate = 6 }) +patchStock('Wahnid', xi.item.TARUTARU_FISHING_ROD, { initial = 30, restockRate = 3 }) +patchStock('Wahnid', xi.item.DENIZANASI, { restockRate = 0 }) + +-- Yahliq +patchStock('Yahliq', xi.item.SABIKI_RIG, { initial = 10 }) +patchStock('Yahliq', xi.item.MINNOW, { initial = 10 }) +patchStock('Yahliq', xi.item.ICE_CARD, { initial = 120 }) +patchStock('Yahliq', xi.item.THUNDER_CARD, { initial = 120 }) +patchStock('Yahliq', xi.item.LIGHT_CARD, { initial = 120 }) +patchStock('Yahliq', xi.item.DARK_CARD, { initial = 120 }) + +----------------------------------- +-- Tenshodo +----------------------------------- +-- Jabbar +patchStock('Jabbar', xi.item.BAMBOO_STICK, { initial = 30 }) +patchStock('Jabbar', xi.item.SCROLL_OF_KATON_ICHI, { initial = 10 }) +patchStock('Jabbar', xi.item.SCROLL_OF_HUTON_ICHI, { initial = 10 }) +patchStock('Jabbar', xi.item.SCROLL_OF_DOTON_ICHI, { initial = 10 }) +patchStock('Jabbar', xi.item.SCROLL_OF_ABSORB_MND, { initial = 12 }) +patchStock('Jabbar', xi.item.SCROLL_OF_ABSORB_CHR, { initial = 12 }) +patchStock('Jabbar', xi.item.ONZ_OF_TURMERIC, { initial = 30 }) +patchStock('Jabbar', xi.item.ONZ_OF_CORIANDER, { initial = 30 }) +patchStock('Jabbar', xi.item.SPRIG_OF_HOLY_BASIL, { initial = 30 }) +patchStock('Jabbar', xi.item.ONZ_OF_CURRY_POWDER, { initial = 15 }) +patchStock('Jabbar', xi.item.JAR_OF_GROUND_WASABI, { initial = 50 }) +patchStock('Jabbar', xi.item.BOTTLE_OF_RICE_VINEGAR, { initial = 50 }) +patchStock('Jabbar', xi.item.CLUMP_OF_SHUNGIKU, { initial = 50 }) + +-- Silver_Owl +patchStock('Silver_Owl', xi.item.KUNAI, { initial = 15 }) +patchStock('Silver_Owl', xi.item.SHINOBI_GATANA, { initial = 15 }) +patchStock('Silver_Owl', xi.item.KANESADA, { initial = 5 }) +patchStock('Silver_Owl', xi.item.TACHI, { initial = 15 }) +patchStock('Silver_Owl', xi.item.KOTETSU, { initial = 5 }) +patchStock('Silver_Owl', xi.item.HACHIMAKI, { initial = 10 }) +patchStock('Silver_Owl', xi.item.COTTON_HACHIMAKI, { initial = 10 }) +patchStock('Silver_Owl', xi.item.KENPOGI, { initial = 10 }) +patchStock('Silver_Owl', xi.item.COTTON_DOGI, { initial = 10 }) +patchStock('Silver_Owl', xi.item.TEKKO, { initial = 10 }) +patchStock('Silver_Owl', xi.item.COTTON_TEKKO, { initial = 10 }) +patchStock('Silver_Owl', xi.item.SOIL_TEKKO, { initial = 10, restockRate = 5 }) +patchStock('Silver_Owl', xi.item.SITABAKI, { initial = 10 }) +patchStock('Silver_Owl', xi.item.COTTON_SITABAKI, { initial = 10 }) +patchStock('Silver_Owl', xi.item.SOIL_SITABAKI, { initial = 10, restockRate = 5 }) +patchStock('Silver_Owl', xi.item.KYAHAN, { initial = 10 }) +patchStock('Silver_Owl', xi.item.COTTON_KYAHAN, { initial = 10 }) +removeStock('Silver_Owl', xi.item.JUJI_SHURIKEN) + +-- Jirokichi +patchStock('Jirokichi', xi.item.KUNAI, { initial = 30 }) +patchStock('Jirokichi', xi.item.SUZUME, { initial = 30 }) +patchStock('Jirokichi', xi.item.WAKIZASHI, { initial = 30 }) +patchStock('Jirokichi', xi.item.SHINOBI_GATANA, { initial = 30 }) +patchStock('Jirokichi', xi.item.UCHIGATANA, { initial = 30 }) +patchStock('Jirokichi', xi.item.KANESADA, { initial = 10 }) +patchStock('Jirokichi', xi.item.TACHI, { initial = 30 }) +patchStock('Jirokichi', xi.item.NODACHI, { initial = 10 }) +patchStock('Jirokichi', xi.item.OKANEHIRA, { initial = 5 }) +patchStock('Jirokichi', xi.item.SHURIKEN, { initial = 30 }) +patchStock('Jirokichi', xi.item.JUJI_SHURIKEN, { initial = 20, buyMax = 2970 }) + +-- Achika +patchStock('Achika', xi.item.HACHIMAKI, { initial = 30 }) +patchStock('Achika', xi.item.TEKKO, { initial = 30 }) +patchStock('Achika', xi.item.COTTON_KYAHAN, { initial = 30 }) +patchStock('Achika', xi.item.SOIL_KYAHAN, { initial = 30 }) + +-- Chiyo +patchStock('Chiyo', xi.item.SCROLL_OF_HYOTON_ICHI, { initial = 20 }) +patchStock('Chiyo', xi.item.SCROLL_OF_HUTON_ICHI, { initial = 20 }) +patchStock('Chiyo', xi.item.SCROLL_OF_DOTON_ICHI, { initial = 20 }) +patchStock('Chiyo', xi.item.SCROLL_OF_RAITON_ICHI, { initial = 20 }) +patchStock('Chiyo', xi.item.SCROLL_OF_SUITON_ICHI, { initial = 20 }) + +-- Vuliaie +patchStock('Vuliaie', xi.item.JAR_OF_TOAD_OIL, { initial = 10 }) +patchStock('Vuliaie', xi.item.SHEET_OF_BAST_PARCHMENT, { initial = 6 }) +patchStock('Vuliaie', xi.item.HANDFUL_OF_IRON_SAND, { initial = 180 }) +patchStock('Vuliaie', xi.item.UCHITAKE, { initial = 60 }) +patchStock('Vuliaie', xi.item.TSURARA, { initial = 60 }) +patchStock('Vuliaie', xi.item.KAWAHORI_OGI, { initial = 60 }) +patchStock('Vuliaie', xi.item.MAKIBISHI, { initial = 60 }) +patchStock('Vuliaie', xi.item.HIRAISHIN, { initial = 60 }) +patchStock('Vuliaie', xi.item.MIZU_DEPPO, { initial = 60 }) +patchStock('Vuliaie', xi.item.GARDENIA_SEED, { initial = 50 }) +patchStock('Vuliaie', xi.item.ONZ_OF_TURMERIC, { initial = 120 }) +patchStock('Vuliaie', xi.item.ONZ_OF_CORIANDER, { initial = 120 }) +patchStock('Vuliaie', xi.item.SPRIG_OF_HOLY_BASIL, { initial = 120 }) +patchStock('Vuliaie', xi.item.ONZ_OF_CURRY_POWDER, { initial = 60 }) +patchStock('Vuliaie', xi.item.JAR_OF_GROUND_WASABI, { initial = 100 }) +patchStock('Vuliaie', xi.item.BOTTLE_OF_RICE_VINEGAR, { initial = 100 }) +patchStock('Vuliaie', xi.item.HEAD_OF_NAPA, { initial = 100 }) +table.insert(xi.data.guildShops['Vuliaie'].stock, { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }) -- Koma + +-- Tsutsuroon +patchStock('Tsutsuroon', xi.item.KUNAI, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.SUZUME, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.WAKIZASHI, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.SHINOBI_GATANA, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.UCHIGATANA, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.KANESADA, { initial = 10 }) +patchStock('Tsutsuroon', xi.item.TACHI, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.NODACHI, { initial = 10 }) +patchStock('Tsutsuroon', xi.item.OKANEHIRA, { initial = 5 }) +patchStock('Tsutsuroon', xi.item.KOTETSU, { initial = 5 }) +patchStock('Tsutsuroon', xi.item.SHURIKEN, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.JUJI_SHURIKEN, { initial = 20, buyMax = 2970 }) +patchStock('Tsutsuroon', xi.item.FIRE_ARROW, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.BULLET, { initial = 20 }) +patchStock('Tsutsuroon', xi.item.FUMA_SHURIKEN, { buyMax = 78750 }) +patchStock('Tsutsuroon', xi.item.SOIL_HACHIMAKI, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.KENPOGI, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.COTTON_DOGI, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.SOIL_GI, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.TEKKO, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.COTTON_TEKKO, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.SITABAKI, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.COTTON_SITABAKI, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.SOIL_SITABAKI, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.KYAHAN, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.COTTON_KYAHAN, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.SOIL_KYAHAN, { initial = 30 }) +patchStock('Tsutsuroon', xi.item.JAR_OF_TOAD_OIL, { initial = 10 }) +patchStock('Tsutsuroon', xi.item.SHEET_OF_BAST_PARCHMENT, { initial = 6 }) +patchStock('Tsutsuroon', xi.item.SQUARE_OF_SILK_CLOTH, { initial = 10 }) +patchStock('Tsutsuroon', xi.item.HANDFUL_OF_IRON_SAND, { initial = 180, buyMax = 3074 }) +patchStock('Tsutsuroon', xi.item.UCHITAKE, { initial = 60 }) +patchStock('Tsutsuroon', xi.item.TSURARA, { initial = 60 }) +patchStock('Tsutsuroon', xi.item.KAWAHORI_OGI, { initial = 60 }) +patchStock('Tsutsuroon', xi.item.MAKIBISHI, { initial = 60 }) +patchStock('Tsutsuroon', xi.item.HIRAISHIN, { initial = 60 }) +patchStock('Tsutsuroon', xi.item.MIZU_DEPPO, { initial = 60 }) +patchStock('Tsutsuroon', xi.item.GARDENIA_SEED, { initial = 50 }) +patchStock('Tsutsuroon', xi.item.ONZ_OF_TURMERIC, { initial = 120 }) +patchStock('Tsutsuroon', xi.item.ONZ_OF_CORIANDER, { initial = 120 }) +patchStock('Tsutsuroon', xi.item.SPRIG_OF_HOLY_BASIL, { initial = 120 }) +patchStock('Tsutsuroon', xi.item.ONZ_OF_CURRY_POWDER, { initial = 60 }) +patchStock('Tsutsuroon', xi.item.JAR_OF_GROUND_WASABI, { initial = 100 }) +patchStock('Tsutsuroon', xi.item.BOTTLE_OF_RICE_VINEGAR, { initial = 100 }) +patchStock('Tsutsuroon', xi.item.HEAD_OF_NAPA, { initial = 100 }) +table.insert(xi.data.guildShops['Tsutsuroon'].stock, { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }) -- Koma + +----------------------------------- +-- Tenshodo (new shops -- Akamafula and Amalasanda did not exist in base guild_shops.lua) +----------------------------------- +xi.data.guildShops['Akamafula'] = +{ + hours = { 1, 23 }, + holiday = xi.day.EARTHSDAY, + stock = + { + { id = xi.item.KUNAI, initial = 20, maxStock = 60, targetStock = 55, buyMax = 4419, restockRate = 5 }, + { id = xi.item.WAKIZASHI, initial = 20, maxStock = 60, targetStock = 55, buyMax = 12000, restockRate = 5 }, + { id = xi.item.UCHIGATANA, initial = 20, maxStock = 60, targetStock = 55, buyMax = 26680, restockRate = 5 }, + { id = xi.item.KANESADA, initial = 2, maxStock = 60, targetStock = 55, buyMax = 99000, restockRate = 10 }, + { id = xi.item.TACHI, initial = 20, maxStock = 60, targetStock = 55, buyMax = 15695, restockRate = 5 }, + { id = xi.item.NODACHI, initial = 2, maxStock = 60, targetStock = 55, buyMax = 40620, restockRate = 0 }, + { id = xi.item.OKANEHIRA, initial = 5, maxStock = 60, targetStock = 55, buyMax = 104730, restockRate = 7 }, + { id = xi.item.TANEGASHIMA, initial = 2, maxStock = 60, targetStock = 55, buyMax = 65310, restockRate = 0 }, + { id = xi.item.SHURIKEN, initial = 30, maxStock = 60, targetStock = 55, buyMax = 250, restockRate = 10 }, + { id = xi.item.HACHIMAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 4125, restockRate = 3 }, + { id = xi.item.COTTON_HACHIMAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 24420, restockRate = 3 }, + { id = xi.item.SOIL_HACHIMAKI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 66960, restockRate = 5 }, + { id = xi.item.KENPOGI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 6225, restockRate = 3 }, + { id = xi.item.COTTON_DOGI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 36800, restockRate = 3 }, + { id = xi.item.SOIL_GI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 99000, restockRate = 5 }, + { id = xi.item.TEKKO, initial = 5, maxStock = 60, targetStock = 45, buyMax = 3425, restockRate = 3 }, + { id = xi.item.COTTON_TEKKO, initial = 5, maxStock = 60, targetStock = 45, buyMax = 20250, restockRate = 3 }, + { id = xi.item.SOIL_TEKKO, initial = 10, maxStock = 60, targetStock = 45, buyMax = 55440, restockRate = 5 }, + { id = xi.item.SITABAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 4975, restockRate = 3 }, + { id = xi.item.COTTON_SITABAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 29490, restockRate = 3 }, + { id = xi.item.SOIL_SITABAKI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 80640, restockRate = 5 }, + { id = xi.item.KYAHAN, initial = 5, maxStock = 60, targetStock = 45, buyMax = 3175, restockRate = 3 }, + { id = xi.item.COTTON_KYAHAN, initial = 5, maxStock = 60, targetStock = 45, buyMax = 18870, restockRate = 3 }, + { id = xi.item.SOIL_KYAHAN, initial = 10, maxStock = 60, targetStock = 45, buyMax = 82620, restockRate = 5 }, + }, +} + +xi.data.guildShops['Amalasanda'] = +{ + hours = { 9, 23 }, + holiday = xi.day.EARTHSDAY, + stock = + { + { id = xi.item.BAMBOO_STICK, initial = 30, maxStock = 240, targetStock = 180, buyMax = 720, restockRate = 10 }, + { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }, + { id = xi.item.LUMP_OF_TAMA_HAGANE, initial = 20, maxStock = 60, targetStock = 45, buyMax = 35000, restockRate = 5 }, + { id = xi.item.POT_OF_URUSHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 367650, restockRate = 1 }, + { id = xi.item.BOX_OF_STICKY_RICE, initial = 50, maxStock = 150, targetStock = 120, buyMax = 316, restockRate = 100, priceFloor = 150, noSell = true }, + { id = xi.item.BAG_OF_BUCKWHEAT_FLOUR, initial = 50, maxStock = 150, targetStock = 120, buyMax = 1500, restockRate = 100, priceFloor = 150, noSell = true }, + { id = xi.item.PINCH_OF_BLACK_PEPPER, initial = 10, maxStock = 60, targetStock = 45, buyMax = 1111, restockRate = 5 }, + { id = xi.item.ONZ_OF_TURMERIC, initial = 20, maxStock = 60, targetStock = 50, buyMax = 3225, restockRate = 15 }, + { id = xi.item.ONZ_OF_CORIANDER, initial = 20, maxStock = 60, targetStock = 50, buyMax = 7925, restockRate = 15 }, + { id = xi.item.SPRIG_OF_HOLY_BASIL, initial = 20, maxStock = 60, targetStock = 50, buyMax = 4000, restockRate = 15 }, + { id = xi.item.ONZ_OF_CURRY_POWDER, initial = 10, maxStock = 30, targetStock = 25, buyMax = 1456, restockRate = 7 }, + { id = xi.item.JAR_OF_GROUND_WASABI, initial = 100, maxStock = 150, targetStock = 120, buyMax = 12974, restockRate = 100 }, + { id = xi.item.BOTTLE_OF_RICE_VINEGAR, initial = 100, maxStock = 150, targetStock = 120, buyMax = 1000, restockRate = 100 }, + { id = xi.item.BUNDLE_OF_SHIRATAKI, initial = 50, maxStock = 150, targetStock = 120, buyMax = 369, restockRate = 100, priceFloor = 150, noSell = true }, + { id = xi.item.SCROLL_OF_KATON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, + { id = xi.item.SCROLL_OF_HUTON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, + { id = xi.item.SCROLL_OF_DOTON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, + { id = xi.item.SCROLL_OF_SUITON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, + { id = xi.item.UCHITAKE, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, + { id = xi.item.KAWAHORI_OGI, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, + { id = xi.item.MAKIBISHI, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, + { id = xi.item.MIZU_DEPPO, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, + }, +} + +----------------------------------- +-- Linkshell / Pendant Compass Vendors +----------------------------------- +removeStock('Ilita', xi.item.PENDANT_COMPASS) -- Pendant Compass +removeStock('Khel_Pahlhama', xi.item.PENDANT_COMPASS) -- Pendant Compass +removeStock('Paunelie', xi.item.PENDANT_COMPASS) -- Pendant Compass + +return { name = Era Guild Shops } From d8026173eb32cc8a812dcd7598ead52902a061e7 Mon Sep 17 00:00:00 2001 From: Montijin <2160211+montijin@users.noreply.github.com> Date: Thu, 9 Jul 2026 11:05:09 -0500 Subject: [PATCH 08/10] Remove old guild shop files after move to phoenix/sql/Guild Shops --- .../abyssea/lua/era_guild_shared_stocks.lua | 112 --- modules/abyssea/lua/era_guild_shops.lua | 716 ------------------ 2 files changed, 828 deletions(-) delete mode 100644 modules/abyssea/lua/era_guild_shared_stocks.lua delete mode 100644 modules/abyssea/lua/era_guild_shops.lua diff --git a/modules/abyssea/lua/era_guild_shared_stocks.lua b/modules/abyssea/lua/era_guild_shared_stocks.lua deleted file mode 100644 index 8a28d0a336c..00000000000 --- a/modules/abyssea/lua/era_guild_shared_stocks.lua +++ /dev/null @@ -1,112 +0,0 @@ ------------------------------------ --- Era Guild Shared Stocks --- A module to link guild shops to share stocks ------------------------------------ -require('modules/module_utils') -require('scripts/globals/guild_shops') ------------------------------------ -local m = Module:new('era_guild_shared_stocks') - -m:addOverride('xi.zones.Metalworks.npcs.Vicious_Eye.onTrigger', function(player, npc) - if xi.guildShops.onTrigger(player, npc) then - player:showText(npc, zones[xi.zone.METALWORKS].text.VICIOUS_EYE_SHOP_DIALOG) - end -end) - -m:addOverride('xi.zones.Northern_San_dOria.npcs.Lucretia.onTrigger', function(player, npc) - local ID = zones[xi.zone.NORTHERN_SAN_DORIA] - - if xi.guildShops.onTrigger(player, npc) then - player:showText(npc, ID.text.LUCRETIA_SHOP_DIALOG) - end -end) - -m:addOverride('xi.zones.Mhaura.npcs.Mololo.onTrigger', function(player, npc) - if xi.guildShops.onTrigger(player, npc) then - player:showText(npc, zones[xi.zone.MHAURA].text.SMITHING_GUILD) - end -end) - -m:addOverride('xi.zones.Bastok_Markets.npcs.Teerth.onTrigger', function(player, npc) - if xi.guildShops.onTrigger(player, npc) then - player:showText(npc, zones[xi.zone.BASTOK_MARKETS].text.TEERTH_SHOP_DIALOG) - end -end) - -m:addOverride('xi.zones.Mhaura.npcs.Celestina.onTrigger', function(player, npc) - xi.guildShops.onTrigger(player, npc) -end) - -m:addOverride('xi.zones.Windurst_Waters.npcs.Chomo_Jinjahl.onTrigger', function(player, npc) - if xi.guildShops.onTrigger(player, npc) then - player:showText(npc, zones[xi.zone.WINDURST_WATERS].text.CHOMOJINJAHL_SHOP_DIALOG) - end -end) - -m:addOverride('xi.zones.Southern_San_dOria.npcs.Cletae.onTrigger', function(player, npc) - local ID = zones[xi.zone.SOUTHERN_SAN_DORIA] - - if xi.guildShops.onTrigger(player, npc) then - player:showText(npc, ID.text.CLETAE_DIALOG) - end -end) - -m:addOverride('xi.zones.Windurst_Woods.npcs.Meriri.onTrigger', function(player, npc) - if xi.guildShops.onTrigger(player, npc) then - player:showText(npc, zones[xi.zone.WINDURST_WOODS].text.MERIRI_DIALOG) - end -end) - -m:addOverride('xi.zones.Bastok_Mines.npcs.Odoba.onTrigger', function(player, npc) - if xi.guildShops.onTrigger(player, npc) then - player:showText(npc, zones[xi.zone.BASTOK_MINES].text.ODOBA_SHOP_DIALOG) - end -end) - -m:addOverride('xi.zones.Windurst_Woods.npcs.Retto-Marutto.onTrigger', function(player, npc) - if xi.guildShops.onTrigger(player, npc) then - player:showText(npc, zones[xi.zone.WINDURST_WOODS].text.RETTO_MARUTTO_DIALOG) - end -end) - -m:addOverride('xi.zones.Selbina.npcs.Gibol.onTrigger', function(player, npc) - if xi.guildShops.onTrigger(player, npc) then - player:showText(npc, zones[xi.zone.SELBINA].text.CLOTHCRAFT_SHOP_DIALOG) - end -end) - -m:addOverride('xi.zones.Northern_San_dOria.npcs.Cauzeriste.onTrigger', function(player, npc) - local ID = zones[xi.zone.NORTHERN_SAN_DORIA] - - if xi.guildShops.onTrigger(player, npc) then - player:showText(npc, ID.text.CAUZERISTE_SHOP_DIALOG) - end -end) - ------------------------------------ --- Neptune's Spire Tenshodo guild vendors --- Akamafula and Amalasanda were converted to normal shops on retail. --- This reverts them back to being guild shops, while also keeping the tenshodo membership anti-cheat --- that was already in place on their files. ------------------------------------ -m:addOverride('xi.zones.Lower_Jeuno.npcs.Akamafula.onTrigger', function(player, npc) - if not player:hasKeyItem(xi.ki.TENSHODO_MEMBERS_CARD) then - return -- Anti-Cheat. - end - - if xi.guildShops.onTrigger(player, npc) then - player:showText(npc, zones[xi.zone.LOWER_JEUNO].text.AKAMAFULA_SHOP_DIALOG) - end -end) - -m:addOverride('xi.zones.Lower_Jeuno.npcs.Amalasanda.onTrigger', function(player, npc) - if not player:hasKeyItem(xi.ki.TENSHODO_MEMBERS_CARD) then - return -- Anti-Cheat. - end - - if xi.guildShops.onTrigger(player, npc) then - player:showText(npc, zones[xi.zone.LOWER_JEUNO].text.AMALASANDA_SHOP_DIALOG) - end -end) - -return m diff --git a/modules/abyssea/lua/era_guild_shops.lua b/modules/abyssea/lua/era_guild_shops.lua deleted file mode 100644 index 914834cb109..00000000000 --- a/modules/abyssea/lua/era_guild_shops.lua +++ /dev/null @@ -1,716 +0,0 @@ ------------------------------------ --- Era Guild Shops --- Info from 2009 Guild Masters Guide Ver.101207, FFXI Lightning Brigade Ver.070613 and various archived https://wiki.ffo.jp/ pages ------------------------------------ -require('modules/module_utils') ------------------------------------ -local moduleName = 'era_guild_shops' - ------------------------------------ -local function getShop(shopName) - local shop = xi.data.guildShops[shopName] - assert(shop and shop.stock, ('Missing guild shop: %s'):format(shopName)) - return shop -end - -local function findStock(shopName, itemId) - for index, cfg in ipairs(getShop(shopName).stock) do - if cfg.id == itemId then - return cfg, index - end - end - - error(('Missing item %s in guild shop %s'):format(itemId, shopName)) -end - -local function patchStock(shopName, itemId, patch) - local cfg = findStock(shopName, itemId) - - for key, value in pairs(patch) do - cfg[key] = value - end -end - -local function removeStock(shopName, itemId) - local _, index = findStock(shopName, itemId) - table.remove(getShop(shopName).stock, index) -end - ------------------------------------ --- Smithing ------------------------------------ --- Amulya & Vicious Eye -xi.data.guildShops['Vicious_Eye'] = { sharedStock = 'Amulya' } -table.insert(xi.data.guildShops['Amulya'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 40 }) -patchStock('Amulya', xi.item.CHUNK_OF_TIN_ORE, { initial = 120 }) -- Tin Ore -patchStock('Amulya', xi.item.CHUNK_OF_IRON_ORE, { initial = 120 }) -- Iron Ore -patchStock('Amulya', xi.item.BRONZE_INGOT, { initial = 12 }) -- Bronze Ingot -patchStock('Amulya', xi.item.IRON_INGOT, { initial = 12 }) -- Iron Ingot -patchStock('Amulya', xi.item.BRONZE_SHEET, { initial = 12 }) -- Bronze Sheet -patchStock('Amulya', xi.item.IRON_SHEET, { initial = 12 }) -- Iron Sheet -table.insert(xi.data.guildShops['Amulya'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) -table.insert(xi.data.guildShops['Amulya'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) - --- Doggomehr & Lucretia -xi.data.guildShops['Lucretia'] = { sharedStock = 'Doggomehr' } -table.insert(xi.data.guildShops['Doggomehr'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) -patchStock('Doggomehr', xi.item.CHUNK_OF_TIN_ORE, { initial = 120 }) -- Tin Ore -patchStock('Doggomehr', xi.item.CHUNK_OF_IRON_ORE, { initial = 120 }) -- Iron Ore -patchStock('Doggomehr', xi.item.BRONZE_INGOT, { initial = 12 }) -- Bronze Ingot -patchStock('Doggomehr', xi.item.IRON_INGOT, { initial = 12 }) -- Iron Ingot -patchStock('Doggomehr', xi.item.BRONZE_SHEET, { initial = 12 }) -- Bronze Sheet -patchStock('Doggomehr', xi.item.IRON_SHEET, { initial = 12 }) -- Iron Sheet -table.insert(xi.data.guildShops['Doggomehr'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) -table.insert(xi.data.guildShops['Doggomehr'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) - --- Mololo & Kamilah -xi.data.guildShops['Mololo'] = { sharedStock = 'Kamilah' } -table.insert(xi.data.guildShops['Kamilah'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 20 }) -patchStock('Kamilah', xi.item.CHUNK_OF_TIN_ORE, { initial = 120 }) -- Tin Ore -patchStock('Kamilah', xi.item.CHUNK_OF_IRON_ORE, { initial = 120 }) -- Iron Ore - --- Ndego -patchStock('Ndego', xi.item.CHUNK_OF_COPPER_ORE, { initial = 120 }) -- Copper Ore -patchStock('Ndego', xi.item.CHUNK_OF_TIN_ORE, { initial = 120 }) -- Tin Ore -patchStock('Ndego', xi.item.CHUNK_OF_IRON_ORE, { initial = 120 }) -- Iron Ore -patchStock('Ndego', xi.item.BRONZE_INGOT, { initial = 12 }) -- Bronze Ingot -patchStock('Ndego', xi.item.IRON_INGOT, { initial = 12 }) -- Iron Ingot -patchStock('Ndego', xi.item.BRONZE_SHEET, { initial = 12 }) -- Bronze Sheet -patchStock('Ndego', xi.item.IRON_SHEET, { initial = 12 }) -- Iron Sheet -patchStock('Ndego', xi.item.MANDREL, { initial = 120 }) -- Mandrel -patchStock('Ndego', xi.item.WORKSHOP_ANVIL, { initial = 120 }) -- Workshop Anvil - ------------------------------------ --- Goldsmithing ------------------------------------ --- Bornahn -patchStock('Bornahn', xi.item.CHUNK_OF_COPPER_ORE, { initial = 120 }) -- Copper Ore -patchStock('Bornahn', xi.item.CHUNK_OF_SILVER_ORE, { initial = 120 }) -- Silver Ore -patchStock('Bornahn', xi.item.CHUNK_OF_MYTHRIL_ORE, { initial = 0 }) -- Mythril Ore -patchStock('Bornahn', xi.item.HANDFUL_OF_BRASS_SCALES, { initial = 1, restockRate = 1 }) -- Handful of Brass Scales -patchStock('Bornahn', xi.item.MYTHRIL_CHAIN, { initial = 1, restockRate = 1 }) -- Mythril Chain -patchStock('Bornahn', xi.item.RED_ROCK, { initial = 2 }) -- Red Rock -patchStock('Bornahn', xi.item.BLUE_ROCK, { initial = 2 }) -- Blue Rock -patchStock('Bornahn', xi.item.YELLOW_ROCK, { initial = 2 }) -- Yellow Rock -patchStock('Bornahn', xi.item.GREEN_ROCK, { initial = 2 }) -- Green Rock -patchStock('Bornahn', xi.item.TRANSLUCENT_ROCK, { initial = 2 }) -- Clear Rock -patchStock('Bornahn', xi.item.PURPLE_ROCK, { initial = 2 }) -- Purple Rock -patchStock('Bornahn', xi.item.BLACK_ROCK, { initial = 2 }) -- Black Rock -patchStock('Bornahn', xi.item.WHITE_ROCK, { initial = 2 }) -- White Stone -patchStock('Bornahn', xi.item.LAPIS_LAZULI, { initial = 6 }) -- Lapis Lazuli -patchStock('Bornahn', xi.item.LIGHT_OPAL, { initial = 6 }) -- Light Opal -patchStock('Bornahn', xi.item.ONYX, { initial = 6 }) -- Onyx -patchStock('Bornahn', xi.item.AMETHYST, { initial = 6 }) -- Amethyst -patchStock('Bornahn', xi.item.TOURMALINE, { initial = 6 }) -- Tourmaline -patchStock('Bornahn', xi.item.SARDONYX, { initial = 6 }) -- Sardonyx -patchStock('Bornahn', xi.item.CLEAR_TOPAZ, { initial = 6 }) -- Clear Topaz -patchStock('Bornahn', xi.item.AMBER_STONE, { initial = 6 }) -- Amber -patchStock('Bornahn', xi.item.WORKSHOP_ANVIL, { initial = 0, restockRate = 0 }) -- Workshop Anvil - --- Teerth & Visala -xi.data.guildShops['Teerth'] = { sharedStock = 'Visala' } -table.insert(xi.data.guildShops['Visala'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) -patchStock('Visala', xi.item.CHUNK_OF_SILVER_ORE, { initial = 120 }) -- Silver Ore -patchStock('Visala', xi.item.CHUNK_OF_MYTHRIL_ORE, { initial = 0 }) -- Mythril Ore -patchStock('Visala', xi.item.HANDFUL_OF_BRASS_SCALES, { initial = 1, restockRate = 1 }) -- Handful of Brass Scales -patchStock('Visala', xi.item.MYTHRIL_CHAIN, { initial = 1 }) -- Mythril Chain -patchStock('Visala', xi.item.RED_ROCK, { initial = 2 }) -- Red Rock -patchStock('Visala', xi.item.BLUE_ROCK, { initial = 2 }) -- Blue Rock -patchStock('Visala', xi.item.YELLOW_ROCK, { initial = 2 }) -- Yellow Rock -patchStock('Visala', xi.item.GREEN_ROCK, { initial = 2 }) -- Green Rock -patchStock('Visala', xi.item.TRANSLUCENT_ROCK, { initial = 2 }) -- Clear Rock -patchStock('Visala', xi.item.PURPLE_ROCK, { initial = 2 }) -- Purple Rock -patchStock('Visala', xi.item.BLACK_ROCK, { initial = 2 }) -- Black Rock -patchStock('Visala', xi.item.WHITE_ROCK, { initial = 2 }) -- White Stone -patchStock('Visala', xi.item.LAPIS_LAZULI, { initial = 6 }) -- Lapis Lazuli -patchStock('Visala', xi.item.LIGHT_OPAL, { initial = 6 }) -- Light Opal -patchStock('Visala', xi.item.ONYX, { initial = 6 }) -- Onyx -patchStock('Visala', xi.item.AMETHYST, { initial = 6 }) -- Amethyst -patchStock('Visala', xi.item.TOURMALINE, { initial = 6 }) -- Tourmaline -patchStock('Visala', xi.item.SARDONYX, { initial = 6 }) -- Sardonyx -patchStock('Visala', xi.item.CLEAR_TOPAZ, { initial = 6 }) -- Clear Topaz -patchStock('Visala', xi.item.AMBER_STONE, { initial = 6 }) -- Amber -patchStock('Visala', xi.item.SLAB_OF_TUFA, { initial = 120 }) -- Tufa - --- Yabby Tanmikey & Celestina -xi.data.guildShops['Celestina'] = { sharedStock = 'Yabby_Tanmikey' } -table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, 1, { id = xi.item.CHUNK_OF_COPPER_ORE, initial = 90, maxStock = 240, targetStock = 180, buyMax = 133, restockRate = 15 }) -- buyMax Mhaura-specific (20g vs 9g at Bastok/Al Zahbi) -patchStock('Yabby_Tanmikey', xi.item.CHUNK_OF_SILVER_ORE, { initial = 70, buyMax = 4700 }) -- Silver Ore, Mhaura-specific price curve (705g vs 315g at Bastok/Al Zahbi) -patchStock('Yabby_Tanmikey', xi.item.RED_ROCK, { initial = 2 }) -- Red Rock -patchStock('Yabby_Tanmikey', xi.item.BLUE_ROCK, { initial = 2 }) -- Blue Rock -patchStock('Yabby_Tanmikey', xi.item.YELLOW_ROCK, { initial = 2 }) -- Yellow Rock -patchStock('Yabby_Tanmikey', xi.item.GREEN_ROCK, { initial = 2 }) -- Green Rock -patchStock('Yabby_Tanmikey', xi.item.TRANSLUCENT_ROCK, { initial = 2 }) -- Clear Rock -patchStock('Yabby_Tanmikey', xi.item.PURPLE_ROCK, { initial = 2 }) -- Purple Rock -patchStock('Yabby_Tanmikey', xi.item.BLACK_ROCK, { initial = 2 }) -- Black Rock -patchStock('Yabby_Tanmikey', xi.item.WHITE_ROCK, { initial = 2 }) -- White Stone -table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, { id = xi.item.MANDREL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) -table.insert(xi.data.guildShops['Yabby_Tanmikey'].stock, { id = xi.item.WORKSHOP_ANVIL, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) - ------------------------------------ --- Woodworking ------------------------------------ --- Cauzeriste & Chaupire -xi.data.guildShops['Cauzeriste'] = { sharedStock = 'Chaupire' } -table.insert(xi.data.guildShops['Chaupire'].stock, 1, { id = xi.item.ARROWWOOD_LOG, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 60 }) -table.insert(xi.data.guildShops['Chaupire'].stock, 2, { id = xi.item.LAUAN_LOG, initial = 120, maxStock = 240, targetStock = 144, buyMax = 180, restockRate = 12 }) -table.insert(xi.data.guildShops['Chaupire'].stock, 3, { id = xi.item.MAPLE_LOG, initial = 120, maxStock = 240, targetStock = 144, buyMax = 300, restockRate = 12 }) -patchStock('Chaupire', xi.item.ASH_LOG, { initial = 120 }) -- Ash Log -patchStock('Chaupire', xi.item.WILLOW_LOG, { initial = 120 }) -- Willow Log -patchStock('Chaupire', xi.item.HOLLY_LOG, { initial = 90 }) -- Holly Log -patchStock('Chaupire', xi.item.YEW_LOG, { initial = 90 }) -- Yew Log -patchStock('Chaupire', xi.item.ELM_LOG, { initial = 60 }) -- Elm Log -patchStock('Chaupire', xi.item.WALNUT_LOG, { initial = 60 }) -- Walnut Log -patchStock('Chaupire', xi.item.CHESTNUT_LOG, { initial = 60 }) -- Chestnut Log -patchStock('Chaupire', xi.item.OAK_LOG, { initial = 30 }) -- Oak Log -patchStock('Chaupire', xi.item.ROSEWOOD_LOG, { initial = 30 }) -- Rosewood Log -patchStock('Chaupire', xi.item.MAHOGANY_LOG, { initial = 10 }) -- Mahogany Log -patchStock('Chaupire', xi.item.EBONY_LOG, { initial = 10 }) -- Ebony Log -patchStock('Chaupire', xi.item.BAMBOO_STICK, { initial = 12 }) -- Bamboo Stick -patchStock('Chaupire', xi.item.PIECE_OF_ARROWWOOD_LUMBER, { initial = 12 }) -- Arrowwood Lumber -patchStock('Chaupire', xi.item.PIECE_OF_LAUAN_LUMBER, { initial = 12 }) -- Lauan Lumber -patchStock('Chaupire', xi.item.PIECE_OF_MAPLE_LUMBER, { initial = 12 }) -- Maple Lumber -patchStock('Chaupire', xi.item.PIECE_OF_ASH_LUMBER, { initial = 12 }) -- Ash Lumber -patchStock('Chaupire', xi.item.PIECE_OF_WILLOW_LUMBER, { initial = 12 }) -- Willow Lumber -patchStock('Chaupire', xi.item.PIECE_OF_HOLLY_LUMBER, { initial = 9 }) -- Holly Lumber -patchStock('Chaupire', xi.item.PIECE_OF_YEW_LUMBER, { initial = 9 }) -- Yew Lumber -patchStock('Chaupire', xi.item.PIECE_OF_ELM_LUMBER, { initial = 12, restockRate = 12 }) -- Elm Lumber -patchStock('Chaupire', xi.item.PIECE_OF_CHESTNUT_LUMBER, { initial = 6 }) -- Chestnut Lumber -patchStock('Chaupire', xi.item.PIECE_OF_OAK_LUMBER, { initial = 6 }) -- Oak Lumber - --- Beugungel -xi.data.guildShops['Beugungel'].hours = { 5, 21 } -- close time corrected from base 22 -patchStock('Beugungel', xi.item.SPOOL_OF_BUNDLING_TWINE, { initial = 120 }) -- Bundling Twine -patchStock('Beugungel', xi.item.HATCHET, { initial = 120 }) -- Hatchet -patchStock('Beugungel', xi.item.ARROWWOOD_LOG, { initial = 120 }) -- Arrowwood Log -patchStock('Beugungel', xi.item.ASH_LOG, { initial = 120, buyMax = 500 }) -- Ash Log -patchStock('Beugungel', xi.item.YEW_LOG, { initial = 100 }) -- Yew Log -patchStock('Beugungel', xi.item.WILLOW_LOG, { initial = 100 }) -- Willow Log -patchStock('Beugungel', xi.item.WALNUT_LOG, { initial = 120, restockRate = 50 }) -- Walnut Log - --- Dehbi_Moshal -patchStock('Dehbi_Moshal', xi.item.ARROWWOOD_LOG, { initial = 120 }) -- Arrowwood Log -patchStock('Dehbi_Moshal', xi.item.LAUAN_LOG, { initial = 120 }) -- Lauan Log -patchStock('Dehbi_Moshal', xi.item.MAPLE_LOG, { initial = 120 }) -- Maple Log -patchStock('Dehbi_Moshal', xi.item.ASH_LOG, { initial = 100, buyMax = 400, restockRate = 50 }) -- Ash Log -patchStock('Dehbi_Moshal', xi.item.WILLOW_LOG, { initial = 120, restockRate = 20 }) -- Willow Log -patchStock('Dehbi_Moshal', xi.item.HOLLY_LOG, { initial = 90 }) -- Holly Log -patchStock('Dehbi_Moshal', xi.item.YEW_LOG, { initial = 120, restockRate = 20 }) -- Yew Log -patchStock('Dehbi_Moshal', xi.item.ELM_LOG, { initial = 60 }) -- Elm Log -patchStock('Dehbi_Moshal', xi.item.WALNUT_LOG, { initial = 60 }) -- Walnut Log -patchStock('Dehbi_Moshal', xi.item.CHESTNUT_LOG, { initial = 60 }) -- Chestnut Log -patchStock('Dehbi_Moshal', xi.item.OAK_LOG, { initial = 30 }) -- Oak Log -patchStock('Dehbi_Moshal', xi.item.ROSEWOOD_LOG, { initial = 30 }) -- Rosewood Log -patchStock('Dehbi_Moshal', xi.item.MAHOGANY_LOG, { initial = 10 }) -- Mahogany Log -patchStock('Dehbi_Moshal', xi.item.EBONY_LOG, { initial = 10 }) -- Ebony Log -patchStock('Dehbi_Moshal', xi.item.BAMBOO_STICK, { initial = 12 }) -- Bamboo Stick -patchStock('Dehbi_Moshal', xi.item.PIECE_OF_ARROWWOOD_LUMBER, { initial = 12 }) -- Arrowwood Lumber -patchStock('Dehbi_Moshal', xi.item.PIECE_OF_LAUAN_LUMBER, { initial = 12 }) -- Lauan Lumber -patchStock('Dehbi_Moshal', xi.item.PIECE_OF_MAPLE_LUMBER, { initial = 12 }) -- Maple Lumber -patchStock('Dehbi_Moshal', xi.item.PIECE_OF_ASH_LUMBER, { initial = 12 }) -- Ash Lumber -patchStock('Dehbi_Moshal', xi.item.PIECE_OF_WILLOW_LUMBER, { initial = 12 }) -- Willow Lumber -patchStock('Dehbi_Moshal', xi.item.PIECE_OF_HOLLY_LUMBER, { initial = 9 }) -- Holly Lumber -patchStock('Dehbi_Moshal', xi.item.PIECE_OF_YEW_LUMBER, { initial = 9 }) -- Yew Lumber -patchStock('Dehbi_Moshal', xi.item.PIECE_OF_ELM_LUMBER, { initial = 12, restockRate = 12 }) -- Elm Lumber -patchStock('Dehbi_Moshal', xi.item.PIECE_OF_CHESTNUT_LUMBER, { initial = 6 }) -- Chestnut Lumber -patchStock('Dehbi_Moshal', xi.item.PIECE_OF_OAK_LUMBER, { initial = 6 }) -- Oak Lumber - ------------------------------------ --- Clothcraft ------------------------------------ --- Kuzah Hpirohpon & Meriri -xi.data.guildShops['Meriri'] = { sharedStock = 'Kuzah_Hpirohpon' } -table.insert(xi.data.guildShops['Kuzah_Hpirohpon'].stock, 1, { id = xi.item.CLUMP_OF_MOKO_GRASS, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 60 }) -patchStock('Kuzah_Hpirohpon', xi.item.BALL_OF_SARUTA_COTTON, { initial = 0, buyMax = 214 }) -- Saruta Cotton -patchStock('Kuzah_Hpirohpon', xi.item.FLAX_FLOWER, { initial = 120 }) -- Flax -patchStock('Kuzah_Hpirohpon', xi.item.CLUMP_OF_SHEEP_WOOL, { initial = 120 }) -- Sheep Wool -patchStock('Kuzah_Hpirohpon', xi.item.PIECE_OF_CRAWLER_COCOON, { initial = 40 }) -- Crawler Cocoon -patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_GRASS_THREAD, { initial = 120 }) -- Grass Thread -patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_COTTON_THREAD, { initial = 120, buyMax = 780 }) -- Cotton Thread -patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_LINEN_THREAD, { initial = 90 }) -- Linen Thread -patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_WOOL_THREAD, { initial = 60 }) -- Wool Thread -patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_SILK_THREAD, { initial = 6, buyMax = 2375 }) -- Silk Thread -patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_SILVER_THREAD, { initial = 4, buyMax = 1875 }) -- Silver Thread -patchStock('Kuzah_Hpirohpon', xi.item.SPOOL_OF_GOLD_THREAD, { initial = 3 }) -- Gold Thread -patchStock('Kuzah_Hpirohpon', xi.item.SQUARE_OF_GRASS_CLOTH, { initial = 12 }) -- Grass Cloth -patchStock('Kuzah_Hpirohpon', xi.item.SQUARE_OF_COTTON_CLOTH, { initial = 12 }) -- Cotton Cloth -table.insert(xi.data.guildShops['Kuzah_Hpirohpon'].stock, 78, { id = xi.item.SPINDLE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) - --- Taten-Bilten -patchStock('Taten-Bilten', xi.item.SPOOL_OF_SILK_THREAD, { initial = 6, buyMax = 2944 }) -- Silk Thread -patchStock('Taten-Bilten', xi.item.SPOOL_OF_GRASS_THREAD, { initial = 120 }) -- Grass Thread -patchStock('Taten-Bilten', xi.item.SPOOL_OF_COTTON_THREAD, { initial = 120 }) -- Cotton Thread -patchStock('Taten-Bilten', xi.item.SPOOL_OF_LINEN_THREAD, { initial = 90 }) -- Linen Thread -patchStock('Taten-Bilten', xi.item.SPOOL_OF_SILVER_THREAD, { initial = 4, buyMax = 4480 }) -- Silver Thread -patchStock('Taten-Bilten', xi.item.SPOOL_OF_GOLD_THREAD, { initial = 3 }) -- Gold Thread -patchStock('Taten-Bilten', xi.item.SQUARE_OF_GRASS_CLOTH, { initial = 12 }) -- Grass Cloth -patchStock('Taten-Bilten', xi.item.SQUARE_OF_COTTON_CLOTH, { initial = 12 }) -- Cotton Cloth -patchStock('Taten-Bilten', xi.item.CLUMP_OF_SHEEP_WOOL, { initial = 120 }) -- Sheep Wool -patchStock('Taten-Bilten', xi.item.CLUMP_OF_MOKO_GRASS, { initial = 120 }) -- Moko Grass -patchStock('Taten-Bilten', xi.item.BALL_OF_SARUTA_COTTON, { initial = 0, buyMax = 84 }) -- Saruta Cotton -patchStock('Taten-Bilten', xi.item.FLAX_FLOWER, { initial = 120 }) -- Flax -patchStock('Taten-Bilten', xi.item.PIECE_OF_CRAWLER_COCOON, { initial = 40 }) -- Crawler Cocoon -patchStock('Taten-Bilten', xi.item.SPINDLE, { initial = 120 }) -- Spindle -patchStock('Taten-Bilten', xi.item.SPOOL_OF_ZEPHYR_THREAD, { initial = 120 }) -- Spool of Zephyr Thread -patchStock('Taten-Bilten', xi.item.WAMOURA_COCOON, { initial = 60 }) -- Wamoura Cocoon -patchStock('Taten-Bilten', xi.item.SPOOL_OF_KARAKUL_THREAD, { initial = 60 }) -- Karakul Thread -table.insert(xi.data.guildShops['Taten-Bilten'].stock, { id = xi.item.SPOOL_OF_WOOL_THREAD, initial = 60, maxStock = 120, targetStock = 90, buyMax = 18000, restockRate = 3 }) - --- Tilala & Gibol -xi.data.guildShops['Gibol'] = { sharedStock = 'Tilala' } -table.insert(xi.data.guildShops['Tilala'].stock, 1, { id = xi.item.CLUMP_OF_MOKO_GRASS, initial = 120, maxStock = 240, targetStock = 180, buyMax = 100, restockRate = 40 }) -patchStock('Tilala', xi.item.FLAX_FLOWER, { initial = 60 }) -- Flax -patchStock('Tilala', xi.item.CLUMP_OF_SHEEP_WOOL, { initial = 55 }) -- Sheep Wool -patchStock('Tilala', xi.item.SPOOL_OF_GRASS_THREAD, { initial = 90 }) -- Grass Thread -patchStock('Tilala', xi.item.SPOOL_OF_COTTON_THREAD, { initial = 90, restockRate = 30 }) -- Cotton Thread -patchStock('Tilala', xi.item.SPOOL_OF_LINEN_THREAD, { initial = 90, buyMax = 4524 }) -- Linen Thread -patchStock('Tilala', xi.item.SPOOL_OF_WOOL_THREAD, { initial = 60 }) -- Wool Thread -patchStock('Tilala', xi.item.SPOOL_OF_SILK_THREAD, { initial = 12, buyMax = 699 }) -- Silk Thread -patchStock('Tilala', xi.item.SPOOL_OF_SILVER_THREAD, { initial = 6 }) -- Silver Thread -patchStock('Tilala', xi.item.SPOOL_OF_GOLD_THREAD, { initial = 3 }) -- Gold Thread - ------------------------------------ --- Leatherworking ------------------------------------ --- Cletae & Kueh Igunahmori -xi.data.guildShops['Cletae'] = { sharedStock = 'Kueh_Igunahmori' } -table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, 1, { id = xi.item.RABBIT_HIDE, initial = 12, maxStock = 160, targetStock = 120, buyMax = 400, restockRate = 12 }) -- targetStock assumed -table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, 2, { id = xi.item.SHEEPSKIN, initial = 12, maxStock = 160, targetStock = 120, buyMax = 506, restockRate = 12 }) -- targetStock assumed -patchStock('Kueh_Igunahmori', xi.item.WOLF_HIDE, { initial = 0 }) -- Wolf Hide -patchStock('Kueh_Igunahmori', xi.item.RAM_SKIN, { initial = 0 }) -- Ram Skin -patchStock('Kueh_Igunahmori', xi.item.TIGER_HIDE, { initial = 0 }) -- Tiger Hide -patchStock('Kueh_Igunahmori', xi.item.COEURL_HIDE, { initial = 0 }) -- Coeurl Hide -patchStock('Kueh_Igunahmori', xi.item.RAPTOR_SKIN, { initial = 30 }) -- Raptor Skin -patchStock('Kueh_Igunahmori', xi.item.COCKATRICE_SKIN, { initial = 30 }) -- Cockatrice Skin -patchStock('Kueh_Igunahmori', xi.item.WILLOW_LOG, { initial = 120 }) -- Willow Log -patchStock('Kueh_Igunahmori', xi.item.FLASK_OF_DISTILLED_WATER, { initial = 120 }) -- Distilled Water -table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, { id = xi.item.TANNING_VAT, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) - ------------------------------------ --- Bonecraft ------------------------------------ --- Retto-Marutto & Shih Tayuun -xi.data.guildShops['Retto-Marutto'] = { sharedStock = 'Shih_Tayuun' } -table.insert(xi.data.guildShops['Shih_Tayuun'].stock, 1, { id = xi.item.BONE_CHIP, initial = 12, maxStock = 240, targetStock = 180, buyMax = 380, restockRate = 12 }) -patchStock('Shih_Tayuun', xi.item.SHEEP_TOOTH, { initial = 12 }) -- Sheep Tooth -patchStock('Shih_Tayuun', xi.item.TURTLE_SHELL, { initial = 4 }) -- Turtle Shell -patchStock('Shih_Tayuun', xi.item.SEASHELL, { initial = 120 }) -- Seashell -patchStock('Shih_Tayuun', xi.item.CHICKEN_BONE, { initial = 7 }) -- Chicken Bone -table.insert(xi.data.guildShops['Shih_Tayuun'].stock, 14, { id = xi.item.HANDFUL_OF_FISH_SCALES, initial = 30, maxStock = 240, targetStock = 180, buyMax = 480, restockRate = 15 }) -patchStock('Shih_Tayuun', xi.item.BONE_ARROW, { initial = 0 }) -- Bone Arrow -table.insert(xi.data.guildShops['Shih_Tayuun'].stock, { id = xi.item.SHAGREEN_FILE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) - ------------------------------------ --- Alchemy ------------------------------------ --- Maymunah & Odoba -xi.data.guildShops['Odoba'] = { sharedStock = 'Maymunah' } -table.insert(xi.data.guildShops['Maymunah'].stock, 1, { id = xi.item.VIAL_OF_MERCURY, initial = 8, maxStock = 60, targetStock = 45, buyMax = 7500, restockRate = 1 }) -patchStock('Maymunah', xi.item.WIJNRUIT, { initial = 60 }) -- Wijnruit -patchStock('Maymunah', xi.item.POT_OF_CRYING_MUSTARD, { initial = 60 }) -- Crying Mustard -patchStock('Maymunah', xi.item.PINCH_OF_DRIED_MARJORAM, { initial = 60 }) -- Dried Marjoram -patchStock('Maymunah', xi.item.CHAMOMILE, { initial = 60 }) -- Chamomile -patchStock('Maymunah', xi.item.COBALT_JELLYFISH, { initial = 12 }) -- Cobalt Jelly -patchStock('Maymunah', xi.item.LOOP_OF_GLASS_FIBER, { initial = 30 }) -- Glass Fiber -patchStock('Maymunah', xi.item.BATTERY, { initial = 120 }) -- Battery -patchStock('Maymunah', xi.item.HYDRO_PUMP, { initial = 120 }) -- Hydro Pump -patchStock('Maymunah', xi.item.WIND_FAN, { initial = 120 }) -- Wind Fan -table.insert(xi.data.guildShops['Maymunah'].stock, { id = xi.item.TRITURATOR, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) - --- Wahraga & Gathweeda -patchStock('Wahraga', xi.item.VIAL_OF_MERCURY, { initial = 8 }) -- Mercury -patchStock('Wahraga', xi.item.MALBORO_VINE, { initial = 8 }) -- Morbol Vine -patchStock('Wahraga', xi.item.PINCH_OF_SULFUR, { initial = 40 }) -- Sulfur -patchStock('Wahraga', xi.item.WIJNRUIT, { initial = 60 }) -- Wijnruit -patchStock('Wahraga', xi.item.POT_OF_CRYING_MUSTARD, { initial = 60 }) -- Crying Mustard -patchStock('Wahraga', xi.item.PINCH_OF_DRIED_MARJORAM, { initial = 60 }) -- Dried Marjoram -patchStock('Wahraga', xi.item.CHAMOMILE, { initial = 60 }) -- Chamomile -patchStock('Wahraga', xi.item.SPRIG_OF_SAGE, { initial = 120 }) -- Sage -patchStock('Wahraga', xi.item.COBALT_JELLYFISH, { initial = 12 }) -- Cobalt Jelly -patchStock('Wahraga', xi.item.LOOP_OF_GLASS_FIBER, { initial = 30 }) -- Glass Fiber -patchStock('Wahraga', xi.item.TRITURATOR, { initial = 120 }) -- Triturator -patchStock('Wahraga', xi.item.BUNDLE_OF_HOMUNCULUS_NERVES, { initial = 120 }) -- Homunculus Nerves -patchStock('Wahraga', xi.item.SHEET_OF_POLYFLAN_PAPER, { initial = 120 }) -- Polyflan Paper -patchStock('Wahraga', xi.item.BATTERY, { initial = 120 }) -- Battery -patchStock('Wahraga', xi.item.HYDRO_PUMP, { initial = 120 }) -- Hydro Pump -patchStock('Wahraga', xi.item.WIND_FAN, { initial = 120 }) -- Wind Fan -patchStock('Wahraga', xi.item.PINCH_OF_MINIUM, { initial = 12 }) -- Minium - ------------------------------------ --- Cooking ------------------------------------ --- Chomo Jinhahl & Kopopo -xi.data.guildShops['Chomo_Jinjahl'] = { sharedStock = 'Kopopo' } -table.insert(xi.data.guildShops['Kopopo'].stock, 1, { id = xi.item.CHUNK_OF_ROCK_SALT, initial = 120, maxStock = 240, targetStock = 180, buyMax = 93, restockRate = 12 }) -- targetStock assumed -table.insert(xi.data.guildShops['Kopopo'].stock, 42, { id = xi.item.SARUTA_ORANGE, initial = 60, maxStock = 240, targetStock = 180, buyMax = 300, restockRate = 2 }) -- targetStock assumed -table.insert(xi.data.guildShops['Kopopo'].stock, 47, { id = xi.item.BUNCH_OF_SAN_DORIAN_GRAPES, initial = 12, maxStock = 240, targetStock = 180, buyMax = 380, restockRate = 2 }) -- targetStock assumed -patchStock('Kopopo', xi.item.BAG_OF_RYE_FLOUR, { initial = 120 }) -- Rye Flour -patchStock('Kopopo', xi.item.BAG_OF_SAN_DORIAN_FLOUR, { initial = 120 }) -- San d'Orian Flour -patchStock('Kopopo', xi.item.BUNCH_OF_KAZHAM_PEPPERS, { initial = 120 }) -- Kazham Peppers -patchStock('Kopopo', xi.item.BULB_OF_MHAURA_GARLIC, { initial = 120 }) -- Mhaura Garlic -patchStock('Kopopo', xi.item.JUG_OF_SELBINA_MILK, { initial = 120 }) -- Selbina Milk -patchStock('Kopopo', xi.item.PIECE_OF_PIE_DOUGH, { initial = 6 }) -- Pie Dough -patchStock('Kopopo', xi.item.POD_OF_BLUE_PEAS, { initial = 120 }) -- Blue Peas -patchStock('Kopopo', xi.item.POPOTO, { initial = 120 }) -- Poteto (Popoto) -patchStock('Kopopo', xi.item.BOX_OF_TARUTARU_RICE, { initial = 120 }) -- Tarutaru Rice -patchStock('Kopopo', xi.item.POT_OF_CRYING_MUSTARD, { initial = 120 }) -- Crying Mustard -patchStock('Kopopo', xi.item.PINCH_OF_DRIED_MARJORAM, { initial = 120 }) -- Dried Marjoram -patchStock('Kopopo', xi.item.BOTTLE_OF_APPLE_VINEGAR, { initial = 0 }) -- Apple Vinegar -patchStock('Kopopo', xi.item.STICK_OF_CINNAMON, { initial = 120 }) -- Cinnamon -patchStock('Kopopo', xi.item.EAR_OF_MILLIONCORN, { initial = 120 }) -- Millioncorn -patchStock('Kopopo', xi.item.BIRD_EGG, { initial = 60 }) -- Bird Egg -patchStock('Kopopo', xi.item.FAERIE_APPLE, { initial = 60 }) -- Faerie Apple -patchStock('Kopopo', xi.item.LA_THEINE_CABBAGE, { initial = 60 }) -- La Theine Cabbage -patchStock('Kopopo', xi.item.CLUMP_OF_BEAUGREENS, { initial = 60 }) -- Beaucedine Cabbage -patchStock('Kopopo', xi.item.CLUMP_OF_BATAGREENS, { initial = 0 }) -- Batallia Cabbage -patchStock('Kopopo', xi.item.SMOKED_SALMON, { initial = 0 }) -- Smoked Salmon -patchStock('Kopopo', xi.item.SAN_DORIAN_CARROT, { initial = 60 }) -- San d'Orian Carrot -patchStock('Kopopo', xi.item.MITHRAN_TOMATO, { initial = 60 }) -- Mithran Tomato -patchStock('Kopopo', xi.item.THUNDERMELON, { initial = 12 }) -- Thundermelon -patchStock('Kopopo', xi.item.KAZHAM_PINEAPPLE, { initial = 12 }) -- Kazham Pineapple -patchStock('Kopopo', xi.item.WATERMELON, { initial = 12 }) -- Watermelon -patchStock('Kopopo', xi.item.LOAF_OF_WHITE_BREAD, { initial = 4 }) -- White Bread -patchStock('Kopopo', xi.item.LOAF_OF_BLACK_BREAD, { initial = 8 }) -- Black Bread -patchStock('Kopopo', xi.item.ONZ_OF_TURMERIC, { initial = 30 }) -- Turmeric -patchStock('Kopopo', xi.item.ONZ_OF_CORIANDER, { initial = 30 }) -- Coriander -patchStock('Kopopo', xi.item.SPRIG_OF_HOLY_BASIL, { initial = 15 }) -- Holy Basil -patchStock('Kopopo', xi.item.BAG_OF_SEMOLINA, { initial = 60 }) -- Semolina -patchStock('Kopopo', xi.item.JAR_OF_FISH_STOCK, { initial = 50 }) -- Fish Stock -patchStock('Kopopo', xi.item.SAUCER_OF_SOY_STOCK, { initial = 50 }) -- Soy Stock - ------------------------------------ --- Fishing ------------------------------------ --- Babubu -patchStock('Babubu', xi.item.LITTLE_WORM, { initial = 120 }) -- Little Worm -patchStock('Babubu', xi.item.LUGWORM, { initial = 120 }) -- Lugworm -patchStock('Babubu', xi.item.BALL_OF_SARDINE_PASTE, { initial = 120 }) -- Sardine Ball -patchStock('Babubu', xi.item.BALL_OF_CRAYFISH_PASTE, { initial = 120 }) -- Shrimp Ball -patchStock('Babubu', xi.item.BALL_OF_INSECT_PASTE, { initial = 120 }) -- Bug Ball -patchStock('Babubu', xi.item.BALL_OF_TROUT_PASTE, { initial = 120 }) -- Trout Ball -patchStock('Babubu', xi.item.MEATBALL, { initial = 120 }) -- Meatball -patchStock('Babubu', xi.item.SLICE_OF_SARDINE, { initial = 120 }) -- Slice of Sardine -patchStock('Babubu', xi.item.SLICE_OF_COD, { initial = 120 }) -- Slice of Cod -patchStock('Babubu', xi.item.PEELED_LOBSTER, { initial = 120 }) -- Peeled Lobster -patchStock('Babubu', xi.item.SLICE_OF_BLUETAIL, { initial = 120 }) -- Slice of Bluetail -patchStock('Babubu', xi.item.PEELED_CRAYFISH, { initial = 120 }) -- Peeled Crayfish -patchStock('Babubu', xi.item.SLICE_OF_MOAT_CARP, { initial = 120 }) -- Slice of Moat Carp -patchStock('Babubu', xi.item.FLY_LURE, { initial = 120 }) -- Fly Lure -patchStock('Babubu', xi.item.MINNOW, { initial = 120 }) -- Minnow -patchStock('Babubu', xi.item.WORM_LURE, { initial = 120 }) -- Worm Lure -patchStock('Babubu', xi.item.SABIKI_RIG, { initial = 120 }) -- Sabiki Rig -patchStock('Babubu', xi.item.WILLOW_FISHING_ROD, { initial = 90 }) -- Willow Fishing Rod -patchStock('Babubu', xi.item.YEW_FISHING_ROD, { initial = 90 }) -- Yew Fishing Rod -patchStock('Babubu', xi.item.BAMBOO_FISHING_ROD, { initial = 90 }) -- Bamboo Fishing Rod -patchStock('Babubu', xi.item.FASTWATER_FISHING_ROD, { initial = 60 }) -- Fastwater Rod -patchStock('Babubu', xi.item.TARUTARU_FISHING_ROD, { initial = 30 }) -- Tarutaru Fishing Rod -patchStock('Babubu', xi.item.MITHRAN_FISHING_ROD, { initial = 30 }) -- Mithran Fishing Rod -patchStock('Babubu', xi.item.SINGLE_HOOK_FISHING_ROD, { initial = 30 }) -- Single Hook Rod - --- Cehn Teyohngo -patchStock('Cehn_Teyohngo', xi.item.SABIKI_RIG, { initial = 10 }) -- Sabiki Rig -patchStock('Cehn_Teyohngo', xi.item.MINNOW, { initial = 10 }) -- Minnow -patchStock('Cehn_Teyohngo', xi.item.TARUTARU_FISHING_ROD, { initial = 120 }) -- Tarutaru Fishing Rod - --- Graegham & Mendoline -table.insert(xi.data.guildShops['Graegham'].stock, 1, { id = xi.item.LITTLE_WORM, initial = 120, maxStock = 240, targetStock = 180, buyMax = 20, restockRate = 60 }) -table.insert(xi.data.guildShops['Graegham'].stock, 2, { id = xi.item.LUGWORM, initial = 120, maxStock = 240, targetStock = 180, buyMax = 60, restockRate = 60 }) -table.insert(xi.data.guildShops['Graegham'].stock, 3, { id = xi.item.BALL_OF_SARDINE_PASTE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 350, restockRate = 12 }) -table.insert(xi.data.guildShops['Graegham'].stock, 4, { id = xi.item.BALL_OF_CRAYFISH_PASTE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 350, restockRate = 12 }) -table.insert(xi.data.guildShops['Graegham'].stock, 5, { id = xi.item.SLICE_OF_COD, initial = 120, maxStock = 240, targetStock = 180, buyMax = 1425, restockRate = 12 }) -table.insert(xi.data.guildShops['Graegham'].stock, 6, { id = xi.item.FLY_LURE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 3600, restockRate = 12 }) -table.insert(xi.data.guildShops['Graegham'].stock, 7, { id = xi.item.MINNOW, initial = 120, maxStock = 240, targetStock = 180, buyMax = 2025, restockRate = 12 }) -patchStock('Graegham', xi.item.SABIKI_RIG, { initial = 120, restockRate = 12 }) -- Sabiki Rig -table.insert(xi.data.guildShops['Graegham'].stock, 9, { id = xi.item.WILLOW_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 360, restockRate = 9 }) -table.insert(xi.data.guildShops['Graegham'].stock, 10, { id = xi.item.YEW_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 1180, restockRate = 9 }) -table.insert(xi.data.guildShops['Graegham'].stock, 11, { id = xi.item.BAMBOO_FISHING_ROD, initial = 90, maxStock = 180, targetStock = 160, buyMax = 2700, restockRate = 9 }) -patchStock('Graegham', xi.item.TARUTARU_FISHING_ROD, { initial = 30, restockRate = 15 }) -- Tarutaru Fishing Rod -table.insert(xi.data.guildShops['Graegham'].stock, 13, { id = xi.item.MITHRAN_FISHING_ROD, initial = 30, maxStock = 60, targetStock = 45, buyMax = 171600, restockRate = 5 }) -patchStock('Graegham', xi.item.CLOTHESPOLE, { initial = 30, restockRate = 15 }) -- Clothespole -patchStock('Graegham', xi.item.FASTWATER_FISHING_ROD, { initial = 30, restockRate = 15 }) -- Fastwater Rod -patchStock('Graegham', xi.item.SINGLE_HOOK_FISHING_ROD, { initial = 30, restockRate = 3 }) -- Single Hook Rod -patchStock('Graegham', xi.item.BASTORE_SARDINE_1, { restockRate = 0 }) -- Bastore Sardine -patchStock('Graegham', xi.item.DARK_BASS_1, { restockRate = 0 }) -- Dark Bass -patchStock('Graegham', xi.item.RED_TERRAPIN, { restockRate = 0 }) -- Red Terrapin -patchStock('Graegham', xi.item.SILVER_SHARK, { restockRate = 0 }) -- Silver Shark -patchStock('Graegham', xi.item.BLACK_SOLE, { restockRate = 0 }) -- Black Sole -patchStock('Graegham', xi.item.GREEDIE, { restockRate = 0 }) -- Greedie - --- Jidwahn -patchStock('Jidwahn', xi.item.SABIKI_RIG, { initial = 10 }) -- Sabiki Rig -patchStock('Jidwahn', xi.item.MINNOW, { initial = 10 }) -- Minnow -patchStock('Jidwahn', xi.item.ICE_CARD, { initial = 120 }) -- Ice Card -patchStock('Jidwahn', xi.item.THUNDER_CARD, { initial = 120 }) -- Thunder Card -patchStock('Jidwahn', xi.item.LIGHT_CARD, { initial = 120 }) -- Light Card -patchStock('Jidwahn', xi.item.DARK_CARD, { initial = 120 }) -- Dark Card - --- Lokhong -patchStock('Lokhong', xi.item.SABIKI_RIG, { initial = 10 }) -- Sabiki Rig -patchStock('Lokhong', xi.item.MINNOW, { initial = 10 }) -- Minnow -patchStock('Lokhong', xi.item.TARUTARU_FISHING_ROD, { initial = 120 }) -- Tarutaru Fishing Rod - --- Mep Nhapopoluko -table.insert(xi.data.guildShops['Mep_Nhapopoluko'].stock, 1, { id = xi.item.SABIKI_RIG, initial = 120, maxStock = 240, targetStock = 180, buyMax = 15960, restockRate = 12 }) -patchStock('Mep_Nhapopoluko', xi.item.FASTWATER_FISHING_ROD, { initial = 80 }) -- Fastwater Rod -table.insert(xi.data.guildShops['Mep_Nhapopoluko'].stock, 3, { id = xi.item.TARUTARU_FISHING_ROD, initial = 30, maxStock = 60, targetStock = 45, buyMax = 27180, restockRate = 3 }) -patchStock('Mep_Nhapopoluko', xi.item.SINGLE_HOOK_FISHING_ROD, { initial = 80 }) -- Single Hook Rod -patchStock('Mep_Nhapopoluko', xi.item.BLUETAIL_1, { initial = 100 }) -- Bluetail -patchStock('Mep_Nhapopoluko', xi.item.NOBLE_LADY, { initial = 100 }) -- Noble Lady -patchStock('Mep_Nhapopoluko', xi.item.TRILOBITE, { initial = 100 }) -- Trilobite -patchStock('Mep_Nhapopoluko', xi.item.SHALL_SHELL, { initial = 100 }) -- Shall Shell -patchStock('Mep_Nhapopoluko', xi.item.ZAFMLUG_BASS, { initial = 100 }) -- Zafmlug Bass -patchStock('Mep_Nhapopoluko', xi.item.MOORISH_IDOL, { initial = 100 }) -- Moorish Idol -patchStock('Mep_Nhapopoluko', xi.item.BIBIKIBO, { initial = 100 }) -- Bibikibo -patchStock('Mep_Nhapopoluko', xi.item.BIBIKI_URCHIN, { initial = 100 }) -- Bibiki Urchin -patchStock('Mep_Nhapopoluko', xi.item.CLUMP_OF_PAMTAM_KELP, { initial = 100 }) -- Pamtam Kelp -patchStock('Mep_Nhapopoluko', xi.item.COBALT_JELLYFISH, { initial = 100 }) -- Cobalt Jellyfish - --- Pashi Maccaleh -patchStock('Pashi_Maccaleh', xi.item.SABIKI_RIG, { initial = 10 }) -- Sabiki Rig -patchStock('Pashi_Maccaleh', xi.item.MINNOW, { initial = 10 }) -- Minnow -patchStock('Pashi_Maccaleh', xi.item.TARUTARU_FISHING_ROD, { initial = 120 }) -- Tarutaru Fishing Rod - --- Rajmonda -patchStock('Rajmonda', xi.item.SABIKI_RIG, { initial = 10 }) -- Sabiki Rig -patchStock('Rajmonda', xi.item.MINNOW, { initial = 10 }) -- Minnow -patchStock('Rajmonda', xi.item.TARUTARU_FISHING_ROD, { initial = 120 }) -- Tarutaru Fishing Rod - --- Wahnid -patchStock('Wahnid', xi.item.LITTLE_WORM, { initial = 120 }) -- Little Worm -patchStock('Wahnid', xi.item.LUGWORM, { initial = 120 }) -- Lugworm -patchStock('Wahnid', xi.item.BALL_OF_SARDINE_PASTE, { initial = 0, restockRate = 0 }) -- Sardine Ball -patchStock('Wahnid', xi.item.BALL_OF_CRAYFISH_PASTE, { initial = 0, restockRate = 0 }) -- Shrimp Lure -patchStock('Wahnid', xi.item.BALL_OF_INSECT_PASTE, { initial = 0, restockRate = 0 }) -- Bug Lure -patchStock('Wahnid', xi.item.BALL_OF_TROUT_PASTE, { initial = 0, restockRate = 0 }) -- Trout Lure -patchStock('Wahnid', xi.item.MEATBALL, { initial = 0, restockRate = 0 }) -- Meat Lure -patchStock('Wahnid', xi.item.SLICE_OF_SARDINE, { initial = 0, restockRate = 0 }) -- Slice of Sardine -patchStock('Wahnid', xi.item.SLICE_OF_COD, { initial = 0, restockRate = 0 }) -- Slice of Cod -patchStock('Wahnid', xi.item.PEELED_LOBSTER, { initial = 0, restockRate = 0 }) -- Peeled Lobster -patchStock('Wahnid', xi.item.SLICE_OF_BLUETAIL, { initial = 0, restockRate = 0 }) -- Slice of Bluetail -patchStock('Wahnid', xi.item.PEELED_CRAYFISH, { initial = 0, restockRate = 0 }) -- Peeled Crayfish -patchStock('Wahnid', xi.item.SLICE_OF_MOAT_CARP, { initial = 0, restockRate = 0 }) -- Slice of Moat Carp -patchStock('Wahnid', xi.item.FLY_LURE, { initial = 0, restockRate = 0 }) -- Fly Lure -patchStock('Wahnid', xi.item.MINNOW, { initial = 0, restockRate = 0 }) -- Minnow -patchStock('Wahnid', xi.item.SINKING_MINNOW, { initial = 0, restockRate = 0 }) -- Sinking Minnow -patchStock('Wahnid', xi.item.SABIKI_RIG, { initial = 120, restockRate = 12 }) -- Sabiki Rig -patchStock('Wahnid', xi.item.YEW_FISHING_ROD, { initial = 0, restockRate = 0 }) -- Yew Fishing Rod -patchStock('Wahnid', xi.item.BAMBOO_FISHING_ROD, { initial = 90 }) -- Bamboo Fishing Rod -patchStock('Wahnid', xi.item.FASTWATER_FISHING_ROD, { initial = 60, restockRate = 6 }) -- Fastwater Rod -patchStock('Wahnid', xi.item.TARUTARU_FISHING_ROD, { initial = 30, restockRate = 3 }) -- Tarutaru Fishing Rod -patchStock('Wahnid', xi.item.DENIZANASI, { restockRate = 0 }) -- Denizanasi - --- Yahliq -patchStock('Yahliq', xi.item.SABIKI_RIG, { initial = 10 }) -- Sabiki Rig -patchStock('Yahliq', xi.item.MINNOW, { initial = 10 }) -- Minnow -patchStock('Yahliq', xi.item.ICE_CARD, { initial = 120 }) -- Ice Card -patchStock('Yahliq', xi.item.THUNDER_CARD, { initial = 120 }) -- Thunder Card -patchStock('Yahliq', xi.item.LIGHT_CARD, { initial = 120 }) -- Light Card -patchStock('Yahliq', xi.item.DARK_CARD, { initial = 120 }) -- Dark Card - ------------------------------------ --- Tenshodo ------------------------------------ --- Jabbar -patchStock('Jabbar', xi.item.BAMBOO_STICK, { initial = 30 }) -- Bamboo Stick -patchStock('Jabbar', xi.item.SCROLL_OF_KATON_ICHI, { initial = 10 }) -- Katon: Ichi -patchStock('Jabbar', xi.item.SCROLL_OF_HUTON_ICHI, { initial = 10 }) -- Huton: Ichi -patchStock('Jabbar', xi.item.SCROLL_OF_DOTON_ICHI, { initial = 10 }) -- Doton: Ichi -patchStock('Jabbar', xi.item.SCROLL_OF_ABSORB_MND, { initial = 12 }) -- Absorb MND -patchStock('Jabbar', xi.item.SCROLL_OF_ABSORB_CHR, { initial = 12 }) -- Absorb CHR -patchStock('Jabbar', xi.item.ONZ_OF_TURMERIC, { initial = 30 }) -- Turmeric -patchStock('Jabbar', xi.item.ONZ_OF_CORIANDER, { initial = 30 }) -- Coriander -patchStock('Jabbar', xi.item.SPRIG_OF_HOLY_BASIL, { initial = 30 }) -- Holy Basil -patchStock('Jabbar', xi.item.ONZ_OF_CURRY_POWDER, { initial = 15 }) -- Curry Powder -patchStock('Jabbar', xi.item.JAR_OF_GROUND_WASABI, { initial = 50 }) -- Ground Wasabi -patchStock('Jabbar', xi.item.BOTTLE_OF_RICE_VINEGAR, { initial = 50 }) -- Rice Vinegar -patchStock('Jabbar', xi.item.CLUMP_OF_SHUNGIKU, { initial = 50 }) -- Shungiku - --- Silver_Owl -patchStock('Silver_Owl', xi.item.KUNAI, { initial = 15 }) -- Kunai -patchStock('Silver_Owl', xi.item.SHINOBI_GATANA, { initial = 15 }) -- Shinobi Gatana -patchStock('Silver_Owl', xi.item.KANESADA, { initial = 5 }) -- Kanesada -patchStock('Silver_Owl', xi.item.TACHI, { initial = 15 }) -- Tachi -patchStock('Silver_Owl', xi.item.KOTETSU, { initial = 5 }) -- Kotetsu -patchStock('Silver_Owl', xi.item.HACHIMAKI, { initial = 10 }) -- Hachimaki -patchStock('Silver_Owl', xi.item.COTTON_HACHIMAKI, { initial = 10 }) -- Cotton Hachimaki -patchStock('Silver_Owl', xi.item.KENPOGI, { initial = 10 }) -- Kenpogi -patchStock('Silver_Owl', xi.item.COTTON_DOGI, { initial = 10 }) -- Cotton Dogi -patchStock('Silver_Owl', xi.item.TEKKO, { initial = 10 }) -- Tekko -patchStock('Silver_Owl', xi.item.COTTON_TEKKO, { initial = 10 }) -- Cotton Tekko -patchStock('Silver_Owl', xi.item.SOIL_TEKKO, { initial = 10, restockRate = 5 }) -- Soil Tekko -patchStock('Silver_Owl', xi.item.SITABAKI, { initial = 10 }) -- Sitabaki -patchStock('Silver_Owl', xi.item.COTTON_SITABAKI, { initial = 10 }) -- Cotton Sitabaki -patchStock('Silver_Owl', xi.item.SOIL_SITABAKI, { initial = 10, restockRate = 5 }) -- Soil Sitabaki -patchStock('Silver_Owl', xi.item.KYAHAN, { initial = 10 }) -- Kyahan -patchStock('Silver_Owl', xi.item.COTTON_KYAHAN, { initial = 10 }) -- Cotton Kyahan -removeStock('Silver_Owl', xi.item.JUJI_SHURIKEN) - --- Jirokichi -patchStock('Jirokichi', xi.item.KUNAI, { initial = 30 }) -- Kunai -patchStock('Jirokichi', xi.item.SUZUME, { initial = 30 }) -- Suzume -patchStock('Jirokichi', xi.item.WAKIZASHI, { initial = 30 }) -- Wakizashi -patchStock('Jirokichi', xi.item.SHINOBI_GATANA, { initial = 30 }) -- Shinobi Gatana -patchStock('Jirokichi', xi.item.UCHIGATANA, { initial = 30 }) -- Uchigatana -patchStock('Jirokichi', xi.item.KANESADA, { initial = 10 }) -- Kanesada -patchStock('Jirokichi', xi.item.TACHI, { initial = 30 }) -- Tachi -patchStock('Jirokichi', xi.item.NODACHI, { initial = 10 }) -- Nodachi -patchStock('Jirokichi', xi.item.OKANEHIRA, { initial = 5 }) -- Okanehira -patchStock('Jirokichi', xi.item.SHURIKEN, { initial = 30 }) -- Shuriken -patchStock('Jirokichi', xi.item.JUJI_SHURIKEN, { initial = 20, buyMax = 2970 }) -- Juji Shuriken, buyMax changed because of RMT change reverts - --- Achika -patchStock('Achika', xi.item.HACHIMAKI, { initial = 30 }) -- Hachimaki -patchStock('Achika', xi.item.TEKKO, { initial = 30 }) -- Tekko -patchStock('Achika', xi.item.COTTON_KYAHAN, { initial = 30 }) -- Cotton Kyahan -patchStock('Achika', xi.item.SOIL_KYAHAN, { initial = 30 }) -- Soil Kyahan - --- Chiyo -patchStock('Chiyo', xi.item.SCROLL_OF_HYOTON_ICHI, { initial = 20 }) -- Hyoton: Ichi -patchStock('Chiyo', xi.item.SCROLL_OF_HUTON_ICHI, { initial = 20 }) -- Huton: Ichi -patchStock('Chiyo', xi.item.SCROLL_OF_DOTON_ICHI, { initial = 20 }) -- Doton: Ichi -patchStock('Chiyo', xi.item.SCROLL_OF_RAITON_ICHI, { initial = 20 }) -- Raiton: Ichi -patchStock('Chiyo', xi.item.SCROLL_OF_SUITON_ICHI, { initial = 20 }) -- Suiton: Ichi - --- Vuliaie -patchStock('Vuliaie', xi.item.JAR_OF_TOAD_OIL, { initial = 10 }) -- Toad Oil -patchStock('Vuliaie', xi.item.SHEET_OF_BAST_PARCHMENT, { initial = 6 }) -- Bast Parchment -patchStock('Vuliaie', xi.item.HANDFUL_OF_IRON_SAND, { initial = 180 }) -- Iron Sand -patchStock('Vuliaie', xi.item.UCHITAKE, { initial = 60 }) -- Uchitake -patchStock('Vuliaie', xi.item.TSURARA, { initial = 60 }) -- Tsurara -patchStock('Vuliaie', xi.item.KAWAHORI_OGI, { initial = 60 }) -- Kawahori Ogi -patchStock('Vuliaie', xi.item.MAKIBISHI, { initial = 60 }) -- Makibishi -patchStock('Vuliaie', xi.item.HIRAISHIN, { initial = 60 }) -- Hiraishin -patchStock('Vuliaie', xi.item.MIZU_DEPPO, { initial = 60 }) -- Mizu Deppo -patchStock('Vuliaie', xi.item.GARDENIA_SEED, { initial = 50 }) -- Gardenia Seed -patchStock('Vuliaie', xi.item.ONZ_OF_TURMERIC, { initial = 120 }) -- Turmeric -patchStock('Vuliaie', xi.item.ONZ_OF_CORIANDER, { initial = 120 }) -- Coriander -patchStock('Vuliaie', xi.item.SPRIG_OF_HOLY_BASIL, { initial = 120 }) -- Holy Basil -patchStock('Vuliaie', xi.item.ONZ_OF_CURRY_POWDER, { initial = 60 }) -- Curry Powder -patchStock('Vuliaie', xi.item.JAR_OF_GROUND_WASABI, { initial = 100 }) -- Ground Wasabi -patchStock('Vuliaie', xi.item.BOTTLE_OF_RICE_VINEGAR, { initial = 100 }) -- Rice Vinegar -patchStock('Vuliaie', xi.item.HEAD_OF_NAPA, { initial = 100 }) -- Napa -table.insert(xi.data.guildShops['Vuliaie'].stock, { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }) -- Koma - --- Tsutsuroon -patchStock('Tsutsuroon', xi.item.KUNAI, { initial = 30 }) -- Kunai -patchStock('Tsutsuroon', xi.item.SUZUME, { initial = 30 }) -- Suzume -patchStock('Tsutsuroon', xi.item.WAKIZASHI, { initial = 30 }) -- Wakizashi -patchStock('Tsutsuroon', xi.item.SHINOBI_GATANA, { initial = 30 }) -- Shinobi Gatana -patchStock('Tsutsuroon', xi.item.UCHIGATANA, { initial = 30 }) -- Uchigatana -patchStock('Tsutsuroon', xi.item.KANESADA, { initial = 10 }) -- Kanesada -patchStock('Tsutsuroon', xi.item.TACHI, { initial = 30 }) -- Tachi -patchStock('Tsutsuroon', xi.item.NODACHI, { initial = 10 }) -- Nodachi -patchStock('Tsutsuroon', xi.item.OKANEHIRA, { initial = 5 }) -- Okanehira -patchStock('Tsutsuroon', xi.item.KOTETSU, { initial = 5 }) -- Kotetsu -patchStock('Tsutsuroon', xi.item.SHURIKEN, { initial = 30 }) -- Shuriken -patchStock('Tsutsuroon', xi.item.JUJI_SHURIKEN, { initial = 20, buyMax = 2970 }) -- Juji Shuriken, buyMax changed because of RMT change reverts -patchStock('Tsutsuroon', xi.item.FIRE_ARROW, { initial = 30 }) -- Fire Arrow -patchStock('Tsutsuroon', xi.item.BULLET, { initial = 20 }) -- Bullet -patchStock('Tsutsuroon', xi.item.FUMA_SHURIKEN, { buyMax = 78750 }) -- Fuma Shuriken, buyMax changed because of RMT change reverts -patchStock('Tsutsuroon', xi.item.SOIL_HACHIMAKI, { initial = 30 }) -- Soil Hachimaki -patchStock('Tsutsuroon', xi.item.KENPOGI, { initial = 30 }) -- Kenpogi -patchStock('Tsutsuroon', xi.item.COTTON_DOGI, { initial = 30 }) -- Cotton Dogi -patchStock('Tsutsuroon', xi.item.SOIL_GI, { initial = 30 }) -- Soil Gi -patchStock('Tsutsuroon', xi.item.TEKKO, { initial = 30 }) -- Tekko -patchStock('Tsutsuroon', xi.item.COTTON_TEKKO, { initial = 30 }) -- Cotton Tekko -patchStock('Tsutsuroon', xi.item.SITABAKI, { initial = 30 }) -- Sitabaki -patchStock('Tsutsuroon', xi.item.COTTON_SITABAKI, { initial = 30 }) -- Cotton Sitabaki -patchStock('Tsutsuroon', xi.item.SOIL_SITABAKI, { initial = 30 }) -- Soil Sitabaki -patchStock('Tsutsuroon', xi.item.KYAHAN, { initial = 30 }) -- Kyahan -patchStock('Tsutsuroon', xi.item.COTTON_KYAHAN, { initial = 30 }) -- Cotton Kyahan -patchStock('Tsutsuroon', xi.item.SOIL_KYAHAN, { initial = 30 }) -- Soil Kyahan -patchStock('Tsutsuroon', xi.item.JAR_OF_TOAD_OIL, { initial = 10 }) -- Toad Oil -patchStock('Tsutsuroon', xi.item.SHEET_OF_BAST_PARCHMENT, { initial = 6 }) -- Bast Parchment -patchStock('Tsutsuroon', xi.item.SQUARE_OF_SILK_CLOTH, { initial = 10 }) -- Silk Cloth -patchStock('Tsutsuroon', xi.item.HANDFUL_OF_IRON_SAND, { initial = 180, buyMax = 3074 }) -- Iron Sand, buyMax changed because of RMT change reverts -patchStock('Tsutsuroon', xi.item.UCHITAKE, { initial = 60 }) -- Uchitake -patchStock('Tsutsuroon', xi.item.TSURARA, { initial = 60 }) -- Tsurara -patchStock('Tsutsuroon', xi.item.KAWAHORI_OGI, { initial = 60 }) -- Kawahori Ogi -patchStock('Tsutsuroon', xi.item.MAKIBISHI, { initial = 60 }) -- Makibishi -patchStock('Tsutsuroon', xi.item.HIRAISHIN, { initial = 60 }) -- Hiraishin -patchStock('Tsutsuroon', xi.item.MIZU_DEPPO, { initial = 60 }) -- Mizu Deppo -patchStock('Tsutsuroon', xi.item.GARDENIA_SEED, { initial = 50 }) -- Gardenia Seed -patchStock('Tsutsuroon', xi.item.ONZ_OF_TURMERIC, { initial = 120 }) -- Turmeric -patchStock('Tsutsuroon', xi.item.ONZ_OF_CORIANDER, { initial = 120 }) -- Coriander -patchStock('Tsutsuroon', xi.item.SPRIG_OF_HOLY_BASIL, { initial = 120 }) -- Holy Basil -patchStock('Tsutsuroon', xi.item.ONZ_OF_CURRY_POWDER, { initial = 60 }) -- Curry Powder -patchStock('Tsutsuroon', xi.item.JAR_OF_GROUND_WASABI, { initial = 100 }) -- Ground Wasabi -patchStock('Tsutsuroon', xi.item.BOTTLE_OF_RICE_VINEGAR, { initial = 100 }) -- Rice Vinegar -patchStock('Tsutsuroon', xi.item.HEAD_OF_NAPA, { initial = 100 }) -- Napa -table.insert(xi.data.guildShops['Tsutsuroon'].stock, { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }) -- Koma - ------------------------------------ --- Tenshodo (new shops -- Akamafula and Amalasanda did not exist in base guild_shops.lua) ------------------------------------ -xi.data.guildShops['Akamafula'] = -{ - hours = { 1, 23 }, - holiday = xi.day.EARTHSDAY, - stock = - { - { id = xi.item.KUNAI, initial = 20, maxStock = 60, targetStock = 55, buyMax = 4419, restockRate = 5 }, -- Kunai - { id = xi.item.WAKIZASHI, initial = 20, maxStock = 60, targetStock = 55, buyMax = 12000, restockRate = 5 }, -- Wakizashi - { id = xi.item.UCHIGATANA, initial = 20, maxStock = 60, targetStock = 55, buyMax = 26680, restockRate = 5 }, -- Uchigatana - { id = xi.item.KANESADA, initial = 2, maxStock = 60, targetStock = 55, buyMax = 99000, restockRate = 10 }, -- Kanesada - { id = xi.item.TACHI, initial = 20, maxStock = 60, targetStock = 55, buyMax = 15695, restockRate = 5 }, -- Tachi - { id = xi.item.NODACHI, initial = 2, maxStock = 60, targetStock = 55, buyMax = 40620, restockRate = 0 }, -- Nodachi - { id = xi.item.OKANEHIRA, initial = 5, maxStock = 60, targetStock = 55, buyMax = 104730, restockRate = 7 }, -- Okanehira - { id = xi.item.TANEGASHIMA, initial = 2, maxStock = 60, targetStock = 55, buyMax = 65310, restockRate = 0 }, -- Tanegashima - { id = xi.item.SHURIKEN, initial = 30, maxStock = 60, targetStock = 55, buyMax = 250, restockRate = 10 }, -- Shuriken - { id = xi.item.HACHIMAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 4125, restockRate = 3 }, -- Hachimaki - { id = xi.item.COTTON_HACHIMAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 24420, restockRate = 3 }, -- Cotton Hachimaki - { id = xi.item.SOIL_HACHIMAKI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 66960, restockRate = 5 }, -- Soil Hachimaki - { id = xi.item.KENPOGI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 6225, restockRate = 3 }, -- Kenpogi - { id = xi.item.COTTON_DOGI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 36800, restockRate = 3 }, -- Cotton Dogi - { id = xi.item.SOIL_GI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 99000, restockRate = 5 }, -- Soil Gi - { id = xi.item.TEKKO, initial = 5, maxStock = 60, targetStock = 45, buyMax = 3425, restockRate = 3 }, -- Tekko - { id = xi.item.COTTON_TEKKO, initial = 5, maxStock = 60, targetStock = 45, buyMax = 20250, restockRate = 3 }, -- Cotton Tekko - { id = xi.item.SOIL_TEKKO, initial = 10, maxStock = 60, targetStock = 45, buyMax = 55440, restockRate = 5 }, -- Soil Tekko - { id = xi.item.SITABAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 4975, restockRate = 3 }, -- Sitabaki - { id = xi.item.COTTON_SITABAKI, initial = 5, maxStock = 60, targetStock = 45, buyMax = 29490, restockRate = 3 }, -- Cotton Sitabaki - { id = xi.item.SOIL_SITABAKI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 80640, restockRate = 5 }, -- Soil Sitabaki - { id = xi.item.KYAHAN, initial = 5, maxStock = 60, targetStock = 45, buyMax = 3175, restockRate = 3 }, -- Kyahan - { id = xi.item.COTTON_KYAHAN, initial = 5, maxStock = 60, targetStock = 45, buyMax = 18870, restockRate = 3 }, -- Cotton Kyahan - { id = xi.item.SOIL_KYAHAN, initial = 10, maxStock = 60, targetStock = 45, buyMax = 82620, restockRate = 5 }, -- Soil Kyahan - }, -} - -xi.data.guildShops['Amalasanda'] = -{ - hours = { 9, 23 }, - holiday = xi.day.EARTHSDAY, - stock = - { - { id = xi.item.BAMBOO_STICK, initial = 30, maxStock = 240, targetStock = 180, buyMax = 720, restockRate = 10 }, -- Bamboo Stick - { id = xi.item.KOMA, initial = 30, maxStock = 60, targetStock = 45, buyMax = 660, restockRate = 15 }, -- Koma - { id = xi.item.LUMP_OF_TAMA_HAGANE, initial = 20, maxStock = 60, targetStock = 45, buyMax = 35000, restockRate = 5 }, -- Tama Hagane - { id = xi.item.POT_OF_URUSHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 367650, restockRate = 1 }, -- Urushi - { id = xi.item.BOX_OF_STICKY_RICE, initial = 50, maxStock = 150, targetStock = 120, buyMax = 316, restockRate = 100, priceFloor = 150, noSell = true }, -- Sticky Rice - { id = xi.item.BAG_OF_BUCKWHEAT_FLOUR, initial = 50, maxStock = 150, targetStock = 120, buyMax = 1500, restockRate = 100, priceFloor = 150, noSell = true }, -- Buckwheat Flour - { id = xi.item.PINCH_OF_BLACK_PEPPER, initial = 10, maxStock = 60, targetStock = 45, buyMax = 1111, restockRate = 5 }, -- Black Pepper - { id = xi.item.ONZ_OF_TURMERIC, initial = 20, maxStock = 60, targetStock = 50, buyMax = 3225, restockRate = 15 }, -- Turmeric - { id = xi.item.ONZ_OF_CORIANDER, initial = 20, maxStock = 60, targetStock = 50, buyMax = 7925, restockRate = 15 }, -- Coriander - { id = xi.item.SPRIG_OF_HOLY_BASIL, initial = 20, maxStock = 60, targetStock = 50, buyMax = 4000, restockRate = 15 }, -- Holy Basil - { id = xi.item.ONZ_OF_CURRY_POWDER, initial = 10, maxStock = 30, targetStock = 25, buyMax = 1456, restockRate = 7 }, -- Curry Powder - { id = xi.item.JAR_OF_GROUND_WASABI, initial = 100, maxStock = 150, targetStock = 120, buyMax = 12974, restockRate = 100 }, -- Wasabi - { id = xi.item.BOTTLE_OF_RICE_VINEGAR, initial = 100, maxStock = 150, targetStock = 120, buyMax = 1000, restockRate = 100 }, -- Rice Vinegar - { id = xi.item.BUNDLE_OF_SHIRATAKI, initial = 50, maxStock = 150, targetStock = 120, buyMax = 369, restockRate = 100, priceFloor = 150, noSell = true }, -- Shirataki - { id = xi.item.SCROLL_OF_KATON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Katon: Ichi - { id = xi.item.SCROLL_OF_HUTON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Huton: Ichi - { id = xi.item.SCROLL_OF_DOTON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Doton: Ichi - { id = xi.item.SCROLL_OF_SUITON_ICHI, initial = 10, maxStock = 60, targetStock = 45, buyMax = 11655, restockRate = 3 }, -- Suiton: Ichi - { id = xi.item.UCHITAKE, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Uchitake - { id = xi.item.KAWAHORI_OGI, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Kawahori Ogi - { id = xi.item.MAKIBISHI, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Makibishi - { id = xi.item.MIZU_DEPPO, initial = 10, maxStock = 60, targetStock = 50, buyMax = 200, restockRate = 0 }, -- Mizu Deppo - }, -} - ------------------------------------ --- Linkshell / Pendant Compass Vendors ------------------------------------ -removeStock('Ilita', xi.item.PENDANT_COMPASS) -- Pendant Compass -removeStock('Khel_Pahlhama', xi.item.PENDANT_COMPASS) -- Pendant Compass -removeStock('Paunelie', xi.item.PENDANT_COMPASS) -- Pendant Compass - -return { name = moduleName } From 45544323b70c60ef945a4840fb8b85e05fe43800 Mon Sep 17 00:00:00 2001 From: Montijin <2160211+montijin@users.noreply.github.com> Date: Thu, 9 Jul 2026 11:18:51 -0500 Subject: [PATCH 09/10] Fix return statement --- modules/phoenix/sql/Guild Shops/era_guild_shops.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/phoenix/sql/Guild Shops/era_guild_shops.lua b/modules/phoenix/sql/Guild Shops/era_guild_shops.lua index 9ad8d1fc6b5..0e9ebd34c2a 100644 --- a/modules/phoenix/sql/Guild Shops/era_guild_shops.lua +++ b/modules/phoenix/sql/Guild Shops/era_guild_shops.lua @@ -713,4 +713,4 @@ removeStock('Ilita', xi.item.PENDANT_COMPASS) -- Pendant Compass removeStock('Khel_Pahlhama', xi.item.PENDANT_COMPASS) -- Pendant Compass removeStock('Paunelie', xi.item.PENDANT_COMPASS) -- Pendant Compass -return { name = Era Guild Shops } +return { name = moduleName } From 27d250855811d3b155d99bf3a1d0b64fbf54577d Mon Sep 17 00:00:00 2001 From: Montijin <2160211+montijin@users.noreply.github.com> Date: Thu, 9 Jul 2026 15:41:20 -0500 Subject: [PATCH 10/10] Removed several lines after LSB basefile 7/9 update --- modules/phoenix/sql/Guild Shops/era_guild_shops.lua | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/modules/phoenix/sql/Guild Shops/era_guild_shops.lua b/modules/phoenix/sql/Guild Shops/era_guild_shops.lua index 0e9ebd34c2a..01791b27923 100644 --- a/modules/phoenix/sql/Guild Shops/era_guild_shops.lua +++ b/modules/phoenix/sql/Guild Shops/era_guild_shops.lua @@ -293,9 +293,7 @@ table.insert(xi.data.guildShops['Kueh_Igunahmori'].stock, { id = xi.item.TANNING xi.data.guildShops['Retto-Marutto'] = { sharedStock = 'Shih_Tayuun' } table.insert(xi.data.guildShops['Shih_Tayuun'].stock, 1, { id = xi.item.BONE_CHIP, initial = 12, maxStock = 240, targetStock = 180, buyMax = 380, restockRate = 12 }) patchStock('Shih_Tayuun', xi.item.SHEEP_TOOTH, { initial = 12 }) -patchStock('Shih_Tayuun', xi.item.TURTLE_SHELL, { initial = 4 }) patchStock('Shih_Tayuun', xi.item.SEASHELL, { initial = 120 }) -patchStock('Shih_Tayuun', xi.item.CHICKEN_BONE, { initial = 7 }) table.insert(xi.data.guildShops['Shih_Tayuun'].stock, 14, { id = xi.item.HANDFUL_OF_FISH_SCALES, initial = 30, maxStock = 240, targetStock = 180, buyMax = 480, restockRate = 15 }) patchStock('Shih_Tayuun', xi.item.BONE_ARROW, { initial = 0 }) table.insert(xi.data.guildShops['Shih_Tayuun'].stock, { id = xi.item.SHAGREEN_FILE, initial = 120, maxStock = 240, targetStock = 180, buyMax = 500, restockRate = 60 }) @@ -369,8 +367,6 @@ patchStock('Kopopo', xi.item.MITHRAN_TOMATO, { initial = 60 }) patchStock('Kopopo', xi.item.THUNDERMELON, { initial = 12 }) patchStock('Kopopo', xi.item.KAZHAM_PINEAPPLE, { initial = 12 }) patchStock('Kopopo', xi.item.WATERMELON, { initial = 12 }) -patchStock('Kopopo', xi.item.LOAF_OF_WHITE_BREAD, { initial = 4 }) -patchStock('Kopopo', xi.item.LOAF_OF_BLACK_BREAD, { initial = 8 }) patchStock('Kopopo', xi.item.ONZ_OF_TURMERIC, { initial = 30 }) patchStock('Kopopo', xi.item.ONZ_OF_CORIANDER, { initial = 30 }) patchStock('Kopopo', xi.item.SPRIG_OF_HOLY_BASIL, { initial = 15 }) @@ -497,7 +493,7 @@ patchStock('Wahnid', xi.item.YEW_FISHING_ROD, { initial = 0, restockRate patchStock('Wahnid', xi.item.BAMBOO_FISHING_ROD, { initial = 90 }) patchStock('Wahnid', xi.item.FASTWATER_FISHING_ROD, { initial = 60, restockRate = 6 }) patchStock('Wahnid', xi.item.TARUTARU_FISHING_ROD, { initial = 30, restockRate = 3 }) -patchStock('Wahnid', xi.item.DENIZANASI, { restockRate = 0 }) +patchStock('Wahnid', xi.item.DENIZANASI, { initial = 144, restockRate = 12 }) -- Yahliq patchStock('Yahliq', xi.item.SABIKI_RIG, { initial = 10 })