Module:Iteminfo/idSets/data

local Sets = {}

local function BoolSetFactory(IDs) local set = { ['default'] = false} for k, v in pairs(IDs) do		set[v] = true end return set end

local function SetFactory(default, IDs) local set = { ['default'] = default} local key = nil for _, v in pairs(IDs) do		if key then set[key] = v			key = nil else key = v		end end return set end

-- bool sets Sets.IgnoresEncumberingStone = BoolSetFactory{ 58, 184, 1734, 1735, 1867, 1868, 3453, 3454, 3455 } Sets.IsAPickup = BoolSetFactory{ 58, 184, 1734, 1735, 1867, 1868, 3453, 3454, 3455 } Sets.IsDrill = BoolSetFactory{ 388, 1231, 385, 386, 2779, 1196, 1189, 2784, 3464, 1203, 2774, 579 } Sets.IsChainsaw = BoolSetFactory{ 387, 3098, 1232, 383, 384, 2778, 1197, 1190, 2783, 3463, 1204, 2773, 2342, 579 } Sets.IsPaintScraper = BoolSetFactory{ 1100, 1545 } Sets.IsFood = BoolSetFactory{ 353, 357, 1787, 1911, 1912, 1919, 1920, 2266, 2267, 2268, 2425, 2426, 2427, 3195, 3532, 4009, 4010, 4011, 4012, 4013, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024, 4025, 4026, 4027, 4028, 4029, 4030, 4031, 4032, 4033, 4034, 4035, 4036, 4037, 967, 969, 4282, 4283, 4284, 4285, 4286, 4287, 4288, 4289, 4290, 4291, 4292, 4293, 4294, 4295, 4296, 4297, 4403, 4411, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 5009, 5042, 5041 } Sets.CanFishInLava = BoolSetFactory{ 2422 } Sets.IsLavaBait = BoolSetFactory{ 4849, 4845, 4847 } Sets.SummonerWeaponThatScalesWithAttackSpeed = BoolSetFactory{ 4672, 4679, 4680, 4678, 4913, 4912, 4911, 4914 } Sets.IsFishingCrate = BoolSetFactory{ 2334, 2335, 2336, 3203, 3204, 3205, 3206, 3207, 3208, 4405, 4407, 4877, 5002, 3979, 3980, 3981, 3982, 3983, 3984, 3985, 3986, 3987, 4406, 4408, 4878, 5003 } Sets.IsFishingCrateHardmode = BoolSetFactory{ 3979, 3980, 3981, 3982, 3983, 3984, 3985, 3986, 3987, 4406, 4408, 4878, 5003 } Sets.CanBePlacedOnWeaponRacks = BoolSetFactory{ 3196, 166, 235, 3115, 167, 2896, 3547, 580, 937, 4423, 4824, 4825, 4908, 4909, 4094, 4039, 4092, 4093, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 4596, 4597, 4598, 905, 1326, 3225, 2303, 2299, 2290, 2317, 2305, 2304, 2313, 2318, 2312, 2306, 2308, 2319, 2314, 2302, 2315, 2307, 2310, 2301, 2298, 2316, 2309, 2321, 2297, 2300, 2311, 2420, 2438, 2437, 2436, 4401, 4402, 2475, 2476, 2450, 2477, 2478, 2451, 2479, 2480, 2452, 2453, 2481, 2454, 2482, 2483, 2455, 2456, 2457, 2458, 2459, 2460, 2484, 2472, 2461, 2462, 2463, 2485, 2464, 2465, 2486, 2466, 2467, 2468, 2487, 2469, 2488, 2470, 2471, 2473, 2474, 4393, 4394 } Sets.Deprecated = BoolSetFactory{ 2783, 2785, 2782, 2773, 2775, 2772, 2778, 2780, 2777, 3463, 3465, 3462, 2881, 3847, 3848, 3849, 3850, 3851, 3850, 3861, 3862, 4010, 4058, 5013, 4722, 3978 } -- non-native, added 4 unimplement items. Sets.Unused = BoolSetFactory{ 2783, 2785, 2782, 2773, 2775, 2772, 2778, 2780, 2777, 3463, 3465, 3462, 2881, 3847, 3848, 3849, 3850, 3851, 3850, 3861, 3862, 4010, 4058, 5013, 4722, 3978, 3705, 3706, 3853, 4143 } Sets.NeverAppearsAsNewInInventory = BoolSetFactory{ 71, 72, 73, 74 } Sets.CommonCoin = BoolSetFactory{ 71, 72, 73, 74 } Sets.ItemIconPulse = BoolSetFactory{ 520, 521, 575, 549, 548, 547, 3456, 3457, 3458, 3459, 3580, 3581 } Sets.ItemNoGravity = BoolSetFactory{ 520, 521, 575, 549, 548, 547, 3453, 3454, 3455, 3456, 3457, 3458, 3459, 3580, 3581, 4143 } Sets.ExoticPlantsForDyeTrade = BoolSetFactory{ 3385, 3386, 3387, 3388 } Sets.NebulaPickup = BoolSetFactory{ 3453, 3454, 3455 } Sets.AnimatesAsSoul = BoolSetFactory{ 575, 547, 520, 548, 521, 549, 3580, 3581 } Sets.gunProj = BoolSetFactory{ 3475, 3540, 3854, 3930 } Sets.GamepadWholeScreenUseRange = BoolSetFactory{ 1326, 1256, 1244, 3014, 113, 218, 495, 114, 496, 2796, 494, 3006, 65, 1931, 3570, 2750, 3065, 3029, 3030, 4381, 1309, 2364, 2365, 2551, 2535, 2584, 1157, 2749, 1802, 2621, 3249, 3531, 3474, 2366, 1572, 3569, 3571, 4269, 4273, 4281, 3611, 1299, 1254 } Sets.GamepadSmartQuickReach = BoolSetFactory{ 2798, 2797, 3030, 3262, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3315, 3316, 3317, 3389, 2798, 65, 1931, 3570, 2750, 3065, 3029, 1256, 1244, 3014, 113, 218, 495 } Sets.Yoyo = BoolSetFactory{ 3262, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3315, 3316, 3317, 3389 } Sets.AlsoABuildingItem = BoolSetFactory{ 3031, 205, 1128, 207, 206, 3032, 849, 3620, 509, 851, 850, 3625, 510, 1071, 1543, 1072, 1544, 1100, 1545, 4820, 4872 } Sets.LockOnIgnoresCollision = BoolSetFactory{ 64, 3570, 1327, 3006, 1227, 788, 756, 1228, 65, 3065, 3473, 3051, 1309, 2364, 2365, 2551, 2535, 2584, 1157, 2749, 1802, 2621, 3249, 3531, 3474, 2366, 1572, 4269, 4273, 4281, 4607, 3014, 3569, 3571 } Sets.SingleUseInGamepad = BoolSetFactory{ 8, 427, 3004, 523, 433, 429, 974, 1333, 1245, 3114, 430, 3045, 428, 2274, 431, 432, 4383, 4384, 4385, 4386, 4387, 4388 } Sets.Torches = BoolSetFactory{ 8, 427, 3004, 523, 433, 429, 974, 1333, 1245, 3114, 430, 3045, 428, 2274, 431, 432, 4383, 4384, 4385, 4386, 4387, 4388 } Sets.WaterTorches = BoolSetFactory{ 523, 1333, 4384 } Sets.Workbenches = BoolSetFactory{ 36, 635, 636, 637, 673, 811, 812, 813, 814, 815, 916, 1145, 1398, 1401, 1404, 1461, 1511, 1795, 1817, 2229, 2251, 2252, 2253, 2534, 2631, 2632, 2633, 2826, 3156, 3157, 3158, 3909, 3910, 3949, 3975, 4163, 4184, 4205, 4226, 4315, 4584 } Sets.TrapSigned = BoolSetFactory{ 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3675, 3676, 3677, 3678, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3690, 3691, 3692, 3693, 3694, 3695, 3696, 3697, 3698, 3699, 3700, 3701, 3703, 3702, 3704, 3705, 3706, 3886, 3887, 3950, 3976, 4164, 4185, 4206, 4227, 4266, 4268, 4585, 4713 } Sets.ItemsThatCountAsBombsForDemolitionistToSpawn = BoolSetFactory{ 168, 2586, 3116, 166, 235, 3115, 167, 2896, 3547, 3196, 4423, 1130, 1168, 4824, 4825, 4826, 4827, 4908, 4909 } Sets.SkipsInitialUseSound = BoolSetFactory{ 2350, 4870 } Sets.UsesCursedByPlanteraTooltip = BoolSetFactory{ 1533, 1534, 1535, 1536, 1537, 4714 } Sets.IsAKite = BoolSetFactory{ 4367, 4368, 4369, 4370, 4371, 4379, 4610, 4611, 4612, 4613, 4648, 4649, 4650, 4651, 4669, 4670, 4671, 4674, 4675, 4676, 4677, 4681, 4683, 4684 } Sets.HasAProjectileThatHasAUsabilityCheck = BoolSetFactory{ 4367, 4368, 4369, 4370, 4371, 4379, 4610, 4611, 4612, 4613, 4648, 4649, 4650, 4651, 4669, 4670, 4671, 4674, 4675, 4676, 4677, 4681, 4683, 4684 } Sets.CanNotGetPrefixes = BoolSetFactory{ 267, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 576, 1307, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610 } Sets.ItemsThatAreProcessedAfterNormalContentSample = BoolSetFactory{ 1533, 1534, 1535, 1536, 1537 }; Sets.NonColorfulDyeItems = BoolSetFactory{ 3599, 3530, 3534 }

