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