public void PlayBadelineCutscene(On.Celeste.BadelineOldsite.orig_Added orig, BadelineOldsite self, Scene scene) { orig(self, scene); var level = scene as Level; if (!level.Session.GetFlag("evil_maddy_intro") && level.Session.Level.StartsWith("Celeste/2-OldSite/A/3")) { foreach (var c in self.Components) { if (c is Coroutine) { self.Components.Remove(c); break; } } self.Hovering = false; self.Visible = true; self.Hair.Visible = false; self.Sprite.Play("pretendDead", false, false); if (level.Session.Area.Mode == AreaMode.Normal) { level.Session.Audio.Music.Event = null; level.Session.Audio.Apply(false); } scene.Add(new CS02_BadelineIntro(self)); } }
private static bool _CanChangeMusic(bool value, BadelineOldsite self) => (self as patch_BadelineOldsite).CanChangeMusic(value);
private static bool _IsChaseEnd(bool value, BadelineOldsite self) => (self as patch_BadelineOldsite).IsChaseEnd(value);
private bool modBadelineOldsiteIsChaseEnd(On.Celeste.BadelineOldsite.orig_IsChaseEnd orig, BadelineOldsite self, bool value) { Session session = self.SceneAs <Level>().Session; if (session.Area.GetLevelSet() == "Celeste" && session.Area.GetSID() != "Celeste/2-OldSite") { // there is no chase end outside Old Site in the vanilla game. return(false); } return(orig(self, value)); }