-- value sets Sets.ToolTipDamageMultiplier = SetFactory(1, { 162, 2, 801, 2, 163, 2, 220, 2, 389, 2, 1259, 2, 4272, 2, 5011, 2, 5012, 2 }) Sets.KillsToBanner = SetFactory(50, { 3838, 1000, 3845, 200, 3837, 500, 3844, 200, 3843, 50, 3839, 200, 3840, 100, 3842, 200, 3841, 100, 3846, 50, 2971, 200, 2982, 100, 2994, 100 }) Sets.ItemSpawnDecaySpeed = SetFactory(1, { 58, 4, 184, 4, 1867, 4, 1868, 4, 1734, 4, 1735, 4 }) Sets.TextureCopyLoad = SetFactory(-1, { 3665, 48, 3666, 306, 3667, 328, 3668, 625, 3669, 626, 3670, 627, 3671, 680, 3672, 681, 3673, 831, 3674, 838, 3675, 914, 3676, 952, 3677, 1142, 3678, 1298, 3679, 1528, 3680, 1529, 3681, 1530, 3682, 1531, 3683, 1532, 3684, 2230, 3685, 2249, 3686, 2250, 3687, 2526, 3688, 2544, 3689, 2559, 3690, 2574, 3691, 2612, 3692, 2613, 3693, 2614, 3694, 2615, 3695, 2616, 3696, 2617, 3697, 2618, 3698, 2619, 3699, 2620, 3700, 2748, 3701, 2814, 3703, 3125, 3702, 3180, 3704, 3181, 3705, 3665, 3706, 3665, 4713, 4712 }) Sets.ExtractinatorMode = SetFactory(-1, { 424, 0, 1103, 0, 3347, 1 }) Sets.SortingPriorityBossSpawns = SetFactory(-1, { 43, 1, 560, 2, 70, 3, 1331, 3, 361, 4, 1133, 5, 4988, 5, 544, 6, 556, 7, 557, 8, 2495, 9, 2673, 10, 602, 11, 1844, 12, 1958, 13, 1293, 14, 2767, 15, 4271, 15, 3601, 16, 1291, 17, 109, 18, 29, 19, 50, 20, 3199, 20, 3124, 21 }) Sets.SortingPriorityWiring = SetFactory(-1, { 510, 103, 3625, 102, 509, 101, 851, 100, 850, 99, 3612, 98, 849, 97, 4485, 96, 4484, 95, 583, 94, 584, 93, 585, 92, 538, 91, 513, 90, 3545, 90, 853, 89, 541, 88, 529, 88, 1151, 87, 852, 87, 543, 87, 542, 87, 3707, 87, 2492, 86, 530, 85, 581, 84, 582, 84, 1263, 83 }) Sets.SortingPriorityMaterials = SetFactory(-1, { 3467, 100, 3460, 99, 3458, 98, 3456, 97, 3457, 96, 3459, 95, 3261, 94, 1508, 93, 1552, 92, 1006, 91, 947, 90, 1225, 89, 1198, 88, 1106, 87, 391, 86, 366, 85, 1191, 84, 1105, 83, 382, 82, 365, 81, 1184, 80, 1104, 79, 381, 78, 364, 77, 548, 76, 547, 75, 549, 74, 575, 73, 521, 72, 520, 71, 175, 70, 174, 69, 3380, 68, 1329, 67, 1257, 66, 880, 65, 86, 64, 57, 63, 56, 62, 117, 61, 116, 60, 706, 59, 702, 58, 19, 57, 13, 56, 705, 55, 701, 54, 21, 53, 14, 52, 704, 51, 700, 50, 22, 49, 11, 48, 703, 47, 699, 46, 20, 45, 12, 44, 999, 43, 182, 42, 178, 41, 179, 40, 177, 39, 180, 38, 181, 37 }) Sets.SortingPriorityExtractibles = SetFactory(-1, { 997, 4, 3347, 3, 1103, 2, 424, 1 }) Sets.SortingPriorityRopes = SetFactory(-1, { 965, 1, 85, 1, 210, 1, 3077, 1, 3078, 1 }) Sets.SortingPriorityPainting = SetFactory(-1, { 1543, 100, 1544, 99, 1545, 98, 1071, 97, 1072, 96, 1100, 95 }) Sets.SortingPriorityTerraforming = SetFactory(-1, { 779, 100, 780, 99, 783, 98, 781, 97, 782, 96, 784, 95, 422, 94, 423, 93, 3477, 92, 66, 91, 67, 90, 2886, 89 }) Sets.GamepadExtraRange = SetFactory(0, { 2797, 20, 3278, 4, 3285, 6, 3279, 8, 3280, 8, 3281, 9, 3262, 10, 3317, 10, 3282, 10, 3315, 10, 3316, 11, 3283, 12, 3290, 13, 3289, 11, 3284, 13, 3286, 13, 3287, 18, 3288, 18, 3291, 17, 3292, 18, 3389, 21 }) Sets.BonusMeleeSpeedMultiplier = SetFactory(1, { 1827, 0.5, 3013, 0.25, 3106, 0.33 }) Sets.LockOnAimAbove = SetFactory(0, { 1256, 15, 1244, 15, 3014, 15, 3569, 15, 3571, 15 }) -- public BannerEffect(float strength = 1f)            {                this.NormalDamageDealt = 1f + strength * 0.5f;                this.ExpertDamageDealt = 1f + strength;                this.ExpertDamageReceived = 1f / (strength + 1f);                this.NormalDamageReceived = 1f - (1f - this.ExpertDamageReceived) * 0.5f;                this.Enabled = strength != 0f;            } -- --Sets.DD2BannerEffect = ItemID.BannerEffect.None; // ItemID.BannerEffect.None = new ItemID.BannerEffect(0f); --ItemID.Sets.BannerStrength = ItemID.Sets.Factory.CreateCustomSet(new ItemID.BannerEffect(1f), new object[] { (short)3838, ItemID.Sets.DD2BannerEffect, (short)3845, ItemID.Sets.DD2BannerEffect, (short)3837, ItemID.Sets.DD2BannerEffect, (short)3844, ItemID.Sets.DD2BannerEffect, (short)3843, ItemID.Sets.DD2BannerEffect, (short)3839, ItemID.Sets.DD2BannerEffect, (short)3840, ItemID.Sets.DD2BannerEffect, (short)3842, ItemID.Sets.DD2BannerEffect, (short)3841, ItemID.Sets.DD2BannerEffect, (short)3846, ItemID.Sets.DD2BannerEffect }); Sets.BannerStrength = SetFactory(1, { 3838, 0, 3845, 0, 3837, 0, 3844, 0, 3843, 0, 3839, 0, 3840, 0, 3842, 0, 3841, 0, 3846, 0 })

