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