Explicit 213 Posted December 31, 2014 Not my code and it wasn't written for this bot, includes RS3 as well. /** * Author: Tom * Date: 16/07/14 * Time: 14:54 */ public enum Quest { ALL_FIRED_UP(2719, 6, 0, 5, 90), ANIMAL_MAGNETISM(2409, 7, 0, 10, 240), ANOTHER_SLICE_OF_HAM(2729, 10, 0, 1, 11), AS_A_FIRST_RESORT(2802, 9, 0, 1, 200), A_CLOCKWORK_SYRINGE(2165, 7, 0, 10, 210), A_RUM_DEAL(2100, 1, 19), A_SHADOW_OVER_ASHDALE(4390, 6, 0, 5, 100), A_SOULS_BANE(2511, 4, 0, 1, 13), A_STRAY_IN_A_MANGER(3467, 3, 0, 2, 15), A_TAIL_OF_TWO_CATS(2369, 6, 0, 5, 70), A_TOWERING_FEAST(2862, 4, 0, 6, 29), A_VOID_DANCE(2638, 5, 0, 3, 63), BACK_TO_MY_ROOTS(2670, 7, 0, 1, 65), BETWEEN_A_ROCK(2598, 7, 0, 10, 110), BIG_CHOMPY_BIRD_HUNTING(2772, 5, 65), BIOHAZARD(2535, 1, 16), BIRTHRIGHT_OF_THE_DWARVES(3872, 8, 0, 10, 300), BLACK_KNIGHTS_FORTRESS(2552, 1, 4), BLOOD_RUNS_DEEP(2342, 7, 0, 3, 147), BRINGING_HOME_THE_BACON(3631, 7, 0, 3, 75), BUYERS_AND_CELLARS(2085, 5, 0, 5, 10), CABIN_FEVER(2326, 10, 140), CARNILLEAN_RISING(2632, 6, 0, 5, 100), CATAPULT_CONSTRUCTION(2494, 5, 0, 2, 60), CHOSEN_COMMANDER(2107, 7, 0, 10, 110), CLOCK_TOWER(2197, 1, 8), COLD_WAR(2270, 7, 0, 5, 135), CONTACT(2260, 7, 0, 10, 130), COOKS_ASSISTANT(2492, 1, 2), CREATURE_OF_FENKENSTRAIN(2615, 1, 8), CURSE_OF_ARRAV(2377, 7, 0, 10, 240), DEADLIEST_CATCH(2124, 5, 0, 5, 45), DEALING_WITH_SCABARAS(2706, 9, 0, 100, 700), DEATHCON_II(2858, 3, 0, 1, 15), DEATH_PLATEAU(2339, 10, 80), DEATH_TO_THE_DORGESHUUN(2422, 10, 0, 1, 13), DEFENDER_OF_VARROCK(2485, 7, 0, 10, 250), DEMON_SLAYER(2702, 4, 0, 1, 3), DESERT_TREASURE(2151, 14, 0, 1, 15), DEVIOUS_MINDS(2453, 7, 0, 10, 80), DIAMOND_IN_THE_ROUGH(2449, 31, 25, 5, 120), DIG_SITE(2205, 1, 9), DORICS_QUEST(2261, 10, 100), DO_NO_EVIL(2130, 8, 0, 10, 315), DRAGON_SLAYER(2268, 1, 10), DREAM_MENTOR(2155, 5, 0, 2, 28), DRUIDIC_RITUAL(2694, 3, 0, 2, 8), DWARF_CANNON(2732, 1, 11), EADGARS_RUSE(2549, 10, 110), EAGLES_PEAK(2785, 5, 0, 5, 40), ENAKHRAS_LAMENT(2187, 6, 0, 10, 70), ENLIGHTENED_JOURNEY(2541, 7, 0, 5, 200), ERNEST_THE_CHICKEN(2183, 1, 3), FAIRY_TALE_III__BATTLE_AT_ORKS_RIFT(2214, 8, 0, 10, 180), FAIRY_TALE_II__CURE_A_QUEEN(2474, 6, 0, 10, 90), FAIRY_TALE_I__GROWING_PAINS(2680, 6, 0, 10, 90), FAMILY_CREST(2663, 1, 11), FATE_OF_THE_GODS(4260, 7, 0, 5, 175), FIGHT_ARENA(2595, 1, 14), FISHING_CONTEST(2331, 1, 5), FORGETTABLE_TALE_OF_A_DRUNKEN_DWARF(2454, 7, 0, 10, 140), FORGIVENESS_OF_A_CHAOS_DWARF(2300, 15, 0, 10, 80), FREMENNIK_ISLES(2666, 9, 0, 5, 340), FUR_N_SEEK(2612, 6, 3, 1, 5), GARDEN_OF_TRANQUILITY(2703, 5, 0, 10, 60), GERTRUDES_CAT(2175, 1, 6), GHOSTS_AHOY(2715, 31, 28, 1, 8), GLORIOUS_MEMORIES(2627, 5, 0, 3, 45), GOBLIN_DIPLOMACY(2137, 5, 0, 1, 6), GREAT_BRAIN_ROBBERY(2082, 10, 130), GRIM_TALES(2726, 7, 0, 1, 60), GUNNARS_GROUND(2111, 7, 0, 5, 100), HAUNTED_MINE(2201, 1, 11), HAWTHORN(2843, 27, 26, 1, 3), HAZEEL_CULT(2592, 2, 9), HEROES_QUEST(2618, 1, 15), HOLLY(2843, 23, 18, 1, 60), HOLY_GRAIL(2330, 2, 10), HORROR_FROM_THE_DEEP(2411, 10, 0, 1, 10), HUNT_FOR_RED_RAKTUBER(2759, 7, 0, 10, 140), ICTHLARINS_LITTLE_HELPER(2357, 4, 0, 1, 26), IMP_CATCHER(2669, 1, 2), IN_AID_OF_THE_MYREQUE(2417, 8, 0, 20, 430), IN_PYRE_NEED(2248, 4, 0, 10, 30), IN_SEARCH_OF_THE_MYREQUE(2696, 5, 105), JUNGLE_POTION(2484, 1, 12), KENNITHS_CONCERNS(2395, 7, 0, 5, 100), KINGS_RANSOM(2392, 7, 0, 5, 90), KING_OF_THE_DWARVES(2780, 7, 0, 10, 90), LAND_OF_THE_GOBLINS(2682, 4, 0, 1, 18), LEGACY_OF_SEERGAZE(2788, 9, 0, 10, 500), LEGENDS_QUEST(2265, 1, 75), LET_THEM_EAT_PIE(2674, 5, 0, 5, 40), LOST_CITY(2551, 1, 6), LOVE_STORY(2543, 7, 0, 5, 150), LUNAR_DIPLOMACY(2253, 19, 0, 10, 190), MAKING_HISTORY(2173, 2, 0, 1, 4), MEETING_HISTORY(2749, 4, 0, 5, 20), MERLINS_CRYSTAL(2178, 1, 7), MISSING_MY_MUMMY(2379, 5, 0, 10, 60), MISSING_PRESUMED_DEATH(3885, 6, 0, 1, 100), MONKEY_MADNESS(2762, 1, 9), MONKS_FRIEND(2370, 10, 80), MOUNTAIN_DAUGHTER(2690, 7, 0, 10, 70), MOURNINGS_ENDS_PART_I(2777, 1, 8), MOURNINGS_ENDS_PART_II(2303, 7, 0, 10, 60), MURDER_MYSTERY(2364, 1, 2), MYTHS_OF_THE_WHITE_LANDS(2774, 6, 0, 5, 60), MY_ARMS_BIG_ADVENTURE(2230, 9, 0, 10, 320), NATURE_SPIRIT(2355, 5, 110), NOMADS_REQUIEM(2243, 3, 0, 1, 12), OBSERVATORY_QUEST(2796, 1, 7), OLAFS_QUEST(2419, 10, 0, 10, 80), ONE_OF_A_KIND(4170, 7, 0, 1, 190), ONE_PIERCING_NOTE(2498, 6, 0, 10, 100), ONE_SMALL_FAVOUR(2671, 5, 285), O_LITTLE_TOWN_OF_DAEMONHEIM(2851, 5, 0, 1, 44), PARTYING_IS_SUCH_SWEET_SORROW(2886, 4, 0, 1, 20), PERILS_OF_ICE_MOUNTAIN(2371, 7, 0, 10, 140), PIRATES_TREASURE(2227, 1, 4), PLAGUE_CITY(2386, 1, 29), PRIEST_IN_PERIL(2171, 1, 60), PRINCE_ALI_RESCUE(2388, 10, 110), PRISONER_OF_GLOUPHRIE(2160, 6, 0, 1, 120), QUIET_BEFORE_THE_SWARM(2635, 7, 0, 5, 90), RAG_AND_BONE_MAN(2612, 2, 0, 1, 4), RAT_CATCHERS(2460, 7, 0, 5, 127), RECIPE_FOR_DISASTER(2579, 6, 0, 1, 5), RECIPE_FOR_DISASTER_AWOWOGEI(2586, 6, 0, 5, 50), RECIPE_FOR_DISASTER_DWARF(2582, 10, 0, 10, 60), RECIPE_FOR_DISASTER_EVIL_DAVE(2581, 2, 0, 1, 5), RECIPE_FOR_DISASTER_GOBLIN_GENERALS(2580, 14, 9, 5, 40), RECIPE_FOR_DISASTER_LUMBRIDGE_SAGE(2584, 15, 12, 1, 5), RECIPE_FOR_DISASTER_PIRATE_PETE(2584, 11, 0, 10, 110), RECIPE_FOR_DISASTER_SIR_AMIK_VARZE(2585, 25, 19, 5, 20), RECIPE_FOR_DISASTER_SKRACH(2585, 10, 3, 10, 170), RECIPE_FOR_DISASTER_STARTING_OUT(2579, 6, 0, 1, 2), RECRUITMENT_DRIVE(2508, 2, 0, 1, 2), REGICIDE(2102, 1, 13), RITUAL_OF_THE_MAHJARRAT(2430, 8, 0, 10, 400), ROCKING_OUT(2531, 10, 0, 10, 90), ROMEO_AND_JULIET(2692, 10, 100), ROVING_ELVES(2286, 2, 6), ROYAL_TROUBLE(2515, 9, 0, 10, 30), RUNE_MECHANICS(2349, 5, 0, 5, 35), RUNE_MEMORIES(3289, 7, 0, 1, 120), RUNE_MYSTERIES_OLD(2689,1,6), RUNE_MYSTERIES(3294, 7, 0, 1, 170), SALT_IN_THE_WOUND(2112, 7, 0, 5, 250), SCORPION_CATCHER(2747, 1, 6), SEA_SLUG(2700, 1, 12), SHADES_OF_MORTTON(2620, 5, 85), SHADOW_OF_THE_STORM(2290, 6, 0, 10, 125), SHEEP_HERDER(2274, 1, 3), SHEEP_SHEARER(2163, 1, 21), SHIELD_OF_ARRAV(2738, 1, 7), SHILO_VILLAGE(2793, 1, 15), SLUG_MENACE(2554, 7, 0, 1, 14), SMOKING_KILLS(2091, 7, 0, 10, 250), SOME_LIKE_IT_COLD(2141, 8, 0, 5, 175), SONG_FROM_THE_DEPTHS(2570, 7, 0, 5, 75), SPIRITS_OF_THE_ELID(2548, 6, 0, 10, 60), SPIRIT_OF_SUMMER(2470, 6, 0, 5, 75), STOLEN_HEARTS(2449, 6, 0, 5, 105), SUMMERS_END(2412, 5, 0, 5, 35), SWAN_SONG(2390, 8, 0, 10, 200), SWEPT_AWAY(2198, 5, 0, 5, 50), TAI_BWO_WANNAI_TRIO(2523, 1, 6), TALE_OF_THE_MUSPAH(2383, 9, 0, 5, 250), TEARS_OF_GUTHIX(1573, 1, 0, 1, 2), TEMPLE_OF_IKOV(2148, 10, 80), THE_BLOOD_PACT(2334, 5, 0, 10, 60), THE_BRANCHES_OF_DARKMEYER(2360, 7, 0, 1, 170), THE_BRINK_OF_EXTINCTION(3299, 7, 0, 5, 225), THE_DARKNESS_OF_HALLOWVALE(2250, 8, 0, 10, 320), THE_DEATH_OF_CHIVALRY(3820, 7, 0, 5, 170), THE_ELDER_KILN(2095, 7, 0, 5, 170), THE_ELEMENTAL_WORKSHOP_I(2675, 1, 524288), THE_ELEMENTAL_WORKSHOP_II(2744, 4, 0, 1, 11), THE_ELEMENTAL_WORKSHOP_III(2539, 31, 28, 1, 5), THE_ELEMENTAL_WORKSHOP_IV(2487, 8, 0, 1, 8), THE_EYES_OF_GLOUPHRIE(2599, 5, 0, 10, 60), THE_FEUD(2181, 5, 0, 1, 28), THE_FIREMAKERS_CURSE(2437, 8, 0, 5, 270), THE_FREMENNIK_TRIALS(2262, 1, 10), THE_GIANT_DWARF(2676, 6, 0, 5, 50), THE_GOLEM(2728, 4, 0, 1, 10), THE_GRAND_TREE(2740, 5, 160), THE_HAND_IN_THE_SAND(2799, 8, 0, 10, 160), THE_KNIGHTS_SWORD(2547, 1, 7), THE_LOST_TRIBE(2787, 10, 0, 1, 11), THE_MIGHTY_FALL(4484, 8, 0, 5, 200), THE_PATH_OF_GLOUPHRIE(2277, 8, 0, 1, 200), THE_RESTLESS_GHOST(2324, 1, 5), THE_TEMPLE_AT_SENNTISTEN(2372, 6, 0, 10, 90), THE_TOURIST_TRAP(2501, 1, 30), THE_VOID_STARES_BACK(2657, 5, 0, 2, 40), THE_WATCHTOWER(2397, 1, 13), THE_WORLD_WAKES(3527, 7, 0, 1, 250), THRONE_OF_MISCELLANIA(2236, 10, 100), TOKTZKETDILL(2407, 5, 0, 5, 63), TOWER_OF_LIFE(2190, 4, 0, 2, 18), TREE_GNOME_VILLAGE(2661, 1, 9), TRIBAL_TOTEM(2783, 1, 5), TROLL_ROMANCE(2135, 1, 45), TROLL_STRONGHOLD(2347, 10, 50), TURKEY_PROTEST(2885, 5, 0, 1, 25), TUTORIAL(3930, 7, 0, 1, 120), UNDERGROUND_PASS(2426, 10, 10), UNSTABLE_FOUNDATIONS(1295, 5, 1000), VAMPYRE_SLAYER(2170, 1, 0, 1, 3), WANTED(2628, 10, 0, 1, 11), WATERFALL_QUEST(2353, 1, 8), WHATS_MINE_IS_YOURS(2231, 8, 0, 4, 55), WHAT_LIES_BELOW(2352, 7, 0, 5, 150), WHILE_GUTHIX_SLEEPS(2441, 9, 0, 10, 910), WITCHS_HOUSE(2276, 1, 7), WITCHS_POTION(2473, 1, 3), WITHIN_THE_LIGHT(2297, 6, 0, 1, 46), WOLF_WHISTLE(2506, 5, 0, 5, 35), ZOGRE_FLESH_EATERS(2272, 4, 0, 1, 14); private final int index; private final int upperBitIndex; private final int lowerBitIndex; private final int startValue; private final int completeValue; private Quest(int index, int upperBitIndex, int lowerBitIndex, int startValue, int completeValue) { this.index = index; this.upperBitIndex = upperBitIndex; this.lowerBitIndex = lowerBitIndex; this.startValue = startValue; this.completeValue = completeValue; } private Quest(int index, int startValue, int completeValue) { this(index, -1, -1, startValue, completeValue); } private int getIndex() { return index; } private int getShift() { return lowerBitIndex; } private int getMask() { return MASKS[upperBitIndex - lowerBitIndex]; } public int getState(final MethodContext ctx) { return upperBitIndex == -1 ? ctx.varpbits.varpbit(index) : ((ctx.varpbits.varpbit(index) >> getShift()) & getMask()); } public boolean isStarted(final MethodContext ctx) { return getState(ctx) >= startValue; } public boolean isComplete(final MethodContext ctx) { return getState(ctx) >= completeValue; } @Override public String toString() { final StringBuilder sb = new StringBuilder("Quest{"); sb.append("name=").append(name()); sb.append(", index=").append(index); sb.append(", upperBitIndex=").append(upperBitIndex); sb.append(", lowerBitIndex=").append(lowerBitIndex); sb.append(", mask=").append(Integer.toBinaryString(getMask())); sb.append(", startValue=").append(startValue); sb.append(", completeValue=").append(completeValue); sb.append('}'); return sb.toString(); } private static final int[] MASKS; static { MASKS = new int[32]; int mask = 1; for (int i = 0; i < 32; i++, mask = mask << 1 | 1) { MASKS[i] = mask; } } }
Recommended Posts
Archived
This topic is now archived and is closed to further replies.