-- nullable Sets.LockOnAimCompensation = SetFactory(nil, { 1336, 0.2, 157, 0.29, 2590, 0.4, 3821, 0.4, 160, 0.4 }) Sets.CanBeQuickusedOnGamepad = SetFactory(nil, { 50, true, 3199, true, 3124, true, 2350, true, 2351, true, 29, true, 109, true, 1291, true, 4870, true }) Sets.ForcesBreaksSleeping = SetFactory(nil, { 1991, true, 4821, true, 3183, true }) Sets.ForceConsumption = SetFactory(nil, { 2350, false, 4870, false, 2351, false, 2756, false, 4343, true, 4344, true })

-- dyes local dyes = { ['default'] = false } local function LoadBasicColorDyes for itemid = true007,1018 do		dyes[itemid] = true dyes[itemid+12] = true dyes[itemid+31] = true dyes[itemid+44] = true end dyes[2874] = true dyes[2875] = true dyes[2876] = true dyes[2877] = true end local function LoadArmorDyes LoadBasicColorDyes dyes[1050] = true dyes[1037] = true dyes[3558] = true dyes[2871] = true dyes[3559] = true dyes[1031] = true dyes[1032] = true dyes[3550] = true dyes[1063] = true dyes[1035] = true dyes[1036] = true dyes[3552] = true dyes[1065] = true dyes[1033] = true dyes[1034] = true dyes[3551] = true dyes[1064] = true dyes[1068] = true dyes[1069] = true dyes[1070] = true dyes[1066] = true dyes[1067] = true dyes[3556] = true dyes[2869] = true dyes[2870] = true dyes[2873] = true dyes[3026] = true dyes[3027] = true dyes[3553] = true dyes[3554] = true dyes[3555] = true dyes[3190] = true dyes[1969] = true dyes[2864] = true dyes[2872] = true dyes[2878] = true dyes[2879] = true dyes[2885] = true dyes[2884] = true dyes[2883] = true dyes[3025] = true dyes[3039] = true dyes[3040] = true dyes[3041] = true dyes[3042] = true dyes[3560] = true dyes[3561] = true dyes[3562] = true dyes[3024] = true dyes[4663] = true dyes[4662] = true dyes[4778] = true dyes[3534] = true dyes[3028] = true dyes[3557] = true dyes[3978] = true dyes[3038] = true dyes[3600] = true dyes[3597] = true dyes[3598] = true dyes[3599] = true dyes[3533] = true dyes[3535] = true dyes[3526] = true dyes[3527] = true dyes[3528] = true dyes[3529] = true dyes[3530] = true end Sets.dyes = dyes

-- hair dyes local hairDyes = { ['default'] = -1 } hairDyes[1990] = 0 hairDyes[1977] = 1 hairDyes[1978] = 1 hairDyes[1979] = 1 hairDyes[1980] = 1 hairDyes[1981] = 1 hairDyes[1982] = 1 hairDyes[1983] = 1 hairDyes[1984] = 1 hairDyes[1985] = 1 hairDyes[1986] = 1 hairDyes[2863] = 1 hairDyes[3259] = 1 Sets.hairDyes = hairDyes

--?? Sets.IsAMaterial = ItemID.Sets.Factory.CreateBoolSet(new int[0]); see --Sets.StaffMinionSlotsRequired = SetFactory(1, new int[0]); no use. --??? Sets.ColorfulDyeValues = new bool[0]; all dyes not in NonColorfulDyeItems

return Sets