Explicit 213 Share 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; } } } Link to comment Share on other sites More sharing options...
Botre 27 Share Posted January 3, 2015 neat! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.