コード例 #1
0
ファイル: DiluvianPlugin.cs プロジェクト: Kapyyy/R2Mods
        private void Run_onRunDestroyGlobal(RoR2.Run obj)
        {
            if (HooksApplied)
            {
                //Remove all of our hooks on run end and restore elite tables to their original value.
                IL.RoR2.HealthComponent.TakeDamage     -= UnluckyBears;
                IL.RoR2.HealthComponent.TakeDamage     -= ChangeOSP;
                IL.RoR2.CharacterBody.RecalculateStats -= AdjustRegen;
                //RoR2.TeleporterInteraction.onTeleporterChargedGlobal += NoSafetyAfterFinishCharging;
                //IL.RoR2.TeleporterInteraction.StateFixedUpdate -= NoSafetyAfterFinishCharging;
                RoR2.TeleporterInteraction.onTeleporterFinishGlobal -= MakeSureBonusDirectorDiesOnStageFinish;
                if (!ESOenabled)
                {
                    for (int i = 0; i < CombatDirectorTierDefs.Length; i++)
                    {
                        EliteDef tierDef = CombatDirectorTierDefs[i];
                        tierDef.costMultiplier = vanillaEliteMultipliers[i];
                    }
                }
                On.RoR2.ShrineBloodBehavior.FixedUpdate -= BloodShrinePriceRandom;

                //Restore vanilla text.
                DefaultLanguage.ForEachTry((pair) =>
                {
                    R2API.AssetPlus.Languages.AddToken(pair.Key, pair.Value, reload: false);
                });
                R2API.AssetPlus.Languages.ReloadLanguage();
                HooksApplied = false;
            }
        }
コード例 #2
0
ファイル: DiluvianPlugin.cs プロジェクト: Kapyyy/R2Mods
        private void Run_onRunStartGlobal(RoR2.Run run)
        {
            //Only do stuff when Diluvian is selected.
            if (run.selectedDifficulty == DiluvianIndex && HooksApplied == false)
            {
                ChatMessage.SendColored("A storm is brewing...", DiluvianColor);
                //Make our hooks.
                HooksApplied = true;
                IL.RoR2.HealthComponent.TakeDamage     += UnluckyBears;
                IL.RoR2.HealthComponent.TakeDamage     += ChangeOSP;
                IL.RoR2.CharacterBody.RecalculateStats += AdjustRegen;
                RoR2.TeleporterInteraction.onTeleporterFinishGlobal += MakeSureBonusDirectorDiesOnStageFinish;
                //
                if (!ESOenabled)
                {
                    for (int i = 0; i < CombatDirectorTierDefs.Length; i++)
                    {
                        EliteDef tierDef = CombatDirectorTierDefs[i];
                        vanillaEliteMultipliers[i] = tierDef.costMultiplier;
                        tierDef.costMultiplier    *= EliteModifier;
                    }
                }
                On.RoR2.ShrineBloodBehavior.FixedUpdate += BloodShrinePriceRandom;

                //All of these replace strings.
                ReplaceInteractibles();
                ReplaceItems();
                ReplaceObjectives();
                ReplacePause();
                ReplaceStats();
                //Forcefully update the language.
                R2API.AssetPlus.Languages.ReloadLanguage();
            }
        }