private static void onTransitionTriggered(On.Celeste.Level.orig_NextLevel orig, Level self, Vector2 at, Vector2 dir) { orig(self, at, dir); // this flag will prevent the speed berry from exploding on the same frame as a transition, because that causes a crash. transitionJustTriggered = true; }
private void LevelOnNextLevel(On.Celeste.Level.orig_NextLevel orig, Level self, Vector2 at, Vector2 dir) { orig(self, at, dir); if (Enabled) { lastTime = SaveData.Instance.Time; } }
private void UpdateTimerStateOnNextLevel(On.Celeste.Level.orig_NextLevel orig, Level self, Vector2 at, Vector2 dir) { orig(self, at, dir); if (!SpeedrunToolModule.LivesplitMode) { UpdateTimerState(); } }
private void LevelOnNextLevel(On.Celeste.Level.orig_NextLevel orig, Level self, Vector2 at, Vector2 dir) { orig(self, at, dir); if (GhostManager?.Ghosts.FirstOrDefault()?.Data.Frames.LastOrDefault().Data.Time is long time) { lastGhostTime = ghostTime; ghostTime = time; lastCurrentTime = currentTime; currentTime = self.Session.Time; } }
private void Level_NextLevel(On.Celeste.Level.orig_NextLevel orig, Level self, Vector2 at, Vector2 dir) { spawnHelper.spawnedSeekers.Clear(); spawnHelper.spawnedSnowballs.Clear(); spawnHelper.spawnedOshiros.Clear(); DisableWind(); ascending = false; orig(self, at, dir); }
private void UpdateTimerStateOnNextLevel(On.Celeste.Level.orig_NextLevel orig, Level self, Vector2 at, Vector2 dir) { orig(self, at, dir); UpdateTimerState(); }