private static bool PlayerUseRefill(On.Celeste.Player.orig_UseRefill orig, Player self, bool twoDashes)
        {
            DynData <Player> selfData = new DynData <Player>(self);

            if (selfData.Data.ContainsKey("DJMapHelper_RefillColor") && selfData["DJMapHelper_RefillColor"] != null)
            {
                bool result;

                switch (selfData.Get <RefillColor>("DJMapHelper_RefillColor"))
                {
                case RefillColor.Red:
                    result = PlayerUseRedRefill(self);
                    break;

                case RefillColor.Blue:
                    result = PlayerUseBlueRefill(self);
                    break;

                case RefillColor.Black:
                    result = PlayerUseBlackRefill(self);
                    break;

                default:
                    throw new ArgumentOutOfRangeException(nameof(color), selfData.Get <RefillColor>("DJMapHelper_RefillColor"), null);
                }

                selfData["DJMapHelper_RefillColor"] = null;
                return(result);
            }
            else
            {
                return(orig(self, twoDashes));
            }
        }
        private bool modPlayerUseRefill(On.Celeste.Player.orig_UseRefill orig, Player self, bool twoDashes)
        {
            forceRefillStamina = true;
            bool result = orig(self, twoDashes);

            forceRefillStamina = false;
            return(result);
        }
        private bool OnPlayerUseRefill(On.Celeste.Player.orig_UseRefill orig, Celeste.Player self, bool twoDashes)
        {
            bool refilled = orig(self, twoDashes);

            if (refilled && Settings.Enabled)
            {
                ApplyRules(self.Scene, "Refill");
            }
            return(refilled);
        }
Exemplo n.º 4
0
        private bool Player_UseRefill(On.Celeste.Player.orig_UseRefill orig, Player self, bool twoDashes)
        {
            if (Scene == null)
            {
                On.Celeste.Player.UseRefill -= Player_UseRefill;
                On.Celeste.HeartGem.Collect -= HeartGem_Collect;
                return(orig(self, twoDashes));
            }

            bool ret = orig(self, twoDashes);

            if (CurrentTime < 0)
            {
                Distort.Anxiety = 0f;
                Engine.TimeRate = 1f;
            }
            CurrentTime = StartTime;
            return(true);
        }