Exemplo n.º 1
0
        public ShrineHealingData(ShrineHealingBehavior shrine)
        {
            var purchaseInteraction = shrine.GetComponent <PurchaseInteraction>();

            transform     = new SerializableTransform(shrine.transform);
            purchaseCount = shrine.purchaseCount;
            available     = purchaseInteraction.available;
        }
        private void UpdateShrineDisplay(ShrineHealingBehavior self)
        {
            if (RoR2.SceneInfo.instance.sceneDef.stageOrder != 5)
            {
                return;
            }
            PurchaseInteraction pi = self.GetFieldValue <PurchaseInteraction>("purchaseInteraction");

            pi.costType = CostTypeIndex.Money;
            pi.cost     = GetDifficultyScaledCost(ResurrectionCost);//clientCost*useCount;
        }
Exemplo n.º 3
0
 // Token: 0x0600260F RID: 9743 RVA: 0x000B0210 File Offset: 0x000AE410
 private void OnHealingShrineActivated(ShrineHealingBehavior shrine, Interactor activator)
 {
     if (shrine.purchaseCount >= shrine.maxPurchaseCount)
     {
         CharacterBody currentBody = base.GetCurrentBody();
         if (currentBody && currentBody.gameObject == activator.gameObject)
         {
             base.Grant();
         }
     }
 }
Exemplo n.º 4
0
        private void UpdateShrineDisplay(ShrineHealingBehavior self)
        {
            PurchaseInteraction pi = self.GetFieldValue <PurchaseInteraction>("purchaseInteraction");

            if (clientCost == BALANCED_MODE)
            {
                pi.costType = CostTypeIndex.None;
                pi.cost     = BALANCED_MODE;
                pi.GetComponent <HologramProjector>().displayDistance   = 0f;
                self.GetComponent <HologramProjector>().displayDistance = 0f;
            }
            else
            {
                pi.costType = CostTypeIndex.Money;
                pi.cost     = clientCost;
            }
        }
Exemplo n.º 5
0
        //Shrine of the Woods
        private static void ShrineHealingBehavior_AddShrineStack(On.RoR2.ShrineHealingBehavior.orig_AddShrineStack orig, ShrineHealingBehavior self, Interactor activator)
        {
            orig(self, activator);
            var characterBody = activator.GetComponent <CharacterBody>();

            if (characterBody)
            {
                var inv = characterBody.inventory;
                if (inv)
                {
                    if (inv.GetItemCount(ExtraShrineRollItemIndex) > 0 && Util.CheckRoll(ItemProcChance * inv.GetItemCount(ExtraShrineRollItemIndex), characterBody.master))
                    {
                        self.InvokeMethod("SetWardEnabled", true);
                        var   healingWard   = self.GetFieldValue <HealingWard>("healingWard");
                        float networkradius = self.baseRadius += self.radiusBonusPerPurchase;
                        healingWard.Networkradius = networkradius;
                        Chat.AddMessage("<color=\"green\">Lucky Default Sphere <style=cShrine>has increased the healing shrine range an additonal time.</style>");
                    }
                }
            }
        }