FALSkills

Untitled

Oct 26th, 2022
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.13 KB | None | 0 0
  1. //
  2. // Source code recreated from a .class file by IntelliJ IDEA
  3. // (powered by FernFlower decompiler)
  4. //
  5.  
  6. package org.tribot.script.sdk;
  7.  
  8. import javax.annotation.Nonnull;
  9. import org.tribot.api2007.types.RSStructDefinition;
  10.  
  11. public enum Quest {
  12. BLACK_KNIGHTS_FORTRESS(299, 130, false),
  13. COOKS_ASSISTANT(300, 29, false),
  14. DEMON_SLAYER(302, 2561, true),
  15. DORICS_QUEST(3138, 31, false),
  16. DRAGON_SLAYER_I(3139, 176, false),
  17. ERNEST_THE_CHICKEN(305, 32, false),
  18. GOBLIN_DIPLOMACY(306, 2378, true),
  19. IMP_CATCHER(307, 160, false),
  20. THE_KNIGHTS_SWORD(308, 122, false),
  21. PIRATES_TREASURE(310, 71, false),
  22. PRINCE_ALI_RESCUE(311, 273, false),
  23. THE_RESTLESS_GHOST(312, 107, false),
  24. ROMEO_JULIET(313, 144, false),
  25. RUNE_MYSTERIES(314, 63, false),
  26. SHEEP_SHEARER(315, 179, false),
  27. VAMPYRE_SLAYER(1278, 178, false),
  28. WITCHS_POTION(318, 67, false),
  29. MISTHALIN_MYSTERY(309, 3468, true),
  30. THE_CORSAIR_CURSE(301, 6071, true),
  31. ANIMAL_MAGNETISM(331, 3185, true),
  32. BETWEEN_A_ROCK(333, 299, true),
  33. BIG_CHOMPY_BIRD_HUNTING(334, 293, false),
  34. BIOHAZARD(335, 68, false),
  35. CABIN_FEVER(336, 655, false),
  36. CLOCK_TOWER(337, 10, false),
  37. CONTACT(339, 3274, true),
  38. ZOGRE_FLESH_EATERS(449, 487, true),
  39. CREATURE_OF_FENKENSTRAIN(340, 13715, true),
  40. DARKNESS_OF_HALLOWVALE(341, 2573, true),
  41. DEATH_TO_THE_DORGESHUUN(343, 2258, true),
  42. DEATH_PLATEAU(342, 314, false),
  43. DESERT_TREASURE(345, 358, true),
  44. DEVIOUS_MINDS(346, 1465, true),
  45. THE_DIG_SITE(347, 131, false),
  46. DRUIDIC_RITUAL(350, 80, false),
  47. DWARF_CANNON(351, 0, false),
  48. EADGARS_RUSE(352, 335, false),
  49. EAGLES_PEAK(353, 2780, true),
  50. ELEMENTAL_WORKSHOP_II(355, 2639, true),
  51. ENAKHRAS_LAMENT(356, 1560, true),
  52. ENLIGHTENED_JOURNEY(357, 2866, true),
  53. THE_EYES_OF_GLOUPHRIE(358, 2497, true),
  54. FAIRYTALE_I_GROWING_PAINS(359, 1803, true),
  55. FAIRYTALE_II_CURE_A_QUEEN(360, 2326, true),
  56. FAMILY_CREST(361, 148, false),
  57. THE_FEUD(362, 334, true),
  58. FIGHT_ARENA(363, 17, false),
  59. FISHING_CONTEST(364, 11, false),
  60. FORGETTABLE_TALE(365, 822, true),
  61. THE_FREMENNIK_TRIALS(368, 347, false),
  62. WATERFALL_QUEST(3154, 65, false),
  63. GARDEN_OF_TRANQUILLITY(369, 961, true),
  64. GERTRUDES_CAT(370, 180, false),
  65. GHOSTS_AHOY(371, 217, true),
  66. THE_GIANT_DWARF(372, 571, true),
  67. THE_GOLEM(373, 346, true),
  68. THE_GRAND_TREE(374, 150, false),
  69. THE_HAND_IN_THE_SAND(377, 1527, true),
  70. HAUNTED_MINE(378, 382, false),
  71. HAZEEL_CULT(379, 223, false),
  72. HEROES_QUEST(3142, 188, false),
  73. HOLY_GRAIL(381, 5, false),
  74. HORROR_FROM_THE_DEEP(382, 34, true),
  75. ICTHLARINS_LITTLE_HELPER(383, 418, true),
  76. IN_AID_OF_THE_MYREQUE(384, 1990, true),
  77. IN_SEARCH_OF_THE_MYREQUE(385, 387, false),
  78. JUNGLE_POTION(386, 175, false),
  79. LEGENDS_QUEST(3145, 139, false),
  80. LOST_CITY(389, 147, false),
  81. THE_LOST_TRIBE(390, 532, true),
  82. LUNAR_DIPLOMACY(391, 2448, true),
  83. MAKING_HISTORY(393, 1383, true),
  84. MERLINS_CRYSTAL(394, 14, false),
  85. MONKEY_MADNESS_I(395, 365, false),
  86. MONKS_FRIEND(397, 30, false),
  87. MOUNTAIN_DAUGHTER(398, 260, true),
  88. MOURNINGS_END_PART_I(3147, 517, false),
  89. MOURNINGS_END_PART_II(3148, 1103, true),
  90. MURDER_MYSTERY(401, 192, false),
  91. MY_ARMS_BIG_ADVENTURE(402, 2790, true),
  92. NATURE_SPIRIT(403, 307, false),
  93. OBSERVATORY_QUEST(3149, 112, false),
  94. ONE_SMALL_FAVOUR(406, 416, false),
  95. PLAGUE_CITY(407, 165, false),
  96. PRIEST_IN_PERIL(408, 302, false),
  97. RAG_AND_BONE_MAN_I(3152, 714, false),
  98. RATCATCHERS(412, 1404, true),
  99. RECIPE_FOR_DISASTER(413, 1850, true),
  100. RECRUITMENT_DRIVE(414, 657, true),
  101. REGICIDE(415, 328, false),
  102. ROVING_ELVES(416, 402, false),
  103. ROYAL_TROUBLE(417, 2140, true),
  104. RUM_DEAL(418, 600, false),
  105. SCORPION_CATCHER(419, 76, false),
  106. SEA_SLUG(420, 159, false),
  107. THE_SLUG_MENACE(425, 2610, true),
  108. SHADES_OF_MORTTON(421, 339, false),
  109. SHADOW_OF_THE_STORM(422, 1372, true),
  110. SHEEP_HERDER(423, 60, false),
  111. SHILO_VILLAGE(424, 116, false),
  112. A_SOULS_BANE(426, 2011, true),
  113. SPIRITS_OF_THE_ELID(427, 1444, true),
  114. SWAN_SONG(428, 2098, true),
  115. TAI_BWO_WANNAI_TRIO(429, 320, false),
  116. A_TAIL_OF_TWO_CATS(430, 1028, true),
  117. TEARS_OF_GUTHIX(433, 451, true),
  118. TEMPLE_OF_IKOV(434, 26, false),
  119. THRONE_OF_MISCELLANIA(435, 359, false),
  120. THE_TOURIST_TRAP(436, 197, false),
  121. WITCHS_HOUSE(448, 226, false),
  122. TREE_GNOME_VILLAGE(438, 111, false),
  123. TRIBAL_TOTEM(439, 200, false),
  124. TROLL_ROMANCE(440, 385, false),
  125. TROLL_STRONGHOLD(441, 317, false),
  126. UNDERGROUND_PASS(442, 161, false),
  127. WANTED(444, 1051, true),
  128. WATCHTOWER(445, 212, false),
  129. COLD_WAR(338, 3293, true),
  130. THE_FREMENNIK_ISLES(367, 3311, true),
  131. TOWER_OF_LIFE(437, 3337, true),
  132. THE_GREAT_BRAIN_ROBBERY(375, 980, false),
  133. WHAT_LIES_BELOW(447, 3523, true),
  134. OLAFS_QUEST(3150, 3534, true),
  135. ANOTHER_SLICE_OF_H_A_M(332, 3550, true),
  136. DREAM_MENTOR(349, 3618, true),
  137. GRIM_TALES(376, 2783, true),
  138. KINGS_RANSOM(387, 3888, true),
  139. MONKEY_MADNESS_II(396, 5027, true),
  140. CLIENT_OF_KOUREND(3136, 5619, true),
  141. RAG_AND_BONE_MAN_II(411, 714, false),
  142. BONE_VOYAGE(3135, 5795, true),
  143. THE_QUEEN_OF_THIEVES(409, 6037, true),
  144. THE_DEPTHS_OF_DESPAIR(344, 6027, true),
  145. DRAGON_SLAYER_II(348, 6104, true),
  146. TALE_OF_THE_RIGHTEOUS(431, 6358, true),
  147. A_TASTE_OF_HOPE(432, 6396, true),
  148. MAKING_FRIENDS_WITH_MY_ARM(392, 6528, true),
  149. THE_FORSAKEN_TOWER(543, 7796, true),
  150. THE_ASCENT_OF_ARCEUUS(542, 7856, true),
  151. ENTER_THE_ABYSS(3140, 492, false),
  152. ARCHITECTURAL_ALLIANCE(320, 13784, true),
  153. BEAR_YOUR_SOUL(1275, 5078, true),
  154. ALFRED_GRIMHANDS_BARCRAWL(322, 13714, true),
  155. THE_GENERALS_SHADOW(325, 3330, true),
  156. IN_SEARCH_OF_KNOWLEDGE(3143, 8403, true),
  157. SKIPPY_AND_THE_MOGRES(3153, 1344, true),
  158. MAGE_ARENA_I(3146, 267, false),
  159. LAIR_OF_TARN_RAZORLOR(3144, 3290, true),
  160. FAMILY_PEST(329, 5347, true),
  161. MAGE_ARENA_II(330, 6067, true),
  162. DADDYS_HOME(1688, 10570, true),
  163. X_MARKS_THE_SPOT(3155, 8063, true),
  164. SONG_OF_THE_ELVES(603, 9016, true),
  165. THE_FREMENNIK_EXILES(3141, 9459, true),
  166. SINS_OF_THE_FATHER(1276, 7255, true),
  167. A_PORCINE_OF_INTEREST(3151, 10582, true),
  168. GETTING_AHEAD(752, 693, true),
  169. BELOW_ICE_MOUNTAIN(2874, 12063, true),
  170. A_NIGHT_AT_THE_THEATRE(949, 12276, true),
  171. A_KINGDOM_DIVIDED(2971, 12296, true),
  172. THE_FROZEN_DOOR(3768, 13175, true),
  173. LAND_OF_THE_GOBLINS(4135, 13599, true),
  174. HOPESPEARS_WILL(4136, 13619, true),
  175. TEMPLE_OF_THE_EYE(4273, 13738, true),
  176. SHIELD_OF_ARRAV(316, 145, false),
  177. ELEMENTAL_WORKSHOP_I(354, 299, false),
  178. CURSE_OF_THE_EMPTY_LORD(3137, 821, true),
  179. THE_ENCHANTED_KEY(324, 1391, true);
  180.  
  181. private final int id;
  182. private final int configId;
  183. private final boolean isVarbit;
  184.  
  185. public int getStep() {
  186. return this.isVarbit ? GameState.getVarbit(this.configId) : GameState.getSetting(this.configId);
  187. }
  188.  
  189. @Nonnull
  190. public Quest.State getState() {
  191. Quest.State stateException = this.getStateException();
  192. if (stateException != null) {
  193. return stateException;
  194. } else {
  195. RSStructDefinition struct = RSStructDefinition.get(this.id);
  196. if (struct == null) {
  197. return Quest.State.NOT_STARTED;
  198. } else {
  199. int lower = struct.getIntParam(1161);
  200. int upper = struct.getIntParam(1162);
  201. int progress = this.getStep();
  202. if (lower != -1 && upper != -1 && progress != -1 && upper > lower) {
  203. if (progress >= upper) {
  204. return Quest.State.COMPLETE;
  205. } else {
  206. return progress <= lower ? Quest.State.NOT_STARTED : Quest.State.IN_PROGRESS;
  207. }
  208. } else {
  209. return Quest.State.NOT_STARTED;
  210. }
  211. }
  212. }
  213. }
  214.  
  215. @Nonnull
  216. private Quest.State getStateException() {
  217. switch(this) {
  218. case SHIELD_OF_ARRAV:
  219. int setting145 = GameState.getSetting(145);
  220. int setting146 = GameState.getSetting(146);
  221. if (setting145 == 7 | setting146 == 4) {
  222. return Quest.State.COMPLETE;
  223. } else {
  224. if (setting145 > 0 | setting146 > 0) {
  225. return Quest.State.IN_PROGRESS;
  226. }
  227.  
  228. return Quest.State.NOT_STARTED;
  229. }
  230. case CREATURE_OF_FENKENSTRAIN:
  231. int setting399 = GameState.getSetting(399);
  232. if (setting399 > 6) {
  233. return Quest.State.COMPLETE;
  234. } else {
  235. if (setting399 == 0 && GameState.getVarbit(203) == 0) {
  236. return Quest.State.NOT_STARTED;
  237. }
  238.  
  239. return Quest.State.IN_PROGRESS;
  240. }
  241. case ELEMENTAL_WORKSHOP_I:
  242. int setting299 = GameState.getSetting(299);
  243. if ((setting299 & 1048576) != 0) {
  244. return Quest.State.COMPLETE;
  245. } else {
  246. if ((setting299 & 2) == 0) {
  247. return Quest.State.NOT_STARTED;
  248. }
  249.  
  250. return Quest.State.IN_PROGRESS;
  251. }
  252. case ARCHITECTURAL_ALLIANCE:
  253. if (GameState.getVarbit(4982) >= 3) {
  254. return Quest.State.COMPLETE;
  255. } else {
  256. if (GameState.getVarbit(4976) == 0) {
  257. return Quest.State.NOT_STARTED;
  258. }
  259.  
  260. return Quest.State.IN_PROGRESS;
  261. }
  262. case ALFRED_GRIMHANDS_BARCRAWL:
  263. int setting76 = GameState.getSetting(76);
  264. int setting77 = GameState.getSetting(77);
  265. if (setting77 != 2 && setting76 < 6) {
  266. if (setting77 == 0) {
  267. return Quest.State.NOT_STARTED;
  268. }
  269.  
  270. return Quest.State.IN_PROGRESS;
  271. }
  272.  
  273. return Quest.State.COMPLETE;
  274. case CURSE_OF_THE_EMPTY_LORD:
  275. if (GameState.getVarbit(821) == 1) {
  276. return Quest.State.COMPLETE;
  277. } else {
  278. if (GameState.getVarbit(816) == 0) {
  279. return Quest.State.NOT_STARTED;
  280. }
  281.  
  282. return Quest.State.IN_PROGRESS;
  283. }
  284. case THE_ENCHANTED_KEY:
  285. if (GameState.getVarbit(1391) == 2047) {
  286. return Quest.State.COMPLETE;
  287. } else {
  288. if (GameState.getVarbit(1383) < 4) {
  289. return Quest.State.NOT_STARTED;
  290. }
  291.  
  292. return Quest.State.IN_PROGRESS;
  293. }
  294. default:
  295. return null;
  296. }
  297. }
  298.  
  299. private Quest(int id, int configId, boolean isVarbit) {
  300. this.id = id;
  301. this.configId = configId;
  302. this.isVarbit = isVarbit;
  303. }
  304.  
  305. public static enum State {
  306. NOT_STARTED,
  307. IN_PROGRESS,
  308. COMPLETE;
  309.  
  310. private State() {
  311. }
  312. }
  313. }
  314.  
Add Comment
Please, Sign In to add comment