Advertisement
itsjustme47

Untitled

Mar 29th, 2023 (edited)
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package
  2. {
  3.    import Shared.AS3.BCBasicModal;
  4.    import Shared.AS3.BSButtonHintBar;
  5.    import Shared.AS3.BSButtonHintData;
  6.    import Shared.AS3.BSScrollingList;
  7.    import Shared.AS3.Data.BSUIDataManager;
  8.    import Shared.AS3.Data.FromClientDataEvent;
  9.    import Shared.AS3.Events.CustomEvent;
  10.    import Shared.AS3.Events.PlatformChangeEvent;
  11.    import Shared.AS3.IMenu;
  12.    import Shared.AS3.QuantityMenu;
  13.    import Shared.AS3.SWFLoaderClip;
  14.    import Shared.AS3.SecureTradeShared;
  15.    import Shared.AS3.StyleSheet;
  16.    import Shared.AS3.Styles.SecureTrade_ContainerListStyle;
  17.    import Shared.AS3.Styles.SecureTrade_ItemCardStyle;
  18.    import Shared.AS3.Styles.SecureTrade_PlayerListStyle;
  19.    import Shared.GlobalFunc;
  20.    import Shared.HUDModes;
  21.    import flash.display.InteractiveObject;
  22.    import flash.display.MovieClip;
  23.    import flash.display.Sprite;
  24.    import flash.events.Event;
  25.    import flash.events.FocusEvent;
  26.    import flash.events.KeyboardEvent;
  27.    import flash.text.TextField;
  28.    import flash.text.TextFieldType;
  29.    import flash.ui.Keyboard;
  30.    import flash.utils.getTimer;
  31.    import flash.utils.setTimeout;
  32.    import scaleform.gfx.Extensions;
  33.    import scaleform.gfx.TextFieldEx;
  34.    
  35.    public class SecureTrade extends IMenu
  36.    {
  37.      
  38.       public static var time:Number = 0;
  39.      
  40.       public static var delta:Number = 0;
  41.      
  42.       private static const MODE_CONTAINER:uint = SecureTradeShared.MODE_CONTAINER;
  43.      
  44.       private static const MODE_PLAYERVENDING:uint = SecureTradeShared.MODE_PLAYERVENDING;
  45.      
  46.       private static const MODE_NPCVENDING:uint = SecureTradeShared.MODE_NPCVENDING;
  47.      
  48.       private static const MODE_VENDING_MACHINE:uint = SecureTradeShared.MODE_VENDING_MACHINE;
  49.      
  50.       private static const MODE_DISPLAY_CASE:uint = SecureTradeShared.MODE_DISPLAY_CASE;
  51.      
  52.       private static const MODE_FERMENTER:uint = SecureTradeShared.MODE_FERMENTER;
  53.      
  54.       private static const MODE_REFRIGERATOR:uint = SecureTradeShared.MODE_REFRIGERATOR;
  55.      
  56.       private static const MODE_RECHARGER:uint = SecureTradeShared.MODE_RECHARGER;
  57.      
  58.       private static const MODE_CAMP_DISPENSER:uint = SecureTradeShared.MODE_CAMP_DISPENSER;
  59.      
  60.       private static const MODE_ALLY:uint = SecureTradeShared.MODE_ALLY;
  61.      
  62.       private static const MODE_INVALID:uint = SecureTradeShared.MODE_INVALID;
  63.      
  64.       public static const EVENT_MENU_EXIT:String = "SecureTrade::ExitMenu";
  65.      
  66.       public static const EVENT_REQUEST_SORT:String = "SecureTrade::SortList";
  67.      
  68.       public static const EVENT_REQUEST_PURCHASE:String = "SecureTrade::RequestPurchase";
  69.      
  70.       public static const EVENT_DECLINE_ITEM:String = "SecureTrade::DeclineItem";
  71.      
  72.       public static const EVENT_CREATE_OFFER:String = "SecureTrade::CreateOffer";
  73.      
  74.       public static const EVENT_REMOVE_ITEM:String = "SecureTrade::RemoveItem";
  75.      
  76.       public static const EVENT_ITEM_SELECTED:String = "SecureTrade::OnItemSelected";
  77.      
  78.       public static const EVENT_UPGRADE_STASH:String = "SecureTrade::UpgradeStash";
  79.      
  80.       public static const EVENT_REQUEST_ITEM:String = "SecureTrade::RequestItem";
  81.      
  82.       public static const EVENT_CANCEL_REQUEST_ITEM:String = "SecureTrade::CancelRequestItem";
  83.      
  84.       public static const EVENT_NPC_BUY_ITEM:String = "NPCVend::BuyItem";
  85.      
  86.       public static const EVENT_NPC_SELL_ITEM:String = "NPCVend::SellItem";
  87.      
  88.       public static const EVENT_TRANSFER_ITEM:String = "Container::TransferItem";
  89.      
  90.       public static const EVENT_TAKE_ALL:String = "Container::TakeAll";
  91.      
  92.       public static const EVENT_INSPECT_ITEM:String = "Container::InspectItem";
  93.      
  94.       public static const EVENT_STORE_ALL_JUNK:String = "Workbench::StoreAllJunk";
  95.      
  96.       public static const EVENT_TRANSFER_UNUSED_AMMO:String = "Container::TransferUnusedAmmo";
  97.      
  98.       public static const EVENT_CAMP_SELL_ITEM:String = "CampVend::SellItem";
  99.      
  100.       public static const EVENT_CAMP_DISPLAY_ITEM:String = "CampVend::DisplayItem";
  101.      
  102.       public static const EVENT_CAMP_BUY_ITEM:String = "CampVend::BuyItem";
  103.      
  104.       public static const EVENT_CAMP_REMOVE_ITEM:String = "CampVend::RemoveItem";
  105.      
  106.       public static const EVENT_CAMP_DISPLAY_DECORATE_ITEM_IN_SLOT:String = "CampDecorate::DisplayDecorateItemInSlot";
  107.      
  108.       public static const EVENT_CAMP_REMOVE_DECORATE_ITEM_IN_SLOT:String = "CampDecorate::RemoveDecorateItemInSlot";
  109.      
  110.       public static const EVENT_TRANSFER_TOO_HEAVY_ERROR:String = "SecureTrade::TransferTooHeavyError";
  111.      
  112.       public static const EVENT_CAMP_STOP_ITEM_PROCESSING:String = "CampVend::StopItemProcessing";
  113.      
  114.       public static const EVENT_SELL_FAVORITE_DECLINED:String = "NPCVend::SellFavoriteItemDeclined";
  115.      
  116.       public static const EVENT_TRADE_FAVORITE_DECLINED:String = "PlayerVend::TradeFavoriteItemDeclined";
  117.      
  118.       public static const SOF_ALPHABETICALLY:int = 0;
  119.      
  120.       public static const SOF_DAMAGE:int = 1;
  121.      
  122.       public static const SOF_ROF:int = 2;
  123.      
  124.       public static const SOF_RANGE:int = 3;
  125.      
  126.       public static const SOF_ACCURACY:int = 4;
  127.      
  128.       public static const SOF_VALUE:int = 5;
  129.      
  130.       public static const SOF_WEIGHT:int = 6;
  131.      
  132.       public static const SOF_STACKWEIGHT:int = 7;
  133.      
  134.       public static const SOF_SPOILAGE:int = 8;
  135.      
  136.       public static const MAX_SELL_PRICE:int = 40000;
  137.      
  138.       public static const FILTER_OPTION_NONE:int = 0;
  139.      
  140.       public static const FILTER_OPTION_THIS_MACHINE:int = 1;
  141.      
  142.       public static const FILTER_OPTION_THIS_MACHINE_AND_STASH:int = 2;
  143.      
  144.       public static const FILTER_OPTION_COUNT:int = 3;
  145.      
  146.       private static const FILTER_FAVORITES = 1;
  147.      
  148.       private static const FILTER_NEW_ID = 2;
  149.      
  150.       private static const FILTER_WEAPONS = 4;
  151.      
  152.       private static const FILTER_ARMOR = 8;
  153.      
  154.       private static const FILTER_APPAREL = 16;
  155.      
  156.       private static const FILTER_FOODWATER = 32;
  157.      
  158.       private static const FILTER_AID = 64;
  159.      
  160.       private static const FILTER_BOOKS = 1024;
  161.      
  162.       private static const FILTER_MISC = 4096;
  163.      
  164.       private static const FILTER_JUNK = 8192;
  165.      
  166.       private static const FILTER_MODS = 16384;
  167.      
  168.       private static const FILTER_AMMO = 32768;
  169.      
  170.       private static const FILTER_HOLOTAPES = 65536;
  171.      
  172.       private static const FILTER_CANAUTOSCRAP = 262144;
  173.      
  174.       private static const FILTER_ALL = 4294967295;
  175.      
  176.       private static const STARTING_FOCUS_PREF_NONE:uint = 0;
  177.      
  178.       private static const STARTING_FOCUS_PREF_PLAYER:uint = 1;
  179.      
  180.       private static const STARTING_FOCUS_PREF_CONTAINER:uint = 2;
  181.      
  182.       public static const REFRESH_SELECTION_NONE:int = 0;
  183.      
  184.       public static const REFRESH_SELECTION_SERVER_ID:int = 1;
  185.      
  186.       public static const REFRESH_SELECTION_NAME_COUNT:int = 2;
  187.      
  188.       public static const HEIGHT_BUFFER:uint = 250;
  189.        
  190.      
  191.       public var ButtonHintBar_mc:BSButtonHintBar;
  192.      
  193.       public var PlayerInventory_mc:SecureTradePlayerInventory;
  194.      
  195.       public var OfferInventory_mc:SecureTradeOfferInventory;
  196.      
  197.       public var SlotInfo_mc:SecureTradeSlotInfo;
  198.      
  199.       public var ItemCardContainer_mc:MovieClip;
  200.      
  201.       public var ModalSetQuantity_mc:QuantityMenu;
  202.      
  203.       public var ModalSetPrice_mc:QuantityMenu;
  204.      
  205.       public var ModalDeclineItem_mc:SecureTradeDeclineItemModal;
  206.      
  207.       public var ItemPreview_mc:MovieClip;
  208.      
  209.       public var ModalConfirmPurchase_mc:BCBasicModal;
  210.      
  211.       public var ModalConfirmTakeAll_mc:BCBasicModal;
  212.      
  213.       public var ModalConfirmScrap_mc:SecureTradeScrapConfirmModal;
  214.      
  215.       public var CategoryBar_mc:LabelSelector;
  216.      
  217.       public var Header_mc:MovieClip;
  218.      
  219.       public var ModalUpgradeStash_mc:BCBasicModal;
  220.      
  221.       private var _OnQuantityConfirmedFn:Function = null;
  222.      
  223.       private var _OnSetPriceConfirmedFn:Function = null;
  224.      
  225.       private var ButtonPlayerInventory:BSButtonHintData;
  226.      
  227.       private var ButtonContainerInventory:BSButtonHintData;
  228.      
  229.       private var ButtonDecline:BSButtonHintData;
  230.      
  231.       private var ButtonToggleAssign:BSButtonHintData;
  232.      
  233.       private var ButtonOffersOnly:BSButtonHintData;
  234.      
  235.       private var InspectButton:BSButtonHintData;
  236.      
  237.       private var ScrapButton:BSButtonHintData;
  238.      
  239.       private var TakeAllButton:BSButtonHintData;
  240.      
  241.       private var StoreUnusedItemsButton:BSButtonHintData;
  242.      
  243.       private var SortButton:BSButtonHintData;
  244.      
  245.       private var ExitButton:BSButtonHintData;
  246.      
  247.       private var AcceptButton:BSButtonHintData;
  248.      
  249.       private var DeclineItemAcceptButton:BSButtonHintData;
  250.      
  251.       private var DeclineItemCancelButton:BSButtonHintData;
  252.      
  253.       private var UpgradeStashButton:BSButtonHintData;
  254.      
  255.       private var ToggleShowMarkedItemsOnlyButton:BSButtonHintData;
  256.      
  257.       private var ButtonHintDataV:Vector.<BSButtonHintData>;
  258.      
  259.       private const NO_FILTER_ID:int = -1;
  260.      
  261.       private const SCRAP_ITEM_COUNT_THRESHOLD:uint = 5;
  262.      
  263.       private const TRANSFER_ITEM_COUNT_THRESHOLD:uint = 4;
  264.      
  265.       private const WEAPONS_TAB_INDEX = 2;
  266.      
  267.       private const PLAYERVENDING_WEAPONS_TAB_INDEX = 1;
  268.      
  269.       private const JUNK_TAB_INDEX = 8;
  270.      
  271.       private const AMMO_TAB_INDEX = 10;
  272.      
  273.       private const DEFAULT_CATEGORY_BAR_SCALE = 1.35;
  274.      
  275.       private const CORPSE_LOOT_CATEGORY_BAR_SCALE = 1.15;
  276.      
  277.       private var m_IsOpen:Boolean = false;
  278.      
  279.       private var m_PreviousFocus:InteractiveObject;
  280.      
  281.       private var m_ItemFilters:Array;
  282.      
  283.       private var m_SelectedList:SecureTradeInventory;
  284.      
  285.       private var m_TabMax = 0;
  286.      
  287.       private var m_TabMin = 0;
  288.      
  289.       private var m_SelectedTab:int = 0;
  290.      
  291.       private var m_SelectedTabForceChange:Boolean = false;
  292.      
  293.       private var m_MenuMode:uint = 4294967295;
  294.      
  295.       private var m_SubMenuMode:uint = 0;
  296.      
  297.       private var m_CurrencyType:uint = 4294967295;
  298.      
  299.       private var m_DefaultHeaderText:String = "$CONTAINER";
  300.      
  301.       private var m_AcceptBtnText_Player:String = "$STORE";
  302.      
  303.       private var m_AcceptBtnText_Player_Assign:String = "$Assign";
  304.      
  305.       private var m_AcceptBtnText_Container:String = "$TAKE";
  306.      
  307.       private var m_TakeAllBtnText:String = "$TAKE ALL";
  308.      
  309.       private var m_scrapAllowedFlag:uint = 0;
  310.      
  311.       private var m_transferUnusedAmmoAllowed:Boolean = false;
  312.      
  313.       private var m_playerHasMiscItems:Boolean = false;
  314.      
  315.       private var m_playerHasAutoScrappableJunkItems:Boolean = false;
  316.      
  317.       private var m_isWorkbench:Boolean = false;
  318.      
  319.       private var m_isWorkshop:Boolean = false;
  320.      
  321.       private var m_isCamp:Boolean = false;
  322.      
  323.       private var m_isStash:Boolean = false;
  324.      
  325.       private var m_storageMode:uint = 0;
  326.      
  327.       private var m_onlyGivingAllowed:Boolean = false;
  328.      
  329.       private var m_onlyTakingAllowed:Boolean = false;
  330.      
  331.       private var m_SortFieldText:Array;
  332.      
  333.       private var m_PlayerInventorySortField:int = 0;
  334.      
  335.       private var m_OfferInventorySortField:int = 0;
  336.      
  337.       private var m_VendorSellOnly:Boolean = false;
  338.      
  339.       private var m_ModalActive:Boolean = false;
  340.      
  341.       private var m_ContainerEmpty:Boolean = false;
  342.      
  343.       private var m_PlayerInventoryEmpty:Boolean = false;
  344.      
  345.       private var m_TabEventName:String = "";
  346.      
  347.       private var m_PlayerConnected:Boolean = false;
  348.      
  349.       private var m_ProcessingItemEvent:Boolean = false;
  350.      
  351.       private var m_ToolTipDefaultHeight:Number;
  352.      
  353.       private var m_MyOffersData:Array;
  354.      
  355.       private var m_TheirOffersData:Array;
  356.      
  357.       private var m_PlayerInvData:Array;
  358.      
  359.       private var m_OtherInvData:Array;
  360.      
  361.       private var m_ContainerIDs:Array;
  362.      
  363.       private var m_NewItems:Array;
  364.      
  365.       private var m_ShowOffersOnly:Boolean = false;
  366.      
  367.       private var m_OwnsVendor:Boolean = false;
  368.      
  369.       private var m_ShowPlayerValueEntry:Boolean = true;
  370.      
  371.       private var m_IsFollowerOfZeus:Boolean = false;
  372.      
  373.       private var m_IgnorePlayerVendingItemPress:Boolean = true;
  374.      
  375.       private var m_DownEventRecieved:Boolean = false;
  376.      
  377.       private var m_InspectMode:Boolean = false;
  378.      
  379.       private var m_CorpseLootMode:Boolean = false;
  380.      
  381.       private var m_OnNewTab:Boolean = false;
  382.      
  383.       private var m_HasNewTab:Boolean = false;
  384.      
  385.       private var m_IsFilteredCategory:Boolean = false;
  386.      
  387.       private var m_FilterItemsOption:int = 0;
  388.      
  389.       private var m_StartingFocusPref:int = 2;
  390.      
  391.       private var m_CurrencyIconConfirmPurchase:MovieClip;
  392.      
  393.       private var m_CurrencyIconSetPrice:MovieClip;
  394.      
  395.       private var m_SelectedItemOffered:Boolean = false;
  396.      
  397.       private var m_SelectedStackName:String = "";
  398.      
  399.       private var m_SelectedItemValue:Number = 0;
  400.      
  401.       private var m_SelectedItemCount:Number = 0;
  402.      
  403.       private var m_SelectedItemServerHandleId:Number = 0;
  404.      
  405.       private var m_SelectedItemIsPartialOffer:Boolean = false;
  406.      
  407.       private var m_SelectedItemValueSet:Boolean = false;
  408.      
  409.       private var m_RefreshSelectionOption:int = 0;
  410.      
  411.       private var containerIDInput:TextField;
  412.      
  413.       private var selectedItem:Object;
  414.      
  415.       public function SecureTrade()
  416.       {
  417.          this.m_MenuMode = 4294967295;
  418.          this.m_CurrencyType = 4294967295;
  419.          this.m_MenuMode = 4294967295;
  420.          this.m_CurrencyType = 4294967295;
  421.          this.m_MenuMode = 4294967295;
  422.          this.m_CurrencyType = 4294967295;
  423.          this.m_MenuMode = 4294967295;
  424.          this.m_CurrencyType = 4294967295;
  425.          this.m_MenuMode = 4294967295;
  426.          this.m_CurrencyType = 4294967295;
  427.          this.m_MenuMode = 4294967295;
  428.          this.m_CurrencyType = 4294967295;
  429.          this.m_MenuMode = 4294967295;
  430.          this.m_CurrencyType = 4294967295;
  431.          this.ButtonPlayerInventory = new BSButtonHintData("$TransferPlayerLabel","LT","PSN_L2_Alt","Xenon_L2_Alt",1,this.onSwapInventoryPlayer);
  432.          this.ButtonContainerInventory = new BSButtonHintData("$TransferContainerLabel","RT","PSN_R2_Alt","Xenon_R2_Alt",1,this.onSwapInventoryContainer);
  433.          this.ButtonDecline = new BSButtonHintData("$DECLINEITEM","R","PSN_X","Xenon_X",1,this.onDeclineItem);
  434.          this.ButtonToggleAssign = new BSButtonHintData("$REMOVE","R","PSN_X","Xenon_X",1,this.onToggleAssign);
  435.          this.ButtonOffersOnly = new BSButtonHintData("$OFFERSONLY","T","PSN_Y","Xenon_Y",1,this.onOffersOnly);
  436.          this.InspectButton = new BSButtonHintData("$INSPECT","X","PSN_R3","Xenon_R3",1,this.onInspectItem);
  437.          this.ScrapButton = new BSButtonHintData("$SCRAP","Space","PSN_A","Xenon_A",1,this.onScrapButton);
  438.          this.TakeAllButton = new BSButtonHintData("$TAKE ALL","R","PSN_X","Xenon_X",1,this.onTakeAll);
  439.          this.StoreUnusedItemsButton = new BSButtonHintData("$StoreAllJunk","T","PSN_Y","Xenon_Y",1,this.onStoreUnusedItems);
  440.          this.SortButton = new BSButtonHintData("$SORT","Q","PSN_L3","Xenon_L3",1,this.onRequestSort);
  441.          this.ExitButton = new BSButtonHintData("$EXIT","TAB","PSN_B","Xenon_B",1,this.onBackButton);
  442.          this.AcceptButton = new BSButtonHintData("$STORE","Space","PSN_A","Xenon_A",1,this.onAccept);
  443.          this.DeclineItemAcceptButton = new BSButtonHintData("$ACCEPT","Space","PSN_A","Xenon_A",1,this.onDeclineItemAccept);
  444.          this.DeclineItemCancelButton = new BSButtonHintData("$CANCEL","TAB","PSN_B","Xenon_B",1,this.onBackButton);
  445.          this.UpgradeStashButton = new BSButtonHintData("$UPGRADE","V","PSN_Select","Xenon_Select",1,this.onUpgradeButton);
  446.          this.ToggleShowMarkedItemsOnlyButton = new BSButtonHintData("","T","PSN_Y","Xenon_Y",1,this.onToggleShowMarkedItemsOnlyButton);
  447.          this.ButtonHintDataV = new <BSButtonHintData>[this.AcceptButton,this.DeclineItemAcceptButton,this.DeclineItemCancelButton,this.ButtonDecline,this.ButtonToggleAssign,this.ScrapButton,this.InspectButton,this.UpgradeStashButton,this.ButtonPlayerInventory,this.ButtonContainerInventory,this.StoreUnusedItemsButton,this.TakeAllButton,this.SortButton,this.ButtonOffersOnly,this.ToggleShowMarkedItemsOnlyButton,this.ExitButton];
  448.          this.m_SortFieldText = ["$SORT","$SORT_DMG","$SORT_ROF","$SORT_RNG","$SORT_ACC","$SORT_VAL","$SORT_WT","$SORT_SW","$SORT_SPL"];
  449.          this.m_MyOffersData = new Array();
  450.          this.m_TheirOffersData = new Array();
  451.          this.m_PlayerInvData = new Array();
  452.          this.m_OtherInvData = new Array();
  453.          this.m_ContainerIDs = new Array();
  454.          this.m_NewItems = new Array();
  455.          super();
  456.          addFrameScript(0,this.frame1,31,this.frame32,48,this.frame49,58,this.frame59,68,this.frame69);
  457.          this.ButtonHintBar_mc.useVaultTecColor = true;
  458.          this.m_ItemFilters = new Array();
  459.          StyleSheet.apply(this.PlayerInventory_mc.ItemList_mc,false,SecureTrade_PlayerListStyle);
  460.          StyleSheet.apply(this.OfferInventory_mc.ItemList_mc,false,SecureTrade_ContainerListStyle);
  461.          StyleSheet.apply(this.ItemCardContainer_mc.ItemCard_mc,false,SecureTrade_ItemCardStyle);
  462.          this.PlayerInventory_mc.ItemList_mc.List_mc.textOption_Inspectable = BSScrollingList.TEXT_OPTION_SHRINK_TO_FIT;
  463.          this.OfferInventory_mc.ItemList_mc.List_mc.textOption_Inspectable = BSScrollingList.TEXT_OPTION_SHRINK_TO_FIT;
  464.          this.ButtonHintBar_mc.SetButtonHintData(this.ButtonHintDataV);
  465.          Extensions.enabled = true;
  466.          addEventListener(FocusEvent.FOCUS_OUT,this.onFocusChange);
  467.          addEventListener(KeyboardEvent.KEY_UP,this.onKeyUp);
  468.          addEventListener(BSScrollingList.ITEM_PRESS,this.onItemPress);
  469.          this.PlayerInventory_mc.ItemList_mc.List_mc.addEventListener(BSScrollingList.SELECTION_CHANGE,this.onSelectedDataChanged);
  470.          this.OfferInventory_mc.ItemList_mc.List_mc.addEventListener(BSScrollingList.SELECTION_CHANGE,this.onSelectedDataChanged);
  471.          addEventListener(BSScrollingList.PLAY_FOCUS_SOUND,this.onUserMovesListSelection);
  472.          addEventListener(SecureTradeInventory.MOUSE_OVER,this.onListMouseOver);
  473.          addEventListener(QuantityMenu.CONFIRM,this.onQuantityConfirm);
  474.          addEventListener(QuantityMenu.CANCEL,this.onQuantityCancel);
  475.          addEventListener(SecureTradeDeclineItemModal.CONFIRM,this.onDeclineItemConfirm);
  476.          addEventListener(BCBasicModal.EVENT_CONFIRM,this.onConfirmModalConfirm);
  477.          addEventListener(BCBasicModal.EVENT_CANCEL,this.onConfirmModalCancel);
  478.          addEventListener(LabelSelector.LABEL_MOUSE_SELECTION_EVENT,this.OnLabelMouseSelection);
  479.          addEventListener(SecureTradeScrapConfirmModal.EVENT_CLOSED,this.OnSecureTradeScrapConfirmModalClosed);
  480.          this.m_ToolTipDefaultHeight = this.ModalConfirmPurchase_mc.Tooltip_mc.textField.height;
  481.          this.ModalConfirmPurchase_mc.choiceButtonMode = BCBasicModal.BUTTON_MODE_LIST;
  482.          this.ModalConfirmTakeAll_mc.choiceButtonMode = BCBasicModal.BUTTON_MODE_LIST;
  483.          var _loc1_:SWFLoaderClip = this.ModalConfirmPurchase_mc.Value_mc.Icon_mc;
  484.          _loc1_.clipWidth = _loc1_.width * (1 / _loc1_.scaleX);
  485.          _loc1_.clipHeight = _loc1_.height * (1 / _loc1_.scaleY);
  486.          _loc1_ = this.ModalSetPrice_mc.Value_mc.Icon_mc;
  487.          _loc1_.clipWidth = _loc1_.width * (1 / _loc1_.scaleX);
  488.          _loc1_.clipHeight = _loc1_.height * (1 / _loc1_.scaleY);
  489.          this.ModalSetQuantity_mc.alpha = 0;
  490.          setup();
  491.       }
  492.      
  493.       public function set currencyType(param1:uint) : void
  494.       {
  495.          this.m_CurrencyType = param1;
  496.          PlayerListEntry.currencyType = this.m_CurrencyType;
  497.          OfferListEntry.currencyType = this.m_CurrencyType;
  498.          this.PlayerInventory_mc.SetIsDirty();
  499.          this.PlayerInventory_mc.ItemList_mc.SetIsDirty();
  500.          this.OfferInventory_mc.SetIsDirty();
  501.          this.OfferInventory_mc.ItemList_mc.SetIsDirty();
  502.          if(this.m_CurrencyIconConfirmPurchase != null)
  503.          {
  504.             this.ModalConfirmPurchase_mc.Value_mc.Icon_mc.removeChild(this.m_CurrencyIconConfirmPurchase);
  505.             this.m_CurrencyIconConfirmPurchase = null;
  506.          }
  507.          if(this.m_CurrencyIconSetPrice != null)
  508.          {
  509.             this.ModalSetPrice_mc.Value_mc.Icon_mc.removeChild(this.m_CurrencyIconSetPrice);
  510.             this.m_CurrencyIconSetPrice = null;
  511.          }
  512.          this.m_CurrencyIconConfirmPurchase = SecureTradeShared.setCurrencyIcon(this.ModalConfirmPurchase_mc.Value_mc.Icon_mc,this.m_CurrencyType);
  513.          this.m_CurrencyIconSetPrice = SecureTradeShared.setCurrencyIcon(this.ModalSetPrice_mc.Value_mc.Icon_mc,this.m_CurrencyType);
  514.          this.ModalConfirmPurchase_mc.Value_mc.Icon_mc.gotoAndStop(this.m_CurrencyType == SecureTradeShared.CURRENCY_LEGENDARY_TOKENS ? "LTokens" : "Caps");
  515.          this.ModalSetPrice_mc.Value_mc.Icon_mc.gotoAndStop(this.m_CurrencyType == SecureTradeShared.CURRENCY_LEGENDARY_TOKENS ? "unselectedLToken" : "unselected");
  516.       }
  517.      
  518.       public function setup() : void
  519.       {
  520.          super.setup();
  521.          var uiContainer:Sprite = new Sprite();
  522.          addChild(uiContainer);
  523.          containerIDInput = new TextField();
  524.          containerIDInput.x = 100;
  525.          containerIDInput.y = 100;
  526.          containerIDInput.width = 150;
  527.          containerIDInput.height = 25;
  528.          containerIDInput.type = TextFieldType.INPUT;
  529.          uiContainer.addChild(containerIDInput);
  530.          containerIDInput.addEventListener(KeyboardEvent.KEY_DOWN,onContainerIDInputKeyDown);
  531.          transferButton = new Sprite();
  532.          transferButton.x = 260;
  533.          transferButton.y = 100;
  534.          transferButton.graphics.beginFill(3368703);
  535.          transferButton.graphics.drawRect(0,0,100,30);
  536.          transferButton.graphics.endFill();
  537.          uiContainer.addChild(transferButton);
  538.          var buttonText:TextField = new TextField();
  539.          buttonText.text = "Transfer Item";
  540.          buttonText.x = 15;
  541.          buttonText.y = 5;
  542.          transferButton.addChild(buttonText);
  543.          transferButton.addEventListener(MouseEvent.CLICK,onTransferButtonClick);
  544.       }
  545.      
  546.       private function onContainerIDInputKeyDown(event:KeyboardEvent) : void
  547.       {
  548.          if(event.keyCode == Keyboard.ENTER)
  549.          {
  550.             transferItem();
  551.          }
  552.       }
  553.      
  554.       private function transferItem() : void
  555.       {
  556.          var selectedItem:Object = _loc1_;
  557.          BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_TAKE_ALL,{"containerID":"null"}));
  558.       }
  559.      
  560.       public function get isLimitedStorage() : Boolean
  561.       {
  562.          return this.isScrapStash || this.isAmmoStash;
  563.       }
  564.      
  565.       public function get isScrapStash() : Boolean
  566.       {
  567.          return this.m_storageMode == SecureTradeShared.LIMITED_TYPE_STORAGE_SCRAP;
  568.       }
  569.      
  570.       public function get isAmmoStash() : Boolean
  571.       {
  572.          return this.m_storageMode == SecureTradeShared.LIMITED_TYPE_STORAGE_AMMO;
  573.       }
  574.      
  575.       public function get currencyType() : uint
  576.       {
  577.          return this.m_CurrencyType;
  578.       }
  579.      
  580.       private function isCampVendingMenuType() : Boolean
  581.       {
  582.          return SecureTradeShared.IsCampVendingMenuType(this.m_MenuMode);
  583.       }
  584.      
  585.       private function updateOfferWeightDisplay() : void
  586.       {
  587.          this.OfferInventory_mc.showCarryWeight = !this.isLimitedStorage && (this.m_MenuMode == MODE_CONTAINER || this.isCampVendingMenuType());
  588.       }
  589.      
  590.       public function set menuMode(param1:uint) : void
  591.       {
  592.          this.m_MenuMode = param1;
  593.          PlayerListEntry.showCurrency = this.m_MenuMode != MODE_CONTAINER;
  594.          PlayerListEntry.menuMode = param1;
  595.          OfferListEntry.menuMode = param1;
  596.          this.OfferInventory_mc.menuMode = this.m_MenuMode;
  597.          this.updateOfferInventoryTooltipVis();
  598.          this.PlayerInventory_mc.showTooltip = this.m_MenuMode == MODE_PLAYERVENDING;
  599.          this.updateCategoryBar();
  600.          this.CategoryBar_mc.SelectedID = this.m_HasNewTab ? FILTER_NEW_ID : uint(this.NO_FILTER_ID);
  601.          this.m_SelectedTabForceChange = true;
  602.          this.selectedTab = 0;
  603.          switch(this.m_MenuMode)
  604.          {
  605.             case MODE_CONTAINER:
  606.                GlobalFunc.SetText(this.Header_mc.HeaderText_tf,"$CONTAINER");
  607.                this.ItemCardContainer_mc.gotoAndStop("BackerHeight1");
  608.                break;
  609.             case MODE_NPCVENDING:
  610.             case MODE_VENDING_MACHINE:
  611.                GlobalFunc.SetText(this.Header_mc.HeaderText_tf,"$VENDOR");
  612.                this.ItemCardContainer_mc.gotoAndStop("BackerHeight1");
  613.                break;
  614.             case MODE_PLAYERVENDING:
  615.                GlobalFunc.SetText(this.Header_mc.HeaderText_tf,"$TRADING");
  616.                this.ItemCardContainer_mc.gotoAndStop("BackerHeight1");
  617.                break;
  618.             case MODE_DISPLAY_CASE:
  619.                GlobalFunc.SetText(this.Header_mc.HeaderText_tf,"$DISPLAY");
  620.                this.ItemCardContainer_mc.gotoAndStop("BackerHeight1");
  621.                break;
  622.             case MODE_FERMENTER:
  623.                GlobalFunc.SetText(this.Header_mc.HeaderText_tf,"$FERMENTER");
  624.                this.ItemCardContainer_mc.gotoAndStop("BackerHeight1");
  625.                break;
  626.             case MODE_REFRIGERATOR:
  627.                GlobalFunc.SetText(this.Header_mc.HeaderText_tf,"$REFRIGERATOR");
  628.                this.ItemCardContainer_mc.gotoAndStop("BackerHeight1");
  629.                break;
  630.             case MODE_RECHARGER:
  631.                GlobalFunc.SetText(this.Header_mc.HeaderText_tf,"$RECHARGER");
  632.                this.ItemCardContainer_mc.gotoAndStop("BackerHeight1");
  633.                break;
  634.             case MODE_CAMP_DISPENSER:
  635.                GlobalFunc.SetText(this.Header_mc.HeaderText_tf,"$DISPENSER");
  636.                this.ItemCardContainer_mc.gotoAndStop("BackerHeight1");
  637.                break;
  638.             case MODE_ALLY:
  639.                GlobalFunc.SetText(this.Header_mc.HeaderText_tf,"$ALLY");
  640.                this.ItemCardContainer_mc.gotoAndStop("ItemStatsOff");
  641.          }
  642.          this.updateHeaders();
  643.          this.updateSelfInventory();
  644.          this.updateOtherInventory();
  645.       }
  646.      
  647.       public function set subMenuMode(param1:uint) : void
  648.       {
  649.          this.m_SubMenuMode = param1;
  650.          this.OfferInventory_mc.subMenuMode = this.m_SubMenuMode;
  651.          this.updateCategoryBar();
  652.          this.OfferInventory_mc.showTooltip = this.m_SubMenuMode != SecureTradeShared.SUB_MODE_STANDARD;
  653.       }
  654.      
  655.       public function updateOfferInventoryTooltipVis() : void
  656.       {
  657.          this.OfferInventory_mc.showTooltip = this.m_MenuMode == MODE_PLAYERVENDING || this.m_MenuMode == MODE_CONTAINER || this.isCampVendingMenuType();
  658.       }
  659.      
  660.       public function set selectedTab(param1:int) : void
  661.       {
  662.          var _loc2_:SecureTradeInventory = null;
  663.          if(param1 != this.m_SelectedTab || this.m_SelectedTabForceChange)
  664.          {
  665.             this.m_SelectedTabForceChange = false;
  666.             if(param1 < this.m_TabMin)
  667.             {
  668.                param1 = this.m_TabMin;
  669.             }
  670.             else if(param1 >= this.m_TabMax)
  671.             {
  672.                param1 = this.m_TabMax - 1;
  673.             }
  674.             this.m_SelectedTab = param1;
  675.             if(this.m_SelectedTab == param1)
  676.             {
  677.                this.m_OnNewTab = this.m_HasNewTab && this.m_SelectedTab == 0;
  678.                this.updateHeaders();
  679.                this.PlayerInventory_mc.ItemList_mc.List_mc.filterer.itemFilter = this.m_CorpseLootMode ? FILTER_ALL : int(this.m_ItemFilters[this.m_SelectedTab].flag);
  680.                this.OfferInventory_mc.ItemList_mc.List_mc.filterer.itemFilter = this.m_ItemFilters[this.m_SelectedTab].flag;
  681.                this.updateSelfInventory();
  682.                this.OfferInventory_mc.ItemList_mc.SetIsDirty();
  683.                this.m_ContainerEmpty = this.OfferInventory_mc != null && this.IsInventoryEmpty(this.OfferInventory_mc);
  684.                this.updateInventoryFocus();
  685.                this.updateButtonHints();
  686.             }
  687.             _loc2_ = this.selectedList == this.PlayerInventory_mc ? this.OfferInventory_mc : this.PlayerInventory_mc;
  688.             if(this.selectedList != null)
  689.             {
  690.                this.selectedList.selectedItemIndex = this.IsInventoryEmpty(this.selectedList) ? -1 : this.selectedList.ItemList_mc.List_mc.filterer.ClampIndex(0);
  691.             }
  692.             if(_loc2_ != null)
  693.             {
  694.                _loc2_.selectedItemIndex = -1;
  695.             }
  696.          }
  697.       }
  698.      
  699.       public function get selectedTab() : int
  700.       {
  701.          return this.m_SelectedTab;
  702.       }
  703.      
  704.       public function set isOpen(param1:Boolean) : void
  705.       {
  706.          if(param1 != this.m_IsOpen)
  707.          {
  708.             if(param1)
  709.             {
  710.                gotoAndPlay("rollOn");
  711.             }
  712.             else
  713.             {
  714.                gotoAndPlay("rollOff");
  715.             }
  716.             this.m_IsOpen = param1;
  717.          }
  718.       }
  719.      
  720.       public function get isOpen() : Boolean
  721.       {
  722.          return this.m_IsOpen;
  723.       }
  724.      
  725.       public function get selectedListEntry() : Object
  726.       {
  727.          return this.m_SelectedList.ItemList_mc.List_mc.selectedEntry;
  728.       }
  729.      
  730.       public function get selectedListIndex() : int
  731.       {
  732.          return this.m_SelectedList.ItemList_mc.List_mc.selectedIndex;
  733.       }
  734.      
  735.       private function updateListActive(param1:SecureTradeInventory) : void
  736.       {
  737.          var _loc2_:* = this.m_SelectedList == param1;
  738.          param1.Active = _loc2_;
  739.          param1.ItemList_mc.Active = _loc2_;
  740.          param1.ItemList_mc.List_mc.Active = _loc2_;
  741.          param1.ItemList_mc.List_mc.disableInput_Inspectable = !_loc2_;
  742.          if(param1.ItemList_mc.disableSelection_Inspectable)
  743.          {
  744.             param1.ItemList_mc.disableSelection_Inspectable = false;
  745.          }
  746.          if(param1.ItemList_mc.List_mc.hasBeenUpdated)
  747.          {
  748.             if(_loc2_)
  749.             {
  750.                param1.ItemList_mc.setSelectedIndex(0);
  751.             }
  752.             else
  753.             {
  754.                param1.ItemList_mc.setSelectedIndex(-1);
  755.             }
  756.          }
  757.          param1.ItemList_mc.disableSelection_Inspectable = !_loc2_;
  758.       }
  759.      
  760.       public function set selectedList(param1:SecureTradeInventory) : *
  761.       {
  762.          if(param1 != this.m_SelectedList)
  763.          {
  764.             this.m_SelectedList = param1;
  765.             stage.focus = this.m_SelectedList.ItemList_mc.List_mc;
  766.             this.updateListActive(this.PlayerInventory_mc);
  767.             this.updateListActive(this.OfferInventory_mc);
  768.             this.updateButtonHints();
  769.             this.updateHeaders();
  770.          }
  771.       }
  772.      
  773.       public function get selectedList() : SecureTradeInventory
  774.       {
  775.          return this.m_SelectedList;
  776.       }
  777.      
  778.       public function get modalActive() : Boolean
  779.       {
  780.          return this.m_ModalActive;
  781.       }
  782.      
  783.       public function set modalActive(param1:Boolean) : void
  784.       {
  785.          if(param1 != this.m_ModalActive)
  786.          {
  787.             this.m_ModalActive = param1;
  788.             if(this.m_ModalActive)
  789.             {
  790.                gotoAndPlay("modalFadeOut");
  791.             }
  792.             else
  793.             {
  794.                gotoAndPlay("modalFadeIn");
  795.             }
  796.          }
  797.       }
  798.      
  799.       private function updateModalActive() : void
  800.       {
  801.          this.modalActive = this.ModalSetQuantity_mc.opened || this.ModalSetPrice_mc.opened || this.ModalDeclineItem_mc.Active || this.ModalConfirmPurchase_mc.open || this.ModalConfirmTakeAll_mc.open || this.ModalConfirmScrap_mc.open || this.ModalUpgradeStash_mc.open;
  802.       }
  803.      
  804.       public function Input_HandleLeftShoulder() : uint
  805.       {
  806.          if(!this.modalActive && !this.m_InspectMode)
  807.          {
  808.             --this.selectedTab;
  809.             this.CategoryBar_mc.SelectPrevious();
  810.          }
  811.          else if(this.ModalSetPrice_mc.opened)
  812.          {
  813.             this.ModalSetPrice_mc.ProcessUserEvent("LShoulder",false);
  814.          }
  815.          else if(this.ModalSetQuantity_mc.opened)
  816.          {
  817.             this.ModalSetQuantity_mc.ProcessUserEvent("LShoulder",false);
  818.          }
  819.          return this.CategoryBar_mc.SelectedID;
  820.       }
  821.      
  822.       public function Input_HandleRightShoulder() : uint
  823.       {
  824.          if(!this.modalActive && !this.m_InspectMode)
  825.          {
  826.             ++this.selectedTab;
  827.             this.CategoryBar_mc.SelectNext();
  828.          }
  829.          else if(this.ModalSetPrice_mc.opened)
  830.          {
  831.             this.ModalSetPrice_mc.ProcessUserEvent("RShoulder",false);
  832.          }
  833.          else if(this.ModalSetQuantity_mc.opened)
  834.          {
  835.             this.ModalSetQuantity_mc.ProcessUserEvent("RShoulder",false);
  836.          }
  837.          return this.CategoryBar_mc.SelectedID;
  838.       }
  839.      
  840.       public function OnLabelMouseSelection(param1:Event) : void
  841.       {
  842.          var _loc2_:* = 0;
  843.          if((param1 as CustomEvent).params.Source == this.CategoryBar_mc && !this.modalActive)
  844.          {
  845.             _loc2_ = uint((param1 as CustomEvent).params.id);
  846.             this.selectedTab = this.CategoryBar_mc.GetLabelIndex(_loc2_) + this.m_TabMin;
  847.             this.CategoryBar_mc.SelectedID = _loc2_;
  848.          }
  849.       }
  850.      
  851.       private function onInventoryTabWheel(param1:Boolean) : void
  852.       {
  853.          if(param1)
  854.          {
  855.             --this.selectedTab;
  856.             this.CategoryBar_mc.SelectPrevious();
  857.          }
  858.          else
  859.          {
  860.             ++this.selectedTab;
  861.             this.CategoryBar_mc.SelectNext();
  862.          }
  863.       }
  864.      
  865.       private function updateHeaders() : void
  866.       {
  867.          if(this.m_MenuMode == MODE_PLAYERVENDING)
  868.          {
  869.             if(this.m_SelectedTab == 0)
  870.             {
  871.                this.PlayerInventory_mc.header = "$MYINVENTORY";
  872.                if(this.m_PlayerConnected)
  873.                {
  874.                   this.OfferInventory_mc.header = this.m_DefaultHeaderText;
  875.                }
  876.                else
  877.                {
  878.                   GlobalFunc.SetText(this.OfferInventory_mc.Header_mc.Header_tf,"$WaitingForPlayer",true);
  879.                   GlobalFunc.SetText(this.OfferInventory_mc.Header_mc.Header_tf,this.OfferInventory_mc.Header_mc.Header_tf.text.replace("{1}",this.m_DefaultHeaderText),true);
  880.                }
  881.             }
  882.             else
  883.             {
  884.                this.PlayerInventory_mc.header = this.m_ItemFilters[this.m_SelectedTab].text + "Mine";
  885.                if(this.m_PlayerConnected)
  886.                {
  887.                   this.OfferInventory_mc.header = this.m_ItemFilters[this.m_SelectedTab].containerID;
  888.                }
  889.                else
  890.                {
  891.                   GlobalFunc.SetText(this.OfferInventory_mc.Header_mc.Header_tf,"$WaitingForPlayer",true);
  892.                   GlobalFunc.SetText(this.OfferInventory_mc.Header_mc.Header_tf,this.OfferInventory_mc.Header_mc.Header_tf.text.replace("{1}",this.m_DefaultHeaderText),true);
  893.                }
  894.             }
  895.          }
  896.          else if(this.m_CorpseLootMode)
  897.          {
  898.             this.PlayerInventory_mc.header = "$MYINVENTORY";
  899.             this.OfferInventory_mc.header = this.m_SelectedTab == 0 ? "$ALLCORPSES" : String(this.m_ItemFilters[this.m_SelectedTab].containerID());
  900.          }
  901.          else if(this.m_SelectedTab == 0 && !this.m_IsFilteredCategory || this.m_HasNewTab && this.m_SelectedTab == 1)
  902.          {
  903.             this.PlayerInventory_mc.header = this.m_OnNewTab ? "$InventoryCategoryNew" : "$MYINVENTORY";
  904.             this.OfferInventory_mc.header = this.m_DefaultHeaderText;
  905.          }
  906.          else
  907.          {
  908.             this.PlayerInventory_mc.header = this.m_ItemFilters[this.m_SelectedTab].text + "Mine";
  909.             this.OfferInventory_mc.header = this.m_ItemFilters[this.m_SelectedTab].containerID;
  910.          }
  911.       }
  912.      
  913.       public function onCharacterInfoDataUpdate(param1:FromClientDataEvent) : void
  914.       {
  915.          this.PlayerInventory_mc.currency = 0;
  916.          this.PlayerInventory_mc.currencyMax = MAX_SELL_PRICE;
  917.          this.PlayerInventory_mc.currencyName = "";
  918.          var _loc2_:Number = 0;
  919.          while(_loc2_ < param1.data.currencies.length)
  920.          {
  921.             if(param1.data.currencies[_loc2_].currencyType == this.currencyType)
  922.             {
  923.                this.PlayerInventory_mc.currency = param1.data.currencies[_loc2_].currencyAmount;
  924.                this.PlayerInventory_mc.currencyMax = param1.data.currencies[_loc2_].currencyMax;
  925.                this.PlayerInventory_mc.currencyName = param1.data.currencies[_loc2_].currencyName;
  926.                break;
  927.             }
  928.             _loc2_++;
  929.          }
  930.          this.PlayerInventory_mc.carryWeightCurrent = Math.floor(param1.data.currWeight);
  931.          this.PlayerInventory_mc.carryWeightMax = Math.floor(param1.data.maxWeight);
  932.          this.PlayerInventory_mc.absoluteWeightLimit = Math.floor(param1.data.absoluteWeightLimit);
  933.          PlayerListEntry.playerLevel = param1.data.level;
  934.          OfferListEntry.playerLevel = param1.data.level;
  935.          OfferListEntry.playerCurrency = param1.data.currencyAmount;
  936.          this.PlayerInventory_mc.ItemList_mc.List_mc.InvalidateData();
  937.          this.OfferInventory_mc.ItemList_mc.List_mc.InvalidateData();
  938.       }
  939.      
  940.       public function onContainerOptionsDataUpdate(param1:FromClientDataEvent) : void
  941.       {
  942.          this.m_AcceptBtnText_Player = param1.data.acceptButtonText_Player;
  943.          this.m_AcceptBtnText_Container = param1.data.acceptButtonText_Container;
  944.          this.m_TakeAllBtnText = param1.data.takeAllButtonText;
  945.          this.m_scrapAllowedFlag = param1.data.scrapAllowedFlag;
  946.          this.m_transferUnusedAmmoAllowed = param1.data.isTransferUnusedAmmoAllowed;
  947.          this.m_isWorkbench = param1.data.isWorkbench;
  948.          this.m_isWorkshop = param1.data.isWorkshop;
  949.          this.m_isCamp = param1.data.isCamp;
  950.          this.m_isStash = param1.data.isStash;
  951.          this.m_onlyTakingAllowed = param1.data.onlyTakingAllowed;
  952.          this.m_onlyGivingAllowed = param1.data.onlyGivingAllowed;
  953.          this.m_storageMode = param1.data.storageMode;
  954.          if(this.m_isWorkbench)
  955.          {
  956.             this.OfferInventory_mc.visible = false;
  957.             this.OfferInventory_mc.enabled = false;
  958.             this.updateSelfInventory();
  959.          }
  960.          this.updateOfferWeightDisplay();
  961.          this.updateCategoryBar();
  962.          this.updateButtonHints();
  963.          this.updateHeaders();
  964.       }
  965.      
  966.       public function onCampVendingOfferDataUpdate(param1:FromClientDataEvent) : void
  967.       {
  968.          if(this.isCampVendingMenuType())
  969.          {
  970.             this.m_TheirOffersData = param1.data.InventoryList.concat();
  971.             this.PopulateCampVendingInventory();
  972.             this.disableInput = false;
  973.          }
  974.       }
  975.      
  976.       private function onFFEvent(param1:FromClientDataEvent) : void
  977.       {
  978.          var _loc2_:* = param1.data;
  979.          if(GlobalFunc.HasFFEvent(_loc2_,EVENT_CAMP_STOP_ITEM_PROCESSING) && this.isCampVendingMenuType())
  980.          {
  981.             this.m_ProcessingItemEvent = false;
  982.          }
  983.          else if(GlobalFunc.HasFFEvent(_loc2_,EVENT_SELL_FAVORITE_DECLINED))
  984.          {
  985.             this.disableInput = false;
  986.          }
  987.          else if(GlobalFunc.HasFFEvent(_loc2_,EVENT_TRADE_FAVORITE_DECLINED))
  988.          {
  989.             this.disableInput = false;
  990.             this.m_ProcessingItemEvent = false;
  991.          }
  992.       }
  993.      
  994.       override public function onAddedToStage() : void
  995.       {
  996.          super.onAddedToStage();
  997.          this.CategoryBar_mc.forceUppercase = false;
  998.          this.CategoryBar_mc.labelWidthScale = this.DEFAULT_CATEGORY_BAR_SCALE;
  999.          this.menuMode = MODE_CONTAINER;
  1000.          BSUIDataManager.Subscribe("PlayerInventoryData",this.onPlayerInventoryDataUpdate);
  1001.          BSUIDataManager.Subscribe("OtherInventoryTypeData",this.onOtherInvTypeDataUpdate);
  1002.          BSUIDataManager.Subscribe("OtherInventoryData",this.onOtherInvDataUpdate);
  1003.          BSUIDataManager.Subscribe("MyOffersData",this.onMyOffersDataUpdate);
  1004.          BSUIDataManager.Subscribe("TheirOffersData",this.onTheirOffersDataUpdate);
  1005.          BSUIDataManager.Subscribe("CharacterInfoData",this.onCharacterInfoDataUpdate);
  1006.          BSUIDataManager.Subscribe("ContainerOptionsData",this.onContainerOptionsDataUpdate);
  1007.          BSUIDataManager.Subscribe("CampVendingOfferData",this.onCampVendingOfferDataUpdate);
  1008.          BSUIDataManager.Subscribe("FireForgetEvent",this.onFFEvent);
  1009.          BSUIDataManager.Subscribe("AccountInfoData",this.onAccountInfoUpdate);
  1010.          BSUIDataManager.Subscribe("InventoryItemCardData",this.onInventoryItemCardDataUpdate);
  1011.          BSUIDataManager.Subscribe("HUDModeData",this.onHudModeDataUpdate);
  1012.          this.updateButtonHints();
  1013.          this.updateHeaders();
  1014.          this.isOpen = true;
  1015.          this.selectedList = this.PlayerInventory_mc;
  1016.          time = 0;
  1017.          delta = 0;
  1018.          this.update();
  1019.          this.update();
  1020.          this.update();
  1021.          stage.addEventListener(Event.ENTER_FRAME,this.update);
  1022.          this.CategoryBar_mc.SetSelection(this.selectedTab,true,false);
  1023.       }
  1024.      
  1025.       private function onAccountInfoUpdate(param1:FromClientDataEvent) : void
  1026.       {
  1027.          this.m_IsFollowerOfZeus = Boolean(param1.data.hasZeus) || Boolean(param1.data.hasFO1Preview);
  1028.          this.updateButtonHints();
  1029.       }
  1030.      
  1031.       private function onHudModeDataUpdate(param1:FromClientDataEvent) : void
  1032.       {
  1033.          if(Boolean(param1.data) && Boolean(param1.data.hudMode))
  1034.          {
  1035.             this.m_InspectMode = param1.data.hudMode == HUDModes.INSPECT_MODE;
  1036.          }
  1037.          else
  1038.          {
  1039.             this.m_InspectMode = false;
  1040.          }
  1041.       }
  1042.      
  1043.       public function update(param1:Event = null) : void
  1044.       {
  1045.          delta = (getTimer() - time) / 1000;
  1046.          time = getTimer();
  1047.          this.CategoryBar_mc.Update(delta);
  1048.       }
  1049.      
  1050.       private function ClearStartingFocusPreference() : void
  1051.       {
  1052.          this.m_StartingFocusPref = STARTING_FOCUS_PREF_NONE;
  1053.       }
  1054.      
  1055.       private function onListMouseOver(param1:Event) : *
  1056.       {
  1057.          if(!this.modalActive)
  1058.          {
  1059.             if(param1.target == this.PlayerInventory_mc && this.selectedList != this.PlayerInventory_mc && this.m_onlyTakingAllowed != true)
  1060.             {
  1061.                this.selectedList = this.PlayerInventory_mc;
  1062.                this.ClearStartingFocusPreference();
  1063.             }
  1064.             else if(param1.target == this.OfferInventory_mc && this.selectedList != this.OfferInventory_mc && this.m_onlyGivingAllowed != true)
  1065.             {
  1066.                this.selectedList = this.OfferInventory_mc;
  1067.                this.ClearStartingFocusPreference();
  1068.             }
  1069.          }
  1070.       }
  1071.      
  1072.       private function onConfirmModalConfirm(param1:Event) : *
  1073.       {
  1074.          var _loc2_:int = 0;
  1075.          var _loc3_:Number = NaN;
  1076.          if(this.ModalConfirmPurchase_mc.open)
  1077.          {
  1078.             this.closeConfirmPurchaseModal(true);
  1079.             _loc2_ = Math.min(this.selectedListEntry.count,this.ModalSetQuantity_mc.quantity);
  1080.             _loc3_ = !!this.selectedListEntry.isOffered ? Number(this.selectedListEntry.offerValue) : Number(this.selectedListEntry.itemValue);
  1081.             if(this.m_MenuMode == MODE_NPCVENDING)
  1082.             {
  1083.                BSUIDataManager.dispatchEvent(new CustomEvent(this.selectedList == this.PlayerInventory_mc ? EVENT_NPC_SELL_ITEM : EVENT_NPC_BUY_ITEM,{
  1084.                   "serverHandleId":this.selectedListEntry.serverHandleId,
  1085.                   "quantity":_loc2_
  1086.                }));
  1087.             }
  1088.             else if(this.m_MenuMode == MODE_VENDING_MACHINE)
  1089.             {
  1090.                BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_CAMP_BUY_ITEM,{
  1091.                   "serverHandleId":this.selectedListEntry.serverHandleId,
  1092.                   "count":_loc2_,
  1093.                   "price":_loc3_
  1094.                }));
  1095.             }
  1096.             else
  1097.             {
  1098.                BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_REQUEST_PURCHASE,{
  1099.                   "serverHandleId":this.selectedListEntry.serverHandleId,
  1100.                   "count":_loc2_,
  1101.                   "price":_loc3_
  1102.                }));
  1103.             }
  1104.          }
  1105.          else if(this.ModalUpgradeStash_mc.open)
  1106.          {
  1107.             this.closeUpgradeStashModel();
  1108.          }
  1109.          else
  1110.          {
  1111.             this.onAccept();
  1112.          }
  1113.       }
  1114.      
  1115.       private function onConfirmModalCancel(param1:Event) : *
  1116.       {
  1117.          this.onBackButton();
  1118.       }
  1119.      
  1120.       private function onDeclineItemConfirm(param1:Event) : *
  1121.       {
  1122.          this.closeDeclineItemModal();
  1123.          this.ClearSelectedItemValues();
  1124.          BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_DECLINE_ITEM,{
  1125.             "serverHandleId":this.ModalDeclineItem_mc.ItemServerHandleId,
  1126.             "declineReason":this.ModalDeclineItem_mc.selectedIndex
  1127.          }));
  1128.       }
  1129.      
  1130.       private function onQuantityConfirm() : *
  1131.       {
  1132.          if(this._OnQuantityConfirmedFn != null && this.ModalSetQuantity_mc.opened)
  1133.          {
  1134.             this.closeQuantityModal();
  1135.             this.ModalSetQuantity_mc.quantity = Math.min(this.selectedListEntry.count,this.ModalSetQuantity_mc.quantity);
  1136.             this._OnQuantityConfirmedFn();
  1137.             this._OnQuantityConfirmedFn = null;
  1138.          }
  1139.          else if(this._OnSetPriceConfirmedFn != null && this.ModalSetPrice_mc.opened)
  1140.          {
  1141.             this.closeSetPriceModal();
  1142.             this._OnSetPriceConfirmedFn();
  1143.             this._OnSetPriceConfirmedFn = null;
  1144.          }
  1145.          GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  1146.       }
  1147.      
  1148.       private function qConfirm_TransferItem() : *
  1149.       {
  1150.          var _loc1_:* = this.selectedList == this.OfferInventory_mc;
  1151.          if(_loc1_ || this.performContainerWeightCheck(this.selectedListEntry,this.ModalSetQuantity_mc.quantity))
  1152.          {
  1153.             BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_TRANSFER_ITEM,{
  1154.                "serverHandleId":this.selectedListEntry.serverHandleId,
  1155.                "quantity":this.ModalSetQuantity_mc.quantity,
  1156.                "fromContainer":_loc1_,
  1157.                "containerID":this.selectedListEntry.containerID
  1158.             }));
  1159.          }
  1160.       }
  1161.      
  1162.       private function qConfirm_TakePartialFromVendingOffer() : *
  1163.       {
  1164.          BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_TRANSFER_ITEM,{
  1165.             "serverHandleId":this.selectedListEntry.serverHandleId,
  1166.             "quantity":this.ModalSetQuantity_mc.quantity,
  1167.             "fromContainer":true,
  1168.             "containerID":this.selectedListEntry.containerID
  1169.          }));
  1170.       }
  1171.      
  1172.       private function spConfirm_CreatePlayerVendingOffer() : *
  1173.       {
  1174.          var _loc1_:* = this.ModalSetQuantity_mc.quantity != this.selectedListEntry.count;
  1175.          BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_CREATE_OFFER,{
  1176.             "serverHandleId":this.selectedListEntry.serverHandleId,
  1177.             "price":this.ModalSetPrice_mc.quantity,
  1178.             "quantity":this.ModalSetQuantity_mc.quantity,
  1179.             "partialOffer":_loc1_
  1180.          }));
  1181.       }
  1182.      
  1183.       private function spConfirm_CreateCampVendingOffer() : *
  1184.       {
  1185.          var _loc1_:* = this.ModalSetQuantity_mc.quantity != this.selectedListEntry.count;
  1186.          var _loc2_:* = this.m_SelectedList == this.OfferInventory_mc;
  1187.          BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_CAMP_SELL_ITEM,{
  1188.             "serverHandleId":this.selectedListEntry.serverHandleId,
  1189.             "price":this.ModalSetPrice_mc.quantity,
  1190.             "quantity":this.ModalSetQuantity_mc.quantity,
  1191.             "partialOffer":_loc1_,
  1192.             "fromContainer":_loc2_
  1193.          }));
  1194.          GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  1195.          this.DelayForItemProcessing();
  1196.       }
  1197.      
  1198.       private function DelayForItemProcessing() : void
  1199.       {
  1200.          var delayMS:uint = 1000;
  1201.          this.m_ProcessingItemEvent = true;
  1202.          this.updateButtonHints();
  1203.          setTimeout(function():void
  1204.          {
  1205.             m_ProcessingItemEvent = false;
  1206.             updateButtonHints();
  1207.          },delayMS);
  1208.       }
  1209.      
  1210.       private function onQuantityCancel(param1:Event) : *
  1211.       {
  1212.          this.onBackButton();
  1213.       }
  1214.      
  1215.       private function onDeclineItemAccept() : void
  1216.       {
  1217.          dispatchEvent(new Event(SecureTradeDeclineItemModal.CONFIRM,true,true));
  1218.          GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_CANCEL);
  1219.       }
  1220.      
  1221.       private function onConfirmPurchaseAccept() : void
  1222.       {
  1223.       }
  1224.      
  1225.       private function onFocusChange(param1:FocusEvent) : *
  1226.       {
  1227.          if(param1.relatedObject != this.ModalSetQuantity_mc && param1.relatedObject != this.ModalSetQuantity_mc.Value_tf && param1.relatedObject != this.ModalSetPrice_mc && param1.relatedObject != this.ModalSetPrice_mc.Value_tf && param1.relatedObject != this.PlayerInventory_mc.ItemList_mc.List_mc && param1.relatedObject != this.OfferInventory_mc.ItemList_mc.List_mc && param1.relatedObject != this.ModalDeclineItem_mc && param1.relatedObject != this.ModalConfirmPurchase_mc && param1.relatedObject != this.ModalConfirmPurchase_mc.ButtonList_mc && param1.relatedObject != this.ModalConfirmTakeAll_mc && param1.relatedObject != this.ModalConfirmTakeAll_mc.ButtonList_mc && param1.relatedObject != this.ModalConfirmScrap_mc.ComponentList_mc && param1.relatedObject != this.ModalUpgradeStash_mc && param1.relatedObject != this.ModalUpgradeStash_mc.ButtonList_mc)
  1228.          {
  1229.             stage.focus = param1.target as InteractiveObject;
  1230.          }
  1231.       }
  1232.      
  1233.       public function onKeyUp(param1:KeyboardEvent) : void
  1234.       {
  1235.          if(this.isOpen && !param1.isDefaultPrevented())
  1236.          {
  1237.             if(this.modalActive)
  1238.             {
  1239.                if(param1.keyCode == Keyboard.ENTER)
  1240.                {
  1241.                   this.onAccept();
  1242.                   param1.stopPropagation();
  1243.                }
  1244.             }
  1245.          }
  1246.       }
  1247.      
  1248.       private function UpdateItemCard(param1:Array, param2:Boolean) : *
  1249.       {
  1250.          var _loc4_:* = null;
  1251.          var _loc5_:Number = 0;
  1252.          var _loc3_:Boolean = false;
  1253.          if(this.selectedListEntry != null)
  1254.          {
  1255.             _loc4_ = [];
  1256.             if(this.selectedListEntry.itemLevel != null)
  1257.             {
  1258.                _loc4_.push({
  1259.                   "text":"othercontainer",
  1260.                   "value":this.selectedListEntry.containerID
  1261.                });
  1262.             }
  1263.             if(this.selectedListEntry.currentHealth != null)
  1264.             {
  1265.                _loc4_.push({
  1266.                   "text":"currentHealth",
  1267.                   "value":this.selectedListEntry.currentHealth
  1268.                });
  1269.             }
  1270.             if(this.selectedListEntry.maximumHealth != null)
  1271.             {
  1272.                _loc4_.push({
  1273.                   "text":"maximumHealth",
  1274.                   "value":this.selectedListEntry.maximumHealth
  1275.                });
  1276.             }
  1277.             if(this.selectedListEntry.durability != null)
  1278.             {
  1279.                _loc4_.push({
  1280.                   "text":"durability",
  1281.                   "value":this.selectedListEntry.durability
  1282.                });
  1283.             }
  1284.             _loc5_ = 0;
  1285.             while(_loc5_ < param1.length)
  1286.             {
  1287.                if(param1[_loc5_].text == "DESC")
  1288.                {
  1289.                   GlobalFunc.SetText(this.ItemCardContainer_mc.Background_mc.Description_mc.Description_tf,param1[_loc5_].value);
  1290.                   TextFieldEx.setVerticalAlign(this.ItemCardContainer_mc.Background_mc.Description_mc.Description_tf,TextFieldEx.VALIGN_BOTTOM);
  1291.                   _loc3_ = true;
  1292.                }
  1293.                else
  1294.                {
  1295.                   this.ItemCardContainer_mc.ItemCard_mc.Count = this.selectedListEntry.count;
  1296.                   _loc4_.push(param1[_loc5_]);
  1297.                }
  1298.                _loc5_++;
  1299.             }
  1300.             this.ItemCardContainer_mc.ItemCard_mc.showValueEntry = this.m_ShowPlayerValueEntry && param2 || this.selectedList != this.PlayerInventory_mc;
  1301.             this.ItemCardContainer_mc.ItemCard_mc.currencyType = this.currencyType;
  1302.             this.ItemCardContainer_mc.ItemCard_mc.InfoObj = _loc4_;
  1303.             this.ItemCardContainer_mc.ItemCard_mc.redrawUIComponent();
  1304.             this.ItemCardContainer_mc.Background_mc.visible = true;
  1305.             this.ItemCardContainer_mc.Background_mc.gotoAndStop("entry" + this.ItemCardContainer_mc.ItemCard_mc.entryCount);
  1306.          }
  1307.          else
  1308.          {
  1309.             this.ItemCardContainer_mc.Background_mc.visible = false;
  1310.             this.ItemCardContainer_mc.ItemCard_mc.InfoObj = new Array();
  1311.             this.ItemCardContainer_mc.ItemCard_mc.redrawUIComponent();
  1312.          }
  1313.          this.ItemCardContainer_mc.Background_mc.Description_mc.visible = _loc3_;
  1314.       }
  1315.      
  1316.       private function onSelectedDataChanged(param1:Event) : *
  1317.       {
  1318.          if(this.selectedList != null)
  1319.          {
  1320.             if(this.selectedListEntry != null)
  1321.             {
  1322.                if(!this.selectedList.ItemList_mc.List_mc.filterer.EntryMatchesFilter(this.selectedListEntry) && this.modalActive)
  1323.                {
  1324.                   this.closeQuantityModal();
  1325.                }
  1326.                BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_ITEM_SELECTED,{
  1327.                   "serverHandleId":this.selectedListEntry.serverHandleId,
  1328.                   "isSelectionValid":true,
  1329.                   "fromContainer":this.selectedList == this.OfferInventory_mc,
  1330.                   "containerID":this.selectedListEntry.containerID
  1331.                }));
  1332.             }
  1333.             else
  1334.             {
  1335.                BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_ITEM_SELECTED,{
  1336.                   "serverHandleId":0,
  1337.                   "isSelectionValid":false,
  1338.                   "fromContainer":false,
  1339.                   "containerID":uint.MAX_VALUE
  1340.                }));
  1341.             }
  1342.             this.updateButtonHints();
  1343.          }
  1344.       }
  1345.      
  1346.       private function onUserMovesListSelection(param1:Event) : *
  1347.       {
  1348.          GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_FOCUS_CHANGE);
  1349.          if(param1.target == this.PlayerInventory_mc.ItemList_mc.List_mc || param1.target == this.OfferInventory_mc.ItemList_mc.List_mc)
  1350.          {
  1351.             this.m_RefreshSelectionOption = REFRESH_SELECTION_NONE;
  1352.          }
  1353.          this.ClearStartingFocusPreference();
  1354.       }
  1355.      
  1356.       private function onPlayerInventoryDataUpdate(param1:FromClientDataEvent) : void
  1357.       {
  1358.          if(!this.modalActive)
  1359.          {
  1360.             this.disableInput = false;
  1361.          }
  1362.          this.updateSelfInventory();
  1363.          this.updateInventoryFocus();
  1364.          if(this.selectedList == this.PlayerInventory_mc && this.PlayerInventory_mc.ItemList_mc.List_mc.hasBeenUpdated)
  1365.          {
  1366.             this.PlayerInventory_mc.selectedItemIndex = this.m_PlayerInventoryEmpty ? -1 : this.PlayerInventory_mc.ItemList_mc.List_mc.filterer.ClampIndex(this.PlayerInventory_mc.selectedItemIndex);
  1367.          }
  1368.       }
  1369.      
  1370.       private function onOtherInvTypeDataUpdate(param1:FromClientDataEvent) : void
  1371.       {
  1372.          var _loc2_:Object = param1.data;
  1373.          if(this.m_MenuMode != _loc2_.menuType)
  1374.          {
  1375.             this.menuMode = _loc2_.menuType;
  1376.          }
  1377.          if(this.m_SubMenuMode != _loc2_.menuSubType)
  1378.          {
  1379.             this.subMenuMode = _loc2_.menuSubType;
  1380.          }
  1381.          this.OfferInventory_mc.showCurrency = _loc2_.menuType == MODE_NPCVENDING && _loc2_.menuSubType != SecureTradeShared.SUB_MODE_LEGENDARY_VENDOR;
  1382.          if(_loc2_.currencyType != null && _loc2_.currencyType != this.currencyType)
  1383.          {
  1384.             this.currencyType = _loc2_.currencyType;
  1385.          }
  1386.          this.m_ShowPlayerValueEntry = this.m_MenuMode != MODE_NPCVENDING || this.currencyType == SecureTradeShared.CURRENCY_CAPS || this.currencyType == SecureTradeShared.CURRENCY_LEGENDARY_TOKENS;
  1387.          this.m_DefaultHeaderText = _loc2_.defaultHeaderText == undefined ? "$CONTAINER" : String(_loc2_.defaultHeaderText.toUpperCase());
  1388.          this.m_VendorSellOnly = _loc2_.sellOnly;
  1389.          this.m_PlayerConnected = _loc2_.playerConnected;
  1390.          this.m_OwnsVendor = _loc2_.ownsVendor;
  1391.          OfferListEntry.ownsVendor = this.m_OwnsVendor;
  1392.          this.OfferInventory_mc.ownsVendor = this.m_OwnsVendor;
  1393.          if(this.m_MenuMode == MODE_PLAYERVENDING)
  1394.          {
  1395.             if(this.m_PlayerConnected)
  1396.             {
  1397.                if(!this.m_ShowOffersOnly)
  1398.                {
  1399.                   this.UpdatePartialItems(this.m_OtherInvData,this.m_TheirOffersData);
  1400.                   this.PopulateOfferInventory(this.m_OtherInvData);
  1401.                }
  1402.                else
  1403.                {
  1404.                   this.InsertRequestedItems(this.m_TheirOffersData,this.m_OtherInvData);
  1405.                   this.PopulateOfferInventory(this.m_TheirOffersData);
  1406.                }
  1407.             }
  1408.             else
  1409.             {
  1410.                this.OfferInventory_mc.ItemList_mc.List_mc.MenuListData = null;
  1411.                this.OfferInventory_mc.ItemList_mc.SetIsDirty();
  1412.             }
  1413.          }
  1414.          else if(this.isCampVendingMenuType())
  1415.          {
  1416.             this.PopulateCampVendingInventory();
  1417.          }
  1418.          this.OfferInventory_mc.currency = _loc2_.currencyAmount;
  1419.          this.OfferInventory_mc.carryWeightCurrent = _loc2_.currWeight;
  1420.          this.OfferInventory_mc.carryWeightMax = _loc2_.maxWeight;
  1421.          this.updateHeaders();
  1422.          if(!this.modalActive)
  1423.          {
  1424.             this.disableInput = false;
  1425.          }
  1426.       }
  1427.      
  1428.       private function onInventoryItemCardDataUpdate(param1:FromClientDataEvent) : void
  1429.       {
  1430.          var _loc2_:Object = param1.data;
  1431.          if(_loc2_.serverHandleId != 0)
  1432.          {
  1433.             this.UpdateItemCard(_loc2_.itemCardEntries,_loc2_.hasPlayerSellValue);
  1434.          }
  1435.          else
  1436.          {
  1437.             this.ItemCardContainer_mc.Background_mc.Description_mc.Description_tf.text = "";
  1438.          }
  1439.       }
  1440.      
  1441.       private function updateSelfInventory() : void
  1442.       {
  1443.          var _loc1_:Object = BSUIDataManager.GetDataFromClient("PlayerInventoryData").data;
  1444.          if(_loc1_.InventoryList != null)
  1445.          {
  1446.             this.m_PlayerInvData = this.m_isWorkbench ? this.CreateScrappableInventoryList(_loc1_.InventoryList) : _loc1_.InventoryList.concat();
  1447.             this.m_PlayerInventorySortField = _loc1_.SortField;
  1448.          }
  1449.          if(!this.m_ShowOffersOnly)
  1450.          {
  1451.             this.UpdatePartialItems(this.m_PlayerInvData,this.m_MyOffersData);
  1452.             this.PopulatePlayerInventory(this.m_PlayerInvData);
  1453.          }
  1454.          else
  1455.          {
  1456.             this.InsertRequestedItems(this.m_MyOffersData,this.m_PlayerInvData);
  1457.             this.PopulatePlayerInventory(this.m_MyOffersData);
  1458.          }
  1459.       }
  1460.      
  1461.       private function onOtherInvDataUpdate(param1:FromClientDataEvent) : void
  1462.       {
  1463.          this.m_OfferInventorySortField = param1.data.SortField;
  1464.          if(Boolean(param1.data.CorpseInventories) && param1.data.CorpseInventories.length > 0)
  1465.          {
  1466.             this.m_CorpseLootMode = true;
  1467.             this.CategoryBar_mc.CorpseLootMode = true;
  1468.             this.CategoryBar_mc.labelWidthScale = this.CORPSE_LOOT_CATEGORY_BAR_SCALE;
  1469.             this.updateCorpseInventoryLists(param1.data.CorpseInventories);
  1470.          }
  1471.          else
  1472.          {
  1473.             this.m_CorpseLootMode = false;
  1474.             this.CategoryBar_mc.CorpseLootMode = false;
  1475.             this.CategoryBar_mc.labelWidthScale = this.DEFAULT_CATEGORY_BAR_SCALE;
  1476.             this.m_OtherInvData = param1.data.InventoryList.concat();
  1477.             this.updateOtherInventory();
  1478.          }
  1479.          if(!this.modalActive)
  1480.          {
  1481.             this.disableInput = false;
  1482.          }
  1483.       }
  1484.      
  1485.       private function updateOtherInventory() : void
  1486.       {
  1487.          if(!(this.m_MenuMode == MODE_PLAYERVENDING && this.m_PlayerConnected == false))
  1488.          {
  1489.             if(this.isCampVendingMenuType())
  1490.             {
  1491.                this.PopulateCampVendingInventory();
  1492.             }
  1493.             else if(!this.m_ShowOffersOnly)
  1494.             {
  1495.                this.UpdatePartialItems(this.m_OtherInvData,this.m_TheirOffersData);
  1496.                this.PopulateOfferInventory(this.m_OtherInvData);
  1497.             }
  1498.             else
  1499.             {
  1500.                this.InsertRequestedItems(this.m_TheirOffersData,this.m_OtherInvData);
  1501.                this.PopulateOfferInventory(this.m_TheirOffersData);
  1502.             }
  1503.          }
  1504.          if(!this.modalActive)
  1505.          {
  1506.             this.disableInput = false;
  1507.          }
  1508.       }
  1509.      
  1510.       private function updateCorpseInventoryLists(param1:Object) : void
  1511.       {
  1512.          this.m_HasNewTab = false;
  1513.          this.m_ContainerIDs.splice(0);
  1514.          this.m_ItemFilters.splice(0);
  1515.          this.CategoryBar_mc.Clear();
  1516.          this.m_OtherInvData.splice(0);
  1517.          this.CategoryBar_mc.AddLabel("$ALLCORPSES",0,true);
  1518.          this.m_ItemFilters.push({
  1519.             "text":"$ALLCORPSES",
  1520.             "flag":FILTER_ALL
  1521.          });
  1522.          var _loc2_:Array = param1.concat().sort(this.sortCorpsesByDistance);
  1523.          var _loc3_:Number = 0;
  1524.          var _loc4_:int = 0;
  1525.          while(_loc4_ < _loc2_.length)
  1526.          {
  1527.             this.m_ContainerIDs.push(_loc2_[_loc4_].containerID);
  1528.             this.m_OtherInvData = this.m_OtherInvData.concat(_loc2_[_loc4_].inventory);
  1529.             this.m_ItemFilters.push({
  1530.                "text":_loc2_[_loc4_].containerID,
  1531.                "flag":_loc2_[_loc4_].inventoryCategory
  1532.             });
  1533.             _loc3_++;
  1534.             this.CategoryBar_mc.AddLabel(_loc2_[_loc4_].name.toUpperCase(),_loc3_,true);
  1535.             _loc4_++;
  1536.          }
  1537.          var _loc5_:int = this.OfferInventory_mc.ItemList_mc.List_mc.selectedIndex;
  1538.          this.m_TabMax = this.m_ItemFilters.length;
  1539.          var _loc6_:uint = uint(_loc2_.length + 1);
  1540.          this.CategoryBar_mc.maxVisible = GlobalFunc.Clamp(_loc6_,1,5);
  1541.          this.CategoryBar_mc.Finalize();
  1542.          this.CategoryBar_mc.SetSelection(GlobalFunc.Clamp(this.selectedTab,0,this.m_ItemFilters.length - 1),true,false);
  1543.          this.m_SelectedTabForceChange = true;
  1544.          this.selectedTab = GlobalFunc.Clamp(this.m_SelectedTab,0,this.m_ItemFilters.length - 1);
  1545.          this.PopulateOfferInventory(this.m_OtherInvData);
  1546.          var _loc7_:int = int(this.OfferInventory_mc.ItemList_mc.List_mc.filterer.filterArray.length);
  1547.          if(_loc5_ < _loc7_)
  1548.          {
  1549.             this.OfferInventory_mc.ItemList_mc.List_mc.selectedIndex = _loc5_;
  1550.          }
  1551.          else
  1552.          {
  1553.             this.OfferInventory_mc.ItemList_mc.List_mc.selectedIndex = _loc7_ - 1;
  1554.          }
  1555.       }
  1556.      
  1557.       private function onMyOffersDataUpdate(param1:FromClientDataEvent) : void
  1558.       {
  1559.          if(this.m_MenuMode == MODE_PLAYERVENDING)
  1560.          {
  1561.             this.m_MyOffersData = param1.data.InventoryList.concat();
  1562.             if(this.m_PlayerConnected)
  1563.             {
  1564.                if(this.m_ShowOffersOnly)
  1565.                {
  1566.                   this.InsertRequestedItems(this.m_MyOffersData,this.m_PlayerInvData);
  1567.                   this.PopulatePlayerInventory(this.m_MyOffersData);
  1568.                }
  1569.                else
  1570.                {
  1571.                   this.UpdatePartialItems(this.m_PlayerInvData,this.m_MyOffersData);
  1572.                   this.PopulatePlayerInventory(this.m_PlayerInvData);
  1573.                }
  1574.             }
  1575.          }
  1576.       }
  1577.      
  1578.       private function onTheirOffersDataUpdate(param1:FromClientDataEvent) : void
  1579.       {
  1580.          if(this.m_MenuMode == MODE_PLAYERVENDING)
  1581.          {
  1582.             this.m_TheirOffersData = param1.data.InventoryList.concat();
  1583.             if(this.m_PlayerConnected)
  1584.             {
  1585.                if(this.m_ShowOffersOnly)
  1586.                {
  1587.                   this.InsertRequestedItems(this.m_TheirOffersData,this.m_OtherInvData);
  1588.                   this.PopulateOfferInventory(this.m_TheirOffersData);
  1589.                }
  1590.                else
  1591.                {
  1592.                   this.UpdatePartialItems(this.m_OtherInvData,this.m_TheirOffersData);
  1593.                   this.PopulateOfferInventory(this.m_OtherInvData);
  1594.                }
  1595.             }
  1596.          }
  1597.       }
  1598.      
  1599.       private function sortCorpsesByDistance(param1:Object, param2:Object) : int
  1600.       {
  1601.          var _loc3_:int = 0;
  1602.          if(param1.distance < param2.distance)
  1603.          {
  1604.             _loc3_ = -1;
  1605.          }
  1606.          else if(param1.distance > param2.distance)
  1607.          {
  1608.             _loc3_ = 1;
  1609.          }
  1610.          return _loc3_;
  1611.       }
  1612.      
  1613.       private function doContainerToPlayerTransfer() : *
  1614.       {
  1615.          var _loc1_:Object = this.selectedListEntry;
  1616.          var _loc2_:* = this.selectedList == this.OfferInventory_mc;
  1617.          var _loc3_:Boolean = bNuclearWinterMode ? false : Boolean(_loc1_.isWeightless);
  1618.          if(this.selectedList.ItemList_mc.List_mc.filterer.EntryMatchesFilter(_loc1_))
  1619.          {
  1620.             if(_loc1_.isCurrency)
  1621.             {
  1622.                BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_TRANSFER_ITEM,{
  1623.                   "serverHandleId":_loc1_.serverHandleId,
  1624.                   "quantity":_loc1_.count,
  1625.                   "fromContainer":_loc2_,
  1626.                   "containerID":_loc1_.containerID
  1627.                }));
  1628.                GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  1629.             }
  1630.             else if(!_loc1_.singleItemTransfer && _loc1_.count > this.TRANSFER_ITEM_COUNT_THRESHOLD && !_loc3_)
  1631.             {
  1632.                if(this.m_CorpseLootMode)
  1633.                {
  1634.                   BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_TRANSFER_ITEM,{
  1635.                      "serverHandleId":_loc1_.serverHandleId,
  1636.                      "quantity":_loc1_.count,
  1637.                      "fromContainer":_loc2_,
  1638.                      "containerID":_loc1_.containerID
  1639.                   }));
  1640.                }
  1641.                else
  1642.                {
  1643.                   this.openQuantityModal(this.qConfirm_TransferItem);
  1644.                }
  1645.             }
  1646.             else if(_loc2_ || this.performContainerWeightCheck(_loc1_,1))
  1647.             {
  1648.                BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_TRANSFER_ITEM,{
  1649.                   "serverHandleId":_loc1_.serverHandleId,
  1650.                   "quantity":1,
  1651.                   "fromContainer":_loc2_,
  1652.                   "containerID":_loc1_.containerID
  1653.                }));
  1654.                GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  1655.             }
  1656.          }
  1657.       }
  1658.      
  1659.       private function performContainerWeightCheck(param1:Object, param2:uint) : Boolean
  1660.       {
  1661.          var _loc3_:Boolean = Boolean(param1.isWeightless) || this.OfferInventory_mc.carryWeightMax <= 0 || this.OfferInventory_mc.carryWeightCurrent + param1.weight * param2 <= this.OfferInventory_mc.carryWeightMax;
  1662.          if(!_loc3_)
  1663.          {
  1664.             BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_TRANSFER_TOO_HEAVY_ERROR,{}));
  1665.          }
  1666.          return _loc3_;
  1667.       }
  1668.      
  1669.       private function onItemPress(param1:Event) : *
  1670.       {
  1671.          var event:Event = param1;
  1672.          var _selectedEntry:Object = this.selectedListEntry;
  1673.          this.ClearStartingFocusPreference();
  1674.          if(this.isOpen && this.AcceptButton.ButtonDisabled != true && this.AcceptButton.ButtonVisible)
  1675.          {
  1676.             switch(this.m_MenuMode)
  1677.             {
  1678.                case MODE_PLAYERVENDING:
  1679.                   if(!this.m_IgnorePlayerVendingItemPress)
  1680.                   {
  1681.                      if(this.m_SelectedList == this.OfferInventory_mc)
  1682.                      {
  1683.                         if(_selectedEntry.isOffered == true)
  1684.                         {
  1685.                            this.SetSelectedItemValues(_selectedEntry);
  1686.                            this.openQuantityModal(this.openConfirmPurchaseModal);
  1687.                            break;
  1688.                         }
  1689.                         if(_selectedEntry.isRequested)
  1690.                         {
  1691.                            this.onCancelRequestItem();
  1692.                            break;
  1693.                         }
  1694.                         this.onRequestItem();
  1695.                         break;
  1696.                      }
  1697.                      if(this.m_ProcessingItemEvent == false)
  1698.                      {
  1699.                         this.SetSelectedItemValues(_selectedEntry);
  1700.                         this.openQuantityModal(this.openSetPriceModal,this.spConfirm_CreatePlayerVendingOffer);
  1701.                         break;
  1702.                      }
  1703.                      break;
  1704.                   }
  1705.                   break;
  1706.                case MODE_NPCVENDING:
  1707.                   this.SetSelectedItemValues(_selectedEntry);
  1708.                   this.openQuantityModal(this.openConfirmPurchaseModal);
  1709.                   break;
  1710.                case MODE_CONTAINER:
  1711.                   if(this.isScrapStash && Boolean(_selectedEntry.scrapAllowed))
  1712.                   {
  1713.                      if(_selectedEntry.count > this.SCRAP_ITEM_COUNT_THRESHOLD)
  1714.                      {
  1715.                         this.openQuantityModal(function():*
  1716.                         {
  1717.                            ShowScrapConfirmModal(false,ModalSetQuantity_mc.quantity,true);
  1718.                         });
  1719.                         break;
  1720.                      }
  1721.                      this.ShowScrapConfirmModal(false,1,true);
  1722.                      break;
  1723.                   }
  1724.                   this.doContainerToPlayerTransfer();
  1725.                   break;
  1726.                case MODE_ALLY:
  1727.                case MODE_DISPLAY_CASE:
  1728.                   if(!this.m_ProcessingItemEvent && this.m_OwnsVendor)
  1729.                   {
  1730.                      if(this.m_SelectedList == this.OfferInventory_mc)
  1731.                      {
  1732.                         if(_selectedEntry.isOffered == true)
  1733.                         {
  1734.                            BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_TRANSFER_ITEM,{
  1735.                               "serverHandleId":this.selectedListEntry.serverHandleId,
  1736.                               "quantity":1,
  1737.                               "fromContainer":true,
  1738.                               "containerID":_selectedEntry.containerID
  1739.                            }));
  1740.                            GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  1741.                            break;
  1742.                         }
  1743.                         this.doContainerToPlayerTransfer();
  1744.                         break;
  1745.                      }
  1746.                      if(this.performContainerWeightCheck(_selectedEntry,1))
  1747.                      {
  1748.                         if(!this.SlotInfo_mc.visible || this.SlotInfo_mc.AreSlotsFull())
  1749.                         {
  1750.                            GlobalFunc.ShowHUDMessage("$SecureTrade_AssignFail_MovingToStash");
  1751.                            this.doContainerToPlayerTransfer();
  1752.                            break;
  1753.                         }
  1754.                         BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_CAMP_DISPLAY_DECORATE_ITEM_IN_SLOT,{
  1755.                            "serverHandleId":this.selectedListEntry.serverHandleId,
  1756.                            "fromContainer":false
  1757.                         }));
  1758.                         GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  1759.                         this.DelayForItemProcessing();
  1760.                         break;
  1761.                      }
  1762.                      break;
  1763.                   }
  1764.                   break;
  1765.                case MODE_CAMP_DISPENSER:
  1766.                case MODE_FERMENTER:
  1767.                case MODE_REFRIGERATOR:
  1768.                case MODE_RECHARGER:
  1769.                   if(!this.m_ProcessingItemEvent && this.m_OwnsVendor)
  1770.                   {
  1771.                      if(this.m_SelectedList == this.OfferInventory_mc)
  1772.                      {
  1773.                         if(_selectedEntry.isOffered == true)
  1774.                         {
  1775.                            BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_TRANSFER_ITEM,{
  1776.                               "serverHandleId":this.selectedListEntry.serverHandleId,
  1777.                               "quantity":1,
  1778.                               "fromContainer":true,
  1779.                               "containerID":_selectedEntry.containerID
  1780.                            }));
  1781.                            GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  1782.                            break;
  1783.                         }
  1784.                         this.doContainerToPlayerTransfer();
  1785.                         break;
  1786.                      }
  1787.                      if(this.performContainerWeightCheck(_selectedEntry,1))
  1788.                      {
  1789.                         if(!this.SlotInfo_mc.visible || this.SlotInfo_mc.AreSlotsFull() || this.m_MenuMode == MODE_FERMENTER && _selectedEntry.currentHealth == -1)
  1790.                         {
  1791.                            GlobalFunc.ShowHUDMessage("$SecureTrade_AssignFail_MovingToStash");
  1792.                            this.doContainerToPlayerTransfer();
  1793.                         }
  1794.                         else
  1795.                         {
  1796.                            BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_CAMP_DISPLAY_ITEM,{
  1797.                               "serverHandleId":this.selectedListEntry.serverHandleId,
  1798.                               "fromContainer":false
  1799.                            }));
  1800.                            this.DelayForItemProcessing();
  1801.                         }
  1802.                         GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  1803.                         break;
  1804.                      }
  1805.                      break;
  1806.                   }
  1807.                   break;
  1808.                case MODE_VENDING_MACHINE:
  1809.                   if(this.m_ProcessingItemEvent)
  1810.                   {
  1811.                      break;
  1812.                   }
  1813.                   if(this.m_OwnsVendor)
  1814.                   {
  1815.                      if(this.m_SelectedList == this.OfferInventory_mc)
  1816.                      {
  1817.                         if(_selectedEntry.vendingData.machineType != SecureTradeShared.MACHINE_TYPE_INVALID)
  1818.                         {
  1819.                            this.openQuantityModal(this.qConfirm_TakePartialFromVendingOffer);
  1820.                            break;
  1821.                         }
  1822.                         this.doContainerToPlayerTransfer();
  1823.                         break;
  1824.                      }
  1825.                      if(!this.SlotInfo_mc.visible || this.SlotInfo_mc.AreSlotsFull())
  1826.                      {
  1827.                         GlobalFunc.ShowHUDMessage("$SecureTrade_AssignFail_MovingToStash");
  1828.                         this.doContainerToPlayerTransfer();
  1829.                         break;
  1830.                      }
  1831.                      this.SetSelectedItemValues(this.selectedListEntry);
  1832.                      this.openQuantityModal(this.openSetPriceModal_CheckWeight,this.spConfirm_CreateCampVendingOffer);
  1833.                      break;
  1834.                   }
  1835.                   if(this.m_SelectedList == this.OfferInventory_mc)
  1836.                   {
  1837.                      this.SetSelectedItemValues(_selectedEntry);
  1838.                      this.openQuantityModal(this.openConfirmPurchaseModal);
  1839.                      break;
  1840.                   }
  1841.                   break;
  1842.             }
  1843.          }
  1844.          else if(this.isOpen && this.ScrapButton.ButtonDisabled != true && this.ScrapButton.ButtonVisible)
  1845.          {
  1846.             switch(this.m_MenuMode)
  1847.             {
  1848.                case MODE_CONTAINER:
  1849.                   if(_selectedEntry.count > this.SCRAP_ITEM_COUNT_THRESHOLD)
  1850.                   {
  1851.                      this.openQuantityModal(function():*
  1852.                      {
  1853.                         ShowScrapConfirmModal(false,ModalSetQuantity_mc.quantity);
  1854.                      });
  1855.                      break;
  1856.                   }
  1857.                   this.ShowScrapConfirmModal(false,1);
  1858.                   break;
  1859.             }
  1860.          }
  1861.       }
  1862.      
  1863.       private function onDeclineItem() : void
  1864.       {
  1865.          if(this.selectedList == this.OfferInventory_mc)
  1866.          {
  1867.             this.SetSelectedItemValues(this.selectedListEntry);
  1868.             this.openDeclineItemModal();
  1869.          }
  1870.       }
  1871.      
  1872.       private function onToggleAssign() : void
  1873.       {
  1874.          var _loc2_:* = false;
  1875.          var _loc1_:Object = this.selectedListEntry;
  1876.          this.ClearSelectedItemValues();
  1877.          this.ClearStartingFocusPreference();
  1878.          if(_loc1_.vendingData.machineType != SecureTradeShared.MACHINE_TYPE_INVALID)
  1879.          {
  1880.             switch(_loc1_.vendingData.machineType)
  1881.             {
  1882.                case SecureTradeShared.MACHINE_TYPE_VENDING:
  1883.                case SecureTradeShared.MACHINE_TYPE_DISPENSER:
  1884.                case SecureTradeShared.MACHINE_TYPE_FERMENTER:
  1885.                case SecureTradeShared.MACHINE_TYPE_REFRIGERATOR:
  1886.                case SecureTradeShared.MACHINE_TYPE_RECHARGER:
  1887.                   BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_CAMP_REMOVE_ITEM,{
  1888.                      "serverHandleId":_loc1_.serverHandleId,
  1889.                      "quantity":_loc1_.count
  1890.                   }));
  1891.                   GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  1892.                   this.DelayForItemProcessing();
  1893.                   break;
  1894.                case SecureTradeShared.MACHINE_TYPE_DISPLAY:
  1895.                case SecureTradeShared.MACHINE_TYPE_ALLY:
  1896.                   BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_CAMP_REMOVE_DECORATE_ITEM_IN_SLOT,{"serverHandleId":_loc1_.serverHandleId}));
  1897.                   GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  1898.                   this.DelayForItemProcessing();
  1899.             }
  1900.          }
  1901.          else if(this.isCampVendingMenuType() && !this.SlotInfo_mc.isSlotDataValid())
  1902.          {
  1903.             GlobalFunc.ShowHUDMessage("$SecureTrade_AssignFail_InvalidData");
  1904.          }
  1905.          else if(this.isCampVendingMenuType() && this.SlotInfo_mc.AreSlotsFull())
  1906.          {
  1907.             GlobalFunc.ShowHUDMessage("$SecureTrade_AssignFail_SlotsFull");
  1908.          }
  1909.          else
  1910.          {
  1911.             switch(this.m_MenuMode)
  1912.             {
  1913.                case MODE_VENDING_MACHINE:
  1914.                   this.SetSelectedItemValues(_loc1_);
  1915.                   this.openQuantityModal(this.openSetPriceModal,this.spConfirm_CreateCampVendingOffer);
  1916.                   break;
  1917.                case MODE_DISPLAY_CASE:
  1918.                case MODE_ALLY:
  1919.                   _loc2_ = this.m_SelectedList == this.OfferInventory_mc;
  1920.                   BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_CAMP_DISPLAY_DECORATE_ITEM_IN_SLOT,{
  1921.                      "serverHandleId":_loc1_.serverHandleId,
  1922.                      "fromContainer":_loc2_
  1923.                   }));
  1924.                   GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  1925.                   this.DelayForItemProcessing();
  1926.                   if(_loc2_ && _loc1_.count > 1)
  1927.                   {
  1928.                      this.SetSelectedItemValues(_loc1_);
  1929.                      this.m_RefreshSelectionOption = REFRESH_SELECTION_NAME_COUNT;
  1930.                      break;
  1931.                   }
  1932.                   break;
  1933.                case MODE_CAMP_DISPENSER:
  1934.                case MODE_FERMENTER:
  1935.                case MODE_REFRIGERATOR:
  1936.                case MODE_RECHARGER:
  1937.                   BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_CAMP_DISPLAY_ITEM,{
  1938.                      "serverHandleId":_loc1_.serverHandleId,
  1939.                      "fromContainer":true
  1940.                   }));
  1941.                   this.DelayForItemProcessing();
  1942.                   if(_loc1_.count > 1)
  1943.                   {
  1944.                      this.SetSelectedItemValues(_loc1_);
  1945.                      this.m_RefreshSelectionOption = REFRESH_SELECTION_NAME_COUNT;
  1946.                      break;
  1947.                   }
  1948.             }
  1949.          }
  1950.       }
  1951.      
  1952.       private function onOffersOnly() : void
  1953.       {
  1954.          if(this.m_PlayerConnected)
  1955.          {
  1956.             this.m_ShowOffersOnly = !this.m_ShowOffersOnly;
  1957.             if(this.m_ShowOffersOnly)
  1958.             {
  1959.                this.InsertRequestedItems(this.m_TheirOffersData,this.m_OtherInvData);
  1960.                this.InsertRequestedItems(this.m_MyOffersData,this.m_PlayerInvData);
  1961.             }
  1962.             this.PopulateOfferInventory(this.m_ShowOffersOnly ? this.m_TheirOffersData : this.m_OtherInvData);
  1963.             this.PopulatePlayerInventory(this.m_ShowOffersOnly ? this.m_MyOffersData : this.m_PlayerInvData);
  1964.          }
  1965.       }
  1966.      
  1967.       private function onRequestItem() : void
  1968.       {
  1969.          BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_REQUEST_ITEM,{"serverHandleId":this.selectedListEntry.serverHandleId}));
  1970.          GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  1971.       }
  1972.      
  1973.       private function onCancelRequestItem() : void
  1974.       {
  1975.          BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_CANCEL_REQUEST_ITEM,{"serverHandleId":this.selectedListEntry.serverHandleId}));
  1976.          GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  1977.       }
  1978.      
  1979.       private function onInspectItem() : void
  1980.       {
  1981.          BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_INSPECT_ITEM,{
  1982.             "serverHandleId":this.selectedListEntry.serverHandleId,
  1983.             "fromContainer":this.selectedList == this.OfferInventory_mc,
  1984.             "containerID":this.selectedListEntry.containerID
  1985.          }));
  1986.          GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  1987.       }
  1988.      
  1989.       private function onScrapButton() : void
  1990.       {
  1991.          this.ShowScrapConfirmModal(false,1);
  1992.       }
  1993.      
  1994.       private function onTakeAll() : void
  1995.       {
  1996.          var _loc1_:* = 0;
  1997.          if(this.OfferInventory_mc.ItemList_mc.List_mc.itemsShown > 11)
  1998.          {
  1999.             this.openConfirmTakeAllModal();
  2000.          }
  2001.          else
  2002.          {
  2003.             _loc1_ = 0;
  2004.             if(this.m_CorpseLootMode)
  2005.             {
  2006.                _loc1_ = this.m_SelectedTab == 0 ? 0 : uint(this.m_ContainerIDs[this.m_SelectedTab - 1]);
  2007.             }
  2008.             BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_TAKE_ALL,{"containerID":_loc1_}));
  2009.          }
  2010.          GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  2011.       }
  2012.      
  2013.       private function ShowScrapConfirmModal(param1:Boolean, param2:uint = 0, param3:Boolean = false) : void
  2014.       {
  2015.          this.m_PreviousFocus = stage.focus;
  2016.          if(param1)
  2017.          {
  2018.             if(param3)
  2019.             {
  2020.                this.ModalConfirmScrap_mc.ShowScrapboxTransferModal();
  2021.             }
  2022.             else
  2023.             {
  2024.                this.ModalConfirmScrap_mc.ShowScrapAllModal();
  2025.             }
  2026.          }
  2027.          else if(param3)
  2028.          {
  2029.             this.ModalConfirmScrap_mc.ShowScrapboxScrapTransferSelectionModal(this.selectedListEntry,param2);
  2030.          }
  2031.          else
  2032.          {
  2033.             this.ModalConfirmScrap_mc.ShowScrapModal(this.selectedListEntry,param2);
  2034.          }
  2035.          this.updateModalActive();
  2036.          this.updateButtonHints();
  2037.          this.disableInput = true;
  2038.       }
  2039.      
  2040.       private function OnSecureTradeScrapConfirmModalClosed(param1:CustomEvent) : void
  2041.       {
  2042.          var _loc2_:Boolean = Boolean(param1.params.accepted);
  2043.          var _loc3_:Boolean = Boolean(param1.params.favorite);
  2044.          stage.focus = this.m_PreviousFocus;
  2045.          this.m_PreviousFocus = null;
  2046.          this.updateModalActive();
  2047.          this.updateButtonHints();
  2048.          this.disableInput = !this.isScrapStash && _loc2_ && !_loc3_;
  2049.       }
  2050.      
  2051.       private function onStoreUnusedItems() : void
  2052.       {
  2053.          if(this.isScrapStash)
  2054.          {
  2055.             this.ShowScrapConfirmModal(true,0,true);
  2056.          }
  2057.          else if(this.m_isWorkbench)
  2058.          {
  2059.             this.ShowScrapConfirmModal(true);
  2060.          }
  2061.          else if(this.isAmmoStash)
  2062.          {
  2063.             BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_TRANSFER_UNUSED_AMMO,{}));
  2064.             GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  2065.          }
  2066.          else
  2067.          {
  2068.             BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_STORE_ALL_JUNK,{}));
  2069.             GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  2070.          }
  2071.       }
  2072.      
  2073.       public function set disableInput(param1:Boolean) : *
  2074.       {
  2075.          this.PlayerInventory_mc.ItemList_mc.List_mc.disableInput_Inspectable = param1;
  2076.          this.PlayerInventory_mc.ItemList_mc.List_mc.disableSelection_Inspectable = param1;
  2077.          this.OfferInventory_mc.ItemList_mc.List_mc.disableInput_Inspectable = param1;
  2078.          this.OfferInventory_mc.ItemList_mc.List_mc.disableSelection_Inspectable = param1;
  2079.          this.ItemCardContainer_mc.visible = true;
  2080.       }
  2081.      
  2082.       public function onQuantityAccepted() : *
  2083.       {
  2084.          dispatchEvent(new Event(QuantityMenu.CONFIRM,true,true));
  2085.          GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  2086.       }
  2087.      
  2088.       public function onPriceAccepted() : *
  2089.       {
  2090.          dispatchEvent(new Event(QuantityMenu.CONFIRM,true,true));
  2091.          GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  2092.       }
  2093.      
  2094.       public function onUpgradeStashAccepted() : void
  2095.       {
  2096.          dispatchEvent(new Event(BCBasicModal.EVENT_CONFIRM,true,true));
  2097.          GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  2098.       }
  2099.      
  2100.       private function openDeclineItemModal() : void
  2101.       {
  2102.          this.ModalDeclineItem_mc.Active = true;
  2103.          this.m_PreviousFocus = stage.focus;
  2104.          stage.focus = this.ModalDeclineItem_mc;
  2105.          this.ModalDeclineItem_mc.ItemServerHandleId = this.selectedListEntry.serverHandleId;
  2106.          this.updateModalActive();
  2107.          this.updateButtonHints();
  2108.          this.disableInput = true;
  2109.       }
  2110.      
  2111.       private function closeDeclineItemModal() : void
  2112.       {
  2113.          if(this.m_PreviousFocus != null)
  2114.          {
  2115.             stage.focus = this.m_PreviousFocus;
  2116.          }
  2117.          this.ModalDeclineItem_mc.Active = false;
  2118.          this.updateModalActive();
  2119.          this.updateButtonHints();
  2120.          this.disableInput = false;
  2121.       }
  2122.      
  2123.       private function openConfirmPurchaseModal() : void
  2124.       {
  2125.          var _loc5_:Number = NaN;
  2126.          this.m_PreviousFocus = stage.focus;
  2127.          var _loc1_:* = this.selectedList == this.OfferInventory_mc;
  2128.          if(_loc1_)
  2129.          {
  2130.             this.ModalConfirmPurchase_mc.header = "$CONFIRMPURCHASE";
  2131.          }
  2132.          else
  2133.          {
  2134.             this.ModalConfirmPurchase_mc.header = "$CONFIRMSALE";
  2135.          }
  2136.          var _loc2_:Number = Math.min(this.selectedListEntry.count,this.ModalSetQuantity_mc.quantity);
  2137.          var _loc3_:Number = !!this.selectedListEntry.isOffered ? Number(this.selectedListEntry.offerValue) : Number(this.selectedListEntry.itemValue);
  2138.          this.ModalConfirmPurchase_mc.value = (_loc3_ * _loc2_).toString();
  2139.          var _loc4_:String = String(this.selectedListEntry.text);
  2140.          this.ModalConfirmPurchase_mc.tooltip = "";
  2141.          if(_loc2_ > 1)
  2142.          {
  2143.             _loc4_ += " (" + _loc2_ + ")";
  2144.          }
  2145.          if(!_loc1_ && this.PlayerInventory_mc.currency + _loc3_ * _loc2_ > this.PlayerInventory_mc.currencyMax)
  2146.          {
  2147.             this.ModalConfirmPurchase_mc.Tooltip_mc.textField.height = this.m_ToolTipDefaultHeight + HEIGHT_BUFFER;
  2148.             _loc5_ = this.PlayerInventory_mc.currencyMax - this.PlayerInventory_mc.currency;
  2149.             this.ModalConfirmPurchase_mc.tooltip = _loc5_ > 0 ? "$SecureTrade_MaxCurrencyWarningDifference" : "$SecureTrade_MaxCurrencyWarning";
  2150.             this.ModalConfirmPurchase_mc.tooltip = this.ModalConfirmPurchase_mc.tooltip.replace("{1}",_loc5_);
  2151.             this.ModalConfirmPurchase_mc.tooltip = this.ModalConfirmPurchase_mc.tooltip.replace("{2}",this.PlayerInventory_mc.currencyName);
  2152.             this.ModalConfirmPurchase_mc.tooltip += "\n\n";
  2153.          }
  2154.          this.ModalConfirmPurchase_mc.tooltip += _loc4_;
  2155.          stage.focus = this.ModalConfirmPurchase_mc;
  2156.          this.ModalConfirmPurchase_mc.open = true;
  2157.          GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_POPUP);
  2158.          this.updateModalActive();
  2159.          this.updateButtonHints();
  2160.          this.disableInput = true;
  2161.       }
  2162.      
  2163.       private function closeConfirmPurchaseModal(param1:Boolean = false) : void
  2164.       {
  2165.          if(this.m_PreviousFocus != null)
  2166.          {
  2167.             stage.focus = this.m_PreviousFocus;
  2168.          }
  2169.          this.ModalConfirmPurchase_mc.open = false;
  2170.          this.ModalConfirmPurchase_mc.Tooltip_mc.textField.height = this.m_ToolTipDefaultHeight;
  2171.          this.m_PreviousFocus = null;
  2172.          this.updateModalActive();
  2173.          this.updateButtonHints();
  2174.          this.disableInput = param1;
  2175.       }
  2176.      
  2177.       private function openConfirmTakeAllModal() : void
  2178.       {
  2179.          this.m_PreviousFocus = stage.focus;
  2180.          this.ModalConfirmTakeAll_mc.header = "$Container_ConfirmTakeAll";
  2181.          stage.focus = this.ModalConfirmTakeAll_mc;
  2182.          this.ModalConfirmTakeAll_mc.open = true;
  2183.          GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_POPUP);
  2184.          this.updateModalActive();
  2185.          this.updateButtonHints();
  2186.          this.disableInput = true;
  2187.       }
  2188.      
  2189.       private function closeConfirmTakeAllModal() : void
  2190.       {
  2191.          if(this.m_PreviousFocus != null)
  2192.          {
  2193.             stage.focus = this.m_PreviousFocus;
  2194.          }
  2195.          this.ModalConfirmTakeAll_mc.open = false;
  2196.          this.m_PreviousFocus = null;
  2197.          this.updateModalActive();
  2198.          this.updateButtonHints();
  2199.          this.disableInput = false;
  2200.       }
  2201.      
  2202.       private function openSetPriceModal() : void
  2203.       {
  2204.          this.ModalSetPrice_mc.tooltip = "$ItemWillBeAvailableForImmediatePurchase";
  2205.          var _loc1_:Number = Math.min(this.selectedListEntry.count,this.ModalSetQuantity_mc.quantity);
  2206.          var _loc2_:String = _loc1_ > 1 ? "$SETPRICEPERITEM" : "$SETITEMPRICE";
  2207.          this.ModalSetPrice_mc.OpenMenuRange(stage.focus,_loc2_,0,MAX_SELL_PRICE,this.selectedListEntry.itemValue,0,true);
  2208.          stage.focus = this.ModalSetPrice_mc;
  2209.          GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_POPUP);
  2210.          this.updateModalActive();
  2211.          this.updateButtonHints();
  2212.          this.disableInput = true;
  2213.       }
  2214.      
  2215.       private function openSetPriceModal_CheckWeight() : void
  2216.       {
  2217.          var _loc1_:* = this.selectedList == this.OfferInventory_mc;
  2218.          var _loc2_:Number = Math.min(this.selectedListEntry.count,this.ModalSetQuantity_mc.quantity);
  2219.          if(_loc1_ || this.performContainerWeightCheck(this.selectedListEntry,_loc2_))
  2220.          {
  2221.             this.openSetPriceModal();
  2222.          }
  2223.       }
  2224.      
  2225.       private function closeSetPriceModal() : void
  2226.       {
  2227.          stage.focus = this.ModalSetPrice_mc.prevFocus;
  2228.          this.ModalSetPrice_mc.CloseMenu(true);
  2229.          this.updateModalActive();
  2230.          this.updateButtonHints();
  2231.          this.disableInput = false;
  2232.       }
  2233.      
  2234.       private function openQuantityModal(param1:Function, param2:Function = null) : void
  2235.       {
  2236.          var _loc3_:int = int(this.selectedListEntry.count);
  2237.          this._OnQuantityConfirmedFn = param1;
  2238.          this._OnSetPriceConfirmedFn = param2;
  2239.          if(_loc3_ == 1)
  2240.          {
  2241.             this.ModalSetQuantity_mc.quantity = 1;
  2242.             param1();
  2243.          }
  2244.          else
  2245.          {
  2246.             this.ModalSetQuantity_mc.tooltip = "";
  2247.             this.ModalSetQuantity_mc.OpenMenuRange(stage.focus,"$SETQUANTITY",1,_loc3_,_loc3_,0);
  2248.             stage.focus = this.ModalSetQuantity_mc;
  2249.             GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_POPUP);
  2250.             this.updateModalActive();
  2251.             this.updateButtonHints();
  2252.             this.disableInput = true;
  2253.          }
  2254.       }
  2255.      
  2256.       private function closeQuantityModal() : void
  2257.       {
  2258.          stage.focus = this.ModalSetQuantity_mc.prevFocus;
  2259.          this.ModalSetQuantity_mc.CloseMenu();
  2260.          this.updateModalActive();
  2261.          this.updateButtonHints();
  2262.          this.disableInput = false;
  2263.       }
  2264.      
  2265.       private function openUpgradeStashModal() : void
  2266.       {
  2267.       }
  2268.      
  2269.       private function closeUpgradeStashModel() : void
  2270.       {
  2271.          stage.focus = this.ModalUpgradeStash_mc.previousFocus;
  2272.          this.ModalUpgradeStash_mc.open = false;
  2273.          this.updateModalActive();
  2274.          this.updateButtonHints();
  2275.          this.disableInput = false;
  2276.       }
  2277.      
  2278.       private function updateCategoryBar() : void
  2279.       {
  2280.          var _loc1_:Boolean = false;
  2281.          this.m_HasNewTab = false;
  2282.          if(!this.m_CorpseLootMode)
  2283.          {
  2284.             this.m_ItemFilters.splice(0);
  2285.             this.m_IsFilteredCategory = true;
  2286.             _loc1_ = this.m_MenuMode == MODE_FERMENTER || this.m_MenuMode == MODE_CAMP_DISPENSER || this.m_MenuMode == MODE_REFRIGERATOR;
  2287.             if(_loc1_)
  2288.             {
  2289.                this.m_ItemFilters.push({
  2290.                   "text":"$InventoryCategoryFoodWater",
  2291.                   "flag":FILTER_FOODWATER
  2292.                });
  2293.             }
  2294.             else if(this.isScrapStash)
  2295.             {
  2296.                this.m_ItemFilters.push({
  2297.                   "text":"$InventoryCategoryJunk",
  2298.                   "flag":FILTER_JUNK
  2299.                });
  2300.             }
  2301.             else if(this.isAmmoStash)
  2302.             {
  2303.                this.m_ItemFilters.push({
  2304.                   "text":"$InventoryCategoryAmmo",
  2305.                   "flag":FILTER_AMMO
  2306.                });
  2307.             }
  2308.             else if(this.m_MenuMode == MODE_ALLY || this.m_SubMenuMode == SecureTradeShared.SUB_MODE_ARMOR_RACK)
  2309.             {
  2310.                this.m_ItemFilters.push({
  2311.                   "text":"$InventoryCategoryArmor",
  2312.                   "flag":FILTER_ARMOR
  2313.                });
  2314.                this.m_ItemFilters.push({
  2315.                   "text":"$InventoryCategoryApparel",
  2316.                   "flag":FILTER_APPAREL
  2317.                });
  2318.             }
  2319.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_WEAPON_DISPLAY)
  2320.             {
  2321.                this.m_ItemFilters.push({
  2322.                   "text":"$InventoryCategoryWeapons",
  2323.                   "flag":FILTER_WEAPONS
  2324.                });
  2325.             }
  2326.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_POWER_ARMOR_DISPLAY)
  2327.             {
  2328.                this.m_ItemFilters.push({
  2329.                   "text":"$InventoryCategoryArmor",
  2330.                   "flag":FILTER_ARMOR
  2331.                });
  2332.             }
  2333.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_APPAREL_DISPLAY)
  2334.             {
  2335.                this.m_ItemFilters.push({
  2336.                   "text":"$InventoryCategoryApparel",
  2337.                   "flag":FILTER_APPAREL
  2338.                });
  2339.             }
  2340.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_AID_DISPLAY)
  2341.             {
  2342.                this.m_ItemFilters.push({
  2343.                   "text":"$InventoryCategoryAid",
  2344.                   "flag":FILTER_AID
  2345.                });
  2346.             }
  2347.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_BOOK_DISPLAY)
  2348.             {
  2349.                this.m_ItemFilters.push({
  2350.                   "text":"$InventoryCategoryNotes",
  2351.                   "flag":FILTER_BOOKS
  2352.                });
  2353.             }
  2354.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_MISC_DISPLAY)
  2355.             {
  2356.                this.m_ItemFilters.push({
  2357.                   "text":"$InventoryCategoryMisc",
  2358.                   "flag":FILTER_MISC
  2359.                });
  2360.             }
  2361.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_JUNK_DISPLAY)
  2362.             {
  2363.                this.m_ItemFilters.push({
  2364.                   "text":"$InventoryCategoryJunk",
  2365.                   "flag":FILTER_JUNK
  2366.                });
  2367.             }
  2368.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_FOODWATER_DISPLAY)
  2369.             {
  2370.                this.m_ItemFilters.push({
  2371.                   "text":"$InventoryCategoryFoodWater",
  2372.                   "flag":FILTER_FOODWATER
  2373.                });
  2374.             }
  2375.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_HOLO_DISPLAY)
  2376.             {
  2377.                this.m_ItemFilters.push({
  2378.                   "text":"$InventoryCategoryHolo",
  2379.                   "flag":FILTER_HOLOTAPES
  2380.                });
  2381.             }
  2382.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_MODS_DISPLAY)
  2383.             {
  2384.                this.m_ItemFilters.push({
  2385.                   "text":"$InventoryCategoryMods",
  2386.                   "flag":FILTER_MODS
  2387.                });
  2388.             }
  2389.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_AMMO_DISPLAY)
  2390.             {
  2391.                this.m_ItemFilters.push({
  2392.                   "text":"$InventoryCategoryAmmo",
  2393.                   "flag":FILTER_AMMO
  2394.                });
  2395.             }
  2396.             else
  2397.             {
  2398.                this.m_IsFilteredCategory = false;
  2399.                if(this.m_MenuMode == MODE_NPCVENDING || this.m_MenuMode == MODE_CONTAINER)
  2400.                {
  2401.                   this.m_HasNewTab = true;
  2402.                   this.m_ItemFilters.push({
  2403.                      "text":"$InventoryCategoryNew",
  2404.                      "flag":FILTER_ALL
  2405.                   });
  2406.                }
  2407.                this.m_ItemFilters.push({
  2408.                   "text":"$INVENTORY",
  2409.                   "flag":FILTER_ALL
  2410.                });
  2411.                if(this.m_MenuMode != MODE_PLAYERVENDING)
  2412.                {
  2413.                   this.m_ItemFilters.push({
  2414.                      "text":"$InventoryCategoryFavorites",
  2415.                      "flag":FILTER_FAVORITES
  2416.                   });
  2417.                }
  2418.                this.m_ItemFilters.push({
  2419.                   "text":"$InventoryCategoryWeapons",
  2420.                   "flag":FILTER_WEAPONS
  2421.                });
  2422.                this.m_ItemFilters.push({
  2423.                   "text":"$InventoryCategoryArmor",
  2424.                   "flag":FILTER_ARMOR
  2425.                });
  2426.                this.m_ItemFilters.push({
  2427.                   "text":"$InventoryCategoryApparel",
  2428.                   "flag":FILTER_APPAREL
  2429.                });
  2430.                this.m_ItemFilters.push({
  2431.                   "text":"$InventoryCategoryFoodWater",
  2432.                   "flag":FILTER_FOODWATER
  2433.                });
  2434.                this.m_ItemFilters.push({
  2435.                   "text":"$InventoryCategoryAid",
  2436.                   "flag":FILTER_AID
  2437.                });
  2438.                this.m_ItemFilters.push({
  2439.                   "text":"$InventoryCategoryMisc",
  2440.                   "flag":FILTER_MISC
  2441.                });
  2442.                this.m_ItemFilters.push({
  2443.                   "text":"$InventoryCategoryHolo",
  2444.                   "flag":FILTER_HOLOTAPES
  2445.                });
  2446.                this.m_ItemFilters.push({
  2447.                   "text":"$InventoryCategoryNotes",
  2448.                   "flag":FILTER_BOOKS
  2449.                });
  2450.                this.m_ItemFilters.push({
  2451.                   "text":"$InventoryCategoryJunk",
  2452.                   "flag":FILTER_JUNK
  2453.                });
  2454.                this.m_ItemFilters.push({
  2455.                   "text":"$InventoryCategoryMods",
  2456.                   "flag":FILTER_MODS
  2457.                });
  2458.                this.m_ItemFilters.push({
  2459.                   "text":"$InventoryCategoryAmmo",
  2460.                   "flag":FILTER_AMMO
  2461.                });
  2462.             }
  2463.             this.m_TabMax = this.m_ItemFilters.length;
  2464.             this.CategoryBar_mc.Clear();
  2465.             this.CategoryBar_mc.forceUppercase = false;
  2466.             if(_loc1_)
  2467.             {
  2468.                this.CategoryBar_mc.maxVisible = 1;
  2469.                this.CategoryBar_mc.AddLabel("$InventoryCategoryFoodWater",FILTER_FOODWATER,true);
  2470.             }
  2471.             else if(this.isScrapStash)
  2472.             {
  2473.                this.CategoryBar_mc.maxVisible = 1;
  2474.                this.CategoryBar_mc.AddLabel("$InventoryCategoryJunk",FILTER_JUNK,true);
  2475.             }
  2476.             else if(this.isAmmoStash)
  2477.             {
  2478.                this.CategoryBar_mc.maxVisible = 1;
  2479.                this.CategoryBar_mc.AddLabel("$InventoryCategoryAmmo",FILTER_AMMO,true);
  2480.             }
  2481.             else if(this.m_MenuMode == MODE_ALLY || this.m_SubMenuMode == SecureTradeShared.SUB_MODE_ARMOR_RACK)
  2482.             {
  2483.                this.CategoryBar_mc.maxVisible = 2;
  2484.                this.CategoryBar_mc.AddLabel("$InventoryCategoryArmor",FILTER_ARMOR,true);
  2485.                this.CategoryBar_mc.AddLabel("$InventoryCategoryApparel",FILTER_APPAREL,true);
  2486.             }
  2487.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_WEAPON_DISPLAY)
  2488.             {
  2489.                this.CategoryBar_mc.maxVisible = 1;
  2490.                this.CategoryBar_mc.AddLabel("$InventoryCategoryWeapons",FILTER_WEAPONS,true);
  2491.             }
  2492.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_POWER_ARMOR_DISPLAY)
  2493.             {
  2494.                this.CategoryBar_mc.maxVisible = 1;
  2495.                this.CategoryBar_mc.AddLabel("$InventoryCategoryArmor",FILTER_ARMOR,true);
  2496.             }
  2497.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_APPAREL_DISPLAY)
  2498.             {
  2499.                this.CategoryBar_mc.maxVisible = 1;
  2500.                this.CategoryBar_mc.AddLabel("$InventoryCategoryApparel",FILTER_APPAREL,true);
  2501.             }
  2502.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_AID_DISPLAY)
  2503.             {
  2504.                this.CategoryBar_mc.maxVisible = 1;
  2505.                this.CategoryBar_mc.AddLabel("$InventoryCategoryAid",FILTER_AID,true);
  2506.             }
  2507.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_BOOK_DISPLAY)
  2508.             {
  2509.                this.CategoryBar_mc.maxVisible = 1;
  2510.                this.CategoryBar_mc.AddLabel("$InventoryCategoryNotes",FILTER_BOOKS,true);
  2511.             }
  2512.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_MISC_DISPLAY)
  2513.             {
  2514.                this.CategoryBar_mc.maxVisible = 1;
  2515.                this.CategoryBar_mc.AddLabel("$InventoryCategoryMisc",FILTER_MISC,true);
  2516.             }
  2517.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_JUNK_DISPLAY)
  2518.             {
  2519.                this.CategoryBar_mc.maxVisible = 1;
  2520.                this.CategoryBar_mc.AddLabel("$InventoryCategoryJunk",FILTER_JUNK,true);
  2521.             }
  2522.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_FOODWATER_DISPLAY)
  2523.             {
  2524.                this.CategoryBar_mc.maxVisible = 1;
  2525.                this.CategoryBar_mc.AddLabel("$InventoryCategoryFoodWater",FILTER_FOODWATER,true);
  2526.             }
  2527.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_HOLO_DISPLAY)
  2528.             {
  2529.                this.CategoryBar_mc.maxVisible = 1;
  2530.                this.CategoryBar_mc.AddLabel("$InventoryCategoryHolo",FILTER_HOLOTAPES,true);
  2531.             }
  2532.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_MODS_DISPLAY)
  2533.             {
  2534.                this.CategoryBar_mc.maxVisible = 1;
  2535.                this.CategoryBar_mc.AddLabel("$InventoryCategoryMods",FILTER_MODS,true);
  2536.             }
  2537.             else if(this.m_MenuMode == MODE_DISPLAY_CASE && this.m_SubMenuMode == SecureTradeShared.SUB_MODE_AMMO_DISPLAY)
  2538.             {
  2539.                this.CategoryBar_mc.maxVisible = 1;
  2540.                this.CategoryBar_mc.AddLabel("$InventoryCategoryAmmo",FILTER_AMMO,true);
  2541.             }
  2542.             else
  2543.             {
  2544.                this.CategoryBar_mc.maxVisible = 9;
  2545.                if(this.m_MenuMode == MODE_NPCVENDING || this.m_MenuMode == MODE_CONTAINER)
  2546.                {
  2547.                   this.CategoryBar_mc.AddLabel("$InventoryCategoryNew",FILTER_NEW_ID,true);
  2548.                }
  2549.                this.CategoryBar_mc.AddLabel("$INVENTORY",FILTER_ALL,true);
  2550.                if(this.m_MenuMode != MODE_PLAYERVENDING)
  2551.                {
  2552.                   this.CategoryBar_mc.AddLabel("$InventoryCategoryFavorites",FILTER_FAVORITES,true);
  2553.                }
  2554.                this.CategoryBar_mc.AddLabel("$InventoryCategoryWeapons",FILTER_WEAPONS,true);
  2555.                this.CategoryBar_mc.AddLabel("$InventoryCategoryArmor",FILTER_ARMOR,true);
  2556.                this.CategoryBar_mc.AddLabel("$InventoryCategoryApparel",FILTER_APPAREL,true);
  2557.                this.CategoryBar_mc.AddLabel("$InventoryCategoryFoodWater",FILTER_FOODWATER,true);
  2558.                this.CategoryBar_mc.AddLabel("$InventoryCategoryAid",FILTER_AID,true);
  2559.                this.CategoryBar_mc.AddLabel("$InventoryCategoryMisc",FILTER_MISC,true);
  2560.                this.CategoryBar_mc.AddLabel("$InventoryCategoryHolo",FILTER_HOLOTAPES,true);
  2561.                this.CategoryBar_mc.AddLabel("$InventoryCategoryNotes",FILTER_BOOKS,true);
  2562.                this.CategoryBar_mc.AddLabel("$InventoryCategoryJunk",FILTER_JUNK,true);
  2563.                this.CategoryBar_mc.AddLabel("$InventoryCategoryMods",FILTER_MODS,true);
  2564.                this.CategoryBar_mc.AddLabel("$InventoryCategoryAmmo",FILTER_AMMO,true);
  2565.             }
  2566.             this.CategoryBar_mc.Finalize();
  2567.             this.CategoryBar_mc.SetSelection(this.selectedTab,true,false);
  2568.             this.m_SelectedTabForceChange = true;
  2569.             this.selectedTab = this.m_SelectedTab;
  2570.          }
  2571.       }
  2572.      
  2573.       private function ModeToButtonSwitchText(param1:uint) : String
  2574.       {
  2575.          if(this.isScrapStash)
  2576.          {
  2577.             return "$LimitedTypeStorageOverrideName_Scrap";
  2578.          }
  2579.          if(this.isAmmoStash)
  2580.          {
  2581.             return "$LimitedTypeStorageOverrideName_Ammo";
  2582.          }
  2583.          switch(param1)
  2584.          {
  2585.             case MODE_CONTAINER:
  2586.                return "$CONTAINER";
  2587.             case MODE_NPCVENDING:
  2588.                return "$VENDOR";
  2589.             case MODE_PLAYERVENDING:
  2590.                return this.m_DefaultHeaderText;
  2591.             case MODE_VENDING_MACHINE:
  2592.                return "$VENDOR";
  2593.             case MODE_DISPLAY_CASE:
  2594.                return "$DISPLAY";
  2595.             case MODE_FERMENTER:
  2596.                return "$FERMENTER";
  2597.             case MODE_REFRIGERATOR:
  2598.                return "$REFRIGERATOR";
  2599.             case MODE_RECHARGER:
  2600.                return "$RECHARGER";
  2601.             case MODE_CAMP_DISPENSER:
  2602.                return "$DISPENSER";
  2603.             case MODE_ALLY:
  2604.                return "$ALLY";
  2605.             default:
  2606.                return "";
  2607.          }
  2608.       }
  2609.      
  2610.       private function UpdateButtonToggleAssignText(param1:Object) : void
  2611.       {
  2612.          this.ButtonToggleAssign.ButtonEnabled = true;
  2613.          switch(param1.vendingData.machineType)
  2614.          {
  2615.             case SecureTradeShared.MACHINE_TYPE_INVALID:
  2616.                this.ButtonToggleAssign.ButtonText = this.m_MenuMode == SecureTradeShared.MACHINE_TYPE_VENDING ? "$SELL" : "$SecureTrade_InsertItem";
  2617.                this.ButtonToggleAssign.ButtonEnabled = param1.vendingData.assignEnabled;
  2618.                break;
  2619.             case SecureTradeShared.MACHINE_TYPE_VENDING:
  2620.                this.ButtonToggleAssign.ButtonText = "$CANCEL SALE";
  2621.                break;
  2622.             case SecureTradeShared.MACHINE_TYPE_DISPLAY:
  2623.             case SecureTradeShared.MACHINE_TYPE_DISPENSER:
  2624.             case SecureTradeShared.MACHINE_TYPE_FERMENTER:
  2625.             case SecureTradeShared.MACHINE_TYPE_REFRIGERATOR:
  2626.             case SecureTradeShared.MACHINE_TYPE_RECHARGER:
  2627.             case SecureTradeShared.MACHINE_TYPE_ALLY:
  2628.                this.ButtonToggleAssign.ButtonText = "$SecureTrade_RemoveDisplayedItem";
  2629.                this.ButtonToggleAssign.ButtonEnabled = param1.vendingData.unassignEnabled;
  2630.          }
  2631.          this.ButtonToggleAssign.ButtonVisible = !param1.vendingData.readOnly;
  2632.       }
  2633.      
  2634.       private function updateButtonHints() : void
  2635.       {
  2636.          var _loc1_:* = null;
  2637.          var _loc2_:Object = null;
  2638.          var _loc3_:* = false;
  2639.          var _loc4_:* = false;
  2640.          var _loc5_:Boolean = false;
  2641.          var _loc6_:Boolean = false;
  2642.          var _loc7_:* = null;
  2643.          if(this.selectedList == null)
  2644.          {
  2645.             return;
  2646.          }
  2647.          this.DeclineItemAcceptButton.ButtonVisible = this.ModalDeclineItem_mc.Active;
  2648.          this.DeclineItemCancelButton.ButtonVisible = this.ModalDeclineItem_mc.Active;
  2649.          if(this.modalActive)
  2650.          {
  2651.             for each(_loc1_ in this.ButtonHintDataV)
  2652.             {
  2653.                if(_loc1_ != this.DeclineItemAcceptButton && _loc1_ != this.DeclineItemCancelButton)
  2654.                {
  2655.                   _loc1_.ButtonVisible = false;
  2656.                }
  2657.             }
  2658.          }
  2659.          else
  2660.          {
  2661.             _loc2_ = this.selectedListEntry;
  2662.             _loc3_ = this.selectedList == this.PlayerInventory_mc;
  2663.             _loc4_ = this.selectedList == this.OfferInventory_mc;
  2664.             _loc5_ = this.selectedList == null || _loc2_ == null;
  2665.             this.ButtonPlayerInventory.ButtonVisible = uiController != PlatformChangeEvent.PLATFORM_PC_KB_MOUSE && this.OfferInventory_mc.Active && !this.m_onlyGivingAllowed && !this.m_onlyTakingAllowed && !this.m_isWorkbench && !this.m_PlayerInventoryEmpty;
  2666.             this.ButtonContainerInventory.ButtonVisible = uiController != PlatformChangeEvent.PLATFORM_PC_KB_MOUSE && this.PlayerInventory_mc.Active && !this.m_onlyGivingAllowed && !this.m_onlyTakingAllowed && !this.m_isWorkbench && !this.m_ContainerEmpty;
  2667.             this.SortButton.ButtonVisible = true;
  2668.             this.SortButton.ButtonText = this.m_SortFieldText[!!_loc3_ ? this.m_PlayerInventorySortField : this.m_OfferInventorySortField];
  2669.             this.ExitButton.ButtonVisible = true;
  2670.             this.InspectButton.ButtonDisabled = this.selectedList == null || _loc2_ == null;
  2671.             this.ScrapButton.ButtonVisible = !_loc5_ && (this.m_isWorkbench || this.m_isWorkshop) && this.m_scrapAllowedFlag != 0;
  2672.             if(this.ScrapButton.ButtonVisible)
  2673.             {
  2674.                this.ScrapButton.ButtonDisabled = _loc2_.scrapAllowed != true || (_loc2_.filterFlag & this.m_scrapAllowedFlag) == 0;
  2675.             }
  2676.             this.StoreUnusedItemsButton.ButtonVisible = this.m_isWorkbench || this.m_isWorkshop || this.m_isStash || this.isLimitedStorage;
  2677.             if(this.StoreUnusedItemsButton.ButtonVisible)
  2678.             {
  2679.                if(this.isScrapStash)
  2680.                {
  2681.                   _loc6_ = false;
  2682.                   for each(_loc7_ in this.PlayerInventory_mc.ItemList_mc.List_mc.MenuListData)
  2683.                   {
  2684.                      if(Boolean(_loc7_.isAutoScrappable) || Boolean(_loc7_.canGoIntoScrapStash))
  2685.                      {
  2686.                         _loc6_ = true;
  2687.                         break;
  2688.                      }
  2689.                   }
  2690.                   this.StoreUnusedItemsButton.ButtonDisabled = !this.m_IsFollowerOfZeus || !_loc6_;
  2691.                   this.StoreUnusedItemsButton.ButtonText = "$SCRAPBOXSCRAPANDSTORE";
  2692.                }
  2693.                else if(this.isAmmoStash)
  2694.                {
  2695.                   this.StoreUnusedItemsButton.ButtonDisabled = !this.m_IsFollowerOfZeus || !this.m_transferUnusedAmmoAllowed;
  2696.                   this.StoreUnusedItemsButton.ButtonText = "$TRANSFERUNUSED";
  2697.                }
  2698.                else
  2699.                {
  2700.                   this.StoreUnusedItemsButton.ButtonDisabled = this.m_isWorkbench ? !this.m_playerHasAutoScrappableJunkItems : !this.m_playerHasMiscItems;
  2701.                   this.StoreUnusedItemsButton.ButtonText = this.m_isWorkbench ? "$ScrapAllJunk" : "$StoreAllJunk";
  2702.                }
  2703.             }
  2704.             this.UpgradeStashButton.ButtonVisible = false;
  2705.             this.ToggleShowMarkedItemsOnlyButton.ButtonVisible = this.isCampVendingMenuType() && this.m_OwnsVendor;
  2706.             switch(this.m_FilterItemsOption)
  2707.             {
  2708.                case FILTER_OPTION_NONE:
  2709.                   this.ToggleShowMarkedItemsOnlyButton.ButtonText = "$SecureTrade_ToggleShowMarked_ShowMarkedOnly";
  2710.                   break;
  2711.                case FILTER_OPTION_THIS_MACHINE:
  2712.                   this.ToggleShowMarkedItemsOnlyButton.ButtonText = "$SecureTrade_ToggleShowMarked_ShowMarkedAndStash";
  2713.                   break;
  2714.                case FILTER_OPTION_THIS_MACHINE_AND_STASH:
  2715.                   this.ToggleShowMarkedItemsOnlyButton.ButtonText = "$SecureTrade_ToggleShowMarked_ShowAll";
  2716.             }
  2717.             this.AcceptButton.ButtonVisible = !this.m_isWorkbench && !_loc5_;
  2718.             switch(this.m_MenuMode)
  2719.             {
  2720.                case MODE_CONTAINER:
  2721.                   this.ButtonDecline.ButtonVisible = false;
  2722.                   this.ButtonToggleAssign.ButtonVisible = Boolean(_loc2_) && _loc4_ && _loc2_.vendingData.machineType != SecureTradeShared.MACHINE_TYPE_INVALID;
  2723.                   if(this.ButtonToggleAssign.ButtonVisible)
  2724.                   {
  2725.                      this.UpdateButtonToggleAssignText(_loc2_);
  2726.                   }
  2727.                   this.InspectButton.ButtonVisible = true;
  2728.                   if(this.AcceptButton.ButtonVisible)
  2729.                   {
  2730.                      this.AcceptButton.ButtonDisabled = false;
  2731.                      if(_loc4_)
  2732.                      {
  2733.                         this.AcceptButton.ButtonText = this.m_AcceptBtnText_Container;
  2734.                      }
  2735.                      else if(this.isScrapStash && Boolean(_loc2_.scrapAllowed))
  2736.                      {
  2737.                         this.AcceptButton.ButtonText = "$SCRAP";
  2738.                      }
  2739.                      else
  2740.                      {
  2741.                         this.AcceptButton.ButtonText = this.m_AcceptBtnText_Player;
  2742.                      }
  2743.                   }
  2744.                   this.TakeAllButton.ButtonVisible = !this.m_isWorkbench && !this.m_isCamp && !this.m_isStash && !this.m_onlyGivingAllowed && !this.isLimitedStorage;
  2745.                   if(this.TakeAllButton.ButtonVisible)
  2746.                   {
  2747.                      this.TakeAllButton.ButtonText = this.m_TakeAllBtnText;
  2748.                   }
  2749.                   this.ButtonOffersOnly.ButtonVisible = false;
  2750.                   break;
  2751.                case MODE_NPCVENDING:
  2752.                   this.ButtonDecline.ButtonVisible = _loc4_ && _loc2_ != null && Boolean(_loc2_.isOffered);
  2753.                   this.ButtonToggleAssign.ButtonVisible = false;
  2754.                   this.InspectButton.ButtonVisible = true;
  2755.                   if(this.AcceptButton.ButtonVisible)
  2756.                   {
  2757.                      this.AcceptButton.ButtonDisabled = !_loc4_ && this.m_VendorSellOnly;
  2758.                      this.AcceptButton.ButtonText = !!_loc4_ ? "$BUY" : "$SELL";
  2759.                   }
  2760.                   this.TakeAllButton.ButtonVisible = false;
  2761.                   this.ButtonOffersOnly.ButtonVisible = false;
  2762.                   break;
  2763.                case MODE_PLAYERVENDING:
  2764.                   this.ButtonDecline.ButtonVisible = _loc4_ && _loc2_ != null && Boolean(_loc2_.isOffered);
  2765.                   this.ButtonToggleAssign.ButtonVisible = false;
  2766.                   this.InspectButton.ButtonVisible = true;
  2767.                   if(this.AcceptButton.ButtonVisible)
  2768.                   {
  2769.                      this.AcceptButton.ButtonDisabled = _loc4_ && _loc2_.isTradable == false;
  2770.                      if(_loc4_)
  2771.                      {
  2772.                         this.AcceptButton.ButtonText = !!_loc2_.isOffered ? "$BUY" : (!!_loc2_.isRequested ? "$CANCEL" : "$REQUEST");
  2773.                      }
  2774.                      else
  2775.                      {
  2776.                         this.AcceptButton.ButtonText = "$OFFER";
  2777.                      }
  2778.                   }
  2779.                   this.TakeAllButton.ButtonVisible = false;
  2780.                   this.ButtonOffersOnly.ButtonVisible = true;
  2781.                   this.ButtonOffersOnly.ButtonText = this.m_ShowOffersOnly ? "$SHOWALL" : "$OFFERSONLY";
  2782.                   this.ButtonOffersOnly.ButtonDisabled = !this.m_PlayerConnected;
  2783.                   break;
  2784.                case MODE_VENDING_MACHINE:
  2785.                   this.ButtonDecline.ButtonVisible = false;
  2786.                   this.ButtonToggleAssign.ButtonVisible = this.m_OwnsVendor && _loc2_ != null && _loc4_;
  2787.                   if(this.ButtonToggleAssign.ButtonVisible)
  2788.                   {
  2789.                      this.UpdateButtonToggleAssignText(_loc2_);
  2790.                   }
  2791.                   this.InspectButton.ButtonVisible = true;
  2792.                   if(_loc3_ && !this.m_OwnsVendor)
  2793.                   {
  2794.                      this.AcceptButton.ButtonVisible = false;
  2795.                   }
  2796.                   if(this.AcceptButton.ButtonVisible)
  2797.                   {
  2798.                      this.AcceptButton.ButtonDisabled = false;
  2799.                      if(this.m_OwnsVendor)
  2800.                      {
  2801.                         this.AcceptButton.ButtonText = !!_loc4_ ? this.m_AcceptBtnText_Container : "$SELL";
  2802.                      }
  2803.                      else
  2804.                      {
  2805.                         this.AcceptButton.ButtonText = "$BUY";
  2806.                      }
  2807.                   }
  2808.                   this.TakeAllButton.ButtonVisible = false;
  2809.                   this.ButtonOffersOnly.ButtonVisible = false;
  2810.                   break;
  2811.                case MODE_DISPLAY_CASE:
  2812.                case MODE_ALLY:
  2813.                case MODE_FERMENTER:
  2814.                case MODE_REFRIGERATOR:
  2815.                case MODE_RECHARGER:
  2816.                case MODE_CAMP_DISPENSER:
  2817.                   this.ButtonDecline.ButtonVisible = false;
  2818.                   this.ButtonToggleAssign.ButtonVisible = this.m_OwnsVendor && _loc2_ != null && _loc4_;
  2819.                   if(this.ButtonToggleAssign.ButtonVisible)
  2820.                   {
  2821.                      this.ButtonToggleAssign.ButtonDisabled = this.m_ProcessingItemEvent;
  2822.                      this.UpdateButtonToggleAssignText(_loc2_);
  2823.                   }
  2824.                   this.InspectButton.ButtonVisible = true;
  2825.                   if(_loc3_ && !this.m_OwnsVendor)
  2826.                   {
  2827.                      this.AcceptButton.ButtonVisible = false;
  2828.                   }
  2829.                   if(this.AcceptButton.ButtonVisible)
  2830.                   {
  2831.                      this.AcceptButton.ButtonDisabled = this.m_ProcessingItemEvent;
  2832.                      this.AcceptButton.ButtonText = !!_loc4_ ? this.m_AcceptBtnText_Container : this.m_AcceptBtnText_Player_Assign;
  2833.                   }
  2834.                   this.TakeAllButton.ButtonVisible = false;
  2835.                   this.ButtonOffersOnly.ButtonVisible = false;
  2836.             }
  2837.             if(this.ButtonContainerInventory.ButtonVisible)
  2838.             {
  2839.                this.ButtonContainerInventory.ButtonText = this.ModeToButtonSwitchText(this.m_MenuMode);
  2840.             }
  2841.          }
  2842.       }
  2843.      
  2844.       private function updateInventoryFocus() : void
  2845.       {
  2846.          if(this.m_onlyTakingAllowed)
  2847.          {
  2848.             if(this.selectedList != this.OfferInventory_mc)
  2849.             {
  2850.                this.onSwapInventoryContainer();
  2851.             }
  2852.          }
  2853.          else if(this.m_onlyGivingAllowed || this.m_isWorkbench)
  2854.          {
  2855.             if(this.selectedList != this.PlayerInventory_mc)
  2856.             {
  2857.                this.onSwapInventoryPlayer();
  2858.             }
  2859.          }
  2860.          else if(!this.m_PlayerInventoryEmpty && !this.m_ContainerEmpty && this.m_StartingFocusPref != STARTING_FOCUS_PREF_NONE)
  2861.          {
  2862.             if(this.m_StartingFocusPref == STARTING_FOCUS_PREF_PLAYER)
  2863.             {
  2864.                this.onSwapInventoryPlayer();
  2865.             }
  2866.             else if(this.m_StartingFocusPref == STARTING_FOCUS_PREF_CONTAINER)
  2867.             {
  2868.                this.onSwapInventoryContainer();
  2869.             }
  2870.             this.m_StartingFocusPref = STARTING_FOCUS_PREF_NONE;
  2871.          }
  2872.          else if(this.m_PlayerInventoryEmpty && !this.m_ContainerEmpty && this.selectedList == this.PlayerInventory_mc)
  2873.          {
  2874.             this.onSwapInventoryContainer();
  2875.          }
  2876.          else if(!this.m_CorpseLootMode && this.m_ContainerEmpty && !this.m_PlayerInventoryEmpty && this.selectedList == this.OfferInventory_mc)
  2877.          {
  2878.             this.onSwapInventoryPlayer();
  2879.          }
  2880.       }
  2881.      
  2882.       private function onBackButton() : void
  2883.       {
  2884.          this.ClearSelectedItemValues();
  2885.          var _loc1_:Boolean = true;
  2886.          if(this.ModalSetPrice_mc.opened)
  2887.          {
  2888.             if(this.ModalSetPrice_mc.inTextInputMode)
  2889.             {
  2890.                this.ModalSetPrice_mc.CancelTextInput();
  2891.             }
  2892.             else
  2893.             {
  2894.                this.closeSetPriceModal();
  2895.             }
  2896.          }
  2897.          else if(this.ModalSetQuantity_mc.opened)
  2898.          {
  2899.             if(this.ModalSetQuantity_mc.inTextInputMode)
  2900.             {
  2901.                this.ModalSetQuantity_mc.CancelTextInput();
  2902.             }
  2903.             else
  2904.             {
  2905.                this.closeQuantityModal();
  2906.             }
  2907.          }
  2908.          else if(this.ModalDeclineItem_mc.Active)
  2909.          {
  2910.             this.closeDeclineItemModal();
  2911.          }
  2912.          else if(this.ModalConfirmPurchase_mc.open)
  2913.          {
  2914.             this.closeConfirmPurchaseModal();
  2915.          }
  2916.          else if(this.ModalConfirmTakeAll_mc.open)
  2917.          {
  2918.             this.closeConfirmTakeAllModal();
  2919.          }
  2920.          else if(this.ModalConfirmScrap_mc.open)
  2921.          {
  2922.             this.ModalConfirmScrap_mc.HandleSecondaryAction();
  2923.             _loc1_ = false;
  2924.          }
  2925.          else if(this.ModalUpgradeStash_mc.open)
  2926.          {
  2927.             this.closeUpgradeStashModel();
  2928.          }
  2929.          else
  2930.          {
  2931.             BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_MENU_EXIT,{}));
  2932.          }
  2933.          if(_loc1_)
  2934.          {
  2935.             GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_CANCEL);
  2936.          }
  2937.       }
  2938.      
  2939.       private function onUpgradeButton() : void
  2940.       {
  2941.          this.openUpgradeStashModal();
  2942.       }
  2943.      
  2944.       private function onSwapInventoryPlayer() : void
  2945.       {
  2946.          this.selectedList = this.PlayerInventory_mc as SecureTradeInventory;
  2947.          if(uiController != PlatformChangeEvent.PLATFORM_PC_KB_MOUSE && this.selectedList.ItemList_mc.List_mc.selectedIndex == -1)
  2948.          {
  2949.             this.selectedList.ItemList_mc.List_mc.selectedIndex = 0;
  2950.          }
  2951.          this.updateButtonHints();
  2952.       }
  2953.      
  2954.       private function onSwapInventoryContainer() : void
  2955.       {
  2956.          this.selectedList = this.OfferInventory_mc as SecureTradeInventory;
  2957.          if(uiController != PlatformChangeEvent.PLATFORM_PC_KB_MOUSE && this.selectedList.ItemList_mc.List_mc.selectedIndex == -1)
  2958.          {
  2959.             this.selectedList.ItemList_mc.List_mc.selectedIndex = 0;
  2960.          }
  2961.          this.updateButtonHints();
  2962.       }
  2963.      
  2964.       private function onRequestSort(param1:Boolean = true) : void
  2965.       {
  2966.          var _loc2_:* = 0;
  2967.          if(this.isScrapStash)
  2968.          {
  2969.             _loc2_ = this.JUNK_TAB_INDEX;
  2970.          }
  2971.          else if(this.isAmmoStash)
  2972.          {
  2973.             _loc2_ = this.AMMO_TAB_INDEX;
  2974.          }
  2975.          else if(this.m_MenuMode == MODE_PLAYERVENDING)
  2976.          {
  2977.             if(this.m_SelectedTab > this.PLAYERVENDING_WEAPONS_TAB_INDEX)
  2978.             {
  2979.                _loc2_ = this.m_SelectedTab - this.PLAYERVENDING_WEAPONS_TAB_INDEX;
  2980.             }
  2981.          }
  2982.          else if(this.m_SelectedTab >= this.WEAPONS_TAB_INDEX)
  2983.          {
  2984.             _loc2_ = this.m_SelectedTab - 1;
  2985.          }
  2986.          BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_REQUEST_SORT,{
  2987.             "isPlayerInventory":this.selectedList == this.PlayerInventory_mc,
  2988.             "filter":_loc2_,
  2989.             "incrementSort":param1,
  2990.             "tabIndex":this.m_SelectedTab
  2991.          }));
  2992.       }
  2993.      
  2994.       private function onAccept() : void
  2995.       {
  2996.          var _loc2_:* = 0;
  2997.          var _loc1_:Boolean = true;
  2998.          if(this.ModalConfirmPurchase_mc.open)
  2999.          {
  3000.             this.onConfirmPurchaseAccept();
  3001.          }
  3002.          else if(this.ModalConfirmTakeAll_mc.open)
  3003.          {
  3004.             _loc2_ = 0;
  3005.             if(this.m_CorpseLootMode)
  3006.             {
  3007.                _loc2_ = this.m_SelectedTab == 0 ? 0 : uint(this.m_ContainerIDs[this.m_SelectedTab - 1]);
  3008.             }
  3009.             BSUIDataManager.dispatchEvent(new CustomEvent(EVENT_TAKE_ALL,{"containerID":_loc2_}));
  3010.          }
  3011.          else if(this.ModalConfirmScrap_mc.open)
  3012.          {
  3013.             this.ModalConfirmScrap_mc.HandlePrimaryAction();
  3014.             _loc1_ = false;
  3015.          }
  3016.          else if(this.ModalUpgradeStash_mc.open)
  3017.          {
  3018.             this.onUpgradeStashAccepted();
  3019.          }
  3020.          if(_loc1_)
  3021.          {
  3022.             GlobalFunc.PlayMenuSound(GlobalFunc.MENU_SOUND_OK);
  3023.          }
  3024.       }
  3025.      
  3026.       private function selectItemViaHandleID(param1:MenuListComponent) : void
  3027.       {
  3028.          var _loc2_:Array = null;
  3029.          var _loc3_:Number = 0;
  3030.          var _loc4_:Boolean = false;
  3031.          if(!this.selectedListEntry || this.selectedListEntry.serverHandleId != this.m_SelectedItemServerHandleId)
  3032.          {
  3033.             _loc2_ = param1.List_mc.MenuListData;
  3034.             _loc3_ = 0;
  3035.             while(_loc3_ < _loc2_.length)
  3036.             {
  3037.                if(_loc2_[_loc3_].serverHandleId == this.m_SelectedItemServerHandleId)
  3038.                {
  3039.                   _loc4_ = param1.disableSelection_Inspectable;
  3040.                   param1.disableSelection_Inspectable = false;
  3041.                   param1.setSelectedIndex(_loc3_);
  3042.                   param1.disableSelection_Inspectable = _loc4_;
  3043.                   break;
  3044.                }
  3045.                _loc3_++;
  3046.             }
  3047.          }
  3048.       }
  3049.      
  3050.       private function selectStackViaNameCount(param1:MenuListComponent, param2:String, param3:Number) : void
  3051.       {
  3052.          var _loc4_:Array = null;
  3053.          var _loc5_:Number = 0;
  3054.          var _loc6_:Boolean = false;
  3055.          if(!this.selectedListEntry || this.selectedListEntry.text != param2 || this.selectedListEntry.count != param3 || this.selectedListEntry.vendingData.machineType != SecureTradeShared.MACHINE_TYPE_INVALID)
  3056.          {
  3057.             _loc4_ = param1.List_mc.MenuListData;
  3058.             _loc5_ = 0;
  3059.             while(_loc5_ < _loc4_.length)
  3060.             {
  3061.                if(_loc4_[_loc5_].text == param2 && _loc4_[_loc5_].count == param3 && _loc4_[_loc5_].vendingData.machineType == SecureTradeShared.MACHINE_TYPE_INVALID)
  3062.                {
  3063.                   _loc6_ = param1.disableSelection_Inspectable;
  3064.                   param1.disableSelection_Inspectable = false;
  3065.                   param1.setSelectedIndex(_loc5_);
  3066.                   param1.disableSelection_Inspectable = _loc6_;
  3067.                   break;
  3068.                }
  3069.                _loc5_++;
  3070.             }
  3071.          }
  3072.       }
  3073.      
  3074.       private function PopulateOfferInventory(param1:Array) : void
  3075.       {
  3076.          this.SortListData(param1,this.m_OfferInventorySortField);
  3077.          this.OfferInventory_mc.ItemList_mc.List_mc.MenuListData = param1;
  3078.          if(this.selectedList == this.OfferInventory_mc)
  3079.          {
  3080.             if(this.m_RefreshSelectionOption == REFRESH_SELECTION_SERVER_ID && this.m_SelectedItemServerHandleId > 0)
  3081.             {
  3082.                this.selectItemViaHandleID(this.OfferInventory_mc.ItemList_mc);
  3083.             }
  3084.             else if(this.m_RefreshSelectionOption == REFRESH_SELECTION_NAME_COUNT)
  3085.             {
  3086.                this.selectStackViaNameCount(this.OfferInventory_mc.ItemList_mc,this.m_SelectedStackName,this.m_SelectedItemCount - 1);
  3087.             }
  3088.          }
  3089.          this.OfferInventory_mc.ItemList_mc.SetIsDirty();
  3090.          this.OfferInventory_mc.UpdateTooltips();
  3091.          this.m_ContainerEmpty = this.IsInventoryEmpty(this.OfferInventory_mc);
  3092.          if(this.m_MenuMode == MODE_PLAYERVENDING && this.selectedList == this.OfferInventory_mc && this.modalActive && this.SelectedOfferChanged(this.OfferInventory_mc.ItemList_mc.List_mc.MenuListData))
  3093.          {
  3094.             this.onBackButton();
  3095.             GlobalFunc.ShowHUDMessage("$TradeOfferChanged");
  3096.          }
  3097.          this.updateInventoryFocus();
  3098.          this.onSelectedDataChanged(null);
  3099.       }
  3100.      
  3101.       private function PopulatePlayerInventory(param1:Array) : void
  3102.       {
  3103.          var _loc2_:Number = 0;
  3104.          this.SortListData(param1,this.m_PlayerInventorySortField);
  3105.          this.m_playerHasMiscItems = false;
  3106.          this.m_playerHasAutoScrappableJunkItems = false;
  3107.          this.m_NewItems.splice(0);
  3108.          if(param1 is Array)
  3109.          {
  3110.             _loc2_ = 0;
  3111.             while(_loc2_ < param1.length)
  3112.             {
  3113.                if((param1[_loc2_].filterFlag & FILTER_JUNK) > 0)
  3114.                {
  3115.                   this.m_playerHasMiscItems = true;
  3116.                }
  3117.                if((param1[_loc2_].filterFlag & FILTER_CANAUTOSCRAP) > 0)
  3118.                {
  3119.                   this.m_playerHasAutoScrappableJunkItems = true;
  3120.                }
  3121.                if(param1[_loc2_].isNew)
  3122.                {
  3123.                   this.m_NewItems.push(this.m_PlayerInvData[_loc2_]);
  3124.                }
  3125.                _loc2_++;
  3126.             }
  3127.          }
  3128.          this.PlayerInventory_mc.ItemList_mc.List_mc.MenuListData = this.m_OnNewTab ? this.m_NewItems : param1;
  3129.          if(this.selectedList == this.PlayerInventory_mc)
  3130.          {
  3131.             if(this.m_RefreshSelectionOption == REFRESH_SELECTION_SERVER_ID && this.m_SelectedItemServerHandleId > 0)
  3132.             {
  3133.                this.selectItemViaHandleID(this.PlayerInventory_mc.ItemList_mc);
  3134.             }
  3135.             else if(this.m_RefreshSelectionOption == REFRESH_SELECTION_NAME_COUNT)
  3136.             {
  3137.                this.selectStackViaNameCount(this.PlayerInventory_mc.ItemList_mc,this.m_SelectedStackName,this.m_SelectedItemCount - 1);
  3138.             }
  3139.          }
  3140.          this.PlayerInventory_mc.ItemList_mc.SetIsDirty();
  3141.          this.PlayerInventory_mc.UpdateToolTipText();
  3142.          if(this.m_MenuMode == MODE_PLAYERVENDING && this.selectedList == this.PlayerInventory_mc && this.modalActive && this.SelectedOfferChanged(this.PlayerInventory_mc.ItemList_mc.List_mc.MenuListData,true))
  3143.          {
  3144.             this.onBackButton();
  3145.             GlobalFunc.ShowHUDMessage("$TradeOfferChanged");
  3146.          }
  3147.          this.m_PlayerInventoryEmpty = this.PlayerInventory_mc != null && this.IsInventoryEmpty(this.PlayerInventory_mc);
  3148.          this.updateButtonHints();
  3149.          this.onSelectedDataChanged(null);
  3150.       }
  3151.      
  3152.       private function onToggleShowMarkedItemsOnlyButton() : void
  3153.       {
  3154.          if(!this.isCampVendingMenuType() || !this.m_OwnsVendor)
  3155.          {
  3156.             return;
  3157.          }
  3158.          ++this.m_FilterItemsOption;
  3159.          if(this.m_FilterItemsOption == FILTER_OPTION_COUNT)
  3160.          {
  3161.             this.m_FilterItemsOption = FILTER_OPTION_NONE;
  3162.          }
  3163.          this.SetSelectedItemValues(this.selectedListEntry);
  3164.          this.PopulateCampVendingInventory();
  3165.          this.updateButtonHints();
  3166.          this.ClearSelectedItemValues();
  3167.       }
  3168.      
  3169.       private function PopulateCampVendingInventory() : void
  3170.       {
  3171.          var listData:Array;
  3172.          if(!this.isCampVendingMenuType())
  3173.          {
  3174.             return;
  3175.          }
  3176.          if(this.m_OwnsVendor)
  3177.          {
  3178.             this.UpdatePartialItems(this.m_OtherInvData,this.m_TheirOffersData);
  3179.          }
  3180.          listData = this.m_OwnsVendor ? this.m_OtherInvData : this.m_TheirOffersData;
  3181.          switch(this.m_FilterItemsOption)
  3182.          {
  3183.             case FILTER_OPTION_THIS_MACHINE:
  3184.                listData = listData.filter(function(param1:Object):Boolean
  3185.                {
  3186.                   var _loc2_:* = param1.vendingData;
  3187.                   return _loc2_.machineType != SecureTradeShared.MACHINE_TYPE_INVALID && !_loc2_.isVendedOnOtherMachine;
  3188.                });
  3189.                break;
  3190.             case FILTER_OPTION_THIS_MACHINE_AND_STASH:
  3191.                listData = listData.filter(function(param1:Object):Boolean
  3192.                {
  3193.                   var _loc2_:* = param1.vendingData;
  3194.                   return _loc2_.machineType == SecureTradeShared.MACHINE_TYPE_INVALID || !_loc2_.isVendedOnOtherMachine;
  3195.                });
  3196.          }
  3197.          this.SortListData(listData,this.m_OfferInventorySortField);
  3198.          this.OfferInventory_mc.ItemList_mc.List_mc.MenuListData = listData;
  3199.          if(this.selectedList == this.OfferInventory_mc)
  3200.          {
  3201.             if(this.m_RefreshSelectionOption == REFRESH_SELECTION_SERVER_ID && this.m_SelectedItemServerHandleId > 0)
  3202.             {
  3203.                this.selectItemViaHandleID(this.OfferInventory_mc.ItemList_mc);
  3204.             }
  3205.             else if(this.m_RefreshSelectionOption == REFRESH_SELECTION_NAME_COUNT)
  3206.             {
  3207.                this.selectStackViaNameCount(this.OfferInventory_mc.ItemList_mc,this.m_SelectedStackName,this.m_SelectedItemCount - 1);
  3208.             }
  3209.          }
  3210.          this.OfferInventory_mc.ItemList_mc.SetIsDirty();
  3211.          this.OfferInventory_mc.UpdateTooltips();
  3212.          this.m_ContainerEmpty = this.IsInventoryEmpty(this.OfferInventory_mc);
  3213.          if(this.selectedList == this.OfferInventory_mc && this.modalActive && this.SelectedOfferChanged(this.OfferInventory_mc.ItemList_mc.List_mc.MenuListData))
  3214.          {
  3215.             this.onBackButton();
  3216.             GlobalFunc.ShowHUDMessage("$TradeOfferChanged");
  3217.          }
  3218.          this.updateInventoryFocus();
  3219.          this.onSelectedDataChanged(null);
  3220.       }
  3221.      
  3222.       public function ProcessUserEvent(param1:String, param2:Boolean) : Boolean
  3223.       {
  3224.          var _loc4_:Boolean = false;
  3225.          var _loc5_:* = null;
  3226.          if(param1 == "DISABLED")
  3227.          {
  3228.             return false;
  3229.          }
  3230.          if(param2 && param1 == "StoreAllJunk")
  3231.          {
  3232.             this.m_DownEventRecieved = true;
  3233.          }
  3234.          var _loc3_:Boolean = false;
  3235.          if(this.m_IgnorePlayerVendingItemPress && param2 && param1 == "Accept")
  3236.          {
  3237.             this.m_IgnorePlayerVendingItemPress = false;
  3238.          }
  3239.          if(this.ModalSetPrice_mc.opened && param1 != "RShoulder")
  3240.          {
  3241.             _loc3_ = this.ModalSetPrice_mc.ProcessUserEvent(this.ConvertEventString(param1),param2);
  3242.          }
  3243.          if(!_loc3_ && this.ModalSetQuantity_mc.opened && param1 != "RShoulder")
  3244.          {
  3245.             _loc3_ = this.ModalSetQuantity_mc.ProcessUserEvent(this.ConvertEventString(param1),param2);
  3246.          }
  3247.          if(!_loc3_ && this.isOpen && !param2)
  3248.          {
  3249.             switch(param1)
  3250.             {
  3251.                case "SwitchToPlayer":
  3252.                   if(this.ButtonPlayerInventory.ButtonVisible == true && this.ButtonPlayerInventory.ButtonDisabled != true && this.m_PlayerInventoryEmpty != true)
  3253.                   {
  3254.                      this.onSwapInventoryPlayer();
  3255.                      _loc3_ = true;
  3256.                      break;
  3257.                   }
  3258.                   break;
  3259.                case "SwitchToContainer":
  3260.                   if(this.ButtonContainerInventory.ButtonVisible == true && this.ButtonContainerInventory.ButtonDisabled != true && this.m_ContainerEmpty != true)
  3261.                   {
  3262.                      this.onSwapInventoryContainer();
  3263.                      _loc3_ = true;
  3264.                      break;
  3265.                   }
  3266.                   break;
  3267.                case "DeclineItem":
  3268.                   if(this.InspectButton.ButtonVisible == true && this.InspectButton.ButtonDisabled != true)
  3269.                   {
  3270.                      this.onInspectItem();
  3271.                      _loc3_ = true;
  3272.                      break;
  3273.                   }
  3274.                   break;
  3275.                case "SortList":
  3276.                   if(!this.modalActive)
  3277.                   {
  3278.                      this.onRequestSort();
  3279.                      _loc3_ = true;
  3280.                      break;
  3281.                   }
  3282.                   break;
  3283.                case "TakeAll":
  3284.                   if(this.ButtonDecline.ButtonVisible == true && this.ButtonDecline.ButtonDisabled != true)
  3285.                   {
  3286.                      this.onDeclineItem();
  3287.                      _loc3_ = true;
  3288.                      break;
  3289.                   }
  3290.                   if(this.ButtonToggleAssign.ButtonVisible == true && this.ButtonToggleAssign.ButtonDisabled != true)
  3291.                   {
  3292.                      this.onToggleAssign();
  3293.                      _loc3_ = true;
  3294.                      break;
  3295.                   }
  3296.                   if(this.TakeAllButton.ButtonVisible == true && this.TakeAllButton.ButtonDisabled != true)
  3297.                   {
  3298.                      this.onTakeAll();
  3299.                      _loc3_ = true;
  3300.                      break;
  3301.                   }
  3302.                   break;
  3303.                case "StoreAllJunk":
  3304.                   if(this.StoreUnusedItemsButton.ButtonVisible == true)
  3305.                   {
  3306.                      if(this.StoreUnusedItemsButton.ButtonDisabled)
  3307.                      {
  3308.                         if(this.isScrapStash)
  3309.                         {
  3310.                            _loc4_ = false;
  3311.                            for each(_loc5_ in this.PlayerInventory_mc.ItemList_mc.List_mc.MenuListData)
  3312.                            {
  3313.                               if(Boolean(_loc5_.isAutoScrappable) || Boolean(_loc5_.canGoIntoScrapStash))
  3314.                               {
  3315.                                  _loc4_ = true;
  3316.                                  break;
  3317.                               }
  3318.                            }
  3319.                            if(!this.m_IsFollowerOfZeus)
  3320.                            {
  3321.                               GlobalFunc.ShowHUDMessage("$StoreJunkFailNoFO1st");
  3322.                            }
  3323.                            else if(!_loc4_)
  3324.                            {
  3325.                               GlobalFunc.ShowHUDMessage("$StoreJunkFailNoScrappableItems");
  3326.                            }
  3327.                         }
  3328.                         else if(this.isAmmoStash)
  3329.                         {
  3330.                            if(!this.m_IsFollowerOfZeus)
  3331.                            {
  3332.                               GlobalFunc.ShowHUDMessage("$TransferUnusedFailNoFO1st");
  3333.                            }
  3334.                            else if(!this.m_transferUnusedAmmoAllowed)
  3335.                            {
  3336.                               GlobalFunc.ShowHUDMessage("$TransferUnusedFailNoUnusedAmmo");
  3337.                            }
  3338.                         }
  3339.                      }
  3340.                      else
  3341.                      {
  3342.                         this.onStoreUnusedItems();
  3343.                      }
  3344.                      _loc3_ = true;
  3345.                      break;
  3346.                   }
  3347.                   if(this.ButtonOffersOnly.ButtonVisible == true && this.ButtonOffersOnly.ButtonDisabled != true && this.m_DownEventRecieved)
  3348.                   {
  3349.                      this.onOffersOnly();
  3350.                      _loc3_ = true;
  3351.                      this.m_DownEventRecieved = false;
  3352.                      break;
  3353.                   }
  3354.                   if(this.ToggleShowMarkedItemsOnlyButton.ButtonVisible == true && this.ToggleShowMarkedItemsOnlyButton.ButtonDisabled != true)
  3355.                   {
  3356.                      this.onToggleShowMarkedItemsOnlyButton();
  3357.                      _loc3_ = true;
  3358.                      break;
  3359.                   }
  3360.                   break;
  3361.                case "Select":
  3362.                   if(!this.modalActive)
  3363.                   {
  3364.                      this.onUpgradeButton();
  3365.                      break;
  3366.                   }
  3367.                   break;
  3368.                case "Cancel":
  3369.                   this.onBackButton();
  3370.                   _loc3_ = true;
  3371.             }
  3372.          }
  3373.          return _loc3_;
  3374.       }
  3375.      
  3376.       private function SortListData(param1:Array, param2:int) : void
  3377.       {
  3378.          var aListData:Array = param1;
  3379.          var aSortField:int = param2;
  3380.          if(aListData != null)
  3381.          {
  3382.             aListData.sort(function(param1:Object, param2:Object):int
  3383.             {
  3384.                var _loc4_:String = null;
  3385.                var _loc5_:Number = NaN;
  3386.                var _loc6_:Number = NaN;
  3387.                var _loc7_:Number = NaN;
  3388.                var _loc8_:Number = NaN;
  3389.                var _loc3_:int = 0;
  3390.                if(Boolean(param1.vendingData.isVendedOnOtherMachine) && Boolean(param2.isOffered) && !param2.vendingData.isVendedOnOtherMachine)
  3391.                {
  3392.                   _loc3_ = 1;
  3393.                }
  3394.                else if(param1.isOffered && !param1.vendingData.isVendedOnOtherMachine && Boolean(param2.vendingData.isVendedOnOtherMachine))
  3395.                {
  3396.                   _loc3_ = -1;
  3397.                }
  3398.                else if(param1.vendingData.machineType == SecureTradeShared.MACHINE_TYPE_INVALID && param2.vendingData.machineType != SecureTradeShared.MACHINE_TYPE_INVALID)
  3399.                {
  3400.                   _loc3_ = 1;
  3401.                }
  3402.                else if(param1.vendingData.machineType != SecureTradeShared.MACHINE_TYPE_INVALID && param2.vendingData.machineType == SecureTradeShared.MACHINE_TYPE_INVALID)
  3403.                {
  3404.                   _loc3_ = -1;
  3405.                }
  3406.                else if(param1.vendingData.machineType < param2.vendingData.machineType)
  3407.                {
  3408.                   _loc3_ = -1;
  3409.                }
  3410.                else if(param1.vendingData.machineType > param2.vendingData.machineType)
  3411.                {
  3412.                   _loc3_ = 1;
  3413.                }
  3414.                else
  3415.                {
  3416.                   _loc4_ = "";
  3417.                   switch(aSortField)
  3418.                   {
  3419.                      case SOF_DAMAGE:
  3420.                         _loc4_ = "damage";
  3421.                         break;
  3422.                      case SOF_ROF:
  3423.                         _loc4_ = "weaponDisplayRateOfFire";
  3424.                         break;
  3425.                      case SOF_RANGE:
  3426.                         _loc4_ = "weaponDisplayRange";
  3427.                         break;
  3428.                      case SOF_ACCURACY:
  3429.                         _loc4_ = "weaponDisplayAccuracy";
  3430.                         break;
  3431.                      case SOF_VALUE:
  3432.                         _loc4_ = "itemValue";
  3433.                         break;
  3434.                      case SOF_WEIGHT:
  3435.                         _loc4_ = "weight";
  3436.                         break;
  3437.                      case SOF_STACKWEIGHT:
  3438.                         _loc5_ = param1.count * param1.weight;
  3439.                         _loc6_ = param2.count * param2.weight;
  3440.                         if(_loc5_ != _loc6_)
  3441.                         {
  3442.                            _loc3_ = _loc5_ < _loc6_ ? 1 : -1;
  3443.                            break;
  3444.                         }
  3445.                         break;
  3446.                      case SOF_SPOILAGE:
  3447.                         _loc7_ = param1.currentHealth >= 0 ? param1.currentHealth / param1.maximumHealth : 1;
  3448.                         _loc8_ = param2.currentHealth >= 0 ? param2.currentHealth / param2.maximumHealth : 1;
  3449.                         if(_loc7_ != _loc8_)
  3450.                         {
  3451.                            _loc3_ = _loc7_ < _loc8_ ? -1 : 1;
  3452.                            break;
  3453.                         }
  3454.                         break;
  3455.                      default:
  3456.                         _loc4_ = "isLearnedRecipe";
  3457.                   }
  3458.                   if(_loc4_ == "isLearnedRecipe")
  3459.                   {
  3460.                      if(param1[_loc4_] < param2[_loc4_])
  3461.                      {
  3462.                         _loc3_ = -1;
  3463.                      }
  3464.                      else if(param1[_loc4_] > param2[_loc4_])
  3465.                      {
  3466.                         _loc3_ = 1;
  3467.                      }
  3468.                   }
  3469.                   else if(_loc4_ != "")
  3470.                   {
  3471.                      if(param1[_loc4_] < param2[_loc4_])
  3472.                      {
  3473.                         _loc3_ = 1;
  3474.                      }
  3475.                      else if(param1[_loc4_] > param2[_loc4_])
  3476.                      {
  3477.                         _loc3_ = -1;
  3478.                      }
  3479.                   }
  3480.                }
  3481.                if(m_CorpseLootMode && _loc3_ == 0)
  3482.                {
  3483.                   if(param1.numLegendaryStars < param2.numLegendaryStars)
  3484.                   {
  3485.                      _loc3_ = 1;
  3486.                   }
  3487.                   else if(param1.numLegendaryStars > param2.numLegendaryStars)
  3488.                   {
  3489.                      _loc3_ = -1;
  3490.                   }
  3491.                   if(_loc3_ == 0)
  3492.                   {
  3493.                      if(param1.isCurrency < param2.isCurrency)
  3494.                      {
  3495.                         _loc3_ = 1;
  3496.                      }
  3497.                      else if(param1.isCurrency > param2.isCurrency)
  3498.                      {
  3499.                         _loc3_ = -1;
  3500.                      }
  3501.                   }
  3502.                   if(_loc3_ == 0)
  3503.                   {
  3504.                      if((param1.itemCategory & FILTER_AMMO) != 0 && (param2.itemCategory & FILTER_AMMO) == 0)
  3505.                      {
  3506.                         _loc3_ = -1;
  3507.                      }
  3508.                      else if((param1.itemCategory & FILTER_AMMO) == 0 && (param2.itemCategory & FILTER_AMMO) != 0)
  3509.                      {
  3510.                         _loc3_ = 1;
  3511.                      }
  3512.                   }
  3513.                }
  3514.                if(_loc3_ == 0)
  3515.                {
  3516.                   if(param1.text < param2.text)
  3517.                   {
  3518.                      _loc3_ = -1;
  3519.                   }
  3520.                   else if(param1.text > param2.text)
  3521.                   {
  3522.                      _loc3_ = 1;
  3523.                   }
  3524.                   else if(param1.count < param2.count)
  3525.                   {
  3526.                      _loc3_ = -1;
  3527.                   }
  3528.                   else if(param1.count > param2.count)
  3529.                   {
  3530.                      _loc3_ = 1;
  3531.                   }
  3532.                }
  3533.                if(_loc3_ == 0)
  3534.                {
  3535.                   if(param1.serverHandleId < param2.serverHandleId)
  3536.                   {
  3537.                      _loc3_ = 1;
  3538.                   }
  3539.                   else if(param1.serverHandleId > param2.serverHandleId)
  3540.                   {
  3541.                      _loc3_ = -1;
  3542.                   }
  3543.                }
  3544.                return _loc3_;
  3545.             });
  3546.          }
  3547.       }
  3548.      
  3549.       private function CreateScrappableInventoryList(param1:Array) : Array
  3550.       {
  3551.          var _loc3_:* = null;
  3552.          var _loc2_:Array = new Array();
  3553.          for each(_loc3_ in param1)
  3554.          {
  3555.             if(_loc3_.scrapAllowed)
  3556.             {
  3557.                _loc2_.push(_loc3_);
  3558.             }
  3559.          }
  3560.          return _loc2_;
  3561.       }
  3562.      
  3563.       private function ConvertEventString(param1:String) : String
  3564.       {
  3565.          if(param1 == "SwitchToContainer")
  3566.          {
  3567.             return "RTrigger";
  3568.          }
  3569.          if(param1 == "SwitchToPlayer")
  3570.          {
  3571.             return "LTrigger";
  3572.          }
  3573.          return param1;
  3574.       }
  3575.      
  3576.       private function IsInventoryEmpty(param1:MovieClip) : Boolean
  3577.       {
  3578.          var _loc2_:* = true;
  3579.          var _loc3_:Boolean = true;
  3580.          if(param1 != null)
  3581.          {
  3582.             if(param1.ItemList_mc.List_mc.MenuListData != undefined && param1.ItemList_mc.List_mc.MenuListData != null)
  3583.             {
  3584.                _loc2_ = param1.ItemList_mc.List_mc.MenuListData.length == 0;
  3585.             }
  3586.             if(param1.ItemList_mc.List_mc.filterer != undefined && param1.ItemList_mc.List_mc.filterer != null)
  3587.             {
  3588.                if(this.m_CorpseLootMode && param1 == this.PlayerInventory_mc)
  3589.                {
  3590.                   _loc3_ = Boolean(param1.ItemList_mc.List_mc.filterer.IsFilterEmpty(this.m_ItemFilters[0].flag));
  3591.                }
  3592.                else
  3593.                {
  3594.                   _loc3_ = Boolean(param1.ItemList_mc.List_mc.filterer.IsFilterEmpty(this.m_ItemFilters[this.m_SelectedTab].flag));
  3595.                }
  3596.             }
  3597.          }
  3598.          return _loc2_ || _loc3_;
  3599.       }
  3600.      
  3601.       private function SetSelectedItemValues(param1:Object) : void
  3602.       {
  3603.          if(param1 != null && !this.m_SelectedItemValueSet)
  3604.          {
  3605.             this.m_SelectedStackName = param1.text;
  3606.             this.m_SelectedItemOffered = param1.isOffered;
  3607.             this.m_SelectedItemValue = param1.itemValue;
  3608.             this.m_SelectedItemCount = param1.count;
  3609.             this.m_SelectedItemServerHandleId = param1.serverHandleId;
  3610.             this.m_SelectedItemIsPartialOffer = param1.partialOffer;
  3611.             this.m_RefreshSelectionOption = REFRESH_SELECTION_SERVER_ID;
  3612.             this.m_SelectedItemValueSet = true;
  3613.          }
  3614.       }
  3615.      
  3616.       private function ClearSelectedItemValues() : void
  3617.       {
  3618.          this.m_SelectedStackName = "";
  3619.          this.m_SelectedItemOffered = false;
  3620.          this.m_SelectedItemValue = 0;
  3621.          this.m_SelectedItemCount = 0;
  3622.          this.m_SelectedItemServerHandleId = 0;
  3623.          this.m_SelectedItemIsPartialOffer = false;
  3624.          this.m_RefreshSelectionOption = REFRESH_SELECTION_NONE;
  3625.          this.m_SelectedItemValueSet = false;
  3626.       }
  3627.      
  3628.       private function SelectedOfferChanged(param1:Array, param2:Boolean = false) : Boolean
  3629.       {
  3630.          var _loc3_:Boolean = true;
  3631.          var _loc4_:Object = null;
  3632.          var _loc5_:Number = 0;
  3633.          while(_loc5_ < param1.length)
  3634.          {
  3635.             if(param1[_loc5_].serverHandleId == this.m_SelectedItemServerHandleId && (param2 && !this.m_SelectedItemOffered || param1[_loc5_].partialOffer == this.m_SelectedItemIsPartialOffer))
  3636.             {
  3637.                _loc4_ = param1[_loc5_];
  3638.                break;
  3639.             }
  3640.             _loc5_++;
  3641.          }
  3642.          if(_loc4_ != null)
  3643.          {
  3644.             if(param2)
  3645.             {
  3646.                _loc3_ = false;
  3647.             }
  3648.             else if(this.m_SelectedItemOffered == _loc4_.isOffered && this.m_SelectedItemValue == _loc4_.itemValue && this.m_SelectedItemCount == _loc4_.count)
  3649.             {
  3650.                _loc3_ = false;
  3651.             }
  3652.          }
  3653.          return _loc3_;
  3654.       }
  3655.      
  3656.       private function UpdatePartialItems(param1:Array, param2:Array) : void
  3657.       {
  3658.          var _loc3_:int = int(param1.length);
  3659.          while(--_loc3_ > -1)
  3660.          {
  3661.             if(param1[_loc3_].partialOffer == true)
  3662.             {
  3663.                param1.splice(_loc3_,1);
  3664.             }
  3665.          }
  3666.          var _loc4_:Number = 0;
  3667.          while(_loc4_ < param2.length)
  3668.          {
  3669.             if(param2[_loc4_].partialOffer == true)
  3670.             {
  3671.                param1.push(param2[_loc4_]);
  3672.             }
  3673.             _loc4_++;
  3674.          }
  3675.       }
  3676.      
  3677.       private function InsertRequestedItems(param1:Array, param2:Array) : void
  3678.       {
  3679.          var _loc3_:int = int(param1.length);
  3680.          while(--_loc3_ > -1)
  3681.          {
  3682.             if(param1[_loc3_].isOffered == false)
  3683.             {
  3684.                param1.splice(_loc3_,1);
  3685.             }
  3686.          }
  3687.          var _loc4_:Number = 0;
  3688.          while(_loc4_ < param2.length)
  3689.          {
  3690.             if(param2[_loc4_].isRequested == true)
  3691.             {
  3692.                param1.push(param2[_loc4_]);
  3693.             }
  3694.             _loc4_++;
  3695.          }
  3696.       }
  3697.      
  3698.       internal function frame1() : *
  3699.       {
  3700.          stop();
  3701.       }
  3702.      
  3703.       internal function frame32() : *
  3704.       {
  3705.          stop();
  3706.       }
  3707.      
  3708.       internal function frame49() : *
  3709.       {
  3710.          stop();
  3711.       }
  3712.      
  3713.       internal function frame59() : *
  3714.       {
  3715.          stop();
  3716.       }
  3717.      
  3718.       internal function frame69() : *
  3719.       {
  3720.          stop();
  3721.       }
  3722.    }
  3723. }
  3724.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement