HatEFID = { HAT_EF_Blossom_Fluttering = 1, HAT_EF_MERMAID_LONGING = 2, HAT_EF_rl_banishing_buster = 3, HAT_EF_LJOSALFAR = 4, HAT_EF_CLOCKING = 5, HAT_EF_SNOW = 6, HAT_EF_MAKEBLUR = 7, HAT_EF_SLEEPATTACK = 8, HAT_EF_GUMGANG = 9, HAT_EF_TALK_FROSTJOKE = 10, HAT_EF_DEMONSTRATION = 11, HAT_EF_Flutter_Butterfly = 12, HAT_EF_Angel_Fluttering = 13, HAT_EF_Blessing_Of_Angels = 14, HAT_EF_Electric = 15, HAT_EF_Green_Floor = 16, HAT_EF_Shrink = 17, HAT_EF_Valhalla_Idol = 18, HAT_EF_Angel_Stairs = 19, HAT_EF_Glow_Of_New_Year = 20, HAT_EF_BOTTOM_FORTUNEKISS = 21, HAT_EF_PINKBODY = 22, HAT_EF_DOUBLEGUMGANG = 23, HAT_EF_GIANTBODY = 24, HAT_EF_GREEN99_6 = 25, HAT_EF_CIRCLEPOWER = 26, HAT_EF_BOTTOM_BLOODYLUST = 27, HAT_EF_WATER_BELOW = 28, HAT_EF_LEVEL99_150 = 29, HAT_EF_YELLOWFLY3 = 30, HAT_EF_KAGEMUSYA = 31, HAT_EF_CHERRYBLOSSOM = 32, HAT_EF_STRANGELIGHTS = 33, HAT_EF_WL_TELEKINESIS_INTENSE = 34, HAT_EF_AB_OFFERTORIUM_RING = 35, HAT_EF_WHITEBODY2 = 36, HAT_EF_SAKURA = 37, HAT_EF_CLOUD2 = 38, HAT_EF_Feather_Fluttering = 39, HAT_EF_Camellia_Hair_Pin = 40, HAT_EF_Jp_Ev_Effect01 = 41, HAT_EF_Jp_Ev_Effect02 = 42, HAT_EF_Jp_Ev_Effect03 = 43, HAT_EF_Floral_Waltz = 44, HAT_EF_magical_feather = 45, HAT_EF_HAT_EFFECT = 46, HAT_EF_BAKURETSU_HADOU = 47, HAT_EF_gold_shower = 48, HAT_EF_WHITEBODY = 49, HAT_EF_WATER_BELOW2 = 50, HAT_EF_firework = 51, HAT_EF_Return_TW_1st_Hat = 52, HAT_EF_C_FlutterButterfly_BL = 53, HAT_EF_Qscaraba = 54, HAT_EF_FSTONE = 55, HAT_EF_Magiccircle = 56, HAT_EF_Brysinggamen = 57, HAT_EF_Magingiorde = 58, HAT_EF_LEVEL99_RED = 59, HAT_EF_LEVEL99_ULTRAMARINE = 60, HAT_EF_LEVEL99_CYAN = 61, HAT_EF_LEVEL99_LIME = 62, HAT_EF_LEVEL99_VIOLET = 63, HAT_EF_LEVEL99_LILAC = 64, HAT_EF_LEVEL99_SUN_ORANGE = 65, HAT_EF_LEVEL99_DEEP_PINK = 66, HAT_EF_LEVEL99_BLACK = 67, HAT_EF_LEVEL99_WHITE = 68, HAT_EF_LEVEL160_RED = 69, HAT_EF_LEVEL160_ULTRAMARINE = 70, HAT_EF_LEVEL160_CYAN = 71, HAT_EF_LEVEL160_LIME = 72, HAT_EF_LEVEL160_VIOLET = 73, HAT_EF_LEVEL160_LILAC = 74, HAT_EF_LEVEL160_SUN_ORANGE = 75, HAT_EF_LEVEL160_DEEP_PINK = 76, HAT_EF_LEVEL160_BLACK = 77, HAT_EF_LEVEL160_WHITE = 78, HAT_EF_Full_BloomCherry_Tree = 79, HAT_EF_C_Blessings_Of_Soul = 80, HAT_EF_ManyStars = 81, HAT_EF_SUBJECT_AURA_GOLD = 82, HAT_EF_SUBJECT_AURA_WHITE = 83, HAT_EF_SUBJECT_AURA_RED = 84, HAT_EF_C_Shining_Angel_Wing = 85, HAT_EF_Magic_Star_TW = 86, HAT_Digital_Space = 87, HAT_EF_Sleipnir = 88, HAT_EF_C_Maple_Which_Falls_Rd = 89, HAT_EF_MagiccircleRainbow = 90, HAT_EF_SnowFlake_Tiara = 91, HAT_EF_Midgarts_Glory = 92, HAT_EF_LEVEL99_TIGER = 93, HAT_EF_LEVEL160_TIGER = 94, HAT_EF_FluffyWing = 95, HAT_EF_C_Ghost_Effect = 96, HAT_EF_C_Popping_Poring_Aura = 97, HAT_EF_ResonateTaego = 98, HAT_EF_99LV_Rune_Red = 99, HAT_EF_99LV_Royal_Guard_Blue = 100, HAT_EF_99LV_Warlock_Violet = 101, HAT_EF_99LV_Sorcerer_LBlue = 102, HAT_EF_99LV_Ranger_Green = 103, HAT_EF_99LV_Minstrel_Pink = 104, HAT_EF_99LV_Archbishop_White = 105, HAT_EF_99LV_Guill_Silver = 106, HAT_EF_99LV_ShadowC_Black = 107, HAT_EF_99LV_Mechanic_Gold = 108, HAT_EF_99LV_Genetic_YGreen = 109, HAT_EF_160LV_Rune_Red = 110, HAT_EF_160LV_Royal_G_Blue = 111, HAT_EF_160LV_Warlock_Violet = 112, HAT_EF_160LV_Sorcerer_LBlue = 113, HAT_EF_160LV_Ranger_Green = 114, HAT_EF_160LV_Minstrel_Pink = 115, HAT_EF_160LV_Archb_White = 116, HAT_EF_160LV_Guill_Silver = 117, HAT_EF_160LV_ShadowC_Black = 118, HAT_EF_160LV_Mechanic_Gold = 119, HAT_EF_160LV_Genetic_YGreen = 120, HAT_EF_WATER_BELOW3 = 121, HAT_EF_WATER_BELOW4 = 122, HAT_EF_C_Valkyrie_Wing = 123 } hatEffectTable = { [HatEFID.HAT_EF_Blossom_Fluttering] = { resourceFileName = "efst_blossom_fluttering\\sakura.str", hatEffectPos = -4, hatEffectPosX = 1 }, [HatEFID.HAT_EF_MERMAID_LONGING] = { resourceFileName = "efst_mermaid_loging\\bubblebubble.str", hatEffectPos = 0, hatEffectPosX = 0 }, [HatEFID.HAT_EF_rl_banishing_buster] = { resourceFileName = "rl_banishing_buster\\vanishing1.str", hatEffectPos = -10, hatEffectPosX = 0 }, [HatEFID.HAT_EF_LJOSALFAR] = { resourceFileName = "efst_ljosalfar\\ljosalfar.str", hatEffectPos = 0, hatEffectPosX = 0 }, [HatEFID.HAT_EF_CLOCKING] = {hatEffectID = 120}, [HatEFID.HAT_EF_SNOW] = {hatEffectID = 162}, [HatEFID.HAT_EF_MAKEBLUR] = {hatEffectID = 166}, [HatEFID.HAT_EF_SLEEPATTACK] = {hatEffectID = 197}, [HatEFID.HAT_EF_GUMGANG] = {hatEffectID = 203}, [HatEFID.HAT_EF_TALK_FROSTJOKE] = {hatEffectID = 295}, [HatEFID.HAT_EF_DEMONSTRATION] = {hatEffectID = 302}, [HatEFID.HAT_EF_Flutter_Butterfly] = { resourceFileName = "efst_Flutter_Butterfly\\Flutter_Butterfly.str", hatEffectPos = -8, hatEffectPosX = 0 }, [HatEFID.HAT_EF_Angel_Fluttering] = { resourceFileName = "efst_Angel_Fluttering\\Angel_Fluttering.str", hatEffectPos = 0, hatEffectPosX = 0 }, [HatEFID.HAT_EF_Blessing_Of_Angels] = { resourceFileName = "efst_blessing_of_angels\\tensi3.str", hatEffectPos = -7, hatEffectPosX = 0, isIgnoreRiding = true }, [HatEFID.HAT_EF_Electric] = {hatEffectID = 254}, [HatEFID.HAT_EF_Green_Floor] = {hatEffectID = 680}, [HatEFID.HAT_EF_Shrink] = {hatEffectID = 421}, [HatEFID.HAT_EF_Valhalla_Idol] = { resourceFileName = "efst_valhalla_idol\\odl2.str", hatEffectPos = -10, hatEffectPosX = 0 }, [HatEFID.HAT_EF_Angel_Stairs] = { resourceFileName = "cloudh.str", hatEffectPos = 0, hatEffectPosX = 0 }, [HatEFID.HAT_EF_Glow_Of_New_Year] = { resourceFileName = "efst_GlowOfNewYear\\halo.str", hatEffectPos = -7, hatEffectPosX = 0 }, [HatEFID.HAT_EF_BOTTOM_FORTUNEKISS] = {hatEffectID = 293}, [HatEFID.HAT_EF_PINKBODY] = {hatEffectID = 396}, [HatEFID.HAT_EF_DOUBLEGUMGANG] = {hatEffectID = 418}, [HatEFID.HAT_EF_GIANTBODY] = {hatEffectID = 423}, [HatEFID.HAT_EF_GREEN99_6] = {hatEffectID = 680}, [HatEFID.HAT_EF_CIRCLEPOWER] = {hatEffectID = 1122}, [HatEFID.HAT_EF_BOTTOM_BLOODYLUST] = {hatEffectID = 829}, [HatEFID.HAT_EF_WATER_BELOW] = {hatEffectID = 838}, [HatEFID.HAT_EF_LEVEL99_150] = {hatEffectID = 881}, [HatEFID.HAT_EF_YELLOWFLY3] = {hatEffectID = 946}, [HatEFID.HAT_EF_KAGEMUSYA] = {hatEffectID = 1004}, [HatEFID.HAT_EF_CHERRYBLOSSOM] = {hatEffectID = 1013}, [HatEFID.HAT_EF_STRANGELIGHTS] = {hatEffectID = 1035}, [HatEFID.HAT_EF_WL_TELEKINESIS_INTENSE] = {hatEffectID = 1048}, [HatEFID.HAT_EF_AB_OFFERTORIUM_RING] = {hatEffectID = 1057}, [HatEFID.HAT_EF_WHITEBODY2] = {hatEffectID = 1065}, [HatEFID.HAT_EF_SAKURA] = {hatEffectID = 163}, [HatEFID.HAT_EF_CLOUD2] = {hatEffectID = 230}, [HatEFID.HAT_EF_Feather_Fluttering] = { resourceFileName = "efst_feather_fluttering\\feath.str", hatEffectPos = -4, hatEffectPosX = 0 }, [HatEFID.HAT_EF_Camellia_Hair_Pin] = { resourceFileName = "efst_flowersmoke\\flowersmoke.str", hatEffectPos = -8, hatEffectPosX = 0 }, [HatEFID.HAT_EF_Jp_Ev_Effect01] = {hatEffectID = 293}, [HatEFID.HAT_EF_Jp_Ev_Effect02] = {hatEffectID = 293}, [HatEFID.HAT_EF_Jp_Ev_Effect03] = {hatEffectID = 293}, [HatEFID.HAT_EF_Floral_Waltz] = { resourceFileName = "efst_Floral_Waltz\\Floral_Waltz.str", hatEffectPos = -8, hatEffectPosX = 0 }, [HatEFID.HAT_EF_magical_feather] = { resourceFileName = "efst_magical_feather\\magical_feather.str", hatEffectPos = -5, hatEffectPosX = 0 }, [HatEFID.HAT_EF_HAT_EFFECT] = {hatEffectID = 1012}, [HatEFID.HAT_EF_BAKURETSU_HADOU] = {hatEffectID = 1130}, [HatEFID.HAT_EF_gold_shower] = { resourceFileName = "efst_Gold_Shower\\coin2.str", hatEffectPos = -7, hatEffectPosX = 0 }, [HatEFID.HAT_EF_WHITEBODY] = {hatEffectID = 1131}, [HatEFID.HAT_EF_WATER_BELOW2] = {hatEffectID = 838}, [HatEFID.HAT_EF_firework] = { resourceFileName = "efst_firework\\firework.str", hatEffectPos = 0, hatEffectPosX = 0 }, [HatEFID.HAT_EF_Return_TW_1st_Hat] = { resourceFileName = "EFST_Return_TW_1st_Hat\\tensi3.str", hatEffectPos = -7, hatEffectPosX = 0 }, [HatEFID.HAT_EF_C_FlutterButterfly_BL] = { resourceFileName = "efst_FlutterButterfly_BL\\Flutter_Butterfly.str", hatEffectPos = -8, hatEffectPosX = 0 }, [HatEFID.HAT_EF_Qscaraba] = { resourceFileName = "EFST_Qscaraba\\Qscaraba.str", hatEffectPos = -4, hatEffectPosX = 0 }, [HatEFID.HAT_EF_STRANGELIGHTS] = { resourceFileName = "efst_STRANGELIGHTS\\strangelights.str", hatEffectPos = -4, hatEffectPosX = 0 }, [HatEFID.HAT_EF_FSTONE] = { resourceFileName = "efst_fstone\\fstone.str", hatEffectPos = -6, hatEffectPosX = 0 }, [HatEFID.HAT_EF_Magiccircle] = { resourceFileName = "efst_Magiccircle\\mc.str", hatEffectPos = -11, hatEffectPosX = 0, isRenderBeforeCharacter = true, isIgnoreRiding = true }, [HatEFID.HAT_EF_Brysinggamen] = {hatEffectID = 1193}, [HatEFID.HAT_EF_Magingiorde] = {hatEffectID = 1194}, [HatEFID.HAT_EF_LEVEL99_RED] = {hatEffectID = 1164}, [HatEFID.HAT_EF_LEVEL99_ULTRAMARINE] = {hatEffectID = 1165}, [HatEFID.HAT_EF_LEVEL99_CYAN] = {hatEffectID = 1166}, [HatEFID.HAT_EF_LEVEL99_LIME] = {hatEffectID = 1167}, [HatEFID.HAT_EF_LEVEL99_VIOLET] = {hatEffectID = 1168}, [HatEFID.HAT_EF_LEVEL99_LILAC] = {hatEffectID = 1169}, [HatEFID.HAT_EF_LEVEL99_SUN_ORANGE] = {hatEffectID = 1170}, [HatEFID.HAT_EF_LEVEL99_DEEP_PINK] = {hatEffectID = 1171}, [HatEFID.HAT_EF_LEVEL99_BLACK] = {hatEffectID = 1172}, [HatEFID.HAT_EF_LEVEL99_WHITE] = {hatEffectID = 1173}, [HatEFID.HAT_EF_LEVEL160_RED] = {hatEffectID = 1174}, [HatEFID.HAT_EF_LEVEL160_ULTRAMARINE] = {hatEffectID = 1175}, [HatEFID.HAT_EF_LEVEL160_CYAN] = {hatEffectID = 1176}, [HatEFID.HAT_EF_LEVEL160_LIME] = {hatEffectID = 1177}, [HatEFID.HAT_EF_LEVEL160_VIOLET] = {hatEffectID = 1178}, [HatEFID.HAT_EF_LEVEL160_LILAC] = {hatEffectID = 1179}, [HatEFID.HAT_EF_LEVEL160_SUN_ORANGE] = {hatEffectID = 1180}, [HatEFID.HAT_EF_LEVEL160_DEEP_PINK] = {hatEffectID = 1181}, [HatEFID.HAT_EF_LEVEL160_BLACK] = {hatEffectID = 1182}, [HatEFID.HAT_EF_LEVEL160_WHITE] = {hatEffectID = 1183}, [HatEFID.HAT_EF_Full_BloomCherry_Tree] = { resourceFileName = "efst_Full_BloomCherry_Tree\\Full_BloomCherry_Tree.str", hatEffectPos = -6, hatEffectPosX = 0 }, [HatEFID.HAT_EF_C_Blessings_Of_Soul] = { resourceFileName = "efst_C_Blessings_Of_Soul\\ blessingsofsoul.str", hatEffectPos = 0, hatEffectPosX = 0 }, [HatEFID.HAT_EF_ManyStars] = { resourceFileName = "efst_ManyStars\\hikariga.str", hatEffectPos = 0, hatEffectPosX = 0 }, [HatEFID.HAT_EF_SUBJECT_AURA_GOLD] = {hatEffectID = 1211}, [HatEFID.HAT_EF_SUBJECT_AURA_WHITE] = {hatEffectID = 1212}, [HatEFID.HAT_EF_SUBJECT_AURA_RED] = {hatEffectID = 1213}, [HatEFID.HAT_EF_C_Shining_Angel_Wing] = { resourceFileName = "efst_C_Shining_Angel_Wing\\C_Shining_Angel_Wing.str", hatEffectPos = -8, hatEffectPosX = 0, isRenderBeforeCharacter = true }, [HatEFID.HAT_EF_Magic_Star_TW] = { resourceFileName = "efst_Mstone\\stoneofint2.str", hatEffectPos = -6, hatEffectPosX = 0 }, [HatEFID.HAT_Digital_Space] = {hatEffectID = 1240}, [HatEFID.HAT_EF_Sleipnir] = {hatEffectID = 1241}, [HatEFID.HAT_EF_C_Maple_Which_Falls_Rd] = { resourceFileName = "efst_C_Maple_Which_Falls_Rd\\C_Maple_Which_Falls_Rd.str", hatEffectPos = 0, hatEffectPosX = 0 }, [HatEFID.HAT_EF_MagiccircleRainbow] = { resourceFileName = "efst_MagiccircleRainbow\\mcr.str", hatEffectPos = -11, hatEffectPosX = 0, isRenderBeforeCharacter = true, isIgnoreRiding = true }, [HatEFID.HAT_EF_SnowFlake_Tiara] = { resourceFileName = "efst_SnowFlake_Tiara\\nnnaaa.str", hatEffectPos = -6, hatEffectPosX = 0, isIgnoreRiding = true }, [HatEFID.HAT_EF_Midgarts_Glory] = { resourceFileName = "efst_Midgarts_Glory\\halo_2.str", hatEffectPos = -6, hatEffectPosX = 0, isIgnoreRiding = true }, [HatEFID.HAT_EF_LEVEL99_TIGER] = {hatEffectID = 1291}, [HatEFID.HAT_EF_LEVEL160_TIGER] = {hatEffectID = 1292}, [HatEFID.HAT_EF_FluffyWing] = { resourceFileName = "efst_FluffyWing\\ypen.str", hatEffectPos = -8, hatEffectPosX = 0, isRenderBeforeCharacter = true }, [HatEFID.HAT_EF_C_Ghost_Effect] = { resourceFileName = "efst_C_Ghost_Effect\\C_Ghost_Effect.str", hatEffectPos = 0, hatEffectPosX = 0 }, [HatEFID.HAT_EF_C_Popping_Poring_Aura] = { resourceFileName = "efst_C_Popping_Poring_Aura\\C_Popping_Poring_Aura.str", hatEffectPos = -10, hatEffectPosX = 0 }, [HatEFID.HAT_EF_ResonateTaego] = { resourceFileName = "efst_ResonateTaego\\youmei.str", hatEffectPos = -9, hatEffectPosX = 0 }, [HatEFID.HAT_EF_99LV_Rune_Red] = {hatEffectID = 1325}, [HatEFID.HAT_EF_99LV_Royal_Guard_Blue] = {hatEffectID = 1326}, [HatEFID.HAT_EF_99LV_Warlock_Violet] = {hatEffectID = 1327}, [HatEFID.HAT_EF_99LV_Sorcerer_LBlue] = {hatEffectID = 1328}, [HatEFID.HAT_EF_99LV_Ranger_Green] = {hatEffectID = 1329}, [HatEFID.HAT_EF_99LV_Minstrel_Pink] = {hatEffectID = 1330}, [HatEFID.HAT_EF_99LV_Archbishop_White] = {hatEffectID = 1331}, [HatEFID.HAT_EF_99LV_Guill_Silver] = {hatEffectID = 1332}, [HatEFID.HAT_EF_99LV_ShadowC_Black] = {hatEffectID = 1333}, [HatEFID.HAT_EF_99LV_Mechanic_Gold] = {hatEffectID = 1334}, [HatEFID.HAT_EF_99LV_Genetic_YGreen] = {hatEffectID = 1335}, [HatEFID.HAT_EF_160LV_Rune_Red] = {hatEffectID = 1336}, [HatEFID.HAT_EF_160LV_Royal_G_Blue] = {hatEffectID = 1337}, [HatEFID.HAT_EF_160LV_Warlock_Violet] = {hatEffectID = 1338}, [HatEFID.HAT_EF_160LV_Sorcerer_LBlue] = {hatEffectID = 1339}, [HatEFID.HAT_EF_160LV_Ranger_Green] = {hatEffectID = 1340}, [HatEFID.HAT_EF_160LV_Minstrel_Pink] = {hatEffectID = 1341}, [HatEFID.HAT_EF_160LV_Archb_White] = {hatEffectID = 1342}, [HatEFID.HAT_EF_160LV_Guill_Silver] = {hatEffectID = 1343}, [HatEFID.HAT_EF_160LV_ShadowC_Black] = {hatEffectID = 1344}, [HatEFID.HAT_EF_160LV_Mechanic_Gold] = {hatEffectID = 1345}, [HatEFID.HAT_EF_160LV_Genetic_YGreen] = {hatEffectID = 1346}, [HatEFID.HAT_EF_WATER_BELOW3] = { resourceFileName = "efst_Waterfield\\waterfield2.str", hatEffectPos = -10, hatEffectPosX = 0, isRenderBeforeCharacter = true }, [HatEFID.HAT_EF_WATER_BELOW4] = { resourceFileName = "efst_Waterfield2\\waterfield3.str", hatEffectPos = -10, hatEffectPosX = 0, isRenderBeforeCharacter = true, isIgnoreRiding = true }, [HatEFID.HAT_EF_C_Valkyrie_Wing] = {hatEffectID = 1377} } effectHatItemTable = { 20285, 20209, 31091, 31089, 31056, 20062, 20439, 5979, 20487, 5914, 20457, 31142, 20240, 19871, 18742, 20154, 18744, 20323, 20246, 19022, 18741, 18719, 20600, 20515, 31391, 31602, 19416, 19433, 20535, 31316, 20519 } function GetHatEfResName(index) if hatEffectTable == nil then return "" end local hatEfTbl = hatEffectTable[index] if hatEfTbl ~= nil and hatEfTbl.resourceFileName ~= nil then return hatEfTbl.resourceFileName end return "" end function GetHatEfPos(index) if hatEffectTable == nil then return 0 end local hatEfTbl = hatEffectTable[index] if hatEfTbl ~= nil and hatEfTbl.hatEffectPos ~= nil then return hatEfTbl.hatEffectPos end return 0 end function GetHatEfPosX(index) if hatEffectTable == nil then return 0 end local hatEfTbl = hatEffectTable[index] if hatEfTbl ~= nil and hatEfTbl.hatEffectPosX ~= nil then return hatEfTbl.hatEffectPosX end return 0 end function GetHatEffectID(index) if hatEffectTable == nil then return -1 end local hatEfTbl = hatEffectTable[index] if hatEfTbl ~= nil and hatEfTbl.hatEffectID ~= nil then return hatEfTbl.hatEffectID end return -1 end function IsEffectHatItem(itemID) for k, v in pairs(effectHatItemTable) do if v == itemID then return true end end return false end function IsRenderBeforeCharacter(index) if hatEffectTable == nil then return false end local hatEfTbl = hatEffectTable[index] if hatEfTbl ~= nil and hatEfTbl.hatEffectPos ~= nil then return hatEfTbl.isRenderBeforeCharacter end return false end function IsIgnoredRidingState(index) local hatEfTbl = hatEffectTable[index] if hatEfTbl ~= nil and hatEfTbl.isIgnoreRiding ~= nil then return hatEfTbl.isIgnoreRiding end return false end