From 776e07fb226362703913843c73b880cc026191a0 Mon Sep 17 00:00:00 2001 From: TriumphantBass <32756996+TriumphantBass@users.noreply.github.com> Date: Tue, 16 Apr 2024 21:37:09 -0700 Subject: [PATCH] Change how laser access items are placed --- .../ItemPlacers/FullRandomItemLocationRandomizer.cs | 7 ------- TsRandomizer/Randomisation/ItemUnlockingMap.cs | 13 ++++++++----- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/TsRandomizer/Randomisation/ItemPlacers/FullRandomItemLocationRandomizer.cs b/TsRandomizer/Randomisation/ItemPlacers/FullRandomItemLocationRandomizer.cs index d25f6b6..f80351c 100644 --- a/TsRandomizer/Randomisation/ItemPlacers/FullRandomItemLocationRandomizer.cs +++ b/TsRandomizer/Randomisation/ItemPlacers/FullRandomItemLocationRandomizer.cs @@ -67,13 +67,6 @@ ItemUnlockingMap unlockingMap itemsToAddToGame.Add(ItemInfoProvider.Get(CustomItem.GetIdentifier(CustomItemType.MysteriousWarpBeacon))); // Pyramid } - if (SeedOptions.PrismBreak) - { - itemsToAddToGame.Add(ItemInfoProvider.Get(CustomItem.GetIdentifier(CustomItemType.LaserAccessA))); - itemsToAddToGame.Add(ItemInfoProvider.Get(CustomItem.GetIdentifier(CustomItemType.LaserAccessI))); - itemsToAddToGame.Add(ItemInfoProvider.Get(CustomItem.GetIdentifier(CustomItemType.LaserAccessM))); - } - genericItems = new List { ItemInfoProvider.Get(EInventoryUseItemType.Potion), diff --git a/TsRandomizer/Randomisation/ItemUnlockingMap.cs b/TsRandomizer/Randomisation/ItemUnlockingMap.cs index d18b17a..94e3171 100644 --- a/TsRandomizer/Randomisation/ItemUnlockingMap.cs +++ b/TsRandomizer/Randomisation/ItemUnlockingMap.cs @@ -139,7 +139,7 @@ protected ItemUnlockingMap(Seed seed) { Random = new Random((int)seed.Id); - UnlockingSpecifications = new LookupDictionary(32, s => s.Item) + UnlockingSpecifications = new LookupDictionary(29, s => s.Item) { new UnlockingSpecification(new ItemIdentifier(EInventoryRelicType.TimespinnerWheel), R.TimespinnerWheel, R.TimeStop), new UnlockingSpecification(new ItemIdentifier(EInventoryRelicType.DoubleJump), R.DoubleJump, R.TimeStop), @@ -169,14 +169,17 @@ protected ItemUnlockingMap(Seed seed) new UnlockingSpecification(new ItemIdentifier(EInventoryOrbType.Eye, EOrbSlot.Passive), R.OculusRift), new UnlockingSpecification(new ItemIdentifier(EInventoryFamiliarType.Kobo), R.Kobo), new UnlockingSpecification(new ItemIdentifier(EInventoryFamiliarType.MerchantCrow), R.MerchantCrow), - new UnlockingSpecification(new ItemIdentifier(EInventoryRelicType.PyramidsKey), R.None, R.Teleport), //actual gate is decided later, - new UnlockingSpecification(CustomItem.GetIdentifier(CustomItemType.LaserAccessA), R.LaserA), - new UnlockingSpecification(CustomItem.GetIdentifier(CustomItemType.LaserAccessI), R.LaserI), - new UnlockingSpecification(CustomItem.GetIdentifier(CustomItemType.LaserAccessM), R.LaserM) + new UnlockingSpecification(new ItemIdentifier(EInventoryRelicType.PyramidsKey), R.None, R.Teleport) //actual gate is decided later, }; if (seed.Options.SpecificKeys) MakeKeyCardUnlocksCardSpecific(); + if (seed.Options.PrismBreak) + { + UnlockingSpecifications.Add(new UnlockingSpecification(CustomItem.GetIdentifier(CustomItemType.LaserAccessA), R.LaserA)); + UnlockingSpecifications.Add(new UnlockingSpecification(CustomItem.GetIdentifier(CustomItemType.LaserAccessI), R.LaserI)); + UnlockingSpecifications.Add(new UnlockingSpecification(CustomItem.GetIdentifier(CustomItemType.LaserAccessM), R.LaserM)); + } } void MakeKeyCardUnlocksCardSpecific()