mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-03 00:31:51 +00:00
c891e4741e
Added Winter theme and fixed couple items that werent wore in the correct slot
377 lines
13 KiB
Java
377 lines
13 KiB
Java
package com.rebotted.game.items;
|
|
|
|
import java.io.File;
|
|
import java.io.FileInputStream;
|
|
import java.io.IOException;
|
|
|
|
import com.rebotted.GameConstants;
|
|
import com.rebotted.GameEngine;
|
|
|
|
public class Item {
|
|
|
|
public static int capes[] = { 2731, 2677, 2683, 2680, 2701, 2686, 2689,
|
|
2692, 2737, 2734, 2716, 2728, 2695, 2713, 2725, 2722, 2707, 2704,
|
|
2710, 2719, 2737, 2698, 14590, 2701, 8102, 8075, 8044, 8045, 8042,
|
|
8043, 8037, 8038, 8025, 8026, 8018, 7858, 7994, 7983, 7984, 7985,
|
|
7986, 7987, 7982, 7978, 3781, 3783, 3785, 3787, 3789, 3777, 3779,
|
|
3759, 3761, 3763, 3765, 6111, 6570, 6568, 1007, 1019, 1021, 1023,
|
|
1027, 1029, 1031, 1052, 2412, 2413, 2414, 4304, 4315, 4317, 4319,
|
|
4321, 4323, 4325, 4327, 4329, 4331, 4333, 4335, 4337, 4339, 4341,
|
|
4343, 4345, 4347, 4349, 4351, 4353, 4355, 4357, 4359, 4361, 4363,
|
|
4365, 4367, 4369, 4371, 4373, 4375, 4377, 4379, 4381, 4383, 4385,
|
|
4387, 4389, 4391, 4393, 4395, 4397, 4399, 4401, 4403, 4405, 4407,
|
|
4409, 4411, 4413, 4514, 4516, 6070, 6568, 6570, 4304, 3759, 3761,
|
|
3763, 3765, 3777, 3779, 3781, 3783, 3785, 3787, 3789 };
|
|
public static int boots[] = { 7596, 8029, 6619, 8017, 7159, 7991, 6666,
|
|
6061, 6106, 88, 89, 626, 628, 630, 632, 634, 1061, 1837, 1846,
|
|
2577, 2579, 2894, 2904, 2914, 2924, 2934, 3061, 3105, 3107, 3791,
|
|
4097, 4107, 4117, 4119, 4121, 4123, 4125, 4127, 4129, 4131, 4310,
|
|
5064, 5345, 5557, 6069, 6106, 6143, 6145, 6147, 6328, 6920, 6349,
|
|
6357, 3393 };
|
|
public static int gloves[] = { 7595, 6629, 8021, 8016, 7964, 2491, 1065,
|
|
2487, 2489, 3060, 1495, 775, 777, 778, 6708, 1059, 1063, 1065,
|
|
1580, 2487, 2489, 2491, 2902, 2912, 2922, 2932, 2942, 3060, 3799,
|
|
4095, 4105, 4115, 4308, 5556, 6068, 6110, 6149, 6151, 6153, 6922,
|
|
7454, 7455, 7456, 7457, 7458, 7459, 7460, 7461, 7462, 6330, 3391,
|
|
776 };
|
|
public static int shields[] = { 7676, 7342, 7348, 7354, 7360, 7334, 7340,
|
|
7347, 7352, 7358, 7356, 7350, 7344, 8087, 8058, 8059, 8060, 8061,
|
|
8062, 8063, 6633, 7977, 7976, 7972, 7959, 6591, 7332, 7338, 7336,
|
|
7360, 1171, 1173, 1175, 1177, 1179, 1181, 1183, 1185, 1187, 1189,
|
|
1191, 1193, 1195, 1197, 1199, 1201, 1540, 2589, 2597, 2603, 2611,
|
|
2621, 2629, 2659, 2667, 2675, 2890, 3122, 3488, 3758, 3839, 3840,
|
|
3841, 3842, 3843, 3844, 4072, 4156, 4224, 4225, 4226, 4227, 4228,
|
|
4229, 4230, 4231, 4232, 4233, 4234, 4302, 4507, 4512, 6215, 6217,
|
|
6219, 6221, 6223, 6225, 6227, 6229, 6231, 6233, 6235, 6237, 6239,
|
|
6241, 6243, 6245, 6247, 6249, 6251, 6253, 6255, 6257, 6259, 6261,
|
|
6263, 6265, 6267, 6269, 6271, 6273, 6275, 6277, 6279, 6524, 6889,
|
|
7051, 7053 };
|
|
public static int hats[] = { 2679, 1025, 2685, 4166, 2682, 2703, 2688,
|
|
2691, 2691, 2733, 2736, 2718, 2730, 2697, 2715, 2727, 2724, 2709,
|
|
2706, 2712, 2721, 2739, 2700, 2518, 2524, 2526, 7319, 7321, 7323,
|
|
7325, 7327, 1167, 8077, 8076, 8074, 4168, 1169, 8034, 8035, 8036,
|
|
8030, 6623, 8024, 8023, 8022, 8013, 1169, 7594, 7995, 7996, 7997,
|
|
7998, 7999, 8000, 8001, 7992, 7990, 7975, 7973, 7971, 7967, 7963,
|
|
6665, 6665, 7321, 6886, 6547, 6548, 2645, 2647, 2649, 4856, 4857,
|
|
4858, 4859, 4880, 4881, 4882, 4883, 4904, 4905, 4906, 4907, 4928,
|
|
4929, 4930, 4931, 4952, 4953, 4954, 4955, 4976, 4977, 4978, 4979,
|
|
4732, 4753, 4611, 6188, 6182, 4511, 4056, 4071, 4724, 2639, 2641,
|
|
2643, 2665, 6109, 5525, 5527, 5529, 5531, 5533, 5535, 5537, 5539,
|
|
5541, 5543, 5545, 5547, 5549, 5551, 74, 579, 656, 658, 660, 662,
|
|
664, 740, 1017, 1037, 1040, 1042, 1044, 1046, 1038, 1048, 1050,
|
|
1053, 1055, 1057, 1137, 1139, 1141, 1143, 1145, 1147, 1149, 1151,
|
|
1153, 1155, 1157, 1159, 1161, 1163, 1165, 1506, 1949, 2422, 2581,
|
|
2587, 2595, 2605, 2613, 2619, 2627, 2631, 2633, 2635, 2637, 2651,
|
|
2657, 2673, 2900, 2910, 2920, 2930, 2940, 2978, 2979, 2980, 2981,
|
|
2982, 2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2992,
|
|
2993, 2994, 2995, 3057, 3385, 3486, 3748, 3749, 3751, 3753, 3797,
|
|
4041, 4042, 4071, 4089, 3755, 4099, 4109, 4164, 4302, 4506, 4511,
|
|
4513, 4515, 4551, 4567, 4708, 4716, 4724, 4745, 4753, 4857, 4858,
|
|
4859, 4880, 4881, 4882, 4883, 4904, 4905, 4906, 4907, 4952, 4953,
|
|
4954, 4955, 4976, 4977, 4978, 4979, 5013, 5014, 5554, 5574, 6109,
|
|
6128, 6131, 6137, 6182, 6188, 6335, 6337, 6339, 6345, 6355, 6365,
|
|
6375, 6382, 6392, 6400, 6918, 6656, 2581, 7539, 7394, 7396, 7534,
|
|
5574, 6885, 6858, 6860, 6862, 6856, 6326, 6128, 6137, 7400, 7323,
|
|
7325, 7327, 7003, 4168, 7112, 7124, 7130, 7136 };
|
|
public static int amulets[] = { 1654, 1656, 1658, 1660, 1662, 1664, 8081,
|
|
8033, 7968, 6585, 86, 87, 295, 421, 552, 589, 1478, 1692, 1694,
|
|
1696, 1698, 1700, 1702, 1704, 1706, 1708, 1710, 1712, 1725, 1727,
|
|
1729, 1731, 4021, 4081, 4250, 4677, 6040, 6041, 6208, 1718, 1722,
|
|
6859, 6863, 6857, 3853, 3855, 3857, 3859, 3861, 3863, 3865, 3867,
|
|
1718, 4306, 1702 };
|
|
public static int arrows[] = { 11212, 8052, 9211, 9010, 9209, 9208, 9207,
|
|
9206, 9205, 9203, 9301, 8065, 7919, 7906, 7988, 7989, 78, 598, 877,
|
|
878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890,
|
|
891, 892, 893, 942, 2532, 2533, 2534, 2535, 2536, 2537, 2538, 2539,
|
|
2540, 2541, 2866, 4160, 4172, 4173, 4174, 4175, 4740, 5616, 5617,
|
|
5618, 5619, 5620, 5621, 5622, 5623, 5624, 5625, 5626, 5627, 6061,
|
|
6062};
|
|
public static int rings[] = { 8082, 773, 1635, 1637, 1639, 1641, 1643,
|
|
1645, 2550, 2552, 2554, 2556, 2558, 2560, 2562, 2564, 2566, 2568,
|
|
2570, 2572, 4202, 4657, 6465, 6737, 6731, 6735, 6583, 6733 };
|
|
public static int body[] = { 7608, 2520, 430, 7362, 7364, 636, 638, 640,
|
|
642, 644, 8064, 426, 430, 1005, 1757, 7592, 8031, 8027, 6617, 8019,
|
|
8014, 8002, 7376, 544, 7372, 7370, 577, 7974, 7970, 7965, 7961,
|
|
7960, 3793, 3775, 3773, 3771, 3769, 3767, 6139, 1135, 2499, 2501,
|
|
1035, 540, 5553, 4757, 1833, 6388, 6384, 4111, 4101, 4091, 6186,
|
|
6184, 6180, 3058, 4509, 4504, 4069, 4728, 4736, 4712, 6107, 2661,
|
|
3140, 1101, 1103, 1105, 1107, 1109, 1111, 1113, 1115, 1117, 1119,
|
|
1121, 1123, 1125, 1127, 1129, 1131, 1133, 2583, 2591, 2599, 2607,
|
|
2615, 2623, 2653, 2669, 3481, 4712, 4720, 4728, 4749, 4892, 4893,
|
|
4894, 4895, 4916, 4917, 4918, 4919, 4964, 4965, 4966, 4967, 6107,
|
|
6133, 6322, 6322, 6129, 75, 6916, 6916, 4111, 6654, 6654, 75, 7399, 7374, 5575, 2503, 6341, 6351, 3387, 5030, 5032, 5034, 5030,
|
|
5032, 5034,7390 , 7392, 546, 581 };
|
|
public static int legs[] = { 7609, 2522, 7378, 7380, 7382, 7368, 7366,
|
|
7388, 646, 648, 650, 652, 654, 428, 1097, 1095, 7593, 8032, 8028,
|
|
6625, 8020, 8015, 7384, 7969, 7966, 7962, 6141, 538, 1033, 5555,
|
|
4759, 6386, 6390, 2497, 2495, 2493, 1099, 4113, 4103, 4093, 6924,
|
|
6187, 6185, 6181, 3059, 4510, 4505, 4070, 6108, 542, 548, 1011,
|
|
1013, 1015, 1067, 1069, 1071, 1073, 1075, 1077, 1079, 1081, 1083,
|
|
1085, 1087, 1089, 1091, 1093, 2585, 2593, 2601, 2609, 2617, 2625,
|
|
2655, 2663, 2671, 3059, 3389, 3472, 3473, 3474, 3475, 3476, 3477,
|
|
3478, 3479, 3480, 3483, 3485, 3795, 4087, 4585, 4712, 4714, 4722,
|
|
4730, 4738, 4751, 4759, 4874, 4875, 4876, 4877, 4898, 4899, 4900,
|
|
4901, 4922, 4923, 4924, 4925, 4946, 4947, 4948, 4949, 4970, 4971,
|
|
4972, 4973, 4994, 4995, 4996, 4997, 5048, 5050, 5052, 5576, 6107,
|
|
6130, 6187, 6390, 6386, 6390, 6394, 6396, 6402, 6404, 6135, 6809, 6916, 4091,
|
|
4111, 6655, 6654, 7398, 7398, 7386, 6324, 6343, 6353, 6363, 6373, 3387, 5036,
|
|
5038, 5040, 5042, 5044, 5046, 5050, 5052, 4300, 1835, 7116, 7126, 6752,
|
|
7132, 7138 };
|
|
public static int platebody[] = { 10338, 7608, 2520, 430, 636, 638, 640,
|
|
642, 644, 426, 430, 8031, 8027, 6617, 8019, 8014, 8002, 544, 577,
|
|
7974, 7970, 7965, 7961, 7960, 3793, 3773, 3775, 3771, 3769, 3767,
|
|
6139, 1035, 540, 5553, 4757, 1833, 1835, 6388, 6384, 4111, 4101,
|
|
4868, 4869, 4870, 4871, 4892, 4893, 4894, 4895, 4916, 4917, 4918,
|
|
4919, 4940, 4941, 4942, 4943, 4964, 4965, 4966, 4967, 4988, 4989,
|
|
4990, 0x2f9a0eb, 6186, 6184, 6180, 3058, 4509, 4504, 4069, 4728,
|
|
4736, 4712, 6107, 2661, 3140, 1115, 1117, 1119, 1121, 1123, 1125,
|
|
1127, 2583, 2591, 2599, 2607, 2615, 6322, 2623, 2653, 2669, 3481,
|
|
4720, 4728, 4749, 2661, 6129, 6916, 4091, 6654, 6133, 75, 7399, 5575, 6341, 6351, 7390, 7392, 3387, 5024, 5030, 5032, 5034, 7392, 6786, 6788 };
|
|
|
|
/* Fullbody is an item that covers your arms. */
|
|
private static String[] fullbody = {
|
|
"top", "shirt", "platebody", "Wizard robe (g)", "Wizard robe (t)",
|
|
"Ahrims robetop", "Karils leathertop", "brassard", "Robe top",
|
|
"robetop", "platebody (t)", "platebody (g)", "chestplate", "torso",
|
|
"hauberk", "Dragon chainbody", "gown", "Shade robe", "Wizard robe",
|
|
"Druid's robe", "Black robe", "Fremennik robe", "Robe of elidinis",
|
|
"tunic", "blouse", "Wizard robe(g)", "Wizard robe(t)"
|
|
};
|
|
/* Fullhat covers your head but not your beard. */
|
|
private static String[] fullhat = { "med helm", "coif", "Dharok's helm",
|
|
"hood", "Initiate helm", "Coif", "Helm of neitiznot",
|
|
"Armadyl helmet", "Berserker helm", "Archer helm", "Farseer helm",
|
|
"Warrior helm", "Void"};
|
|
/* Fullmask covers your entire head. */
|
|
private static String[] fullmask = { "full helm(t)", "full helm(g)", "full helm", "mask", "Verac's helm",
|
|
"Guthan's helm", "Karil's coif", "mask", "Torag's helm", "Void", "helmet",
|
|
"sallet", "Facemask", "Bearhead"};
|
|
|
|
public static boolean isFullBody(int itemId) {
|
|
String weapon = getItemName(itemId);
|
|
if (weapon == null) {
|
|
return false;
|
|
}
|
|
for (String element : fullbody) {
|
|
if (weapon.endsWith(element)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static boolean isFullHelm(int itemId) {
|
|
String weapon = getItemName(itemId);
|
|
if (weapon == null) {
|
|
return false;
|
|
}
|
|
for (String element : fullhat) {
|
|
if (weapon.endsWith(element)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static boolean isFullMask(int itemId) {
|
|
String weapon = getItemName(itemId);
|
|
if (weapon == null) {
|
|
return false;
|
|
}
|
|
for (String element : fullmask) {
|
|
if (weapon.endsWith(element)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static String getItemName(int id) {
|
|
for (ItemList element : GameEngine.itemHandler.ItemList) {
|
|
if (element != null) {
|
|
if (element.itemId == id) {
|
|
return element.itemName;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public static boolean[] itemStackable = new boolean[GameConstants.ITEM_LIMIT];
|
|
public static boolean[] itemIsNote = new boolean[GameConstants.ITEM_LIMIT];
|
|
public static int[] targetSlots = new int[GameConstants.ITEM_LIMIT];
|
|
static {
|
|
int counter = 0;
|
|
int c;
|
|
|
|
try {
|
|
FileInputStream dataIn = new FileInputStream(new File("./data/data/stackable.dat"));
|
|
while ((c = dataIn.read()) != -1) {
|
|
if (c == 0) {
|
|
itemStackable[counter] = false;
|
|
itemStackable[291] = true;
|
|
} else {
|
|
itemStackable[counter] = true;
|
|
}
|
|
counter++;
|
|
}
|
|
dataIn.close();
|
|
} catch (IOException e) {
|
|
System.out.println("Critical error while loading stackabledata! Trace:");
|
|
e.printStackTrace();
|
|
}
|
|
|
|
counter = 0;
|
|
try {
|
|
FileInputStream dataIn = new FileInputStream(new File("./data/data/notes.dat"));
|
|
while ((c = dataIn.read()) != -1) {
|
|
itemIsNote[counter] = c == 0;
|
|
counter++;
|
|
}
|
|
dataIn.close();
|
|
} catch (IOException e) {
|
|
System.out.println("Critical error while loading notedata! Trace:");
|
|
e.printStackTrace();
|
|
}
|
|
|
|
counter = 0;
|
|
try {
|
|
FileInputStream dataIn = new FileInputStream(new File("./data/data/equipment.dat"));
|
|
while ((c = dataIn.read()) != -1) {
|
|
int slot;
|
|
// rebind item equip slot here
|
|
switch (counter) {
|
|
// Legs
|
|
case 6181:
|
|
case 428:
|
|
case 538:
|
|
case 6343:
|
|
case 6353:
|
|
case 6363:
|
|
case 6396:
|
|
case 6373:
|
|
case 6404:
|
|
case 5044:
|
|
case 5046:
|
|
case 5050:
|
|
case 5052:
|
|
case 5040:
|
|
case 5038:
|
|
case 6752:
|
|
case 5048:
|
|
case 5036:
|
|
case 5042:
|
|
case 4300:
|
|
case 1835:
|
|
case 7116:
|
|
case 7126:
|
|
case 7132:
|
|
case 7138:
|
|
case 548:
|
|
case 6185:
|
|
slot = GameConstants.LEGS;
|
|
break;
|
|
// Hats
|
|
case 4166:
|
|
case 1167:
|
|
case 5525:
|
|
case 4168:
|
|
case 4502:
|
|
case 1037:
|
|
case 1025:
|
|
case 7112:
|
|
case 7124:
|
|
case 7130:
|
|
case 7136:
|
|
case 4611:
|
|
case 5527:
|
|
case 5529:
|
|
case 5531:
|
|
case 5533:
|
|
case 5535:
|
|
case 5537:
|
|
case 5539:
|
|
case 5541:
|
|
case 5543:
|
|
case 5545:
|
|
case 5547:
|
|
slot = GameConstants.HAT;
|
|
break;
|
|
// Cape
|
|
case 4304:
|
|
case 3759:
|
|
case 3761:
|
|
case 3763:
|
|
case 3765:
|
|
case 3777:
|
|
case 3779:
|
|
case 3781:
|
|
case 3783:
|
|
case 3785:
|
|
case 3787:
|
|
case 3789:
|
|
case 4514:
|
|
case 4516:
|
|
slot = GameConstants.CAPE;
|
|
break;
|
|
// Shield
|
|
case 7051:
|
|
case 7053:
|
|
slot = GameConstants.SHIELD;
|
|
break;
|
|
// Chest
|
|
case 577:
|
|
case 426:
|
|
case 540:
|
|
case 430:
|
|
case 6786:
|
|
case 581:
|
|
case 5024:
|
|
case 5030:
|
|
case 1757:
|
|
case 5034:
|
|
case 5032:
|
|
case 3793:
|
|
case 1005:
|
|
case 546:
|
|
case 6402:
|
|
case 6788:
|
|
case 6184:
|
|
case 7390:
|
|
case 7392:
|
|
case 6186:
|
|
slot = GameConstants.CHEST;
|
|
break;
|
|
// Amulet
|
|
case 3853:
|
|
case 3855:
|
|
case 3857:
|
|
case 3859:
|
|
case 3861:
|
|
case 3863:
|
|
case 1718:
|
|
case 3865:
|
|
case 4306:
|
|
case 3867:
|
|
case 1702:
|
|
slot = GameConstants.AMULET;
|
|
break;
|
|
// Hands
|
|
case 776:
|
|
slot = GameConstants.HANDS;
|
|
break;
|
|
default:
|
|
slot = c;
|
|
}
|
|
targetSlots[counter] = slot;
|
|
counter++;
|
|
}
|
|
dataIn.close();
|
|
} catch (IOException e) {
|
|
System.out.println("Critical error while loading equipment data! Trace:");
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
}
|