Advertisement
Fweft

Code

Nov 21st, 2017
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 56.87 KB | None | 0 0
  1. package com.company.assembleegameclient.ui.options
  2. {
  3. import com.company.assembleegameclient.game.GameSprite;
  4. import com.company.assembleegameclient.objects.Player;
  5. import com.company.assembleegameclient.parameters.Parameters;
  6. import com.company.assembleegameclient.screens.TitleMenuOption;
  7. import com.company.assembleegameclient.sound.Music;
  8. import com.company.assembleegameclient.sound.SFX;
  9. import com.company.assembleegameclient.ui.StatusBar;
  10. import com.company.rotmg.graphics.ScreenGraphic;
  11. import com.company.util.AssetLibrary;
  12. import com.company.util.KeyCodes;
  13. import flash.display.BitmapData;
  14. import flash.display.Sprite;
  15. import flash.display.StageDisplayState;
  16. import flash.display.StageQuality;
  17. import flash.display.StageScaleMode;
  18. import flash.events.Event;
  19. import flash.events.KeyboardEvent;
  20. import flash.events.MouseEvent;
  21. import flash.filters.DropShadowFilter;
  22. import flash.geom.Point;
  23. import flash.net.URLRequest;
  24. import flash.net.URLRequestMethod;
  25. import flash.net.navigateToURL;
  26. import flash.system.Capabilities;
  27. import flash.text.TextFieldAutoSize;
  28. import flash.ui.Mouse;
  29. import flash.ui.MouseCursor;
  30. import flash.ui.MouseCursorData;
  31. import kabam.rotmg.core.StaticInjectorContext;
  32. import kabam.rotmg.dialogs.control.CloseDialogsSignal;
  33. import kabam.rotmg.game.view.components.StatView;
  34. import kabam.rotmg.text.model.TextKey;
  35. import kabam.rotmg.text.view.TextFieldDisplayConcrete;
  36. import kabam.rotmg.text.view.stringBuilder.LineBuilder;
  37. import kabam.rotmg.text.view.stringBuilder.StaticStringBuilder;
  38. import kabam.rotmg.text.view.stringBuilder.StringBuilder;
  39. import kabam.rotmg.ui.UIUtils;
  40.  
  41. public class Options extends Sprite
  42. {
  43.  
  44. private static const TABS:Vector.<String> = new <String>[TextKey.OPTIONS_CONTROLS,TextKey.OPTIONS_HOTKEYS,TextKey.OPTIONS_CHAT,TextKey.OPTIONS_GRAPHICS,TextKey.OPTIONS_SOUND,TextKey.OPTIONS_FRIEND,"Debuffs","Misc","Aim Assist","Auto Ability","Loot Notif","Recon","Sprite World","HP Display","Other"];
  45.  
  46. public static const Y_POSITION:int = 550;
  47.  
  48. public static const CHAT_COMMAND:String = "chatCommand";
  49.  
  50. public static const CHAT:String = "chat";
  51.  
  52. public static const TELL:String = "tell";
  53.  
  54. public static const GUILD_CHAT:String = "guildChat";
  55.  
  56. public static const SCROLL_CHAT_UP:String = "scrollChatUp";
  57.  
  58. public static const SCROLL_CHAT_DOWN:String = "scrollChatDown";
  59.  
  60. private static var registeredCursors:Vector.<String> = new Vector.<String>(0);
  61.  
  62.  
  63. private var gs_:GameSprite;
  64.  
  65. private var continueButton_:TitleMenuOption;
  66.  
  67. private var resetToDefaultsButton_:TitleMenuOption;
  68.  
  69. private var homeButton_:TitleMenuOption;
  70.  
  71. private var tabs_:Vector.<OptionsTabTitle>;
  72.  
  73. private var selected_:OptionsTabTitle = null;
  74.  
  75. private var options_:Vector.<Sprite>;
  76.  
  77. public function Options(param1:GameSprite)
  78. {
  79. var _loc2_:TextFieldDisplayConcrete = null;
  80. var _loc4_:OptionsTabTitle = null;
  81. var _loc6_:int = 0;
  82. _loc2_ = null;
  83. var _loc3_:int = 0;
  84. _loc4_ = null;
  85. this.tabs_ = new Vector.<OptionsTabTitle>();
  86. this.options_ = new Vector.<Sprite>();
  87. super();
  88. this.gs_ = param1;
  89. graphics.clear();
  90. graphics.beginFill(2829099,0.8);
  91. graphics.drawRect(0,0,800,600);
  92. graphics.endFill();
  93. graphics.lineStyle(1,6184542);
  94. graphics.moveTo(0,100);
  95. graphics.lineTo(800,100);
  96. graphics.lineStyle();
  97. _loc2_ = new TextFieldDisplayConcrete().setSize(36).setColor(16777215);
  98. _loc2_.setBold(true);
  99. _loc2_.setStringBuilder(new LineBuilder().setParams(TextKey.OPTIONS_TITLE));
  100. _loc2_.setAutoSize(TextFieldAutoSize.CENTER);
  101. _loc2_.filters = [new DropShadowFilter(0,0,0)];
  102. _loc2_.x = 800 / 2 - _loc2_.width / 2;
  103. _loc2_.y = 8;
  104. addChild(_loc2_);
  105. addChild(new ScreenGraphic());
  106. this.continueButton_ = new TitleMenuOption(TextKey.OPTIONS_CONTINUE_BUTTON,36,false);
  107. this.continueButton_.setVerticalAlign(TextFieldDisplayConcrete.MIDDLE);
  108. this.continueButton_.setAutoSize(TextFieldAutoSize.CENTER);
  109. this.continueButton_.addEventListener(MouseEvent.CLICK,this.onContinueClick);
  110. addChild(this.continueButton_);
  111. this.resetToDefaultsButton_ = new TitleMenuOption(TextKey.OPTIONS_RESET_TO_DEFAULTS_BUTTON,22,false);
  112. this.resetToDefaultsButton_.setVerticalAlign(TextFieldDisplayConcrete.MIDDLE);
  113. this.resetToDefaultsButton_.setAutoSize(TextFieldAutoSize.LEFT);
  114. this.resetToDefaultsButton_.addEventListener(MouseEvent.CLICK,this.onResetToDefaultsClick);
  115. addChild(this.resetToDefaultsButton_);
  116. this.homeButton_ = new TitleMenuOption(TextKey.OPTIONS_HOME_BUTTON,22,false);
  117. this.homeButton_.setVerticalAlign(TextFieldDisplayConcrete.MIDDLE);
  118. this.homeButton_.setAutoSize(TextFieldAutoSize.RIGHT);
  119. this.homeButton_.addEventListener(MouseEvent.CLICK,this.onHomeClick);
  120. addChild(this.homeButton_);
  121. if(UIUtils.SHOW_EXPERIMENTAL_MENU)
  122. {
  123. if(TABS.indexOf("Experimental") == -1)
  124. {
  125. TABS.push("Experimental");
  126. }
  127. }
  128. else
  129. {
  130. _loc3_ = TABS.indexOf("Experimental");
  131. if(_loc3_ != -1)
  132. {
  133. TABS.pop();
  134. }
  135. }
  136. var _loc5_:int = 14;
  137. _loc6_ = 0;
  138. while(_loc6_ < TABS.length)
  139. {
  140. _loc4_ = new OptionsTabTitle(TABS[_loc6_]);
  141. _loc4_.x = _loc5_;
  142. _loc4_.y = 70;
  143. _loc4_.y = 50 + 25 * int(_loc6_ / 8);
  144. if(_loc6_ % 8 == 0)
  145. {
  146. _loc5_ = 14;
  147. _loc4_.x = _loc5_;
  148. }
  149. addChild(_loc4_);
  150. _loc4_.addEventListener(MouseEvent.CLICK,this.onTabClick);
  151. this.tabs_.push(_loc4_);
  152. _loc5_ = _loc5_ + (!!UIUtils.SHOW_EXPERIMENTAL_MENU?104:104);
  153. _loc6_++;
  154. }
  155. addEventListener(Event.ADDED_TO_STAGE,this.onAddedToStage);
  156. addEventListener(Event.REMOVED_FROM_STAGE,this.onRemovedFromStage);
  157. var _loc7_:CloseDialogsSignal = StaticInjectorContext.getInjector().getInstance(CloseDialogsSignal);
  158. _loc7_.dispatch();
  159. }
  160.  
  161. public static function refreshCursor() : void
  162. {
  163. var _loc1_:MouseCursorData = null;
  164. var _loc2_:Vector.<BitmapData> = null;
  165. if(Parameters.data_.cursorSelect != MouseCursor.AUTO && registeredCursors.indexOf(Parameters.data_.cursorSelect) == -1)
  166. {
  167. _loc1_ = new MouseCursorData();
  168. _loc1_.hotSpot = new Point(15,15);
  169. _loc2_ = new Vector.<BitmapData>(1,true);
  170. _loc2_[0] = AssetLibrary.getImageFromSet("cursorsEmbed",int(Parameters.data_.cursorSelect));
  171. _loc1_.data = _loc2_;
  172. Mouse.registerCursor(Parameters.data_.cursorSelect,_loc1_);
  173. registeredCursors.push(Parameters.data_.cursorSelect);
  174. }
  175. Mouse.cursor = Parameters.data_.cursorSelect;
  176. }
  177.  
  178. private static function makePotionBuy() : ChoiceOption
  179. {
  180. return new ChoiceOption("contextualPotionBuy",makeOnOffLabels(),[true,false],TextKey.OPTIONS_CONTEXTUAL_POTION_BUY,TextKey.OPTIONS_CONTEXTUAL_POTION_BUY_DESC,null);
  181. }
  182.  
  183. private static function makeOnOffLabels() : Vector.<StringBuilder>
  184. {
  185. return new <StringBuilder>[makeLineBuilder(TextKey.OPTIONS_ON),makeLineBuilder(TextKey.OPTIONS_OFF)];
  186. }
  187.  
  188. private static function makeHighLowLabels() : Vector.<StringBuilder>
  189. {
  190. return new <StringBuilder>[new StaticStringBuilder("High"),new StaticStringBuilder("Low")];
  191. }
  192.  
  193. private static function makeStarSelectLabels() : Vector.<StringBuilder>
  194. {
  195. return new <StringBuilder>[new StaticStringBuilder("Off"),new StaticStringBuilder("1"),new StaticStringBuilder("2"),new StaticStringBuilder("3"),new StaticStringBuilder("5"),new StaticStringBuilder("10")];
  196. }
  197.  
  198. private static function makeCursorSelectLabels() : Vector.<StringBuilder>
  199. {
  200. return new <StringBuilder>[new StaticStringBuilder("Off"),new StaticStringBuilder("ProX"),new StaticStringBuilder("X2"),new StaticStringBuilder("X3"),new StaticStringBuilder("X4"),new StaticStringBuilder("Corner1"),new StaticStringBuilder("Corner2"),new StaticStringBuilder("Symb"),new StaticStringBuilder("Alien"),new StaticStringBuilder("Xhair"),new StaticStringBuilder("Chvzto1"),new StaticStringBuilder("Chvzto2")];
  201. }
  202.  
  203. private static function makeLineBuilder(param1:String) : LineBuilder
  204. {
  205. return new LineBuilder().setParams(param1);
  206. }
  207.  
  208. private static function makeClickForGold() : ChoiceOption
  209. {
  210. return new ChoiceOption("clickForGold",makeOnOffLabels(),[true,false],TextKey.OPTIONS_CLICK_FOR_GOLD,TextKey.OPTIONS_CLICK_FOR_GOLD_DESC,null);
  211. }
  212.  
  213. private static function onUIQualityToggle() : void
  214. {
  215. UIUtils.toggleQuality(Parameters.data_.uiQuality);
  216. }
  217.  
  218. private static function onBarTextToggle() : void
  219. {
  220. StatusBar.barTextSignal.dispatch(Parameters.data_.toggleBarText);
  221. }
  222.  
  223. private static function onToMaxTextToggle() : void
  224. {
  225. StatusBar.barTextSignal.dispatch(Parameters.data_.toggleBarText);
  226. StatView.toMaxTextSignal.dispatch(Parameters.data_.toggleToMaxText);
  227. }
  228.  
  229. private static function makeDegreeOptions() : Vector.<StringBuilder>
  230. {
  231. return new <StringBuilder>[new StaticStringBuilder("45°"),new StaticStringBuilder("0°")];
  232. }
  233.  
  234. private static function onDefaultCameraAngleChange() : void
  235. {
  236. Parameters.data_.cameraAngle = Parameters.data_.defaultCameraAngle;
  237. Parameters.save();
  238. }
  239.  
  240. private function BoundingDistValues() : Vector.<StringBuilder>
  241. {
  242. return new <StringBuilder>[new StaticStringBuilder("1"),new StaticStringBuilder("2"),new StaticStringBuilder("3"),new StaticStringBuilder("4"),new StaticStringBuilder("5"),new StaticStringBuilder("6"),new StaticStringBuilder("7"),new StaticStringBuilder("8"),new StaticStringBuilder("9"),new StaticStringBuilder("10"),new StaticStringBuilder("15"),new StaticStringBuilder("20")];
  243. }
  244.  
  245. private function AutoNexusValues() : Vector.<StringBuilder>
  246. {
  247. return new <StringBuilder>[new StaticStringBuilder("Off"),new StaticStringBuilder("5%"),new StaticStringBuilder("10%"),new StaticStringBuilder("15%"),new StaticStringBuilder("20%"),new StaticStringBuilder("25%"),new StaticStringBuilder("30%"),new StaticStringBuilder("35%"),new StaticStringBuilder("40%"),new StaticStringBuilder("45%"),new StaticStringBuilder("50%"),new StaticStringBuilder("60%")];
  248. }
  249.  
  250. private function AutoHealValues() : Vector.<StringBuilder>
  251. {
  252. return new <StringBuilder>[new StaticStringBuilder("Off"),new StaticStringBuilder("5%"),new StaticStringBuilder("10%"),new StaticStringBuilder("15%"),new StaticStringBuilder("20%"),new StaticStringBuilder("25%"),new StaticStringBuilder("30%"),new StaticStringBuilder("35%"),new StaticStringBuilder("40%"),new StaticStringBuilder("45%"),new StaticStringBuilder("50%"),new StaticStringBuilder("55%"),new StaticStringBuilder("60%"),new StaticStringBuilder("65%"),new StaticStringBuilder("70%"),new StaticStringBuilder("75%"),new StaticStringBuilder("80%"),new StaticStringBuilder("85%"),new StaticStringBuilder("90%"),new StaticStringBuilder("95%"),new StaticStringBuilder("100%")];
  253. }
  254.  
  255. public function ZeroSix() : Vector.<StringBuilder>
  256. {
  257. return new <StringBuilder>[new StaticStringBuilder("0"),new StaticStringBuilder("1"),new StaticStringBuilder("2"),new StaticStringBuilder("3"),new StaticStringBuilder("4"),new StaticStringBuilder("5"),new StaticStringBuilder("6")];
  258. }
  259.  
  260. public function ZeroThirteen() : Vector.<StringBuilder>
  261. {
  262. return new <StringBuilder>[new StaticStringBuilder("0"),new StaticStringBuilder("1"),new StaticStringBuilder("2"),new StaticStringBuilder("3"),new StaticStringBuilder("4"),new StaticStringBuilder("5"),new StaticStringBuilder("6"),new StaticStringBuilder("7"),new StaticStringBuilder("8"),new StaticStringBuilder("9"),new StaticStringBuilder("10"),new StaticStringBuilder("11"),new StaticStringBuilder("12"),new StaticStringBuilder("13")];
  263. }
  264.  
  265. public function autoLootMinWait() : Vector.<StringBuilder>
  266. {
  267. return new <StringBuilder>[new StaticStringBuilder("300"),new StaticStringBuilder("350"),new StaticStringBuilder("400"),new StaticStringBuilder("450"),new StaticStringBuilder("500"),new StaticStringBuilder("550"),new StaticStringBuilder("600"),new StaticStringBuilder("700"),new StaticStringBuilder("800"),new StaticStringBuilder("900"),new StaticStringBuilder("1000")];
  268. }
  269.  
  270. public function updateWanted() : void
  271. {
  272. Player.wantedList = null;
  273. this.gs_.map.player_.genWantedList();
  274. }
  275.  
  276. public function isAirApplication() : Boolean
  277. {
  278. return Capabilities.playerType == "Desktop";
  279. }
  280.  
  281. public function addOptionsChoiceOption() : void
  282. {
  283. var _loc1_:String = Capabilities.os.split(" ")[0] == "Mac"?"Command":"Ctrl";
  284. var _loc2_:ChoiceOption = new ChoiceOption("inventorySwap",makeOnOffLabels(),[true,false],TextKey.OPTIONS_SWITCH_ITEM_IN_BACKPACK,"",null);
  285. _loc2_.setTooltipText(new LineBuilder().setParams(TextKey.OPTIONS_SWITCH_ITEM_IN_BACKPACK_DESC,{"key":_loc1_}));
  286. this.addOptionAndPosition(_loc2_);
  287. }
  288.  
  289. public function addInventoryOptions() : void
  290. {
  291. var _loc1_:KeyMapper = null;
  292. var _loc2_:int = 1;
  293. while(_loc2_ <= 8)
  294. {
  295. _loc1_ = new KeyMapper("useInvSlot" + _loc2_,"","");
  296. _loc1_.setDescription(new LineBuilder().setParams(TextKey.OPTIONS_INVENTORY_SLOT_N,{"n":_loc2_}));
  297. _loc1_.setTooltipText(new LineBuilder().setParams(TextKey.OPTIONS_INVENTORY_SLOT_N_DESC,{"n":_loc2_}));
  298. this.addOptionAndPosition(_loc1_);
  299. _loc2_++;
  300. }
  301. }
  302.  
  303. private function setSelected(param1:OptionsTabTitle) : void
  304. {
  305. if(param1 == this.selected_)
  306. {
  307. return;
  308. }
  309. if(this.selected_ != null)
  310. {
  311. this.selected_.setSelected(false);
  312. }
  313. this.selected_ = param1;
  314. this.selected_.setSelected(true);
  315. this.removeOptions();
  316. switch(this.selected_.text_)
  317. {
  318. case TextKey.OPTIONS_CONTROLS:
  319. this.addControlsOptions();
  320. break;
  321. case TextKey.OPTIONS_HOTKEYS:
  322. this.addHotKeysOptions();
  323. break;
  324. case TextKey.OPTIONS_CHAT:
  325. this.addChatOptions();
  326. break;
  327. case TextKey.OPTIONS_GRAPHICS:
  328. this.addGraphicsOptions();
  329. break;
  330. case TextKey.OPTIONS_SOUND:
  331. this.addSoundOptions();
  332. break;
  333. case TextKey.OPTIONS_MISC:
  334. this.addMiscOptions();
  335. break;
  336. case TextKey.OPTIONS_FRIEND:
  337. this.addFriendOptions();
  338. break;
  339. case "Aim Assist":
  340. this.aimAssist();
  341. break;
  342. case "Auto Ability":
  343. this.autoAbility();
  344. break;
  345. case "Debuffs":
  346. this.nillyDebuffs();
  347. break;
  348. case "HP Display":
  349. this.hpBars();
  350. break;
  351. case "Loot Notif":
  352. this.lootNotif();
  353. break;
  354. case "Recon":
  355. this.recon();
  356. break;
  357. case "Sprite World":
  358. this.spriteWorld();
  359. break;
  360. case "Misc":
  361. this.miscMenu();
  362. break;
  363. case "Other":
  364. this.nillyOther();
  365. break;
  366. case "Experimental":
  367. this.addExperimentalOptions();
  368. }
  369. }
  370.  
  371. private function close() : void
  372. {
  373. stage.focus = null;
  374. parent.removeChild(this);
  375. }
  376.  
  377. private function removeOptions() : void
  378. {
  379. var _loc1_:Sprite = null;
  380. for each(_loc1_ in this.options_)
  381. {
  382. removeChild(_loc1_);
  383. }
  384. this.options_.length = 0;
  385. }
  386.  
  387. private function addControlsOptions() : void
  388. {
  389. this.addOptionAndPosition(new KeyMapper("moveUp",TextKey.OPTIONS_MOVE_UP,TextKey.OPTIONS_MOVE_UP_DESC));
  390. this.addOptionAndPosition(new KeyMapper("moveLeft",TextKey.OPTIONS_MOVE_LEFT,TextKey.OPTIONS_MOVE_LEFT_DESC));
  391. this.addOptionAndPosition(new KeyMapper("moveDown",TextKey.OPTIONS_MOVE_DOWN,TextKey.OPTIONS_MOVE_DOWN_DESC));
  392. this.addOptionAndPosition(new KeyMapper("moveRight",TextKey.OPTIONS_MOVE_RIGHT,TextKey.OPTIONS_MOVE_RIGHT_DESC));
  393. this.addOptionAndPosition(this.makeAllowCameraRotation());
  394. this.addOptionAndPosition(this.makeAllowMiniMapRotation());
  395. this.addOptionAndPosition(new KeyMapper("rotateLeft",TextKey.OPTIONS_ROTATE_LEFT,TextKey.OPTIONS_ROTATE_LEFT_DESC,!Parameters.data_.allowRotation));
  396. this.addOptionAndPosition(new KeyMapper("rotateRight",TextKey.OPTIONS_ROTATE_RIGHT,TextKey.OPTIONS_ROTATE_RIGHT_DESC,!Parameters.data_.allowRotation));
  397. this.addOptionAndPosition(new KeyMapper("useSpecial",TextKey.OPTIONS_USE_SPECIAL_ABILITY,TextKey.OPTIONS_USE_SPECIAL_ABILITY_DESC));
  398. this.addOptionAndPosition(new KeyMapper("autofireToggle",TextKey.OPTIONS_AUTOFIRE_TOGGLE,TextKey.OPTIONS_AUTOFIRE_TOGGLE_DESC));
  399. this.addOptionAndPosition(new KeyMapper("toggleHPBar",TextKey.OPTIONS_TOGGLE_HPBAR,TextKey.OPTIONS_TOGGLE_HPBAR_DESC));
  400. this.addOptionAndPosition(new KeyMapper("resetToDefaultCameraAngle",TextKey.OPTIONS_RESET_CAMERA,TextKey.OPTIONS_RESET_CAMERA_DESC));
  401. this.addOptionAndPosition(new KeyMapper("togglePerformanceStats",TextKey.OPTIONS_TOGGLE_PERFORMANCE_STATS,TextKey.OPTIONS_TOGGLE_PERFORMANCE_STATS_DESC));
  402. this.addOptionAndPosition(new KeyMapper("toggleCentering",TextKey.OPTIONS_TOGGLE_CENTERING,TextKey.OPTIONS_TOGGLE_CENTERING_DESC));
  403. this.addOptionAndPosition(new KeyMapper("interact",TextKey.OPTIONS_INTERACT_OR_BUY,TextKey.OPTIONS_INTERACT_OR_BUY_DESC));
  404. this.addOptionAndPosition(makeClickForGold());
  405. this.addOptionAndPosition(makePotionBuy());
  406. }
  407.  
  408. private function makeAllowCameraRotation() : ChoiceOption
  409. {
  410. return new ChoiceOption("allowRotation",makeOnOffLabels(),[true,false],TextKey.OPTIONS_ALLOW_ROTATION,TextKey.OPTIONS_ALLOW_ROTATION_DESC,this.onAllowRotationChange);
  411. }
  412.  
  413. private function makeAllowMiniMapRotation() : ChoiceOption
  414. {
  415. return new ChoiceOption("allowMiniMapRotation",makeOnOffLabels(),[true,false],TextKey.OPTIONS_ALLOW_MINIMAP_ROTATION,TextKey.OPTIONS_ALLOW_MINIMAP_ROTATION_DESC,null);
  416. }
  417.  
  418. private function onAllowRotationChange() : void
  419. {
  420. var _loc1_:KeyMapper = null;
  421. var _loc2_:int = 0;
  422. while(_loc2_ < this.options_.length)
  423. {
  424. _loc1_ = this.options_[_loc2_] as KeyMapper;
  425. if(_loc1_ != null)
  426. {
  427. if(_loc1_.paramName_ == "rotateLeft" || _loc1_.paramName_ == "rotateRight")
  428. {
  429. _loc1_.setDisabled(!Parameters.data_.allowRotation);
  430. }
  431. }
  432. _loc2_++;
  433. }
  434. }
  435.  
  436. private function addHotKeysOptions() : void
  437. {
  438. this.addOptionAndPosition(new KeyMapper("useHealthPotion",TextKey.OPTIONS_USE_BUY_HEALTH,TextKey.OPTIONS_USE_BUY_HEALTH_DESC));
  439. this.addOptionAndPosition(new KeyMapper("useMagicPotion",TextKey.OPTIONS_USE_BUY_MAGIC,TextKey.OPTIONS_USE_BUY_MAGIC_DESC));
  440. this.addInventoryOptions();
  441. this.addOptionAndPosition(new KeyMapper("miniMapZoomIn",TextKey.OPTIONS_MINI_MAP_ZOOM_IN,TextKey.OPTIONS_MINI_MAP_ZOOM_IN_DESC));
  442. this.addOptionAndPosition(new KeyMapper("miniMapZoomOut",TextKey.OPTIONS_MINI_MAP_ZOOM_OUT,TextKey.OPTIONS_MINI_MAP_ZOOM_OUT_DESC));
  443. this.addOptionAndPosition(new KeyMapper("escapeToNexus",TextKey.OPTIONS_ESCAPE_TO_NEXUS,TextKey.OPTIONS_ESCAPE_TO_NEXUS_DESC));
  444. this.addOptionAndPosition(new KeyMapper("options",TextKey.OPTIONS_SHOW_OPTIONS,TextKey.OPTIONS_SHOW_OPTIONS_DESC));
  445. this.addOptionAndPosition(new KeyMapper("switchTabs",TextKey.OPTIONS_SWITCH_TABS,TextKey.OPTIONS_SWITCH_TABS_DESC));
  446. this.addOptionAndPosition(new KeyMapper("GPURenderToggle",TextKey.OPTIONS_HARDWARE_ACC_HOTKEY_TITLE,TextKey.OPTIONS_HARDWARE_ACC_HOTKEY_DESC));
  447. this.addOptionsChoiceOption();
  448. if(this.isAirApplication())
  449. {
  450. this.addOptionAndPosition(new KeyMapper("toggleFullscreen",TextKey.OPTIONS_TOGGLE_FULLSCREEN,TextKey.OPTIONS_TOGGLE_FULLSCREEN_DESC));
  451. }
  452. }
  453.  
  454. private function addChatOptions() : void
  455. {
  456. this.addOptionAndPosition(new KeyMapper(CHAT,TextKey.OPTIONS_ACTIVATE_CHAT,TextKey.OPTIONS_ACTIVATE_CHAT_DESC));
  457. this.addOptionAndPosition(new KeyMapper(CHAT_COMMAND,TextKey.OPTIONS_START_CHAT,TextKey.OPTIONS_START_CHAT_DESC));
  458. this.addOptionAndPosition(new KeyMapper(TELL,TextKey.OPTIONS_BEGIN_TELL,TextKey.OPTIONS_BEGIN_TELL_DESC));
  459. this.addOptionAndPosition(new KeyMapper(GUILD_CHAT,TextKey.OPTIONS_BEGIN_GUILD_CHAT,TextKey.OPTIONS_BEGIN_GUILD_CHAT_DESC));
  460. this.addOptionAndPosition(new ChoiceOption("filterLanguage",makeOnOffLabels(),[true,false],TextKey.OPTIONS_FILTER_OFFENSIVE_LANGUAGE,TextKey.OPTIONS_FILTER_OFFENSIVE_LANGUAGE_DESC,null));
  461. this.addOptionAndPosition(new KeyMapper(SCROLL_CHAT_UP,TextKey.OPTIONS_SCROLL_CHAT_UP,TextKey.OPTIONS_SCROLL_CHAT_UP_DESC));
  462. this.addOptionAndPosition(new KeyMapper(SCROLL_CHAT_DOWN,TextKey.OPTIONS_SCROLL_CHAT_DOWN,TextKey.OPTIONS_SCROLL_CHAT_DOWN_DESC));
  463. this.addOptionAndPosition(new ChoiceOption("forceChatQuality",makeOnOffLabels(),[true,false],TextKey.OPTIONS_FORCE_CHAT_QUALITY,TextKey.OPTIONS_FORCE_CHAT_QUALITY_DESC,null));
  464. this.addOptionAndPosition(new ChoiceOption("hidePlayerChat",makeOnOffLabels(),[true,false],TextKey.OPTIONS_HIDE_PLAYER_CHAT,TextKey.OPTIONS_HIDE_PLAYER_CHAT_DESC,null));
  465. this.addOptionAndPosition(new ChoiceOption("chatStarRequirement",makeStarSelectLabels(),[0,1,2,3,5,10],TextKey.OPTIONS_STAR_REQ,TextKey.OPTIONS_CHAT_STAR_REQ_DESC,null));
  466. this.addOptionAndPosition(new ChoiceOption("chatAll",makeOnOffLabels(),[true,false],TextKey.OPTIONS_CHAT_ALL,TextKey.OPTIONS_CHAT_ALL_DESC,this.onAllChatEnabled));
  467. this.addOptionAndPosition(new ChoiceOption("chatWhisper",makeOnOffLabels(),[true,false],TextKey.OPTIONS_CHAT_WHISPER,TextKey.OPTIONS_CHAT_WHISPER_DESC,this.onAllChatDisabled));
  468. this.addOptionAndPosition(new ChoiceOption("chatGuild",makeOnOffLabels(),[true,false],TextKey.OPTIONS_CHAT_GUILD,TextKey.OPTIONS_CHAT_GUILD_DESC,this.onAllChatDisabled));
  469. this.addOptionAndPosition(new ChoiceOption("chatTrade",makeOnOffLabels(),[true,false],TextKey.OPTIONS_CHAT_TRADE,TextKey.OPTIONS_CHAT_TRADE_DESC,null));
  470. }
  471.  
  472. private function onAllChatDisabled() : void
  473. {
  474. var _loc1_:ChoiceOption = null;
  475. Parameters.data_.chatAll = false;
  476. var _loc2_:int = 0;
  477. while(_loc2_ < this.options_.length)
  478. {
  479. _loc1_ = this.options_[_loc2_] as ChoiceOption;
  480. if(_loc1_ != null)
  481. {
  482. switch(_loc1_.paramName_)
  483. {
  484. case "chatAll":
  485. _loc1_.refreshNoCallback();
  486. default:
  487. _loc1_.refreshNoCallback();
  488. }
  489. }
  490. _loc2_++;
  491. }
  492. }
  493.  
  494. private function onAllChatEnabled() : void
  495. {
  496. var _loc1_:ChoiceOption = null;
  497. Parameters.data_.hidePlayerChat = false;
  498. Parameters.data_.chatWhisper = true;
  499. Parameters.data_.chatGuild = true;
  500. Parameters.data_.chatFriend = false;
  501. var _loc2_:int = 0;
  502. while(_loc2_ < this.options_.length)
  503. {
  504. _loc1_ = this.options_[_loc2_] as ChoiceOption;
  505. if(_loc1_ != null)
  506. {
  507. switch(_loc1_.paramName_)
  508. {
  509. case "hidePlayerChat":
  510. case "chatWhisper":
  511. case "chatGuild":
  512. case "chatFriend":
  513. _loc1_.refreshNoCallback();
  514. default:
  515. _loc1_.refreshNoCallback();
  516. }
  517. }
  518. _loc2_++;
  519. }
  520. }
  521.  
  522. private function addExperimentalOptions() : void
  523. {
  524. this.addOptionAndPosition(new ChoiceOption("disableEnemyParticles",makeOnOffLabels(),[true,false],"Disable Enemy Particles","Disable enemy hit and death particles.",null));
  525. this.addOptionAndPosition(new ChoiceOption("disableAllyParticles",makeOnOffLabels(),[true,false],"Disable Ally Projectiles","Disable showing projectiles shot by allies.",null));
  526. this.addOptionAndPosition(new ChoiceOption("disablePlayersHitParticles",makeOnOffLabels(),[true,false],"Disable Players Hit Particles","Disable player and ally hit particles.",null));
  527. this.addOptionAndPosition(new ChoiceOption("toggleToMaxText",makeOnOffLabels(),[true,false],TextKey.OPTIONS_TOGGLE_TOMAXTEXT,TextKey.OPTIONS_TOGGLE_TOMAXTEXT_DESC,onToMaxTextToggle));
  528. this.addOptionAndPosition(new ChoiceOption("newMiniMapColors",makeOnOffLabels(),[true,false],TextKey.OPTIONS_TOGGLE_NEWMINIMAPCOLORS,TextKey.OPTIONS_TOGGLE_NEWMINIMAPCOLORS_DESC,null));
  529. this.addOptionAndPosition(new ChoiceOption("noParticlesMaster",makeOnOffLabels(),[true,false],"Disable Particles Master","Disable all nonessential particles besides enemy and ally hits. Throw, Area and certain other effects will remain.",null));
  530. this.addOptionAndPosition(new ChoiceOption("noAllyNotifications",makeOnOffLabels(),[true,false],"Disable Ally Notifications","Disable text notifications above allies.",null));
  531. this.addOptionAndPosition(new ChoiceOption("noEnemyDamage",makeOnOffLabels(),[true,false],"Disable Enemy Damage Text","Disable damage from other players above enemies.",null));
  532. this.addOptionAndPosition(new ChoiceOption("noAllyDamage",makeOnOffLabels(),[true,false],"Disable Ally Damage Text","Disable damage above allies.",null));
  533. this.addOptionAndPosition(new ChoiceOption("forceEXP",makeOnOffLabels(),[true,false],"Always Show EXP","Show EXP notifications even when level 20.",null));
  534. }
  535.  
  536. private function addGraphicsOptions() : void
  537. {
  538. var _loc1_:String = null;
  539. var _loc2_:Number = NaN;
  540. this.addOptionAndPosition(new ChoiceOption("defaultCameraAngle",makeDegreeOptions(),[7 * Math.PI / 4,0],TextKey.OPTIONS_DEFAULT_CAMERA_ANGLE,TextKey.OPTIONS_DEFAULT_CAMERA_ANGLE_DESC,onDefaultCameraAngleChange));
  541. this.addOptionAndPosition(new ChoiceOption("centerOnPlayer",makeOnOffLabels(),[true,false],TextKey.OPTIONS_CENTER_ON_PLAYER,TextKey.OPTIONS_CENTER_ON_PLAYER_DESC,null));
  542. this.addOptionAndPosition(new ChoiceOption("showQuestPortraits",makeOnOffLabels(),[true,false],TextKey.OPTIONS_SHOW_QUEST_PORTRAITS,TextKey.OPTIONS_SHOW_QUEST_PORTRAITS_DESC,this.onShowQuestPortraitsChange));
  543. this.addOptionAndPosition(new ChoiceOption("showProtips",makeOnOffLabels(),[true,false],TextKey.OPTIONS_SHOW_TIPS,TextKey.OPTIONS_SHOW_TIPS_DESC,null));
  544. this.addOptionAndPosition(new ChoiceOption("drawShadows",makeOnOffLabels(),[true,false],TextKey.OPTIONS_DRAW_SHADOWS,TextKey.OPTIONS_DRAW_SHADOWS_DESC,null));
  545. this.addOptionAndPosition(new ChoiceOption("textBubbles",makeOnOffLabels(),[true,false],TextKey.OPTIONS_DRAW_TEXT_BUBBLES,TextKey.OPTIONS_DRAW_TEXT_BUBBLES_DESC,null));
  546. this.addOptionAndPosition(new ChoiceOption("showTradePopup",makeOnOffLabels(),[true,false],TextKey.OPTIONS_SHOW_TRADE_REQUEST_PANEL,TextKey.OPTIONS_SHOW_TRADE_REQUEST_PANEL_DESC,null));
  547. this.addOptionAndPosition(new ChoiceOption("showGuildInvitePopup",makeOnOffLabels(),[true,false],TextKey.OPTIONS_SHOW_GUILD_INVITE_PANEL,TextKey.OPTIONS_SHOW_GUILD_INVITE_PANEL_DESC,null));
  548. this.addOptionAndPosition(new ChoiceOption("cursorSelect",makeCursorSelectLabels(),[MouseCursor.AUTO,"0","1","2","3","4","5","6","7","8","9","10"],"Custom Cursor","Click here to change the mouse cursor. May help with aiming.",refreshCursor));
  549. if(!Parameters.GPURenderError)
  550. {
  551. _loc1_ = TextKey.OPTIONS_HARDWARE_ACC_DESC;
  552. _loc2_ = 16777215;
  553. }
  554. else
  555. {
  556. _loc1_ = TextKey.OPTIONS_HARDWARE_ACC_DESC_ERROR;
  557. _loc2_ = 16724787;
  558. }
  559. this.addOptionAndPosition(new ChoiceOption("GPURender",makeOnOffLabels(),[true,false],TextKey.OPTIONS_HARDWARE_ACC_TITLE,_loc1_,null,_loc2_));
  560. if(Capabilities.playerType == "Desktop")
  561. {
  562. this.addOptionAndPosition(new ChoiceOption("fullscreenMode",makeOnOffLabels(),[true,false],TextKey.OPTIONS_FULLSCREEN_MODE,TextKey.OPTIONS_FULLSCREEN_MODE_DESC,this.onFullscreenChange));
  563. }
  564. this.addOptionAndPosition(new ChoiceOption("toggleBarText",makeOnOffLabels(),[true,false],TextKey.OPTIONS_TOGGLE_BARTEXT,TextKey.OPTIONS_TOGGLE_BARTEXT_DESC,onBarTextToggle));
  565. this.addOptionAndPosition(new ChoiceOption("particleEffect",makeHighLowLabels(),[true,false],TextKey.OPTIONS_TOGGLE_PARTICLE_EFFECT,TextKey.OPTIONS_TOGGLE_PARTICLE_EFFECT_DESC,null));
  566. this.addOptionAndPosition(new ChoiceOption("uiQuality",makeHighLowLabels(),[true,false],TextKey.OPTIONS_TOGGLE_UI_QUALITY,TextKey.OPTIONS_TOGGLE_UI_QUALITY_DESC,onUIQualityToggle));
  567. this.addOptionAndPosition(new ChoiceOption("HPBar",makeOnOffLabels(),[true,false],TextKey.OPTIONS_HPBAR,TextKey.OPTIONS_HPBAR_DESC,null));
  568. }
  569.  
  570. private function onShowQuestPortraitsChange() : void
  571. {
  572. if(this.gs_ != null && this.gs_.map != null && this.gs_.map.partyOverlay_ != null && this.gs_.map.partyOverlay_.questArrow_ != null)
  573. {
  574. this.gs_.map.partyOverlay_.questArrow_.refreshToolTip();
  575. }
  576. }
  577.  
  578. private function onFullscreenChange() : void
  579. {
  580. stage.displayState = !!Parameters.data_.fullscreenMode?"fullScreenInteractive":StageDisplayState.NORMAL;
  581. }
  582.  
  583. public function loot_options() : void
  584. {
  585. var _loc1_:ChoiceOption = null;
  586. var _loc2_:int = 0;
  587. while(_loc2_ < this.options_.length)
  588. {
  589. _loc1_ = this.options_[_loc2_] as ChoiceOption;
  590. if(_loc1_ != null)
  591. {
  592. if(_loc1_.paramName_ == "AutoLootMinWait" || _loc1_.paramName_ == "AutoLootNonStackHM")
  593. {
  594. _loc1_.enable(Parameters.data_.AutoLootOn == false);
  595. }
  596. if(_loc1_.paramName_ == "LNAbility" || _loc1_.paramName_ == "LNRing" || _loc1_.paramName_ == "LNWeap")
  597. {
  598. _loc1_.enable(Parameters.data_.AutoLootOn == false && Parameters.data_.showLootNotifs == false);
  599. }
  600. }
  601. _loc2_++;
  602. }
  603. }
  604.  
  605. public function hpBars_options() : void
  606. {
  607. var _loc1_:ChoiceOption = null;
  608. var _loc2_:int = 0;
  609. while(_loc2_ < this.options_.length)
  610. {
  611. _loc1_ = this.options_[_loc2_] as ChoiceOption;
  612. if(_loc1_ != null)
  613. {
  614. if(_loc1_.paramName_ == "HPBarSafeZone" || _loc1_.paramName_ == "HPBarAlly" || _loc1_.paramName_ == "HPBarEnemy" || _loc1_.paramName_ == "HPBarMagic" || _loc1_.paramName_ == "HPBarOwn")
  615. {
  616. _loc1_.enable(Parameters.data_.showHpBar == false);
  617. }
  618. }
  619. _loc2_++;
  620. }
  621. }
  622.  
  623. public function showMobInfo_() : void
  624. {
  625. if(!Parameters.data_.showMobInfo && this.gs_.map.mapOverlay_ != null)
  626. {
  627. this.gs_.map.mapOverlay_.removeChildren(0);
  628. }
  629. }
  630.  
  631. public function fsv3() : void
  632. {
  633. stage.scaleMode = Parameters.data_["stageScale"];
  634. Parameters.root.dispatchEvent(new Event(Event.RESIZE));
  635. this.fsv3_options();
  636. }
  637.  
  638. public function scaleui() : void
  639. {
  640. Parameters.root.dispatchEvent(new Event(Event.RESIZE));
  641. }
  642.  
  643. public function forceLQ() : void
  644. {
  645. if(Parameters.data_.forceLowQuality == true)
  646. {
  647. stage.quality = StageQuality.LOW;
  648. }
  649. else
  650. {
  651. stage.quality = StageQuality.HIGH;
  652. }
  653. }
  654.  
  655. public function invulnerable_options() : void
  656. {
  657. var _loc1_:ChoiceOption = null;
  658. var _loc2_:int = 0;
  659. while(_loc2_ < this.options_.length)
  660. {
  661. _loc1_ = this.options_[_loc2_] as ChoiceOption;
  662. if(_loc1_ != null)
  663. {
  664. if(_loc1_.paramName_ == "AAInvulnerableQuest")
  665. {
  666. _loc1_.enable(Parameters.data_.AAInvulnerable == true);
  667. }
  668. }
  669. _loc2_++;
  670. }
  671. }
  672.  
  673. public function fsv3_options() : void
  674. {
  675. var _loc1_:ChoiceOption = null;
  676. var _loc2_:int = 0;
  677. while(_loc2_ < this.options_.length)
  678. {
  679. _loc1_ = this.options_[_loc2_] as ChoiceOption;
  680. if(_loc1_ != null)
  681. {
  682. if(_loc1_.paramName_ == "uiscale")
  683. {
  684. _loc1_.enable(Parameters.data_.stageScale == StageScaleMode.EXACT_FIT);
  685. }
  686. }
  687. _loc2_++;
  688. }
  689. }
  690.  
  691. public function quietCastle_options() : void
  692. {
  693. var _loc1_:ChoiceOption = null;
  694. var _loc2_:int = 0;
  695. while(_loc2_ < this.options_.length)
  696. {
  697. _loc1_ = this.options_[_loc2_] as ChoiceOption;
  698. if(_loc1_ != null)
  699. {
  700. if(_loc1_.paramName_ == "dbQuietCastle")
  701. {
  702. _loc1_.enable(Parameters.data_.dbQuiet == true);
  703. }
  704. }
  705. _loc2_++;
  706. }
  707. }
  708.  
  709. private function addSoundOptions() : void
  710. {
  711. this.addOptionAndPosition(new ChoiceOption("playMusic",makeOnOffLabels(),[true,false],TextKey.OPTIONS_PLAY_MUSIC,TextKey.OPTIONS_PLAY_MUSIC_DESC,this.onPlayMusicChange));
  712. this.addOptionAndPosition(new SliderOption("musicVolume",this.onMusicVolumeChange),-120,15);
  713. this.addOptionAndPosition(new ChoiceOption("playSFX",makeOnOffLabels(),[true,false],TextKey.OPTIONS_PLAY_SOUND_EFFECTS,TextKey.OPTIONS_PLAY_SOUND_EFFECTS_DESC,this.onPlaySoundEffectsChange));
  714. this.addOptionAndPosition(new SliderOption("SFXVolume",this.onSoundEffectsVolumeChange),-120,34);
  715. this.addOptionAndPosition(new ChoiceOption("playPewPew",makeOnOffLabels(),[true,false],TextKey.OPTIONS_PLAY_WEAPON_SOUNDS,TextKey.OPTIONS_PLAY_WEAPON_SOUNDS_DESC,null));
  716. }
  717.  
  718. private function addMiscOptions() : void
  719. {
  720. this.addOptionAndPosition(new ChoiceOption("showProtips",new <StringBuilder>[makeLineBuilder(TextKey.OPTIONS_LEGAL_VIEW),makeLineBuilder(TextKey.OPTIONS_LEGAL_VIEW)],[Parameters.data_.showProtips,Parameters.data_.showProtips],TextKey.OPTIONS_LEGAL_PRIVACY,TextKey.OPTIONS_LEGAL_PRIVACY_DESC,this.onLegalPrivacyClick));
  721. this.addOptionAndPosition(new NullOption());
  722. this.addOptionAndPosition(new ChoiceOption("showProtips",new <StringBuilder>[makeLineBuilder(TextKey.OPTIONS_LEGAL_VIEW),makeLineBuilder(TextKey.OPTIONS_LEGAL_VIEW)],[Parameters.data_.showProtips,Parameters.data_.showProtips],TextKey.OPTIONS_LEGAL_TOS,TextKey.OPTIONS_LEGAL_TOS_DESC,this.onLegalTOSClick));
  723. this.addOptionAndPosition(new NullOption());
  724. }
  725.  
  726. private function addFriendOptions() : void
  727. {
  728. this.addOptionAndPosition(new ChoiceOption("tradeWithFriends",makeOnOffLabels(),[true,false],TextKey.OPTIONS_TRADE_FRIEND,TextKey.OPTIONS_TRADE_FRIEND_DESC,this.onPlaySoundEffectsChange));
  729. this.addOptionAndPosition(new KeyMapper("friendList",TextKey.OPTIONS_SHOW_FRIEND_LIST,TextKey.OPTIONS_SHOW_FRIEND_LIST_DESC));
  730. this.addOptionAndPosition(new ChoiceOption("chatFriend",makeOnOffLabels(),[true,false],TextKey.OPTIONS_CHAT_FRIEND,TextKey.OPTIONS_CHAT_FRIEND_DESC,null));
  731. this.addOptionAndPosition(new ChoiceOption("friendStarRequirement",makeStarSelectLabels(),[0,1,2,3,5,10],TextKey.OPTIONS_STAR_REQ,TextKey.OPTIONS_FRIEND_STAR_REQ_DESC,null));
  732. }
  733.  
  734. public function miscMenu() : void
  735. {
  736. this.addOptionAndPosition(new KeyMapper("QuestCameraAim","Misc.QuestAim.Name","Misc.QuestAim.Desc"));
  737. this.addOptionAndPosition(new KeyMapper("QuestTeleport","Misc.QuestTeleport.Name","Misc.QuestTeleport.Desc"));
  738. this.addOptionAndPosition(new KeyMapper("Cam45DegInc","Misc.45DegInc.Name","Misc.45DegInc.Desc"));
  739. this.addOptionAndPosition(new KeyMapper("Cam45DegDec","Misc.45DegDec.Name","Misc.45DegDec.Desc"));
  740. this.addOptionAndPosition(new KeyMapper("TextPause","Misc.TextPause.Name","Misc.TextPause.Desc"));
  741. this.addOptionAndPosition(new KeyMapper("TextThessal","Misc.TextThessal.Name","Misc.TextThessal.Desc"));
  742. this.addOptionAndPosition(new KeyMapper("TextDraconis","Misc.TextDraconis.Name","Misc.TextDraconis.Desc"));
  743. this.addOptionAndPosition(new KeyMapper("TextCem","Misc.TextCem.Name","Misc.TextCem.Desc"));
  744. this.addOptionAndPosition(new KeyMapper("SkipRender","Misc.SkipRender.Name","Misc.SkipRender.Desc"));
  745. this.addOptionAndPosition(new ChoiceOption("spellBombAssist",makeOnOffLabels(),[true,false],"Spellbomb Assist","Makes Right Click use your ability to the enemy nearest your cursor.",null));
  746. this.addOptionAndPosition(new ChoiceOption("splinterAutoReply",makeOnOffLabels(),[true,false],"Splinter Auto Reply","Automatically replies to all of Splinter\'s [Master Rat] questions.",null));
  747. this.addOptionAndPosition(new ChoiceOption("hideOtherDamage",makeOnOffLabels(),[true,false],"Hide Other Damage","Hides the damage dealt by other players.",null));
  748. this.addOptionAndPosition(new ChoiceOption("FocusPause",makeOnOffLabels(),[true,false],"Pause on Background","Pause the game when you alt tab",null));
  749. this.addOptionAndPosition(new ChoiceOption("FocusFPS",makeOnOffLabels(),[true,false],"LowFPS in Background","Lower your fps when you alt tab (type /bgfps # to set background framerate, and /fgfps # to set foreground framerate)",null));
  750. }
  751.  
  752. public function autoAbility() : void
  753. {
  754. this.addOptionAndPosition(new ChoiceOption("AutoHealPercentage",this.AutoHealValues(),[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100],"NillyOptions.AutoAbility.Heal","NillyOptions.AutoAbility.Heal.desc",null));
  755. this.addOptionAndPosition(new KeyMapper("AutoAbilityHotkey","NillyOptions.AutoAbility.Hotkey","NillyOptions.AutoAbility.Hotkey.desc"));
  756. this.addOptionAndPosition(new ChoiceOption("AutoAbilityManual",makeOnOffLabels(),[true,false],"NillyOptions.AutoAbility.Manual","NillyOptions.AutoAbility.Manual.desc",null));
  757. this.addOptionAndPosition(new NullOption());
  758. this.addOptionAndPosition(new ChoiceOption("AutoAbilityExceptOnly",makeOnOffLabels(),[true,false],"NillyOptions.AutoAbility.ExceptOnly","NillyOptions.AutoAbility.ExceptOnly.desc",null));
  759. this.addOptionAndPosition(new NullOption());
  760. this.addOptionAndPosition(new ChoiceOption("AutoAbilityTargetBuffed",makeOnOffLabels(),[true,false],"NillyOptions.AutoAbility.TargetBuffed","NillyOptions.AutoAbility.TargetBuffed.desc",null));
  761. }
  762.  
  763. public function recon() : void
  764. {
  765. this.addOptionAndPosition(new KeyMapper("ReconRealm","NillyOptions.Recon.Realm","NillyOptions.Recon.Realm.desc"));
  766. this.addOptionAndPosition(new KeyMapper("RandomRealm","Random Realm","Enters a random realm."));
  767. this.addOptionAndPosition(new KeyMapper("ReconDung","NillyOptions.Recon.Dung","NillyOptions.Recon.Dung.desc"));
  768. this.addOptionAndPosition(new NullOption());
  769. this.addOptionAndPosition(new KeyMapper("ReconVault","NillyOptions.Recon.Vault","NillyOptions.Recon.Vault.desc"));
  770. this.addOptionAndPosition(new NullOption());
  771. this.addOptionAndPosition(new KeyMapper("ReconDaily","Recon Daily","Key that connects the user to their daily quest room."));
  772. }
  773.  
  774. public function lootNotif() : void
  775. {
  776. this.addOptionAndPosition(new ChoiceOption("showLootNotifs",makeOnOffLabels(),[true,false],"NillyOptions.lootNotifs","NillyOptions.lootNotifs.desc",this.loot_options));
  777. this.addOptionAndPosition(new ChoiceOption("AutoLootOn",makeOnOffLabels(),[true,false],"NillyOptions.AutoLoot","NillyOptions.AutoLoot.desc",this.loot_options));
  778. this.addOptionAndPosition(new ChoiceOption("LNAbility",this.ZeroSix(),[0,1,2,3,4,5,6],"NillyOptions.LN.Ability","NillyOptions.LN.Ability.desc",this.updateWanted));
  779. this.addOptionAndPosition(new ChoiceOption("AutoLootMinWait",this.autoLootMinWait(),[300,350,400,450,500,550,600,700,800,900,1000],"NillyOptions.AutoLoot.MinWait","NillyOptions.AutoLoot.MinWait.desc",null));
  780. this.addOptionAndPosition(new ChoiceOption("LNRing",this.ZeroSix(),[0,1,2,3,4,5,6],"NillyOptions.LN.Ring","NillyOptions.LN.Ring.desc",this.updateWanted));
  781. this.addOptionAndPosition(new NullOption());
  782. this.addOptionAndPosition(new ChoiceOption("LNWeap",this.ZeroThirteen(),[0,1,2,3,4,5,6,7,8,9,10,11,12,13],"NillyOptions.LN.Weap","NillyOptions.LN.Weap.desc",this.updateWanted));
  783. this.loot_options();
  784. }
  785.  
  786. public function hpBars() : void
  787. {
  788. this.addOptionAndPosition(new ChoiceOption("showHpBar",makeOnOffLabels(),[true,false],"NillyOptions.HPBar.Display","NillyOptions.HPBar.Display.desc",this.hpBars_options));
  789. this.addOptionAndPosition(new ChoiceOption("STDamage",makeOnOffLabels(),[true,false],"NillyOptions.ST.Damage","NillyOptions.ST.Damage.desc",null));
  790. this.addOptionAndPosition(new ChoiceOption("HPBarAlly",makeOnOffLabels(),[true,false],"NillyOptions.HPBar.Ally","NillyOptions.HPBar.Ally.desc",null));
  791. this.addOptionAndPosition(new ChoiceOption("STHealth",makeOnOffLabels(),[true,false],"NillyOptions.ST.Health","NillyOptions.ST.Health.desc",null));
  792. this.addOptionAndPosition(new ChoiceOption("HPBarEnemy",makeOnOffLabels(),[true,false],"NillyOptions.HPBar.Enemy","NillyOptions.HPBar.Enemy.desc",null));
  793. this.addOptionAndPosition(new ChoiceOption("STColor",makeOnOffLabels(),[true,false],"NillyOptions.ST.Color","NillyOptions.ST.Color.desc",null));
  794. this.addOptionAndPosition(new ChoiceOption("HPBarMagic",makeOnOffLabels(),[true,false],"NillyOptions.HPBar.Magic","NillyOptions.HPBar.Magic.desc",null));
  795. this.addOptionAndPosition(new NullOption());
  796. this.addOptionAndPosition(new ChoiceOption("HPBarOwn",makeOnOffLabels(),[true,false],"NillyOptions.HPBar.Own","NillyOptions.HPBar.Own.desc",null));
  797. this.addOptionAndPosition(new NullOption());
  798. this.addOptionAndPosition(new ChoiceOption("HPBarSafeZone",makeOnOffLabels(),[true,false],"NillyOptions.HPBar.SafeZone","NillyOptions.HPBar.SafeZone.desc",null));
  799. this.hpBars_options();
  800. }
  801.  
  802. public function aimAssist() : void
  803. {
  804. this.addOptionAndPosition(new ChoiceOption("AAAddOne",makeOnOffLabels(),[true,false],"NillyOptions.AimAssist.PlusOne","NillyOptions.AimAssist.PlusOne.desc",null));
  805. this.addOptionAndPosition(new KeyMapper("AAHotkey","NillyOptions.AimAssist.Hotkey","NillyOptions.AimAssist.Hotkey.desc"));
  806. this.addOptionAndPosition(new ChoiceOption("AABoundingDist",this.BoundingDistValues(),[1,2,3,4,5,6,7,8,9,10,15,20],"NillyOptions.AimAssist.BoundingDist","NillyOptions.AimAssist.BoundingDist.desc",null));
  807. this.addOptionAndPosition(new KeyMapper("AAModeHotkey","NillyOptions.AimAssist.ModeHotkey","NillyOptions.AimAssist.ModeHotkey.desc"));
  808. this.addOptionAndPosition(new ChoiceOption("damageIgnored",makeOnOffLabels(),[true,false],"NillyOptions.AimAssist.DamageIgnored","NillyOptions.AimAssist.DamageIgnored.desc",null));
  809. this.addOptionAndPosition(new NullOption());
  810. this.addOptionAndPosition(new ChoiceOption("AATargetLead",makeOnOffLabels(),[true,false],"NillyOptions.AimAssist.TargetLead","NillyOptions.AimAssist.TargetLead.desc",null));
  811. }
  812.  
  813. public function spriteWorld() : void
  814. {
  815. this.addOptionAndPosition(new ChoiceOption("SWNoSlow",makeOnOffLabels(),[true,false],"NillyOptions.SpriteWorld.NoSlow","NillyOptions.SpriteWorld.NoSlow.desc",null));
  816. this.addOptionAndPosition(new NullOption());
  817. this.addOptionAndPosition(new ChoiceOption("SWNoTileMove",makeOnOffLabels(),[true,false],"NillyOptions.SpriteWorld.NoTileMove","NillyOptions.SpriteWorld.NoTileMove.desc",null));
  818. this.addOptionAndPosition(new NullOption());
  819. this.addOptionAndPosition(new ChoiceOption("SWSpeed",makeOnOffLabels(),[true,false],"NillyOptions.SpriteWorld.Speed","NillyOptions.SpriteWorld.Speed.desc",null));
  820. }
  821.  
  822. public function nillyDebuffs() : void
  823. {
  824. this.addOptionAndPosition(new ChoiceOption("dbArmorBroken",makeOnOffLabels(),[true,false],"NillyOptions.debuffsArmorBroken","NillyOptions.debuffsArmorBroken.desc",null));
  825. this.addOptionAndPosition(new ChoiceOption("dbBlind",makeOnOffLabels(),[true,false],"NillyOptions.debuffsBlind","NillyOptions.debuffsBlind.desc",null));
  826. this.addOptionAndPosition(new ChoiceOption("dbBleeding",makeOnOffLabels(),[true,false],"NillyOptions.debuffsBleeding","NillyOptions.debuffsBleeding.desc",null));
  827. this.addOptionAndPosition(new ChoiceOption("dbConfused",makeOnOffLabels(),[true,false],"NillyOptions.debuffsConfused","NillyOptions.debuffsConfused.desc",null));
  828. this.addOptionAndPosition(new ChoiceOption("dbDazed",makeOnOffLabels(),[true,false],"NillyOptions.debuffsDazed","NillyOptions.debuffsDazed.desc",null));
  829. this.addOptionAndPosition(new ChoiceOption("dbDarkness",makeOnOffLabels(),[true,false],"NillyOptions.debuffsDarkness","NillyOptions.debuffsDarkness.desc",null));
  830. this.addOptionAndPosition(new ChoiceOption("dbParalyzed",makeOnOffLabels(),[true,false],"NillyOptions.debuffsParalyzed","NillyOptions.debuffsParalyzed.desc",null));
  831. this.addOptionAndPosition(new ChoiceOption("dbDrunk",makeOnOffLabels(),[true,false],"NillyOptions.debuffsDrunk","NillyOptions.debuffsDrunk.desc",null));
  832. this.addOptionAndPosition(new ChoiceOption("dbSick",makeOnOffLabels(),[true,false],"NillyOptions.debuffsSick","NillyOptions.debuffsSick.desc",null));
  833. this.addOptionAndPosition(new ChoiceOption("dbHallucinating",makeOnOffLabels(),[true,false],"NillyOptions.debuffsHallucinating","NillyOptions.debuffsHallucinating.desc",null));
  834. this.addOptionAndPosition(new ChoiceOption("dbSlowed",makeOnOffLabels(),[true,false],"NillyOptions.debuffsSlowed","NillyOptions.debuffsSlowed.desc",null));
  835. this.addOptionAndPosition(new ChoiceOption("dbUnstable",makeOnOffLabels(),[true,false],"NillyOptions.debuffsUnstable","NillyOptions.debuffsUnstable.desc",null));
  836. this.addOptionAndPosition(new ChoiceOption("dbStunned",makeOnOffLabels(),[true,false],"NillyOptions.debuffsStunned","NillyOptions.debuffsStunned.desc",null));
  837. this.addOptionAndPosition(new NullOption());
  838. this.addOptionAndPosition(new ChoiceOption("dbWeak",makeOnOffLabels(),[true,false],"NillyOptions.debuffsWeak","NillyOptions.debuffsWeak.desc",null));
  839. this.addOptionAndPosition(new ChoiceOption("dbPetStasis",makeOnOffLabels(),[true,false],"Pet Stasis","Allows pet stasis status effect. Increases risk of getting disconnected when turned off.",null));
  840. this.addOptionAndPosition(new ChoiceOption("dbQuiet",makeOnOffLabels(),[true,false],"NillyOptions.debuffsQuiet","NillyOptions.debuffsQuiet.desc",this.quietCastle_options));
  841. this.addOptionAndPosition(new ChoiceOption("dbQuietCastle",makeOnOffLabels(),[true,false],"NillyOptions.Debuffs.QuietCastle","NillyOptions.Debuffs.QuietCastle.desc",null));
  842. this.quietCastle_options();
  843. }
  844.  
  845. public function nillyOther() : *
  846. {
  847. this.addOptionAndPosition(new ChoiceOption("stageScale",makeOnOffLabels(),[StageScaleMode.NO_SCALE,StageScaleMode.EXACT_FIT],"NillyOptions.fsv3","NillyOptions.fsv3.desc",this.fsv3));
  848. this.addOptionAndPosition(new ChoiceOption("uiscale",makeOnOffLabels(),[true,false],"NillyOptions.scaleui","NillyOptions.scaleui.desc",this.scaleui));
  849. this.fsv3_options();
  850. this.addOptionAndPosition(new ChoiceOption("AutoNexus",this.AutoNexusValues(),[0,5,10,15,20,25,30,35,40,45,50,60],"NillyOptions.AutoNexus","NillyOptions.AutoNexus.desc",null));
  851. this.addOptionAndPosition(new ChoiceOption("showMobInfo",makeOnOffLabels(),[true,false],"NillyOptions.ShowMobInfo","NillyOptions.ShowMobInfo.desc",this.showMobInfo_));
  852. this.addOptionAndPosition(new ChoiceOption("drawProjectiles",makeOnOffLabels(),[true,false],"NillyOptions.drawProjectiles","NillyOptions.drawProjectiles.desc",null));
  853. this.addOptionAndPosition(new ChoiceOption("forceLowQuality",makeOnOffLabels(),[true,false],"NillyOptions.lowQual","NillyOptions.lowQual.desc",this.forceLQ));
  854. this.addOptionAndPosition(new ChoiceOption("FriendList",makeOnOffLabels(),[true,false],"NillyOptions.FriendList","NillyOptions.FriendList.desc",null));
  855. this.addOptionAndPosition(new ChoiceOption("NoClip",makeOnOffLabels(),[true,false],"NillyOptions.NoClip","NillyOptions.NoClip.desc",null));
  856. this.addOptionAndPosition(new KeyMapper("PassesCoverHotkey","NillyOptions.PassesCover","NillyOptions.PassesCover.desc"));
  857. this.addOptionAndPosition(new ChoiceOption("QuestToolTipMod",makeOnOffLabels(),[true,false],"NillyOptions.QuestToolTip","NillyOptions.QuestToolTip.desc",null));
  858. this.addOptionAndPosition(new ChoiceOption("removeParticles",makeOnOffLabels(),[true,false],"NillyOptions.disParticles","NillyOptions.disParticles.desc",null));
  859. this.addOptionAndPosition(new ChoiceOption("TradeDelay",makeOnOffLabels(),[true,false],"NillyOptions.TradeDelay","NillyOptions.TradeDelay.desc",null));
  860. this.addOptionAndPosition(new ChoiceOption("SafeWalk",makeOnOffLabels(),[true,false],"NillyOptions.SafeWalk","NillyOptions.SafeWalk.desc",null));
  861. this.addOptionAndPosition(new ChoiceOption("HidePlayerFilter",makeOnOffLabels(),[true,false],"NillyOptions.HidePlayerFilter","NillyOptions.HidePlayerFilter.desc",null));
  862. this.addOptionAndPosition(new ChoiceOption("InvViewer",makeOnOffLabels(),[true,false],"NillyOptions.InvViewer","NillyOptions.InvViewer.desc",null));
  863. }
  864.  
  865. private function onPlayMusicChange() : void
  866. {
  867. Music.setPlayMusic(Parameters.data_.playMusic);
  868. if(Parameters.data_.playMusic)
  869. {
  870. Music.setMusicVolume(1);
  871. }
  872. else
  873. {
  874. Music.setMusicVolume(0);
  875. }
  876. this.refresh();
  877. }
  878.  
  879. private function onPlaySoundEffectsChange() : void
  880. {
  881. SFX.setPlaySFX(Parameters.data_.playSFX);
  882. if(Parameters.data_.playSFX || Parameters.data_.playPewPew)
  883. {
  884. SFX.setSFXVolume(1);
  885. }
  886. else
  887. {
  888. SFX.setSFXVolume(0);
  889. }
  890. this.refresh();
  891. }
  892.  
  893. private function onMusicVolumeChange(param1:Number) : void
  894. {
  895. Music.setMusicVolume(param1);
  896. }
  897.  
  898. private function onSoundEffectsVolumeChange(param1:Number) : void
  899. {
  900. SFX.setSFXVolume(param1);
  901. }
  902.  
  903. private function onLegalPrivacyClick() : void
  904. {
  905. var _loc1_:URLRequest = new URLRequest();
  906. _loc1_.url = Parameters.PRIVACY_POLICY_URL;
  907. _loc1_.method = URLRequestMethod.GET;
  908. navigateToURL(_loc1_,"_blank");
  909. }
  910.  
  911. private function onLegalTOSClick() : void
  912. {
  913. var _loc1_:URLRequest = new URLRequest();
  914. _loc1_.url = Parameters.TERMS_OF_USE_URL;
  915. _loc1_.method = URLRequestMethod.GET;
  916. navigateToURL(_loc1_,"_blank");
  917. }
  918.  
  919. private function addOptionAndPosition(param1:Option, param2:Number = 0, param3:Number = 0) : void
  920. {
  921. var option:Option = null;
  922. var offsetX:Number = NaN;
  923. var offsetY:Number = NaN;
  924. var positionOption:Function = null;
  925. option = param1;
  926. offsetX = param2;
  927. offsetY = param3;
  928. positionOption = function():void
  929. {
  930. option.x = (options_.length % 2 == 0?20:415) + offsetX;
  931. option.y = int(options_.length / 2) * 44 + 122 + offsetY;
  932. };
  933. option.textChanged.addOnce(positionOption);
  934. this.addOption(option);
  935. }
  936.  
  937. private function addOption(param1:Option) : void
  938. {
  939. addChild(param1);
  940. param1.addEventListener(Event.CHANGE,this.onChange);
  941. this.options_.push(param1);
  942. }
  943.  
  944. private function refresh() : void
  945. {
  946. var _loc1_:BaseOption = null;
  947. var _loc2_:int = 0;
  948. while(_loc2_ < this.options_.length)
  949. {
  950. _loc1_ = this.options_[_loc2_] as BaseOption;
  951. if(_loc1_ != null)
  952. {
  953. _loc1_.refresh();
  954. }
  955. _loc2_++;
  956. }
  957. }
  958.  
  959. private function onContinueClick(param1:MouseEvent) : void
  960. {
  961. this.close();
  962. }
  963.  
  964. private function onResetToDefaultsClick(param1:MouseEvent) : void
  965. {
  966. var _loc2_:BaseOption = null;
  967. var _loc3_:int = 0;
  968. while(_loc3_ < this.options_.length)
  969. {
  970. _loc2_ = this.options_[_loc3_] as BaseOption;
  971. if(_loc2_ != null)
  972. {
  973. delete Parameters.data_[_loc2_.paramName_];
  974. }
  975. _loc3_++;
  976. }
  977. Parameters.setDefaults();
  978. Parameters.save();
  979. this.refresh();
  980. }
  981.  
  982. private function onHomeClick(param1:MouseEvent) : void
  983. {
  984. this.close();
  985. this.gs_.closed.dispatch();
  986. }
  987.  
  988. private function onTabClick(param1:MouseEvent) : void
  989. {
  990. var _loc2_:OptionsTabTitle = param1.currentTarget as OptionsTabTitle;
  991. this.setSelected(_loc2_);
  992. }
  993.  
  994. private function onAddedToStage(param1:Event) : void
  995. {
  996. this.continueButton_.x = 800 / 2;
  997. this.continueButton_.y = Y_POSITION;
  998. this.resetToDefaultsButton_.x = 20;
  999. this.resetToDefaultsButton_.y = Y_POSITION;
  1000. this.homeButton_.x = 800 - 20;
  1001. this.homeButton_.y = Y_POSITION;
  1002. if(Capabilities.playerType == "Desktop")
  1003. {
  1004. Parameters.data_.fullscreenMode = stage.displayState == "fullScreenInteractive";
  1005. Parameters.save();
  1006. }
  1007. this.setSelected(this.tabs_[0]);
  1008. stage.addEventListener(KeyboardEvent.KEY_DOWN,this.onKeyDown,false,1);
  1009. stage.addEventListener(KeyboardEvent.KEY_UP,this.onKeyUp,false,1);
  1010. }
  1011.  
  1012. private function onRemovedFromStage(param1:Event) : void
  1013. {
  1014. stage.removeEventListener(KeyboardEvent.KEY_DOWN,this.onKeyDown,false);
  1015. stage.removeEventListener(KeyboardEvent.KEY_UP,this.onKeyUp,false);
  1016. }
  1017.  
  1018. private function onKeyDown(param1:KeyboardEvent) : void
  1019. {
  1020. if(Capabilities.playerType == "Desktop" && param1.keyCode == KeyCodes.ESCAPE)
  1021. {
  1022. Parameters.data_.fullscreenMode = false;
  1023. Parameters.save();
  1024. this.refresh();
  1025. }
  1026. if(param1.keyCode == Parameters.data_.options)
  1027. {
  1028. this.close();
  1029. }
  1030. param1.stopImmediatePropagation();
  1031. }
  1032.  
  1033. private function onKeyUp(param1:KeyboardEvent) : void
  1034. {
  1035. param1.stopImmediatePropagation();
  1036. }
  1037.  
  1038. private function onChange(param1:Event) : void
  1039. {
  1040. this.refresh();
  1041. }
  1042. }
  1043. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement