From 4b54f4911739cfe4c0cf6fc94544a779b3816cee Mon Sep 17 00:00:00 2001 From: Xaver-DaRed Date: Tue, 27 Jan 2026 07:44:29 +0100 Subject: [PATCH 1/3] Convert fishing sql data to lua --- scripts/enum/item.lua | 45 ++++++++++++++ scripts/globals/hobbies/fishing/data.lua | 76 ++++++++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 scripts/globals/hobbies/fishing/data.lua diff --git a/scripts/enum/item.lua b/scripts/enum/item.lua index a68f9aa5191..e256defdc1d 100644 --- a/scripts/enum/item.lua +++ b/scripts/enum/item.lua @@ -116,6 +116,8 @@ xi.item = EGG_LOCKER = 453, EGG_LANTERN = 454, EGG_BUFFET = 455, + BROKEN_SINGLE_HOOK_FISHING_ROD = 472, + BROKEN_COMPOSITE_FISHING_ROD = 473, RED_CHIP = 474, BLUE_CHIP = 475, YELLOW_CHIP = 476, @@ -124,8 +126,16 @@ xi.item = PURPLE_CHIP = 479, WHITE_CHIP = 480, BLACK_CHIP = 481, + BROKEN_CLOTHESPOLE = 482, BROKEN_MITHRAN_FISHING_ROD = 483, + BROKEN_TARUTARU_FISHING_ROD = 484, + BROKEN_WILLOW_FISHING_ROD = 485, + BROKEN_YEW_FISHING_ROD = 486, + BROKEN_BAMBOO_FISHING_ROD = 487, + BROKEN_FASTWATER_FISHING_ROD = 488, BROKEN_LU_SHANGS_FISHING_ROD = 489, + BROKEN_CARBON_FISHING_ROD = 490, + BROKEN_GLASS_FIBER_FISHING_ROD = 491, CANTEEN_OF_DRACHENFALL_WATER = 492, BRASS_CANTEEN = 493, QUADAV_AUGURY_SHELL = 494, @@ -1646,6 +1656,7 @@ xi.item = SMILODON_HIDE = 2518, GNOLE_CLAW = 2521, PEISTE_SKIN = 2523, + BROKEN_MMM_FISHING_ROD = 2526, RED_OVEN_MITT = 2527, PLUME_DOR = 2528, SQUARE_OF_SMILODON_LEATHER = 2529, @@ -3882,6 +3893,7 @@ xi.item = MOG_KUPON_AW_VGRII = 9088, MOG_KUPON_W_PULSE = 9089, MOG_KUPON_I_STONE = 9090, + BROKEN_LU_SHANGS_FISHING_ROD_P1 = 9091, SORYUS_LIVER = 9099, SEKIRYUS_LIVER = 9100, HAKURYUS_LIVER = 9101, @@ -7344,18 +7356,30 @@ xi.item = UCHIGATANA_P1 = 16978, DAIHANNYA = 16990, ODENTA = 16991, + SLICE_OF_BLUETAIL = 16992, PEELED_CRAYFISH = 16993, SLICE_OF_MOAT_CARP = 16994, PIECE_OF_ROTTEN_MEAT = 16995, + BALL_OF_SARDINE_PASTE = 16996, + BALL_OF_CRAYFISH_PASTE = 16997, BALL_OF_INSECT_PASTE = 16998, + BALL_OF_TROUT_PASTE = 16999, + MEATBALL = 17000, GIANT_SHELL_BUG = 17001, ROBBER_RIG = 17002, SUPER_SCOOP = 17003, + JUDGE_MINNOW = 17004, LUFAISE_FLY = 17005, DRILL_CALAMARY = 17006, DWARF_PUGIL = 17007, + REGULAR_MAZE_MONGER_BALL = 17008, + LARGE_MAZE_MONGER_BALL = 17009, GOLIATH_WORM = 17010, EBISU_FISHING_ROD = 17011, + JUDGES_ROD = 17012, + GOLDFISH_BASKET = 17013, + HUME_FISHING_ROD = 17014, + HALCYON_FISHING_ROD = 17015, PET_FOOD_ALPHA_BISCUIT = 17016, PET_FOOD_BETA_BISCUIT = 17017, PET_FOOD_GAMMA_BISCUIT = 17018, @@ -7536,13 +7560,27 @@ xi.item = CARBON_FISHING_ROD = 17384, GLASS_FIBER_FISHING_ROD = 17385, LU_SHANGS_FISHING_ROD = 17386, + TARUTARU_FISHING_ROD = 17387, + FASTWATER_FISHING_ROD = 17388, BAMBOO_FISHING_ROD = 17389, YEW_FISHING_ROD = 17390, WILLOW_FISHING_ROD = 17391, + SLICE_OF_SARDINE = 17392, + SLICE_OF_COD = 17393, + PEELED_LOBSTER = 17394, LUGWORM = 17395, LITTLE_WORM = 17396, SHELL_BUG = 17397, + ROGUE_RIG = 17398, + SABIKI_RIG = 17399, + SINKING_MINNOW = 17400, + LIZARD_LURE = 17401, SHRIMP_LURE = 17402, + FROG_LURE = 17403, + WORM_LURE = 17404, + FLY_LURE = 17405, + JUDGES_LURE = 17406, + MINNOW = 17407, BLESSED_HAMMER = 17422, CASTING_WAND = 17423, REPLICA_MAUL = 17426, @@ -8384,6 +8422,13 @@ xi.item = IKARIGIRI = 19298, GLEAMING_SPEAR = 19309, GUISARME = 19310, + MAZE_MONGER_FISHING_ROD = 19319, + LU_SHANGS_FISHING_ROD_P1 = 19320, + EBISU_FISHING_ROD_P1 = 19321, + MAZE_MONGER_MINNOW = 19323, + DRIED_SQUID = 19324, + JUDGE_FLY = 19325, + SEA_DRAGON_LIVER = 19326, PUGILISTS = 19327, SIMIAN_FISTS = 19328, MANTIS = 19329, diff --git a/scripts/globals/hobbies/fishing/data.lua b/scripts/globals/hobbies/fishing/data.lua new file mode 100644 index 00000000000..1b66de5b8f4 --- /dev/null +++ b/scripts/globals/hobbies/fishing/data.lua @@ -0,0 +1,76 @@ +----------------------------------- +-- Fishing Data +----------------------------------- +xi = xi or {} +xi.fishing = xi.fishing or {} +----------------------------------- + +-- TODO: Remove unnecesary data. For instance, if brokenRodId is 0, then the rod is obviously unbreakable. +xi.fishing.rodData = +{ + -- [rod Id] = { material, size, flags, minRank, maxRank, attack, bonusAttack, recovery, time, timeBonus, delay, move, delay2, move2, isBreakable, brokenRodId, isMMM, isLegendary, rating } + [xi.item.BAMBOO_FISHING_ROD ] = { 0, 0, 0, 1, 8, 140, 0, 60, 30, 0, 2, 1, 1, 0, 2, true, xi.item.BROKEN_BAMBOO_FISHING_ROD, false, false, 3 }, + [xi.item.CARBON_FISHING_ROD ] = { 1, 0, 0, 1, 13, 100, 0, 75, 43, 0, 2, 1, 1, 0, 4, true, xi.item.BROKEN_CARBON_FISHING_ROD, false, false, 7 }, + [xi.item.CLOTHESPOLE ] = { 0, 1, 1, 12, 16, 170, 0, 50, 30, 0, 0, 0, 1, 0, 3, true, xi.item.BROKEN_CLOTHESPOLE, false, false, 10 }, + [xi.item.COMPOSITE_FISHING_ROD ] = { 1, 1, 1, 11, 24, 100, 0, 70, 43, 0, 0, 0, 1, 0, 2, true, xi.item.BROKEN_COMPOSITE_FISHING_ROD, false, false, 13 }, + [xi.item.EBISU_FISHING_ROD ] = { 1, 0, 4, 1, 30, 100, 50, 50, 30, 10, 2, 1, 1, 0, 3, false, xi.item.NONE, false, true, 15 }, + [xi.item.EBISU_FISHING_ROD_P1 ] = { 1, 0, 4, 1, 30, 100, 50, 50, 40, 10, 2, 1, 1, 0, 3, false, xi.item.NONE, false, true, 15 }, + [xi.item.FASTWATER_FISHING_ROD ] = { 0, 0, 0, 1, 7, 135, 0, 65, 30, 0, 2, 1, 1, 0, 2, true, xi.item.BROKEN_FASTWATER_FISHING_ROD, false, false, 4 }, + [xi.item.GLASS_FIBER_FISHING_ROD ] = { 1, 0, 0, 1, 12, 100, 0, 80, 45, 0, 2, 1, 1, 0, 4, true, xi.item.BROKEN_GLASS_FIBER_FISHING_ROD, false, false, 8 }, + [xi.item.GOLDFISH_BASKET ] = { 0, 0, 8, 1, 5, 100, 0, 50, 20, 0, 0, 0, 0, 0, 0, false, xi.item.NONE, false, false, 0 }, + [xi.item.HALCYON_FISHING_ROD ] = { 1, 0, 2, 1, 18, 100, 0, 70, 41, 0, 2, 1, 0, 2, 3, true, xi.item.BROKEN_HALCYON_FISHING_ROD, false, false, 9 }, + [xi.item.HUME_FISHING_ROD ] = { 0, 0, 2, 1, 10, 125, 0, 65, 30, 0, 2, 1, 0, 2, 3, true, xi.item.BROKEN_HUME_FISHING_ROD, false, false, 6 }, + [xi.item.JUDGES_ROD ] = { 1, 0, 0, 1, 40, 200, 100, 100, 60, 30, 2, 1, 1, 0, 5, false, xi.item.NONE, false, true, 16 }, + [xi.item.LU_SHANGS_FISHING_ROD ] = { 0, 0, 0, 1, 28, 110, 20, 100, 40, 10, 2, 1, 1, 0, 2, true, xi.item.BROKEN_LU_SHANGS_FISHING_ROD, false, true, 14 }, + [xi.item.LU_SHANGS_FISHING_ROD_P1] = { 0, 0, 0, 1, 28, 110, 20, 100, 50, 10, 2, 1, 1, 0, 2, true, xi.item.BROKEN_LU_SHANGS_FISHING_ROD_P1, false, true, 14 }, + [xi.item.MAZE_MONGER_FISHING_ROD ] = { 1, 0, 0, 1, 25, 100, 0, 100, 30, 0, 2, 1, 1, 10, 2, true, xi.item.BROKEN_MMM_FISHING_ROD, true, false, 0 }, + [xi.item.MITHRAN_FISHING_ROD ] = { 0, 1, 1, 8, 18, 130, 0, 65, 30, 0, 0, 0, 1, 0, 3, true, xi.item.BROKEN_MITHRAN_FISHING_ROD, false, false, 12 }, + [xi.item.SINGLE_HOOK_FISHING_ROD ] = { 1, 1, 1, 14, 22, 100, 0, 80, 45, 0, 0, 0, 1, 0, 3, true, xi.item.BROKEN_SINGLE_HOOK_FISHING_ROD, false, false, 11 }, + [xi.item.TARUTARU_FISHING_ROD ] = { 0, 0, 0, 1, 9, 130, 0, 70, 30, 0, 2, 1, 1, 0, 4, true, xi.item.BROKEN_TARUTARU_FISHING_ROD, false, false, 5 }, + [xi.item.WILLOW_FISHING_ROD ] = { 0, 0, 0, 1, 5, 150, 0, 50, 30, 0, 2, 1, 1, 0, 2, true, xi.item.BROKEN_WILLOW_FISHING_ROD, false, false, 1 }, + [xi.item.YEW_FISHING_ROD ] = { 0, 0, 0, 1, 6, 145, 0, 55, 30, 0, 2, 1, 1, 0, 2, true, xi.item.BROKEN_YEW_FISHING_ROD, false, false, 2 }, +} + +xi.fishing.baitData = +{ + -- [bait Id] = { isConsumable, maxHook, isLosable, flags, isMMM, rankMod } + [xi.item.BALL_OF_CRAYFISH_PASTE ] = { 0, 1, true, 0, false, 0 }, + [xi.item.BALL_OF_INSECT_PASTE ] = { 0, 1, true, 0, false, 0 }, + [xi.item.BALL_OF_SARDINE_PASTE ] = { 0, 1, true, 0, false, 0 }, + [xi.item.BALL_OF_TROUT_PASTE ] = { 0, 1, true, 0, false, 0 }, + [xi.item.DRIED_SQUID ] = { 2, 1, true, 0, false, 0 }, + [xi.item.DRILL_CALAMARY ] = { 0, 1, true, 0, false, 0 }, + [xi.item.DWARF_PUGIL ] = { 0, 1, true, 0, false, 0 }, + [xi.item.FLY_LURE ] = { 1, 1, true, 16, false, 0 }, + [xi.item.FROG_LURE ] = { 1, 1, true, 0, false, 0 }, + [xi.item.GIANT_SHELL_BUG ] = { 0, 1, true, 0, false, 0 }, + [xi.item.GOLIATH_WORM ] = { 0, 1, true, 0, false, 0 }, + [xi.item.JUDGE_FLY ] = { 1, 1, false, 0, false, 0 }, + [xi.item.JUDGE_MINNOW ] = { 1, 1, false, 0, false, 0 }, + [xi.item.JUDGES_LURE ] = { 1, 1, false, 0, false, 0 }, + [xi.item.LARGE_MAZE_MONGER_BALL ] = { 1, 1, true, 0, true, 0 }, + [xi.item.LITTLE_WORM ] = { 0, 1, true, 0, false, 0 }, + [xi.item.LIZARD_LURE ] = { 1, 1, true, 0, false, 0 }, + [xi.item.LUFAISE_FLY ] = { 0, 1, true, 0, false, 0 }, + [xi.item.LUGWORM ] = { 0, 1, true, 0, false, 0 }, + [xi.item.MAZE_MONGER_MINNOW ] = { 2, 1, true, 0, true, 0 }, + [xi.item.MEATBALL ] = { 0, 1, true, 0, false, 0 }, + [xi.item.MINNOW ] = { 1, 1, true, 0, false, 0 }, + [xi.item.PEELED_CRAYFISH ] = { 0, 1, true, 0, false, 0 }, + [xi.item.PEELED_LOBSTER ] = { 0, 1, true, 0, false, 0 }, + [xi.item.PIECE_OF_ROTTEN_MEAT ] = { 0, 1, true, 0, false, 0 }, + [xi.item.REGULAR_MAZE_MONGER_BALL] = { 1, 1, true, 0, true, 0 }, + [xi.item.ROBBER_RIG ] = { 1, 1, true, 72, false, 0 }, + [xi.item.ROGUE_RIG ] = { 1, 1, true, 72, false, 0 }, + [xi.item.SABIKI_RIG ] = { 1, 3, true, 0, false, 0 }, + [xi.item.SEA_DRAGON_LIVER ] = { 0, 1, true, 0, false, 0 }, + [xi.item.SHELL_BUG ] = { 0, 1, true, 0, false, 0 }, + [xi.item.SHRIMP_LURE ] = { 1, 1, true, 0, false, 0 }, + [xi.item.SINKING_MINNOW ] = { 1, 1, true, 1, false, 0 }, + [xi.item.SLICE_OF_BLUETAIL ] = { 0, 1, true, 0, false, 0 }, + [xi.item.SLICE_OF_COD ] = { 0, 1, true, 0, false, 0 }, + [xi.item.SLICE_OF_MOAT_CARP ] = { 0, 1, true, 0, false, 0 }, + [xi.item.SLICE_OF_SARDINE ] = { 0, 1, true, 0, false, 0 }, + [xi.item.SUPER_SCOOP ] = { 0, 3, true, 32, false, 0 }, + [xi.item.WORM_LURE ] = { 1, 1, true, 0, false, 0 }, +} From 8d6670e2dbba0392ef6cfc0836ee3c0f727822ee Mon Sep 17 00:00:00 2001 From: Xaver-DaRed Date: Tue, 27 Jan 2026 16:01:39 +0100 Subject: [PATCH 2/3] Add second copy of several fish and adjust enum usage --- scripts/enum/item.lua | 81 +++++++++++++------ scripts/globals/apkallu.lua | 2 +- scripts/globals/fishing_contest.lua | 46 +++++------ scripts/items/creel_of_moat_carp.lua | 2 +- scripts/quests/ahtUrhgan/Cook-a-roon.lua | 4 +- scripts/quests/ahtUrhgan/Rat_Race.lua | 2 +- scripts/quests/jeuno/Hook_Line_and_Sinker.lua | 2 +- .../quests/otherAreas/Inside_the_Belly.lua | 38 ++++----- .../quests/outlands/SAM_AF2_Yomi_Okuri.lua | 2 +- scripts/quests/sandoria/The_Competition.lua | 6 +- scripts/quests/sandoria/The_Rivalry.lua | 6 +- scripts/zones/Kuftal_Tunnel/npcs/qm2.lua | 2 +- scripts/zones/Port_Windurst/npcs/Tokaka.lua | 8 +- scripts/zones/South_Gustaberg/npcs/qm1.lua | 2 +- 14 files changed, 116 insertions(+), 87 deletions(-) diff --git a/scripts/enum/item.lua b/scripts/enum/item.lua index e256defdc1d..64f3c913049 100644 --- a/scripts/enum/item.lua +++ b/scripts/enum/item.lua @@ -2375,6 +2375,7 @@ xi.item = WAILING_STONE_P1 = 3952, WAILING_STONE_P2 = 3953, GHASTLY_STONE_P2 = 3956, + CLUMP_OF_ADOULINIAN_KELP = 3965, MOG_KUPON_A_DEII = 3967, MOG_KUPON_A_DE = 3968, MOG_KUPON_A_SAL = 3969, @@ -2578,7 +2579,7 @@ xi.item = FLASK_OF_PERSIKOS_AU_LAIT = 4303, GRIMMONITE = 4304, RYUGU_TITAN = 4305, - GIANT_DONKO = 4306, + GIANT_DONKO_1 = 4306, JUNGLE_CATFISH = 4307, GIANT_CHIRAI = 4308, CAVE_CHERAX = 4309, @@ -2595,12 +2596,12 @@ xi.item = LOAF_OF_HOBGOBLIN_BREAD = 4328, CANTEEN_OF_GIDDEUS_WATER = 4351, DERFLAND_PEAR = 4352, - SHINING_TROUT = 4354, + SHINING_TROUT_1 = 4354, LOAF_OF_WHITE_BREAD = 4356, CRAWLER_EGG = 4357, SLICE_OF_HARE_MEAT = 4358, SLICE_OF_DHALMEL_MEAT = 4359, - BASTORE_SARDINE = 4360, + BASTORE_SARDINE_1 = 4360, NEBIMONITE = 4361, LIZARD_EGG = 4362, FAERIE_APPLE = 4363, @@ -2623,7 +2624,7 @@ xi.item = SMOKED_SALMON = 4380, MEAT_MITHKABOB = 4381, FROST_TURNIP = 4382, - GOLD_LOBSTER = 4383, + GOLD_LOBSTER_1 = 4383, BLACK_SOLE = 4384, ZAFMLUG_BASS = 4385, KING_TRUFFLE = 4386, @@ -2639,9 +2640,9 @@ xi.item = SAUSAGE_ROLL = 4396, CINNA_COOKIE = 4397, FISH_MITHKABOB = 4398, - BLUETAIL = 4399, + BLUETAIL_1 = 4399, SLICE_OF_LAND_CRAB_MEAT = 4400, - MOAT_CARP = 4401, + MOAT_CARP_1 = 4401, RED_TERRAPIN = 4402, YELLOW_GLOBE = 4403, ROAST_TROUT = 4404, @@ -2667,8 +2668,8 @@ xi.item = BOTTLE_OF_TOMATO_JUICE = 4425, TRICOLORED_CARP = 4426, GOLD_CARP = 4427, - DARK_BASS = 4428, - BLACK_EEL = 4429, + DARK_BASS_1 = 4428, + BLACK_EEL_1 = 4429, BUNCH_OF_SAN_DORIAN_GRAPES = 4431, KAZHAM_PINEAPPLE = 4432, BOWL_OF_DHALMEL_STEW = 4433, @@ -2698,28 +2699,28 @@ xi.item = NEBIMONITE_BAKE = 4459, BLOCK_OF_STONE_CHEESE = 4460, BASTORE_BREAM = 4461, - MONKE_ONKE = 4462, + MONKE_ONKE_1 = 4462, TAKITARO = 4463, - PIPIRA = 4464, + PIPIRA_1 = 4464, BOWL_OF_GOBLIN_STEW = 4465, SPICY_CRACKER = 4466, GARLIC_CRACKER = 4467, BUNCH_OF_PAMAMAS = 4468, - GIANT_CATFISH = 4469, + GIANT_CATFISH_1 = 4469, ICEFISH = 4470, - BLADEFISH = 4471, - CRAYFISH = 4472, + BLADEFISH_1 = 4471, + CRAYFISH_1 = 4472, CRESCENT_FISH = 4473, GIGANT_SQUID = 4474, SEA_ZOMBIE = 4475, TITANICTUS = 4476, GAVIAL_FISH = 4477, - THREE_EYED_FISH = 4478, - BHEFHEL_MARLIN = 4479, - GUGRU_TUNA = 4480, - OGRE_EEL = 4481, - NOSTEAU_HERRING = 4482, - TIGER_COD = 4483, + THREE_EYED_FISH_1 = 4478, + BHEFHEL_MARLIN_1 = 4479, + GUGRU_TUNA_1 = 4480, + OGRE_EEL_1 = 4481, + NOSTEAU_HERRING_1 = 4482, + TIGER_COD_1 = 4483, NOBLE_LADY = 4485, SHALL_SHELL = 4484, DRAGON_HEART = 4486, @@ -2744,8 +2745,8 @@ xi.item = ACORN_COOKIE = 4510, BOWL_OF_AMBROSIA = 4511, BOTTLE_OF_AMRITA = 4513, - QUUS = 4514, - COPPER_FROG = 4515, + QUUS_1 = 4514, + COPPER_FROG_1 = 4515, SERVING_OF_YELLOW_CURRY = 4517, SILKWORM_EGG = 4526, JUG_OF_MARYS_MILK = 4527, @@ -3159,13 +3160,13 @@ xi.item = GURNARD = 5132, PTERYGOTUS = 5133, MOLA_MOLA = 5134, - RHINOCHIMERA = 5135, - ISTAVRIT = 5136, + RHINOCHIMERA_1 = 5135, + ISTAVRIT_1 = 5136, TURNABALIGI = 5137, BLACK_GHOST = 5138, BETTA = 5139, KALKANBALIGI = 5140, - VEYDAL_WRASSE = 5141, + VEYDAL_WRASSE_1 = 5141, CONE_OF_SNOLL_GELATO = 5147, PLATE_OF_SOLE_SUSHI = 5149, SLICE_OF_BUFFALO_MEAT = 5152, @@ -3330,12 +3331,16 @@ xi.item = YAYINBALIGI = 5463, KAPLUMBAGA = 5464, CAEDARVA_FROG = 5465, + TRUMPET_SHELL = 5466, MEGALODON = 5467, MATSYA = 5468, + BRASS_LOACH = 5469, PIRARUCU = 5470, GERROTHORAX = 5471, + GARPIKE = 5472, BASTORE_SWEEPER = 5473, - GIGANT_OCTOPUS = 5475, + CA_CUONG = 5474, + GIGANT_OCTOPUS_1 = 5475, ABAIA = 5476, WARRIOR_DIE = 5477, MONK_DIE = 5478, @@ -3442,7 +3447,31 @@ xi.item = COFFEE_MACARON = 5780, SUGAR_RUSK = 5782, CHOCOLATE_RUSK = 5783, - QUUS_F2 = 5793, + CRAYFISH_2 = 5785, + DARK_BASS_2 = 5786, + PIPIRA_2 = 5787, + BLACK_EEL_2 = 5788, + MOAT_CARP_2 = 5789, + COPPER_FROG_2 = 5790, + SHINING_TROUT_2 = 5791, + BASTORE_SARDINE_2 = 5792, + QUUS_2 = 5793, + TIGER_COD_2 = 5794, + OGRE_EEL_2 = 5795, + NOSTEAU_HERRING_2 = 5796, + GOLD_LOBSTER_2 = 5797, + BLUETAIL_2 = 5798, + GIANT_CATFISH_2 = 5799, + GIANT_DONKO_2 = 5800, + MONKE_ONKE_2 = 5801, + ISTAVRIT_2 = 5802, + GIGANT_OCTOPUS_2 = 5803, + VEYDAL_WRASSE_2 = 5804, + GUGRU_TUNA_2 = 5805, + BHEFHEL_MARLIN_2 = 5806, + BLADEFISH_2 = 5807, + RHINOCHIMERA_2 = 5808, + THREE_EYED_FISH_2 = 5809, CREEL_OF_MOAT_CARP = 5810, CREEL_OF_FOREST_CARP = 5811, DORADO_GAR = 5813, diff --git a/scripts/globals/apkallu.lua b/scripts/globals/apkallu.lua index 7c909681821..89dd1c95caf 100644 --- a/scripts/globals/apkallu.lua +++ b/scripts/globals/apkallu.lua @@ -5,7 +5,7 @@ xi.apkallu.zones = xi.apkallu.zones or {} xi.apkallu.fish = { xi.item.AHTAPOT, - xi.item.VEYDAL_WRASSE, + xi.item.VEYDAL_WRASSE_1, xi.item.YAYINBALIGI, } diff --git a/scripts/globals/fishing_contest.lua b/scripts/globals/fishing_contest.lua index 8c83585c5b1..c3ee4604e31 100644 --- a/scripts/globals/fishing_contest.lua +++ b/scripts/globals/fishing_contest.lua @@ -17,29 +17,29 @@ xi.fishingContest.fish = -- then you must comment out the lines containing unwanted fish. The C++ core calls the -- random function in this file to select a fish for each contest, which uses this table. - { id = xi.item.GRIMMONITE, name = 'grimmonite' , realName = 'Grimmonite' }, - { id = xi.item.RYUGU_TITAN, name = 'ryugu_titan' , realName = 'Ryugu Titan' }, - { id = xi.item.GIANT_DONKO, name = 'giant_donko' , realName = 'Giant Donko' }, - { id = xi.item.JUNGLE_CATFISH, name = 'jungle_catfish' , realName = 'Jungle Catfish' }, - { id = xi.item.GIANT_CHIRAI, name = 'giant_chirai' , realName = 'Giant Chirai' }, - { id = xi.item.CAVE_CHERAX, name = 'cave_cherax' , realName = 'Cave Cherax' }, - { id = xi.item.ARMORED_PISCES, name = 'armored_pisces' , realName = 'Armored Pisces' }, - { id = xi.item.TRICORN, name = 'tricorn' , realName = 'Tricorn' }, - { id = xi.item.EMPEROR_FISH, name = 'emperor_fish' , realName = 'Emperor Fish' }, - { id = xi.item.MONKE_ONKE, name = 'monke-onke' , realName = 'Monke-Onke' }, - { id = xi.item.TAKITARO, name = 'takitaro' , realName = 'Takitaro' }, - { id = xi.item.GIANT_CATFISH, name = 'giant_catfish' , realName = 'Giant Catfish' }, - { id = xi.item.BLADEFISH, name = 'bladefish' , realName = 'Bladefish' }, - { id = xi.item.GIGANT_SQUID, name = 'gigant_squid' , realName = 'Gigant Squid' }, - { id = xi.item.SEA_ZOMBIE, name = 'sea_zombie' , realName = 'Sea Zombie' }, - { id = xi.item.TITANICTUS, name = 'titanictus' , realName = 'Titanictus' }, - { id = xi.item.GAVIAL_FISH, name = 'gavial_fish' , realName = 'Gavial Fish' }, - { id = xi.item.THREE_EYED_FISH, name = 'three-eyed_fish' , realName = 'Three-eyed Fish' }, - { id = xi.item.BHEFHEL_MARLIN, name = 'bhefhel_marlin' , realName = 'Bhefhel Marlin' }, - { id = xi.item.GUGRU_TUNA, name = 'gugru_tuna' , realName = 'Gugru Tuna' }, - { id = xi.item.TITANIC_SAWFISH, name = 'titanic_sawfish' , realName = 'Titanic Sawfish' }, - { id = xi.item.GUGRUSAURUS, name = 'gugrusaurus' , realName = 'Gugrusaurus' }, - { id = xi.item.LIK, name = 'lik' , realName = 'Lik' }, + { id = xi.item.GRIMMONITE, name = 'grimmonite' , realName = 'Grimmonite' }, + { id = xi.item.RYUGU_TITAN, name = 'ryugu_titan' , realName = 'Ryugu Titan' }, + { id = xi.item.GIANT_DONKO_1, name = 'giant_donko' , realName = 'Giant Donko' }, + { id = xi.item.JUNGLE_CATFISH, name = 'jungle_catfish' , realName = 'Jungle Catfish' }, + { id = xi.item.GIANT_CHIRAI, name = 'giant_chirai' , realName = 'Giant Chirai' }, + { id = xi.item.CAVE_CHERAX, name = 'cave_cherax' , realName = 'Cave Cherax' }, + { id = xi.item.ARMORED_PISCES, name = 'armored_pisces' , realName = 'Armored Pisces' }, + { id = xi.item.TRICORN, name = 'tricorn' , realName = 'Tricorn' }, + { id = xi.item.EMPEROR_FISH, name = 'emperor_fish' , realName = 'Emperor Fish' }, + { id = xi.item.MONKE_ONKE_1, name = 'monke-onke' , realName = 'Monke-Onke' }, + { id = xi.item.TAKITARO, name = 'takitaro' , realName = 'Takitaro' }, + { id = xi.item.GIANT_CATFISH_1, name = 'giant_catfish' , realName = 'Giant Catfish' }, + { id = xi.item.BLADEFISH_1, name = 'bladefish' , realName = 'Bladefish' }, + { id = xi.item.GIGANT_SQUID, name = 'gigant_squid' , realName = 'Gigant Squid' }, + { id = xi.item.SEA_ZOMBIE, name = 'sea_zombie' , realName = 'Sea Zombie' }, + { id = xi.item.TITANICTUS, name = 'titanictus' , realName = 'Titanictus' }, + { id = xi.item.GAVIAL_FISH, name = 'gavial_fish' , realName = 'Gavial Fish' }, + { id = xi.item.THREE_EYED_FISH_1, name = 'three-eyed_fish' , realName = 'Three-eyed Fish' }, + { id = xi.item.BHEFHEL_MARLIN_1, name = 'bhefhel_marlin' , realName = 'Bhefhel Marlin' }, + { id = xi.item.GUGRU_TUNA_1, name = 'gugru_tuna' , realName = 'Gugru Tuna' }, + { id = xi.item.TITANIC_SAWFISH, name = 'titanic_sawfish' , realName = 'Titanic Sawfish' }, + { id = xi.item.GUGRUSAURUS, name = 'gugrusaurus' , realName = 'Gugrusaurus' }, + { id = xi.item.LIK, name = 'lik' , realName = 'Lik' }, } xi.fishingContest.criteria = diff --git a/scripts/items/creel_of_moat_carp.lua b/scripts/items/creel_of_moat_carp.lua index e754532acf4..66b59b3c412 100644 --- a/scripts/items/creel_of_moat_carp.lua +++ b/scripts/items/creel_of_moat_carp.lua @@ -10,7 +10,7 @@ itemObject.onItemCheck = function(target, item, param, caster) end itemObject.onItemUse = function(target) - npcUtil.giveItem(target, { { xi.item.MOAT_CARP, math.random(6, 12) } }) + npcUtil.giveItem(target, { { xi.item.MOAT_CARP_1, math.random(6, 12) } }) end return itemObject diff --git a/scripts/quests/ahtUrhgan/Cook-a-roon.lua b/scripts/quests/ahtUrhgan/Cook-a-roon.lua index 6daabc7b790..44230f58e9e 100644 --- a/scripts/quests/ahtUrhgan/Cook-a-roon.lua +++ b/scripts/quests/ahtUrhgan/Cook-a-roon.lua @@ -48,7 +48,7 @@ quest.sections = end, onTrade = function(player, npc, trade) - if npcUtil.tradeHasExactly(trade, { xi.item.AHTAPOT, xi.item.ISTAKOZ, xi.item.ISTAVRIT, xi.item.ISTIRIDYE, xi.item.MERCANBALIGI }) then + if npcUtil.tradeHasExactly(trade, { xi.item.AHTAPOT, xi.item.ISTAKOZ, xi.item.ISTAVRIT_1, xi.item.ISTIRIDYE, xi.item.MERCANBALIGI }) then quest:setVar(player, 'Prog', math.random(2, 3)) return quest:progressEvent(243, { [7] = quest:getVar(player, 'Prog') }) end @@ -81,7 +81,7 @@ quest.sections = ['Ququroon'] = { onTrade = function(player, npc, trade) - if npcUtil.tradeHasExactly(trade, { xi.item.AHTAPOT, xi.item.ISTAKOZ, xi.item.ISTAVRIT, xi.item.ISTIRIDYE, xi.item.MERCANBALIGI }) then + if npcUtil.tradeHasExactly(trade, { xi.item.AHTAPOT, xi.item.ISTAKOZ, xi.item.ISTAVRIT_1, xi.item.ISTIRIDYE, xi.item.MERCANBALIGI }) then quest:setVar(player, 'Prog', math.random(2, 3)) return quest:progressEvent(243, { [7] = quest:getVar(player, 'Prog') }) end diff --git a/scripts/quests/ahtUrhgan/Rat_Race.lua b/scripts/quests/ahtUrhgan/Rat_Race.lua index 8c81b4e8a35..26aef28c429 100644 --- a/scripts/quests/ahtUrhgan/Rat_Race.lua +++ b/scripts/quests/ahtUrhgan/Rat_Race.lua @@ -142,7 +142,7 @@ quest.sections = onTrade = function(player, npc, trade) if quest:getVar(player, 'Prog') == 4 and - npcUtil.tradeHasExactly(trade, { xi.item.AHTAPOT, xi.item.ISTAKOZ, xi.item.ISTAVRIT, xi.item.ISTIRIDYE, xi.item.MERCANBALIGI }) + npcUtil.tradeHasExactly(trade, { xi.item.AHTAPOT, xi.item.ISTAKOZ, xi.item.ISTAVRIT_1, xi.item.ISTIRIDYE, xi.item.MERCANBALIGI }) then return quest:progressEvent(310) end diff --git a/scripts/quests/jeuno/Hook_Line_and_Sinker.lua b/scripts/quests/jeuno/Hook_Line_and_Sinker.lua index 76bfbe1d4a5..ebbb0cb2381 100644 --- a/scripts/quests/jeuno/Hook_Line_and_Sinker.lua +++ b/scripts/quests/jeuno/Hook_Line_and_Sinker.lua @@ -25,7 +25,7 @@ quest.sections = ['Omer'] = { onTrigger = function(player, npc) - return quest:progressEvent(10040, 0, xi.item.THREE_EYED_FISH, xi.item.CRESCENT_FISH, 0, xi.item.EGRET_FISHING_ROD) + return quest:progressEvent(10040, 0, xi.item.THREE_EYED_FISH_1, xi.item.CRESCENT_FISH, 0, xi.item.EGRET_FISHING_ROD) end, }, diff --git a/scripts/quests/otherAreas/Inside_the_Belly.lua b/scripts/quests/otherAreas/Inside_the_Belly.lua index c2615d03adf..0ef5f18ccdb 100644 --- a/scripts/quests/otherAreas/Inside_the_Belly.lua +++ b/scripts/quests/otherAreas/Inside_the_Belly.lua @@ -33,7 +33,7 @@ local fishRewards = } }, - [xi.item.GIANT_DONKO] = + [xi.item.GIANT_DONKO_1] = { gil = 96, items = @@ -96,7 +96,7 @@ local fishRewards = } }, - [xi.item.MONKE_ONKE] = + [xi.item.MONKE_ONKE_1] = { gil = 150, items = @@ -105,7 +105,7 @@ local fishRewards = } }, - [xi.item.DARK_BASS] = + [xi.item.DARK_BASS_1] = { gil = 10, items = @@ -142,7 +142,7 @@ local fishRewards = } }, - [xi.item.BLADEFISH] = + [xi.item.BLADEFISH_1] = { gil = 200, items = @@ -189,7 +189,7 @@ local fishRewards = } }, - [xi.item.THREE_EYED_FISH] = + [xi.item.THREE_EYED_FISH_1] = { gil = 250, items = @@ -198,7 +198,7 @@ local fishRewards = } }, - [xi.item.BHEFHEL_MARLIN] = + [xi.item.BHEFHEL_MARLIN_1] = { gil = 150, items = @@ -208,7 +208,7 @@ local fishRewards = } }, - [xi.item.GUGRU_TUNA] = + [xi.item.GUGRU_TUNA_1] = { gil = 50, items = @@ -217,7 +217,7 @@ local fishRewards = } }, - [xi.item.OGRE_EEL] = + [xi.item.OGRE_EEL_1] = { gil = 16, title = xi.title.CORDON_BLEU_FISHER, @@ -272,7 +272,7 @@ local fishRewards = } }, - [xi.item.RHINOCHIMERA] = + [xi.item.RHINOCHIMERA_1] = { gil = 300, items = @@ -281,7 +281,7 @@ local fishRewards = } }, - [xi.item.ISTAVRIT] = + [xi.item.ISTAVRIT_1] = { gil = 50, items = @@ -310,7 +310,7 @@ local fishRewards = } }, - [xi.item.VEYDAL_WRASSE] = + [xi.item.VEYDAL_WRASSE_1] = { gil = 225, items = @@ -405,7 +405,7 @@ local fishRewards = } }, - [xi.item.GIGANT_OCTOPUS] = + [xi.item.GIGANT_OCTOPUS_1] = { gil = 119, items = @@ -453,7 +453,7 @@ local fishRewards = } }, - [xi.item.GIANT_CATFISH] = + [xi.item.GIANT_CATFISH_1] = { gil = 50, title = xi.title.CORDON_BLEU_FISHER, @@ -582,18 +582,18 @@ local function zaldonOnTrigger(player, npc) { { 162, - xi.item.GIANT_CATFISH, - xi.item.DARK_BASS, - xi.item.OGRE_EEL, + xi.item.GIANT_CATFISH_1, + xi.item.DARK_BASS_1, + xi.item.OGRE_EEL_1, xi.item.ZAFMLUG_BASS, }, { 163, xi.item.ZAFMLUG_BASS, - xi.item.GIANT_DONKO, - xi.item.BHEFHEL_MARLIN, - xi.item.BLADEFISH, + xi.item.GIANT_DONKO_1, + xi.item.BHEFHEL_MARLIN_1, + xi.item.BLADEFISH_1, xi.item.SILVER_SHARK, }, diff --git a/scripts/quests/outlands/SAM_AF2_Yomi_Okuri.lua b/scripts/quests/outlands/SAM_AF2_Yomi_Okuri.lua index de025196792..6a502d91277 100644 --- a/scripts/quests/outlands/SAM_AF2_Yomi_Okuri.lua +++ b/scripts/quests/outlands/SAM_AF2_Yomi_Okuri.lua @@ -82,7 +82,7 @@ quest.sections = quest:getVar(player, 'Stage') == 0 and not player:hasKeyItem(xi.ki.WASHUS_TASTY_WURST) and not player:hasKeyItem(xi.ki.YOMOTSU_FEATHER) and - npcUtil.tradeHasExactly(trade, { xi.item.HECTEYES_EYE, xi.item.BASTORE_SARDINE, xi.item.SLICE_OF_GIANT_SHEEP_MEAT, xi.item.FROST_TURNIP }) + npcUtil.tradeHasExactly(trade, { xi.item.HECTEYES_EYE, xi.item.BASTORE_SARDINE_1, xi.item.SLICE_OF_GIANT_SHEEP_MEAT, xi.item.FROST_TURNIP }) then return quest:progressEvent(150) end diff --git a/scripts/quests/sandoria/The_Competition.lua b/scripts/quests/sandoria/The_Competition.lua index da3b93e8a5d..c9f6ad1389b 100644 --- a/scripts/quests/sandoria/The_Competition.lua +++ b/scripts/quests/sandoria/The_Competition.lua @@ -29,7 +29,7 @@ quest.sections = { ['Ufanne'] = quest:event(310), - ['Joulet'] = quest:progressEvent(304, xi.item.MOAT_CARP, xi.item.FOREST_CARP), + ['Joulet'] = quest:progressEvent(304, xi.item.MOAT_CARP_1, xi.item.FOREST_CARP), onEventFinish = { @@ -57,7 +57,7 @@ quest.sections = onTrade = function(player, npc, trade) local count = trade:getItemCount() - local moatCarp = trade:getItemQty(xi.item.MOAT_CARP) + local moatCarp = trade:getItemQty(xi.item.MOAT_CARP_1) local forestCarp = trade:getItemQty(xi.item.FOREST_CARP) local fishCountVar = player:getCharVar('carpsTraded') local totalFish = moatCarp + forestCarp + fishCountVar @@ -132,7 +132,7 @@ quest.sections = onTrade = function(player, npc, trade) local count = trade:getItemCount() - local moatCarp = trade:getItemQty(xi.item.MOAT_CARP) + local moatCarp = trade:getItemQty(xi.item.MOAT_CARP_1) local forestCarp = trade:getItemQty(xi.item.FOREST_CARP) local fishCountVar = player:getCharVar('carpsTraded') local totalFish = moatCarp + forestCarp + fishCountVar diff --git a/scripts/quests/sandoria/The_Rivalry.lua b/scripts/quests/sandoria/The_Rivalry.lua index 2676882b325..2402b6f9f6d 100644 --- a/scripts/quests/sandoria/The_Rivalry.lua +++ b/scripts/quests/sandoria/The_Rivalry.lua @@ -29,7 +29,7 @@ quest.sections = { ['Ufanne'] = quest:event(310), - ['Gallijaux'] = quest:progressEvent(300, xi.item.MOAT_CARP, xi.item.FOREST_CARP), + ['Gallijaux'] = quest:progressEvent(300, xi.item.MOAT_CARP_1, xi.item.FOREST_CARP), onEventFinish = { @@ -57,7 +57,7 @@ quest.sections = onTrade = function(player, npc, trade) local count = trade:getItemCount() - local moatCarp = trade:getItemQty(xi.item.MOAT_CARP) + local moatCarp = trade:getItemQty(xi.item.MOAT_CARP_1) local forestCarp = trade:getItemQty(xi.item.FOREST_CARP) local fishCountVar = player:getCharVar('carpsTraded') local totalFish = moatCarp + forestCarp + fishCountVar @@ -132,7 +132,7 @@ quest.sections = onTrade = function(player, npc, trade) local count = trade:getItemCount() - local moatCarp = trade:getItemQty(xi.item.MOAT_CARP) + local moatCarp = trade:getItemQty(xi.item.MOAT_CARP_1) local forestCarp = trade:getItemQty(xi.item.FOREST_CARP) local fishCountVar = player:getCharVar('carpsTraded') local totalFish = moatCarp + forestCarp + fishCountVar diff --git a/scripts/zones/Kuftal_Tunnel/npcs/qm2.lua b/scripts/zones/Kuftal_Tunnel/npcs/qm2.lua index 03a1a3fa5cc..3e15cc622fd 100644 --- a/scripts/zones/Kuftal_Tunnel/npcs/qm2.lua +++ b/scripts/zones/Kuftal_Tunnel/npcs/qm2.lua @@ -11,7 +11,7 @@ local entity = {} entity.onTrade = function(player, npc, trade) if - npcUtil.tradeHas(trade, xi.item.QUUS) and + npcUtil.tradeHas(trade, xi.item.QUUS_1) and not GetMobByID(ID.mob.CANCER):isSpawned() and not GetMobByID(ID.mob.CANCER + 1):isSpawned() then diff --git a/scripts/zones/Port_Windurst/npcs/Tokaka.lua b/scripts/zones/Port_Windurst/npcs/Tokaka.lua index f465f1f9934..131c485003f 100644 --- a/scripts/zones/Port_Windurst/npcs/Tokaka.lua +++ b/scripts/zones/Port_Windurst/npcs/Tokaka.lua @@ -12,10 +12,10 @@ entity.onTrade = function(player, npc, trade) if tokakaSpokenTo == 1 and not needToZone then if - trade:hasItemQty(xi.item.BASTORE_SARDINE, 1) and + trade:hasItemQty(xi.item.BASTORE_SARDINE_1, 1) and trade:getItemCount() == 1 then - player:startEvent(210, xi.settings.main.GIL_RATE * 70, xi.item.BASTORE_SARDINE) + player:startEvent(210, xi.settings.main.GIL_RATE * 70, xi.item.BASTORE_SARDINE_1) end end end @@ -27,10 +27,10 @@ entity.onTrigger = function(player, npc) if player:needToZone() then player:startEvent(211) else - player:startEvent(209, 0, xi.item.BASTORE_SARDINE) + player:startEvent(209, 0, xi.item.BASTORE_SARDINE_1) end elseif somethingFishy == xi.questStatus.QUEST_AVAILABLE then - player:startEvent(208, 0, xi.item.BASTORE_SARDINE) + player:startEvent(208, 0, xi.item.BASTORE_SARDINE_1) end end diff --git a/scripts/zones/South_Gustaberg/npcs/qm1.lua b/scripts/zones/South_Gustaberg/npcs/qm1.lua index b45f6e5069a..f25c2004b67 100755 --- a/scripts/zones/South_Gustaberg/npcs/qm1.lua +++ b/scripts/zones/South_Gustaberg/npcs/qm1.lua @@ -11,7 +11,7 @@ local entity = {} entity.onTrade = function(player, npc, trade) if - (npcUtil.tradeHas(trade, xi.item.QUUS) or npcUtil.tradeHas(trade, xi.item.QUUS_F2)) and + (npcUtil.tradeHas(trade, xi.item.QUUS_1) or npcUtil.tradeHas(trade, xi.item.QUUS_2)) and npcUtil.popFromQM(player, npc, ID.mob.BUBBLY_BERNIE, { hide = 0 }) then player:confirmTrade() From bdac303c0023a2f1a30d9d24f3890e62a88e56b4 Mon Sep 17 00:00:00 2001 From: Xaver-DaRed Date: Tue, 27 Jan 2026 22:10:17 +0100 Subject: [PATCH 3/3] Convert fishing_fish sql table to lua --- scripts/enum/key_item.lua | 1 + scripts/enum/quest_log.lua | 1 + scripts/globals/hobbies/fishing/data.lua | 172 +++++++++++++++++++++++ 3 files changed, 174 insertions(+) diff --git a/scripts/enum/key_item.lua b/scripts/enum/key_item.lua index 935e195df0e..e42e84532b6 100644 --- a/scripts/enum/key_item.lua +++ b/scripts/enum/key_item.lua @@ -6,6 +6,7 @@ xi = xi or {} ---@enum xi.keyItem xi.keyItem = { + NONE = 0, ZERUHN_REPORT = 1, PALBOROUGH_MINES_LOGS = 2, BLUE_ACIDITY_TESTER = 3, diff --git a/scripts/enum/quest_log.lua b/scripts/enum/quest_log.lua index cf6239daa9f..3bfdc12c2ae 100644 --- a/scripts/enum/quest_log.lua +++ b/scripts/enum/quest_log.lua @@ -3,6 +3,7 @@ xi = xi or {} ---@enum xi.questLog xi.questLog = { + NONE = -1, SANDORIA = 0, BASTOK = 1, WINDURST = 2, diff --git a/scripts/globals/hobbies/fishing/data.lua b/scripts/globals/hobbies/fishing/data.lua index 1b66de5b8f4..a27e33dcd63 100644 --- a/scripts/globals/hobbies/fishing/data.lua +++ b/scripts/globals/hobbies/fishing/data.lua @@ -74,3 +74,175 @@ xi.fishing.baitData = [xi.item.SUPER_SCOOP ] = { 0, 3, true, 32, false, 0 }, [xi.item.WORM_LURE ] = { 1, 1, true, 0, false, 0 }, } + +-- TODO: unnecesary data -> ranking is always 0, waterType is unused in the code???, requiredCatches is always '', family is always 0, isQuestOnly is probably unneeded, isDisabled doesnt need to exist. +xi.fishing.catchData = +{ + -- [item Id] = { skillLvl, difficulty, delay, move, minLength, maxLength, ranking, isBig, waterType, questLog, questId, questStatus, flags, hourPattern, moonPattern, monthPattern, isLegendary, legendFlags, isDebris, maxHookAmount, rarity, ki, requiredCatches, family, isQuestOnly, isContested, isDisabled } + -- Fish + [xi.item.ABAIA ] = { 150, 37, 7, 13, 269, 317, 34, true, 0, xi.questLog.NONE, 255, 0, 0, 0, 0, 0, true, 0, false, 1, 500, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.AHTAPOT ] = { 90, 31, 8, 7, 55, 145, 25, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 4, false, 0, false, 1, 500, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.ALABALIGI ] = { 37, 16, 5, 11, 1, 1, 15, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 10, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.ARMORED_PISCES ] = { 108, 22, 9, 12, 50, 125, 19, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 0, false, 0, false, 1, 350, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.BASTORE_BREAM ] = { 86, 31, 7, 9, 1, 1, 22, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 0, false, 0, false, 1, 250, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.BASTORE_SARDINE_1 ] = { 9, 21, 11, 6, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 1, 2, 2, 3, false, 0, false, 3, 500, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.BASTORE_SARDINE_2 ] = { 9, 21, 11, 6, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 1, 2, 2, 3, false, 0, false, 3, 500, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.BASTORE_SWEEPER ] = { 12, 17, 4, 2, 1, 1, 99, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 2, 3, false, 0, false, 1, 950, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.BETTA ] = { 68, 16, 3, 12, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 0, 7, 4, 9, false, 0, false, 1, 600, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.BHEFHEL_MARLIN_1 ] = { 61, 20, 10, 11, 60, 140, 23, true, 0, xi.questLog.NONE, 255, 0, 0, 7, 1, 8, false, 0, false, 1, 700, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.BHEFHEL_MARLIN_2 ] = { 61, 20, 10, 11, 60, 140, 23, true, 0, xi.questLog.NONE, 255, 0, 0, 7, 1, 8, false, 0, false, 1, 700, xi.ki.NONE, '', 0, false, 1, false }, -- Has 2 different item Ids + [xi.item.BIBIKI_URCHIN ] = { 3, 20, 13, 1, 1, 1, 1, false, 1, xi.questLog.NONE, 255, 0, 0, 3, 1, 1, false, 0, false, 1, 50, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.BIBIKIBO ] = { 8, 22, 12, 3, 1, 1, 1, false, 1, xi.questLog.NONE, 255, 0, 0, 5, 2, 2, false, 0, false, 1, 100, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.BLACK_EEL_1 ] = { 47, 24, 5, 8, 1, 1, 15, false, 0, xi.questLog.NONE, 255, 0, 0, 4, 4, 3, false, 0, false, 1, 800, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.BLACK_EEL_2 ] = { 47, 24, 5, 8, 1, 1, 15, false, 0, xi.questLog.NONE, 255, 0, 0, 4, 4, 3, false, 0, false, 1, 800, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.BLACK_GHOST ] = { 88, 36, 9, 11, 1, 1, 18, false, 0, xi.questLog.NONE, 255, 0, 0, 1, 1, 8, false, 0, false, 1, 450, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.BLACK_SOLE ] = { 96, 33, 5, 11, 1, 1, 23, false, 0, xi.questLog.NONE, 255, 0, 0, 4, 1, 0, false, 0, false, 1, 150, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.BLADEFISH_1 ] = { 71, 21, 6, 12, 40, 120, 23, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 4, 4, false, 0, false, 1, 750, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.BLADEFISH_2 ] = { 71, 21, 6, 12, 40, 120, 23, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 4, 4, false, 0, false, 1, 750, xi.ki.NONE, '', 0, false, 1, false }, -- Has 2 different item Ids + [xi.item.BLINDFISH ] = { 28, 18, 6, 8, 1, 1, 18, false, 0, xi.questLog.NONE, 255, 0, 0, 7, 2, 8, false, 0, false, 1, 750, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.BLUETAIL_1 ] = { 55, 24, 4, 12, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 3, false, 0, false, 1, 650, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.BLUETAIL_2 ] = { 55, 24, 4, 12, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 3, false, 0, false, 1, 650, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.BRASS_LOACH ] = { 42, 27, 11, 7, 1, 1, 99, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 5, 8, false, 0, false, 1, 750, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.CA_CUONG ] = { 78, 17, 12, 6, 1, 1, 99, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 0, 0, false, 0, false, 1, 500, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.CAEDARVA_FROG ] = { 30, 17, 6, 13, 1, 1, 5, false, 0, xi.questLog.NONE, 255, 0, 0, 4, 2, 0, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.CAVE_CHERAX ] = { 130, 36, 7, 4, 115, 235, 32, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 0, true, 0, false, 1, 500, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.CHEVAL_SALMON ] = { 21, 21, 7, 7, 1, 1, 17, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 0, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.COBALT_JELLYFISH ] = { 5, 28, 13, 0, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 0, 1, 1, 0, false, 0, false, 1, 700, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.CONE_CALAMARY ] = { 48, 40, 10, 5, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 1, 3, 1, 3, false, 0, false, 3, 850, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.COPPER_FROG_1 ] = { 16, 22, 8, 4, 1, 1, 9, false, 0, xi.questLog.NONE, 255, 0, 0, 4, 1, 0, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.COPPER_FROG_2 ] = { 16, 22, 8, 4, 1, 1, 9, false, 0, xi.questLog.NONE, 255, 0, 0, 4, 1, 0, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.CORAL_BUTTERFLY ] = { 40, 26, 10, 8, 1, 1, 19, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 3, 8, false, 0, false, 1, 900, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.CRAYFISH_1 ] = { 7, 24, 13, 6, 1, 1, 8, false, 0, xi.questLog.NONE, 255, 0, 0, 2, 2, 0, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.CRAYFISH_2 ] = { 7, 24, 13, 6, 1, 1, 8, false, 0, xi.questLog.NONE, 255, 0, 0, 2, 2, 0, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.CRESCENT_FISH ] = { 69, 28, 7, 8, 1, 1, 13, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 4, 3, false, 0, false, 1, 450, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.CRYSTAL_BASS ] = { 35, 24, 7, 12, 1, 1, 17, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 2, 7, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.DARK_BASS_1 ] = { 33, 23, 7, 8, 1, 1, 13, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 9, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.DARK_BASS_2 ] = { 33, 23, 7, 8, 1, 1, 13, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 9, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.DENIZANASI ] = { 5, 28, 13, 0, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 0, 1, 1, 0, false, 0, false, 1, 700, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.DIL ] = { 96, 33, 5, 11, 1, 1, 23, false, 0, xi.questLog.NONE, 255, 0, 0, 4, 1, 0, false, 0, false, 1, 150, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.ELSHIMO_FROG ] = { 30, 25, 6, 13, 1, 1, 5, false, 0, xi.questLog.NONE, 255, 0, 0, 4, 1, 4, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.ELSHIMO_NEWT ] = { 60, 26, 8, 11, 1, 1, 19, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 1, 1, false, 0, false, 1, 900, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.EMPEROR_FISH ] = { 91, 36, 4, 13, 60, 180, 23, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 8, false, 0, false, 1, 100, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.FAT_GREEDIE ] = { 24, 30, 10, 8, 1, 1, 11, false, 1, xi.questLog.NONE, 255, 0, 0, 1, 4, 4, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.FOREST_CARP ] = { 20, 11, 9, 11, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 2, 1, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.GARPIKE ] = { 83, 24, 3, 10, 1, 1, 99, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 4, 4, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.GAVIAL_FISH ] = { 81, 30, 14, 15, 40, 130, 23, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 4, 4, false, 0, false, 1, 400, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.GERROTHORAX ] = { 134, 29, 7, 8, 210, 250, 30, true, 0, xi.questLog.NONE, 255, 0, 0, 0, 2, 9, true, 0, false, 1, 500, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.GIANT_CATFISH_1 ] = { 31, 13, 6, 12, 40, 130, 19, true, 0, xi.questLog.NONE, 255, 0, 0, 4, 1, 6, false, 0, false, 1, 900, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.GIANT_CATFISH_2 ] = { 31, 13, 6, 12, 40, 130, 19, true, 0, xi.questLog.NONE, 255, 0, 0, 4, 1, 6, false, 0, false, 1, 900, xi.ki.NONE, '', 0, false, 1, false }, -- Has 2 different item Ids + [xi.item.GIANT_CHIRAI ] = { 110, 25, 4, 15, 75, 170, 27, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 0, true, 0, false, 1, 500, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.GIANT_DONKO_1 ] = { 50, 17, 14, 8, 45, 150, 23, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 5, 4, false, 0, false, 1, 900, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.GIANT_DONKO_2 ] = { 50, 17, 14, 8, 45, 150, 23, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 5, 4, false, 0, false, 1, 900, xi.ki.NONE, '', 0, false, 1, false }, -- Has 2 different item Ids + [xi.item.GIGANT_OCTOPUS_1 ] = { 80, 18, 6, 9, 65, 170, 99, true, 0, xi.questLog.NONE, 255, 0, 0, 0, 0, 0, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.GIGANT_OCTOPUS_2 ] = { 80, 18, 6, 9, 65, 170, 99, true, 0, xi.questLog.NONE, 255, 0, 0, 0, 0, 0, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.GIGANT_SQUID ] = { 91, 43, 7, 13, 80, 170, 23, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 4, false, 0, false, 1, 100, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.GOLD_CARP ] = { 56, 18, 10, 14, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 8, false, 0, false, 1, 750, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.GOLD_LOBSTER_1 ] = { 46, 35, 4, 3, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 1, 3, 1, 0, false, 0, false, 1, 800, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.GOLD_LOBSTER_2 ] = { 46, 35, 4, 3, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 1, 3, 1, 0, false, 0, false, 1, 800, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.GREEDIE ] = { 14, 10, 7, 14, 1, 1, 10, false, 1, xi.questLog.NONE, 255, 0, 0, 1, 3, 7, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.GRIMMONITE ] = { 90, 31, 8, 7, 55, 145, 25, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 4, false, 0, false, 1, 450, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.GUGRU_TUNA_1 ] = { 41, 16, 6, 13, 40, 120, 22, true, 1, xi.questLog.NONE, 255, 0, 16, 1, 1, 0, false, 0, false, 1, 850, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.GUGRU_TUNA_2 ] = { 41, 16, 6, 13, 40, 120, 22, true, 1, xi.questLog.NONE, 255, 0, 16, 1, 1, 0, false, 0, false, 1, 850, xi.ki.NONE, '', 0, false, 1, false }, -- Has 2 different item Ids + [xi.item.GUGRUSAURUS ] = { 140, 39, 6, 5, 145, 425, 33, true, 1, xi.questLog.NONE, 255, 0, 0, 3, 1, 4, true, 7, false, 1, 350, xi.ki.SERPENT_RUMORS, '', 0, false, 1, false }, + [xi.item.GURNARD ] = { 26, 13, 11, 9, 1, 1, 5, false, 0, xi.questLog.NONE, 255, 0, 0, 6, 4, 3, false, 0, false, 1, 550, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.HAMSI ] = { 9, 21, 11, 6, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 1, 7, 1, 6, false, 0, false, 3, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.ICEFISH ] = { 49, 38, 11, 7, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 3, false, 0, false, 3, 900, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.ISTAKOZ ] = { 46, 35, 4, 3, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 3, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.ISTAVRIT_1 ] = { 37, 13, 11, 5, 10, 20, 16, true, 0, xi.questLog.NONE, 255, 0, 0, 1, 2, 6, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.ISTAVRIT_2 ] = { 37, 13, 11, 5, 10, 20, 16, true, 0, xi.questLog.NONE, 255, 0, 0, 1, 2, 6, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.ISTIRIDYE ] = { 53, 27, 13, 2, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 1, 3, 2, 4, false, 0, false, 1, 850, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.JUNGLE_CATFISH ] = { 80, 26, 9, 11, 40, 110, 23, true, 0, xi.questLog.NONE, 255, 0, 0, 4, 1, 6, false, 0, false, 1, 500, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.KALAMAR ] = { 48, 40, 10, 5, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 1, 3, 1, 3, false, 0, false, 3, 850, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.KALKANBALIGI ] = { 105, 19, 6, 12, 60, 120, 27, true, 1, xi.questLog.NONE, 255, 0, 16, 3, 5, 8, true, 0, false, 1, 500, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.KAPLUMBAGA ] = { 53, 28, 8, 5, 1, 1, 11, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 5, 4, false, 0, false, 1, 800, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.KAYABALIGI ] = { 75, 30, 7, 8, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 2, false, 0, false, 1, 650, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.KILICBALIGI ] = { 62, 18, 10, 11, 1, 1, 23, true, 0, xi.questLog.NONE, 255, 0, 0, 7, 1, 8, false, 0, false, 1, 800, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.LAKERDA ] = { 41, 16, 6, 13, 55, 100, 22, true, 0, xi.questLog.NONE, 255, 0, 0, 1, 4, 0, false, 0, false, 1, 900, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.LAMP_MARIMO ] = { 3, 26, 13, 2, 1, 1, 1, false, 0, xi.questLog.NONE, 255, 0, 0, 6, 2, 5, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.LIK ] = { 140, 48, 2, 14, 185, 465, 33, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 6, true, 8, false, 1, 850, xi.ki.SERPENT_RUMORS, '', 0, false, 1, false }, + [xi.item.LUNGFISH ] = { 32, 16, 4, 8, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 0, 1, 1, 8, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.MATSYA ] = { 150, 31, 5, 12, 163, 331, 99, true, 0, xi.questLog.NONE, 255, 0, 0, 0, 1, 0, true, 0, false, 1, 500, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.MEGALODON ] = { 87, 33, 10, 11, 446, 625, 99, true, 0, xi.questLog.NONE, 255, 0, 0, 0, 0, 0, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.MERCANBALIGI ] = { 86, 31, 7, 9, 1, 1, 22, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 0, false, 0, false, 1, 400, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.MOAT_CARP_1 ] = { 11, 16, 10, 9, 1, 1, 7, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 0, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.MOAT_CARP_2 ] = { 11, 16, 10, 9, 1, 1, 7, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 0, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.MOLA_MOLA ] = { 135, 16, 12, 12, 110, 200, 30, true, 1, xi.questLog.NONE, 255, 0, 16, 1, 5, 8, true, 0, false, 1, 500, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.MONKE_ONKE_1 ] = { 51, 17, 11, 9, 45, 115, 18, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 4, false, 0, false, 1, 550, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.MONKE_ONKE_2 ] = { 51, 17, 11, 9, 45, 115, 18, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 4, false, 0, false, 1, 550, xi.ki.NONE, '', 0, false, 1, false }, -- Has 2 different item Ids + [xi.item.MOORISH_IDOL ] = { 26, 18, 6, 11, 1, 1, 9, false, 1, xi.questLog.NONE, 255, 0, 0, 3, 2, 4, false, 0, false, 1, 700, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.MORINABALIGI ] = { 94, 36, 4, 13, 1, 1, 23, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 8, false, 0, false, 1, 450, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.MUDDY_SIREDON ] = { 18, 23, 12, 11, 1, 1, 1, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 1, 1, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.NEBIMONITE ] = { 27, 30, 9, 5, 1, 1, 10, false, 1, xi.questLog.NONE, 255, 0, 0, 3, 1, 2, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.NOBLE_LADY ] = { 66, 30, 7, 10, 1, 1, 13, false, 1, xi.questLog.NONE, 255, 0, 0, 3, 1, 0, false, 0, false, 1, 700, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.NOSTEAU_HERRING_1 ] = { 39, 21, 7, 8, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 3, false, 0, false, 1, 950, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.NOSTEAU_HERRING_2 ] = { 39, 21, 7, 8, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 3, false, 0, false, 1, 950, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.OGRE_EEL_1 ] = { 35, 29, 13, 11, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 0, 4, 2, 3, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.OGRE_EEL_2 ] = { 35, 29, 13, 11, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 0, 4, 2, 3, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.PHANAUET_NEWT ] = { 4, 13, 10, 11, 1, 1, 1, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 2, 1, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.PIPIRA_1 ] = { 29, 11, 6, 14, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 5, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.PIPIRA_2 ] = { 29, 11, 6, 14, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 5, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.PIRARUCU ] = { 89, 24, 13, 11, 161, 210, 99, true, 0, xi.questLog.NONE, 255, 0, 0, 0, 1, 3, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.PTERYGOTUS ] = { 99, 28, 8, 7, 25, 260, 24, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 9, false, 0, false, 1, 400, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.QUUS_1 ] = { 19, 12, 7, 11, 1, 1, 5, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 2, 3, false, 0, false, 3, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.QUUS_2 ] = { 19, 12, 7, 11, 1, 1, 5, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 2, 3, false, 0, false, 3, 1000, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.RED_TERRAPIN ] = { 53, 28, 8, 5, 1, 1, 11, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 5, 2, false, 0, false, 1, 750, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.RHINOCHIMERA_1 ] = { 72, 17, 5, 14, 10, 90, 23, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 7, false, 0, false, 1, 450, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.RHINOCHIMERA_2 ] = { 72, 17, 5, 14, 10, 90, 23, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 7, false, 0, false, 1, 450, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.RYUGU_TITAN ] = { 150, 48, 1, 15, 200, 490, 34, true, 1, xi.questLog.NONE, 255, 0, 0, 0, 1, 8, true, 0, false, 1, 700, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.SANDFISH ] = { 50, 36, 3, 10, 1, 1, 13, false, 0, xi.questLog.NONE, 255, 0, 1, 3, 3, 7, false, 0, false, 3, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.SAZANBALIGI ] = { 56, 18, 10, 14, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 1, false, 0, false, 1, 650, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.SEA_ZOMBIE ] = { 100, 39, 3, 15, 80, 195, 28, true, 1, xi.questLog.NONE, 255, 0, 0, 4, 1, 2, true, 0, false, 1, 350, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.SHALL_SHELL ] = { 53, 27, 13, 2, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 1, 3, 4, 8, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.SHINING_TROUT_1 ] = { 37, 16, 5, 11, 1, 1, 15, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 0, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.SHINING_TROUT_2 ] = { 37, 16, 5, 11, 1, 1, 15, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 0, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.SILVER_SHARK ] = { 76, 35, 3, 9, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 0, false, 0, false, 1, 500, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.TAKITARO ] = { 101, 18, 3, 14, 55, 130, 28, true, 0, xi.questLog.NONE, 255, 0, 16, 3, 5, 2, true, 0, false, 1, 500, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.TAVNAZIAN_GOBY ] = { 75, 30, 7, 8, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 4, 2, false, 0, false, 1, 850, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.THREE_EYED_FISH_1 ] = { 79, 22, 10, 10, 50, 120, 25, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 4, 8, false, 0, false, 1, 500, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.THREE_EYED_FISH_2 ] = { 79, 22, 10, 10, 50, 120, 25, true, 0, xi.questLog.NONE, 255, 0, 0, 3, 4, 8, false, 0, false, 1, 500, xi.ki.NONE, '', 0, false, 1, false }, -- Has 2 different item Ids + [xi.item.TIGER_COD_1 ] = { 29, 23, 9, 9, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 8, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.TIGER_COD_2 ] = { 29, 23, 9, 9, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 8, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.TINY_GOLDFISH ] = { 20, 22, 0, 14, 1, 1, 5, false, 0, xi.questLog.NONE, 255, 0, 0, 5, 1, 7, false, 0, false, 3, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.TITANIC_SAWFISH ] = { 125, 39, 6, 13, 75, 210, 29, true, 1, xi.questLog.NONE, 255, 0, 0, 0, 1, 9, true, 0, false, 1, 400, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.TITANICTUS ] = { 101, 28, 3, 12, 75, 210, 28, true, 1, xi.questLog.NONE, 255, 0, 0, 3, 5, 8, true, 0, false, 1, 350, xi.ki.NONE, '', 0, false, 1, false }, + [xi.item.TRICOLORED_CARP ] = { 27, 19, 12, 12, 1, 1, 13, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 8, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.TRICORN ] = { 128, 38, 11, 9, 105, 210, 31, true, 0, xi.questLog.NONE, 255, 0, 0, 0, 4, 10, true, 0, false, 1, 500, xi.ki.FROG_FISHING, '', 0, false, 1, false }, + [xi.item.TRILOBITE ] = { 59, 27, 5, 6, 1, 1, 14, false, 1, xi.questLog.NONE, 255, 0, 0, 3, 2, 10, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.TRUMPET_SHELL ] = { 63, 18, 10, 5, 1, 1, 99, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 1, 3, false, 0, false, 1, 550, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.TURNABALIGI ] = { 104, 30, 7, 12, 65, 175, 24, true, 0, xi.questLog.NONE, 255, 0, 16, 6, 1, 7, false, 0, false, 1, 450, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.USKUMRU ] = { 55, 24, 4, 12, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 2, 3, false, 0, false, 1, 550, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.VEYDAL_WRASSE_1 ] = { 35, 13, 11, 5, 40, 125, 25, true, 0, xi.questLog.NONE, 255, 0, 0, 6, 4, 3, false, 0, false, 1, 400, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.VEYDAL_WRASSE_2 ] = { 35, 13, 11, 5, 40, 125, 25, true, 0, xi.questLog.NONE, 255, 0, 0, 6, 4, 3, false, 0, false, 1, 400, xi.ki.NONE, '', 0, false, 0, false }, -- Has 2 different item Ids + [xi.item.VONGOLA_CLAM ] = { 53, 20, 8, 4, 1, 1, 13, false, 1, xi.questLog.NONE, 255, 0, 1, 3, 1, 3, false, 0, false, 1, 900, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.YAYINBALIGI ] = { 31, 13, 6, 12, 40, 130, 19, true, 0, xi.questLog.NONE, 255, 0, 0, 4, 1, 6, false, 0, false, 1, 900, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.YELLOW_GLOBE ] = { 17, 17, 8, 8, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 2, 1, false, 0, false, 3, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.YILANBALIGI ] = { 47, 24, 5, 8, 1, 1, 15, false, 0, xi.questLog.NONE, 255, 0, 0, 4, 4, 3, false, 0, false, 1, 800, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.ZAFMLUG_BASS ] = { 43, 27, 6, 7, 1, 1, 15, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 10, false, 0, false, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.ZEBRA_EEL ] = { 71, 32, 10, 10, 1, 1, 23, false, 0, xi.questLog.NONE, 255, 0, 0, 3, 1, 8, false, 0, false, 1, 800, xi.ki.NONE, '', 0, false, 0, false }, + + -- Debris + [xi.item.ARROWWOOD_LOG ] = { 4, 18, 13, 2, 1, 3, 18, true, 0, xi.questLog.NONE, 255, 0, 0, 2, 2, 0, false, 0, true, 1, 500, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.BUGBEAR_MASK ] = { 54, 42, 13, 2, 1, 1, 5, false, 0, xi.questLog.NONE, 255, 0, 0, 2, 1, 0, false, 0, true, 1, 700, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.CLUMP_OF_ADOULINIAN_KELP] = { 6, 18, 13, 2, 1, 1, 13, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 4, 0, false, 0, true, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.CLUMP_OF_PAMTAM_KELP ] = { 3, 24, 13, 2, 1, 1, 13, false, 0, xi.questLog.NONE, 255, 0, 0, 2, 4, 0, false, 0, true, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.COPPER_RING ] = { 24, 40, 13, 2, 1, 1, 5, false, 0, xi.questLog.NONE, 255, 0, 1, 0, 0, 0, false, 0, true, 1, 800, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.CORAL_FRAGMENT ] = { 74, 47, 13, 2, 1, 1, 5, false, 0, xi.questLog.NONE, 255, 0, 1, 7, 1, 0, false, 0, true, 1, 200, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.DAMP_SCROLL ] = { 20, 35, 13, 2, 1, 1, 1, false, 0, xi.questLog.NONE, 255, 0, 0, 1, 2, 0, false, 0, true, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.FISH_SCALE_SHIELD ] = { 7, 15, 13, 2, 1, 1, 13, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 0, 0, false, 0, true, 1, 500, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.GIL ] = { 1, 22, 13, 2, 1, 1, 1, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 0, 0, false, 0, true, 1, 100, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.HYDROGAUGE ] = { 7, 25, 13, 2, 1, 1, 1, false, 0, xi.questLog.AHT_URHGAN, 25, 0, 0, 0, 0, 0, false, 0, true, 1, 1000, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.MITHRA_SNARE ] = { 30, 22, 13, 2, 1, 1, 1, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 0, 0, false, 0, true, 1, 1000, xi.ki.NONE, '', 0, true , 0, false }, + [xi.item.MOBLIN_MASK ] = { 54, 44, 13, 2, 1, 1, 5, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 0, 0, false, 0, true, 1, 800, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.MYTHRIL_DAGGER ] = { 90, 78, 13, 2, 1, 1, 5, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 0, 0, false, 0, true, 1, 80, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.MYTHRIL_SWORD ] = { 90, 15, 13, 2, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 0, 0, false, 0, true, 1, 60, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.NORG_SHELL ] = { 14, 31, 13, 2, 1, 1, 14, false, 0, xi.questLog.NONE, 255, 0, 0, 2, 2, 0, false, 0, true, 1, 600, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.RIPPED_CAP ] = { 20, 36, 13, 2, 1, 1, 13, false, 0, xi.questLog.WINDURST, 23, 0, 0, 1, 3, 0, false, 0, true, 1, 400, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.RUSTY_BUCKET ] = { 1, 19, 13, 2, 1, 1, 10, false, 0, xi.questLog.NONE, 255, 0, 9, 1, 1, 0, false, 0, true, 1, 900, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.RUSTY_CAP ] = { 30, 38, 13, 2, 1, 1, 5, false, 0, xi.questLog.NONE, 255, 0, 9, 7, 1, 0, false, 0, true, 1, 800, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.RUSTY_GREATSWORD ] = { 60, 57, 13, 2, 1, 1, 5, false, 0, xi.questLog.NONE, 255, 0, 8, 0, 0, 0, false, 0, true, 1, 400, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.RUSTY_LEGGINGS ] = { 7, 26, 13, 2, 1, 1, 18, false, 0, xi.questLog.NONE, 255, 0, 9, 2, 0, 0, false, 0, true, 1, 500, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.RUSTY_PICK ] = { 40, 47, 13, 2, 1, 1, 5, false, 0, xi.questLog.NONE, 255, 0, 8, 2, 1, 0, false, 0, true, 1, 400, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.RUSTY_SUBLIGAR ] = { 5, 22, 13, 2, 1, 1, 5, false, 0, xi.questLog.NONE, 255, 0, 8, 2, 0, 0, false, 0, true, 1, 500, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.SILVER_RING ] = { 34, 40, 13, 2, 1, 1, 5, false, 0, xi.questLog.NONE, 255, 0, 1, 0, 0, 0, false, 0, true, 1, 300, xi.ki.NONE, '', 0, false, 0, false }, + [xi.item.TARUTARU_SNARE ] = { 30, 22, 13, 2, 1, 1, 1, false, 0, xi.questLog.NONE, 255, 0, 0, 0, 0, 0, false, 0, true, 1, 1000, xi.ki.NONE, '', 0, true, 0, false }, +}