using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using IL.RoR2.UI;
using Microsoft.CodeAnalysis;
using Mono.Cecil.Cil;
using MonoMod.Cil;
using On.RoR2;
using On.RoR2.UI;
using RiskOfOptions;
using RiskOfOptions.Options;
using RoR2;
using RoR2.UI;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Networking;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = ".NET Standard 2.0")]
[assembly: AssemblyCompany("BlindItems")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("BlindItems")]
[assembly: AssemblyTitle("BlindItems")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
internal sealed class RefSafetyRulesAttribute : Attribute
{
public readonly int Version;
public RefSafetyRulesAttribute(int P_0)
{
Version = P_0;
}
}
}
namespace BlindItems
{
public class ItemAddressables
{
public static readonly AssetBundle assets = AssetBundle.LoadFromFile(Path.Combine(Paths.PluginPath, "MarkTullius-BlindItems/blinditemsbundle"));
public Sprite whiteSprite = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/Base/Scrap/texScrapWhiteIcon.png").WaitForCompletion();
public Sprite greenSprite = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/Base/Scrap/texScrapGreenIcon.png").WaitForCompletion();
public Sprite redSprite = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/Base/Scrap/texScrapRedIcon.png").WaitForCompletion();
public Sprite bossSprite = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/Base/Scrap/texScrapYellowIcon.png").WaitForCompletion();
public Sprite voidWhiteSprite = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/DLC1/ScrapVoid/texVoidScrapWhiteIcon.png").WaitForCompletion();
public Sprite voidGreenSprite = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/DLC1/ScrapVoid/texVoidScrapGreenIcon.png").WaitForCompletion();
public Sprite voidRedSprite = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/DLC1/ScrapVoid/texVoidScrapRedIcon.png").WaitForCompletion();
public Sprite lunarSprite = assets.LoadAsset<Sprite>("texScrapLunarIcon.png");
public Sprite equipSprite = assets.LoadAsset<Sprite>("texScrapEquipmentIcon.png");
public Sprite voidBossSprite = assets.LoadAsset<Sprite>("texVoidScrapBossIcon.png");
public static Sprite modIcon = assets.LoadAsset<Sprite>("modIcon.png");
}
public class ItemInventory
{
public ItemInventory()
{
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
//IL_0019: Expected O, but got Unknown
GameEndReportPanelController.SetDisplayData += (hook_SetDisplayData)delegate(orig_SetDisplayData orig, GameEndReportPanelController self, DisplayData newDisplayData)
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Expected O, but got Unknown
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
//IL_0024: Expected O, but got Unknown
//IL_0027: Unknown result type (might be due to invalid IL or missing references)
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Expected O, but got Unknown
//IL_0047: Unknown result type (might be due to invalid IL or missing references)
//IL_0051: Expected O, but got Unknown
ItemIcon.SetItemIndex += new Manipulator(AllocateItemIcons);
EquipmentCatalog.GetEquipmentDef += new hook_GetEquipmentDef(AllocateEquipIcon);
orig.Invoke(self, newDisplayData);
ItemIcon.SetItemIndex -= new Manipulator(AllocateItemIcons);
EquipmentCatalog.GetEquipmentDef -= new hook_GetEquipmentDef(AllocateEquipIcon);
};
}
public void AllocateItemIcons(ILContext context)
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Expected O, but got Unknown
//IL_0066: Unknown result type (might be due to invalid IL or missing references)
ILCursor val = new ILCursor(context);
MethodInfo method = typeof(ItemCatalog).GetMethod("GetItemDef");
val.GotoNext(new Func<Instruction, bool>[1]
{
(Instruction i) => ILPatternMatchingExt.MatchCall(i, (MethodBase)method)
});
val.Remove();
method = typeof(Notifications).GetMethod("GetOrigItemDef");
val.Emit(OpCodes.Call, (MethodBase)method);
}
public EquipmentDef AllocateEquipIcon(orig_GetEquipmentDef orig, EquipmentIndex equipmentIndex)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
return Notifications.GetOrigEquipDef(equipmentIndex);
}
}
[BepInPlugin("MarkTullius.BlindItems", "BlindItems", "1.0.0")]
public class Main : BaseUnityPlugin
{
public const string PluginGUID = "MarkTullius.BlindItems";
public const string PluginAuthor = "MarkTullius";
public const string PluginName = "BlindItems";
public const string PluginVersion = "1.0.0";
private Obfuscate _obfuscate;
private Notifications _notifs;
private Randomise _randomise;
private PrinterFix _printerFix;
private ItemInventory _itemInventory;
public static List<ItemDef> itemNotifications;
public static List<EquipmentDef> equipNotifications;
public const string desc = "Obscures the pickup models and inventory icons, for items and equipments, by replacing them with '?' to add a cursed challenge where you don't know what you're picking up (scrapping/printing) until you have done so.";
public static ConfigEntry<bool> RandomiseOrder { get; set; }
public static ConfigEntry<bool> ObscureEquipment { get; set; }
public static ConfigEntry<bool> ObscureNotifs { get; set; }
public void Awake()
{
InitConfig();
if (Chainloader.PluginInfos.ContainsKey("com.rune580.riskofoptions"))
{
BuildSettings();
}
else
{
Debug.Log((object)"Risk of Options is not installed, skipping setup.");
}
itemNotifications = new List<ItemDef>();
equipNotifications = new List<EquipmentDef>();
_obfuscate = new Obfuscate(itemNotifications, equipNotifications);
if (!ObscureNotifs.Value)
{
_notifs = new Notifications(itemNotifications, equipNotifications);
}
_randomise = new Randomise();
_printerFix = new PrinterFix();
_itemInventory = new ItemInventory();
}
public void InitConfig()
{
RandomiseOrder = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Randomise Item Order Each Stage", false, "Turn on to randomise the order of your items every time you load into a new stage.");
ObscureEquipment = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Obscure Current Equipment", true, "Turn off to retain the icon for your currently held equipment(s). Requires a restart");
ObscureNotifs = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Obscure Notifications", false, "Turn off to retain the icon and descriptions upon pickup/printing/scrapping. Requires a restart");
}
public void BuildSettings()
{
//IL_0026: Unknown result type (might be due to invalid IL or missing references)
//IL_0030: Expected O, but got Unknown
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_0041: Expected O, but got Unknown
ModSettingsManager.SetModDescription("Obscures the pickup models and inventory icons, for items and equipments, by replacing them with '?' to add a cursed challenge where you don't know what you're picking up (scrapping/printing) until you have done so.", "MarkTullius.BlindItems", "BlindItems");
ModSettingsManager.SetModIcon(ItemAddressables.modIcon);
ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(RandomiseOrder));
ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(ObscureEquipment, true));
}
}
public class Notifications
{
[Serializable]
[CompilerGenerated]
private sealed class <>c
{
public static readonly <>c <>9 = new <>c();
public static hook_PushEquipmentNotification <>9__9_0;
internal void <PushEquipmentNotification>b__9_0(orig_PushEquipmentNotification orig, CharacterMaster characterMaster, EquipmentIndex equipmentIndex)
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_004d: Invalid comparison between Unknown and I4
//IL_0074: Unknown result type (might be due to invalid IL or missing references)
//IL_0080: Expected O, but got Unknown
orig.Invoke(characterMaster, (EquipmentIndex)(-1));
EquipmentDef origEquipDef = GetOrigEquipDef(equipmentIndex);
if (!((NetworkBehaviour)characterMaster).hasAuthority)
{
Debug.LogError((object)("Can't PushItemNotification for " + Util.GetBestMasterName(characterMaster) + " because they aren't local."));
return;
}
CharacterMasterNotificationQueue notificationQueueForMaster = CharacterMasterNotificationQueue.GetNotificationQueueForMaster(characterMaster);
if (Object.op_Implicit((Object)(object)notificationQueueForMaster) && (int)equipmentIndex != -1 && !((Object)(object)origEquipDef == (Object)null))
{
float num = 6f;
notificationQueueForMaster.PushNotification(new NotificationInfo((object)origEquipDef, (TransformationInfo)null), num);
}
}
}
public static List<ItemDef> itemNotifs;
public static List<EquipmentDef> equipNotifs;
private const float AddedNotificationDuration = 6f;
private const float RemovedNotificationDuration = 3f;
public Notifications(List<ItemDef> itemNotifications, List<EquipmentDef> equipNotifications)
{
itemNotifs = itemNotifications;
equipNotifs = equipNotifications;
Awake();
}
public void Awake()
{
PushItemNotification();
PushItemRemovalNotification();
PushEquipmentNotification();
}
public void PushItemNotification()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Expected O, but got Unknown
CharacterMasterNotificationQueue.PushItemNotification += (hook_PushItemNotification)delegate(orig_PushItemNotification orig, CharacterMaster characterMaster, ItemIndex itemIndex)
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
//IL_003b: Expected O, but got Unknown
orig.Invoke(characterMaster, (ItemIndex)(-1));
ItemDef origItemDef = GetOrigItemDef(itemIndex);
CharacterMasterNotificationQueue notificationQueueForMaster = CharacterMasterNotificationQueue.GetNotificationQueueForMaster(characterMaster);
if (ItemNotificationHandler(characterMaster, itemIndex, origItemDef, notificationQueueForMaster))
{
float num = 6f;
notificationQueueForMaster.PushNotification(new NotificationInfo((object)origItemDef, (TransformationInfo)null), num);
}
};
}
public void PushItemRemovalNotification()
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Expected O, but got Unknown
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
//IL_0024: Expected O, but got Unknown
PurchaseInteraction.CreateItemTakenOrb += (hook_CreateItemTakenOrb)delegate(orig_CreateItemTakenOrb orig, Vector3 effectOrigin, GameObject targetObject, ItemIndex itemIndex)
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0004: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
orig.Invoke(effectOrigin, targetObject, itemIndex);
BuildItemRemovalNotification(itemIndex);
};
ScrapperController.CreateItemTakenOrb += (hook_CreateItemTakenOrb)delegate(orig_CreateItemTakenOrb orig, Vector3 effectOrigin, GameObject targetObject, ItemIndex itemIndex)
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0004: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
orig.Invoke(effectOrigin, targetObject, itemIndex);
BuildItemRemovalNotification(itemIndex);
};
}
public void BuildItemRemovalNotification(ItemIndex itemIndex)
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0022: Unknown result type (might be due to invalid IL or missing references)
//IL_0038: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Expected O, but got Unknown
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
//IL_0047: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Expected O, but got Unknown
CharacterMaster master = PlayerCharacterMasterController._instances[0].master;
ItemDef origItemDef = GetOrigItemDef(itemIndex);
CharacterMasterNotificationQueue notificationQueueForMaster = CharacterMasterNotificationQueue.GetNotificationQueueForMaster(master);
if (ItemNotificationHandler(master, itemIndex, origItemDef, notificationQueueForMaster))
{
float num = 3f;
TransformationInfo val = new TransformationInfo((TransformationType)3, (object)origItemDef);
NotificationInfo val2 = new NotificationInfo((object)ItemCatalog.GetItemDef(itemIndex), val);
notificationQueueForMaster.PushNotification(val2, num);
}
}
public void PushEquipmentNotification()
{
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
//IL_0020: Expected O, but got Unknown
object obj = <>c.<>9__9_0;
if (obj == null)
{
hook_PushEquipmentNotification val = delegate(orig_PushEquipmentNotification orig, CharacterMaster characterMaster, EquipmentIndex equipmentIndex)
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
//IL_004d: Invalid comparison between Unknown and I4
//IL_0074: Unknown result type (might be due to invalid IL or missing references)
//IL_0080: Expected O, but got Unknown
orig.Invoke(characterMaster, (EquipmentIndex)(-1));
EquipmentDef origEquipDef = GetOrigEquipDef(equipmentIndex);
if (!((NetworkBehaviour)characterMaster).hasAuthority)
{
Debug.LogError((object)("Can't PushItemNotification for " + Util.GetBestMasterName(characterMaster) + " because they aren't local."));
}
else
{
CharacterMasterNotificationQueue notificationQueueForMaster = CharacterMasterNotificationQueue.GetNotificationQueueForMaster(characterMaster);
if (Object.op_Implicit((Object)(object)notificationQueueForMaster) && (int)equipmentIndex != -1 && !((Object)(object)origEquipDef == (Object)null))
{
float num = 6f;
notificationQueueForMaster.PushNotification(new NotificationInfo((object)origEquipDef, (TransformationInfo)null), num);
}
}
};
<>c.<>9__9_0 = val;
obj = (object)val;
}
CharacterMasterNotificationQueue.PushEquipmentNotification += (hook_PushEquipmentNotification)obj;
}
public static ItemDef GetOrigItemDef(ItemIndex itemIndex)
{
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
return itemNotifs.Find((ItemDef itemDef) => itemDef.itemIndex == itemIndex);
}
public static EquipmentDef GetOrigEquipDef(EquipmentIndex equipmentIndex)
{
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
return equipNotifs.Find((EquipmentDef equipDef) => equipDef.equipmentIndex == equipmentIndex);
}
public bool ItemNotificationHandler(CharacterMaster characterMaster, ItemIndex itemIndex, ItemDef itemDef, CharacterMasterNotificationQueue notificationQueue)
{
//IL_0037: Unknown result type (might be due to invalid IL or missing references)
//IL_0039: Invalid comparison between Unknown and I4
if (!((NetworkBehaviour)characterMaster).hasAuthority)
{
Debug.LogError((object)("Can't PushItemNotification for " + Util.GetBestMasterName(characterMaster) + " because they aren't local."));
return false;
}
if (Object.op_Implicit((Object)(object)notificationQueue) && (int)itemIndex != -1 && ((Object)(object)itemDef == (Object)null || itemDef.hidden))
{
return false;
}
return true;
}
}
public class Obfuscate
{
public const string itemName = "???";
private const string itemDescription = "?????";
private readonly ItemAddressables _addressables;
public Obfuscate(List<ItemDef> itemNotifications, List<EquipmentDef> equipNotifications)
{
_addressables = new ItemAddressables();
Awake(itemNotifications, equipNotifications);
}
public void Awake(List<ItemDef> itemNotifications, List<EquipmentDef> equipNotifications)
{
ObfuscateItems(itemNotifications);
ObfuscateEquipments(equipNotifications);
}
public void ObfuscateItems(List<ItemDef> itemNotifications)
{
//IL_001c: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: Expected O, but got Unknown
ItemCatalog.SetItemDefs += (hook_SetItemDefs)delegate(orig_SetItemDefs orig, ItemDef[] itemDefs)
{
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_0069: Unknown result type (might be due to invalid IL or missing references)
//IL_006f: Invalid comparison between Unknown and I4
//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
orig.Invoke(itemDefs);
foreach (ItemDef val in itemDefs)
{
ItemDef val2 = ScriptableObject.CreateInstance<ItemDef>();
val2.itemIndex = val.itemIndex;
val2.pickupIconSprite = val.pickupIconSprite;
val2.nameToken = val.nameToken;
val2.pickupToken = val.pickupToken;
val2.hidden = val.hidden;
itemNotifications.Add(val2);
if ((int)val.deprecatedTier != 5)
{
val.pickupModelPrefab = PickupCatalog.GetHiddenPickupDisplayPrefab();
val.nameToken = "???";
val.pickupToken = "?????";
val.pickupIconSprite = GetPickupIconSprite(val.deprecatedTier);
}
}
};
}
public void ObfuscateEquipments(List<EquipmentDef> equipNotifications)
{
//IL_001c: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: Expected O, but got Unknown
EquipmentCatalog.SetEquipmentDefs += (hook_SetEquipmentDefs)delegate(orig_SetEquipmentDefs orig, EquipmentDef[] equipDefs)
{
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
orig.Invoke(equipDefs);
foreach (EquipmentDef val in equipDefs)
{
EquipmentDef val2 = ScriptableObject.CreateInstance<EquipmentDef>();
val2.equipmentIndex = val.equipmentIndex;
val2.pickupIconSprite = val.pickupIconSprite;
val2.nameToken = val.nameToken;
val2.pickupToken = val.pickupToken;
equipNotifications.Add(val2);
val.pickupModelPrefab = PickupCatalog.GetHiddenPickupDisplayPrefab();
val.nameToken = "???";
val.pickupToken = "?????";
val.descriptionToken = "?????";
if (Main.ObscureEquipment.Value)
{
val.pickupIconSprite = _addressables.equipSprite;
}
}
};
}
public Sprite GetPickupIconSprite(ItemTier tier)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0003: Unknown result type (might be due to invalid IL or missing references)
//IL_0004: Unknown result type (might be due to invalid IL or missing references)
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Expected I4, but got Unknown
return (Sprite)((int)tier switch
{
0 => _addressables.whiteSprite,
1 => _addressables.greenSprite,
2 => _addressables.redSprite,
4 => _addressables.bossSprite,
3 => _addressables.lunarSprite,
6 => _addressables.voidWhiteSprite,
7 => _addressables.voidGreenSprite,
8 => _addressables.voidRedSprite,
9 => _addressables.voidBossSprite,
_ => null,
});
}
}
public class PrinterFix
{
private const float yPos = 2.5f;
public PrinterFix()
{
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
//IL_0019: Expected O, but got Unknown
InteractableSpawnCard.Spawn += new hook_Spawn(CorrectPickupPosition);
}
public void CorrectPickupPosition(orig_Spawn orig, InteractableSpawnCard self, Vector3 position, Quaternion rotation, DirectorSpawnRequest directorSpawnRequest, ref SpawnResult result)
{
//IL_0003: Unknown result type (might be due to invalid IL or missing references)
//IL_0004: Unknown result type (might be due to invalid IL or missing references)
//IL_0076: Unknown result type (might be due to invalid IL or missing references)
//IL_007b: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Unknown result type (might be due to invalid IL or missing references)
//IL_008b: Unknown result type (might be due to invalid IL or missing references)
//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
orig.Invoke(self, position, rotation, directorSpawnRequest, ref result);
GameObject spawnedInstance = result.spawnedInstance;
if (!((Object)spawnedInstance).name.Contains("Duplicator"))
{
return;
}
Transform child = spawnedInstance.transform.GetChild(0);
if ((Object)(object)child != (Object)null && child.childCount > 2)
{
Transform child2 = child.GetChild(2);
if ((Object)(object)child2 != (Object)null)
{
Vector3 localPosition = ((Component)child2).transform.localPosition;
Vector3 localPosition2 = default(Vector3);
((Vector3)(ref localPosition2))..ctor(localPosition.x, 2.5f, localPosition.z);
((Component)spawnedInstance.transform.GetChild(0).GetChild(2)).transform.localPosition = localPosition2;
}
else
{
Debug.LogError((object)"Pickup display not found. Unable to adjust model height.");
}
}
else
{
Debug.LogError((object)"Printer does not appear to have the correct number of children.");
}
}
}
public class Randomise
{
public Randomise()
{
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
//IL_0019: Expected O, but got Unknown
Stage.Start += new hook_Start(ShuffleItemOrder);
}
public void ShuffleItemOrder(orig_Start orig, Stage self)
{
orig.Invoke(self);
if (Main.RandomiseOrder.Value)
{
List<ItemIndex> itemAcquisitionOrder = PlayerCharacterMasterController._instances[0].master.inventory.itemAcquisitionOrder;
Util.ShuffleList<ItemIndex>(itemAcquisitionOrder);
PlayerCharacterMasterController._instances[0].master.inventory.itemAcquisitionOrder = itemAcquisitionOrder;
}
}
}
}