Esempio n. 1
0
        public ShrineCombatData(ShrineCombatBehavior shrine)
        {
            var purchaseInteraction = shrine.GetComponent <PurchaseInteraction>();

            transform = new SerializableTransform(shrine.transform);
            available = purchaseInteraction.available;
        }
Esempio n. 2
0
 // Token: 0x0600283F RID: 10303 RVA: 0x000ABE26 File Offset: 0x000AA026
 private void OnShrineDefeated(ShrineCombatBehavior instance)
 {
     this.counter++;
     this.Check();
 }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        //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);
                    }
                }
            }
        }