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; }
// 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(); } } }
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; } }
//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>"); } } } }