Пример #1
0
        public ShrineRestackData(ShrineRestackBehavior shrine)
        {
            var purchaseInteraction = shrine.GetComponent <PurchaseInteraction>();

            transform = new SerializableTransform(shrine.transform);
            available = purchaseInteraction.available;
        }
Пример #2
0
 static void PreventRevivesShuffle(On.RoR2.ShrineRestackBehavior.orig_AddShrineStack orig, ShrineRestackBehavior self, Interactor interactor)
 {
     if (NetworkServer.active)
     {
         //Remove revives before shuffling so it doesn't add to the shuffle
         RoR2.Inventory playerInventory = interactor.GetComponent <CharacterBody>().master.inventory;
         playerInventory.RemoveItem(RoR2Content.Items.ExtraLife, 9999);
         playerInventory.RemoveItem(RoR2Content.Items.ExtraLifeConsumed, 9999);
         //Shuffle
         orig(self, interactor);
         //Reshuffle if shuffle landed on a revive item
         while (playerInventory.GetItemCount(RoR2Content.Items.ExtraLife) != 0 || playerInventory.GetItemCount(RoR2Content.Items.ExtraLife) != 0)
         {
             playerInventory.ShrineRestackInventory(Run.instance.treasureRng);
         }
     }
     else
     {
         orig(self, interactor);
     }
 }