public ShrineCombatData(ShrineCombatBehavior shrine) { var purchaseInteraction = shrine.GetComponent <PurchaseInteraction>(); transform = new SerializableTransform(shrine.transform); available = purchaseInteraction.available; }
// Token: 0x0600283F RID: 10303 RVA: 0x000ABE26 File Offset: 0x000AA026 private void OnShrineDefeated(ShrineCombatBehavior instance) { this.counter++; this.Check(); }
private static void ShrineCombatBehavior_Start(On.RoR2.ShrineCombatBehavior.orig_Start orig, ShrineCombatBehavior self) { if (self.combatDirector) { float mult = Mathf.Clamp(0.7f + (0.3f * GetMultiplier()), 1f, 3f); self.combatDirector.maximumNumberToSpawnBeforeSkipping = Mathf.CeilToInt(self.combatDirector.maximumNumberToSpawnBeforeSkipping * mult); //Debug.LogWarning("CombatShrine : CombatDirector.maximumNumberToSpawnBeforeSkipping : " + self.combatDirector.maximumNumberToSpawnBeforeSkipping); } orig(self); }
//Combat Shrine private static void ShrineCombatBehavior_AddShrineStack(On.RoR2.ShrineCombatBehavior.orig_AddShrineStack orig, ShrineCombatBehavior self, Interactor interactor) { orig(self, interactor); var characterBody = interactor.GetComponent <CharacterBody>(); if (characterBody) { var inv = characterBody.inventory; if (inv) { if (inv.GetItemCount(ExtraShrineRollItemIndex) > 0 && Util.CheckRoll(ItemProcChance * inv.GetItemCount(ExtraShrineRollItemIndex), characterBody.master)) { GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/NetworkedObjects/Encounters/MonstersOnShrineUseEncounter"), self.transform.position, Quaternion.identity); UnityEngine.Networking.NetworkServer.Spawn(gameObject); CombatDirector combarDirector = gameObject.GetComponent <CombatDirector>(); float monsterCredit = 100f * Stage.instance.entryDifficultyCoefficient; DirectorCard directorCard = combarDirector.SelectMonsterCardForCombatShrine(monsterCredit); if (directorCard != null) { Chat.AddMessage("<color=\"green\">Lucky Default Sphere <style=cShrine>has spawned an additional set of combat shrine monsters.</style>"); combarDirector.CombatShrineActivation(interactor, monsterCredit, directorCard); return; } UnityEngine.Networking.NetworkServer.Destroy(gameObject); } } } }