Code:
public enum Pickpocketable {
MAN_WOMAN(1, 8, 5, 1, new Item[]{new Item(COINS, 3)}, 3014, 3015, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3267, 3268, 3260, 3264, 3265, 3266, 3267, 3268),
FARMER(10, 15, 5, 1, new Item[]{new Item(COINS, 9), new Item(POTATO_SEED)}, 3086, 3087, 3088, 3089, 3090, 3091),
FEMALE_HAM_MEMBER(15, 19, 4, 3, new Item[]{new Item(BUTTONS), new Item(RUSTY_SWORD), new Item(DAMAGED_ARMOUR), new Item(FEATHER, 5), new Item(BRONZE_ARROW), new Item(BRONZE_AXE), new Item(BRONZE_DAGGER), new Item(BRONZE_PICKAXE), new Item(COWHIDE), new Item(IRON_AXE), new Item(IRON_PICKAXE), new Item(LEATHER_BOOTS), new Item(LEATHER_GLOVES), new Item(LEATHER_BODY), new Item(LOGS), new Item(THREAD), new Item(RAW_ANCHOVIES), new Item(LOGS), new Item(RAW_CHICKEN), new Item(IRON_ORE), new Item(COAL), new Item(STEEL_ARROW, 2), new Item(STEEL_AXE)
,new Item(STEEL_PICKAXE), new Item(KNIFE), new Item(NEEDLE), new Item(STEEL_DAGGER), new Item(TINDERBOX), new Item(UNCUT_JADE), new Item(UNCUT_OPAL), new Item(COINS, 25), new Item(HAM_GLOVES), new Item(HAM_CLOAK), new Item(HAM_BOOTS), new Item(HAM_SHIRT), new Item(HAM_ROBE), new Item(HAM_LOGO), new Item(HAM_HOOD), new Item(GRIMY_GUAM_LEAF), new Item(GRIMY_MARRENTILL), new Item(GRIMY_TARROMIN), new Item(GRIMY_HARRALANDER)}, 2540, 2541),
MALE_HAM_MEMBER(20, 23, 4, 3, new Item[]{new Item(BUTTONS), new Item(RUSTY_SWORD), new Item(DAMAGED_ARMOUR), new Item(FEATHER, 5), new Item(BRONZE_ARROW), new Item(BRONZE_AXE), new Item(BRONZE_DAGGER), new Item(BRONZE_PICKAXE), new Item(COWHIDE), new Item(IRON_AXE), new Item(IRON_PICKAXE), new Item(LEATHER_BOOTS), new Item(LEATHER_GLOVES), new Item(LEATHER_BODY), new Item(LOGS), new Item(THREAD), new Item(RAW_ANCHOVIES), new Item(LOGS), new Item(RAW_CHICKEN), new Item(IRON_ORE), new Item(COAL), new Item(STEEL_ARROW, 2), new Item(STEEL_AXE)
,new Item(STEEL_PICKAXE), new Item(KNIFE), new Item(NEEDLE), new Item(STEEL_DAGGER), new Item(TINDERBOX), new Item(UNCUT_JADE), new Item(UNCUT_OPAL), new Item(COINS, 25), new Item(HAM_GLOVES), new Item(HAM_CLOAK), new Item(HAM_BOOTS), new Item(HAM_SHIRT), new Item(HAM_ROBE), new Item(HAM_LOGO), new Item(HAM_HOOD), new Item(GRIMY_GUAM_LEAF), new Item(GRIMY_MARRENTILL), new Item(GRIMY_TARROMIN), new Item(GRIMY_HARRALANDER)}),
AL_KHARID_WARRIOR(25, 26, 5, 2, new Item[]{new Item(COINS, 18)}, 3100),
ROGUE(32, 36, 5, 2, new Item[]{new Item(COINS, 34), new Item(LOCKPICK), new Item(IRON_DAGGER_P_), new Item(JUG_OF_WINE), new Item(AIR_RUNE, 8)}, 2884),
CAVE_GOBLIN(36, 40, 5, 1, new Item[]{new Item(COINS, 10), new Item(IRON_ORE), new Item(TINDERBOX), new Item(SWAMP_TAR), new Item(OIL_LANTERN), new Item(TORCH), new Item(GREEN_GLOOP_SOUP), new Item(FROGSPAWN_GUMBO), new Item(FROGBURGER), new Item(COATED_FROGS_LEGS), new Item(BAT_SHISH), new Item(FINGERS), new Item(BULLSEYE_LANTERN), new Item(CAVE_GOBLIN_WIRE)}, 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280,
2281, 2282, 2283, 2284, 2285),
MASTER_FARMER(38, 43, 5, 3, new Item[]{
new Item(POTATO_SEED, 12),
new Item(ONION_SEED, 8),
new Item(CABBAGE_SEED, 5),
new Item(TOMATO_SEED, 4),
new Item(HAMMERSTONE_SEED, 4),
new Item(BARLEY_SEED, 4),
new Item(MARIGOLD_SEED, 4),
new Item(ASGARNIAN_SEED, 4),
new Item(JUTE_SEED, 4),
new Item(REDBERRY_SEED, 4),
new Item(NASTURTIUM_SEED, 4),
new Item(YANILLIAN_SEED, 4),
new Item(CADAVABERRY_SEED, 4),
new Item(SWEETCORN_SEED, 4),
new Item(ROSEMARY_SEED, 4),
new Item(DWELLBERRY_SEED, 3),
new Item(GUAM_SEED, 3),
new Item(WOAD_SEED, 3),
new Item(KRANDORIAN_SEED, 3),
new Item(STRAWBERRY_SEED, 3),
new Item(LIMPWURT_SEED, 3),
new Item(MARRENTILL_SEED, 3),
new Item(JANGERBERRY_SEED, 3),
new Item(TARROMIN_SEED, 2),
new Item(WILDBLOOD_SEED, 2),
new Item(WATERMELON_SEED, 2),
new Item(HARRALANDER_SEED, 2),
new Item(RANARR_SEED, 1),
new Item(WHITEBERRY_SEED, 2),
new Item(TOADFLAX_SEED, 2),
new Item(MUSHROOM_SPORE, 2),
new Item(IRIT_SEED, 2),
new Item(BELLADONNA_SEED, 2),
new Item(POISON_IVY_SEED, 2),
new Item(AVANTOE_SEED, 1),
new Item(CACTUS_SEED, 1),
new Item(KWUARM_SEED, 1),
new Item(SNAPDRAGON_SEED, 1),
new Item(CADANTINE_SEED, 1),
new Item(LANTADYME_SEED, 1),
new Item(DWARF_WEED_SEED, 1),
new Item(TORSTOL_SEED, 1),
}, 3257, 3258, 5832),
GUARD(40, 47, 5, 2, new Item[]{new Item(COINS, 30)}, 1546, 1547, 1548, 1549, 1550, 3010, 3011, 3094, 3245, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3283),
FREMENNIK_CITIZEN(45, 65, 5, 2, new Item[]{new Item(COINS, 40)}, 2462),
BEARDED_POLLNIVNIAN_BANDIT(45, 65, 5, 5, new Item[]{new Item(COINS, 40)}, 1880),
//DESERT_BANDIT(53, 80, 5, 3, new Item[]{new Item(COINS, 30), new Item(ANTIPOISON_4_), new Item(LOCKPICK)}),
// KNIGHT(55, 84, 5, 3, new Item[]{new Item(COINS, 50)}),
// POLLNIVIAN_BANDIT(55, 84, 5, 5, new Item[]{new Item(COINS, 50)}),
YANILLE_WATCHMAN(65, 137, 5, 3, new Item[]{new Item(COINS, 60), new Item(BREAD)}, 3251),
MENAPHITE_THUG(65, 137, 5, 5, new Item[]{new Item(COINS, 60)}, 3549, 3550),
PALADIN(70, 152, 5, 3, new Item[]{new Item(COINS, 80), new Item(CHAOS_RUNE, 2)}, 3104, 3105),
GNOME(75, 199, 5, 1, new Item[]{new Item(COINS, 300), new Item(EARTH_RUNE), new Item(GOLD_ORE), new Item(FIRE_ORB), new Item(SWAMP_TOAD), new Item(KING_WORM)}, 6086, 6087, 6094, 6095, 6096),
//HERO(80, 275, 6, 4, new Item[]{new Item(COINS, 280), new Item(BLOOD_RUNE), new Item(DIAMOND), new Item(JUG_OF_WINE), new Item(DEATH_RUNE, 2), new Item(FIRE_ORB), new Item(GOLD_ORE)}),
//ELF(85, 353, 6, 5, new Item[]{new Item(COINS, 325), new Item(NATURE_RUNE, 3), new Item(DIAMOND), new Item(JUG_OF_WINE), new Item(DEATH_RUNE, 2), new Item(FIRE_ORB), new Item(GOLD_ORE)}),
;
private final int level;
private final int exp;
private final int stunTime;
private final int stunDamage;
private final Item[] rewards;
private final int[] npcs;
Pickpocketable(int level, int exp, int stunTime, int stunDamage, Item[] rewards, int... npcs) {
this.level = level;
this.exp = exp;
this.stunTime = stunTime;
this.stunDamage = stunDamage;
this.rewards = rewards;
this.npcs = npcs;
}
public int getLevel() {
return level;
}
public int getExp() {
return exp;
}
public int getStunTime() {
return stunTime;
}
public int getStunDamage() {
return stunDamage;
}
public Item[] getRewards() {
return rewards;
}
public int[] getNpcs() {
return npcs;
}
private static Map<Integer, Pickpocketable> pickpockets = new HashMap<Integer, Pickpocketable>();
static {
for(Pickpocketable p : Pickpocketable.values()) {
for(int i : p.getNpcs()) {
pickpockets.put(i, p);
}
}
}
public static Optional<Pickpocketable> get(int npcId) {
Pickpocketable p = pickpockets.get(npcId);
if(p != null) {
return Optional.of(p);
}
return Optional.empty();
}
}