コード例 #1
0
        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));
            }
        }
コード例 #2
0
 private static bool _CanChangeMusic(bool value, BadelineOldsite self)
 => (self as patch_BadelineOldsite).CanChangeMusic(value);
コード例 #3
0
 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));
        }