Skip to content

Commit a0c5334

Browse files
committed
Adjusted timings for "respawn" appearance
Now begins appearing when you begin respawning, finishes right when you're ready to play
1 parent 70fc82c commit a0c5334

File tree

1 file changed

+22
-15
lines changed

1 file changed

+22
-15
lines changed

Entities/SafeRespawnCrumble.cs

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,12 @@ private IEnumerator Sequence() {
9696
yield return null;
9797

9898
// Fade out the outline, fade in the tiles. Oh, and make ourselves collidable.
99-
wiggler.Start();
100-
tileFader.Replace(TileFade(1f, tiles, true));
101-
outlineFader.Replace(TileFade(0f, outlineTiles, true));
99+
if (isRespawn)
100+
wiggler.Start(1.5f, 1.5f);
101+
else
102+
wiggler.Start(0.5f, 4f);
103+
tileFader.Replace(TileFade(1f, tiles, !isRespawn));
104+
outlineFader.Replace(TileFade(0f, outlineTiles, !isRespawn));
102105
Collidable = true;
103106

104107
// Wait until player is found
@@ -110,11 +113,12 @@ private IEnumerator Sequence() {
110113
yield return null;
111114

112115
// Fade out tiles, fade in outline.
113-
tileFader.Replace(TileFade(0f, tiles));
114-
outlineFader.Replace(TileFade(1f, outlineTiles));
116+
tileFader.Replace(TileFade(0f, tiles, true));
117+
outlineFader.Replace(TileFade(1f, outlineTiles, true));
115118

116119
// Do nothing until next activation
117120
activated = false;
121+
isRespawn = false;
118122
}
119123
}
120124

@@ -136,7 +140,7 @@ private bool CheckToStayEnabled() {
136140
// Fade the passed tiles in or out.
137141
private IEnumerator TileFade(float to, List<Image> targetTiles, bool fast = false) {
138142
float from = 1f - to;
139-
for (float t = 0f; t < 1f; t += Engine.DeltaTime * (fast ? 6f : 2f)) {
143+
for (float t = 0f; t < 1f; t += Engine.DeltaTime * (fast ? 5f : 1.5f)) {
140144
foreach (Image img in targetTiles)
141145
img.Color = Color.White * (from + (to - from) * Ease.CubeInOut(t));
142146
yield return null;
@@ -147,39 +151,42 @@ private IEnumerator TileFade(float to, List<Image> targetTiles, bool fast = fals
147151
// Bubble and player detection hooks
148152
public static void Load() {
149153
On.Celeste.Player.CassetteFlyEnd += SafeActivatorCasetteFly;
150-
On.Celeste.Player.IntroRespawnEnd += SafeActivatorRespawn;
154+
On.Celeste.Player.IntroRespawnBegin += SafeActivatorRespawn;
151155
}
152156
public static void Unload() {
153157
On.Celeste.Player.CassetteFlyEnd -= SafeActivatorCasetteFly;
154-
On.Celeste.Player.IntroRespawnEnd -= SafeActivatorRespawn;
158+
On.Celeste.Player.IntroRespawnBegin -= SafeActivatorRespawn;
155159
}
156160

157161
private static void SafeActivatorCasetteFly(On.Celeste.Player.orig_CassetteFlyEnd orig, Player self) {
158162
orig(self);
159-
SafeActivate(self);
163+
SafeActivate(self, false);
160164
}
161-
private static void SafeActivatorRespawn(On.Celeste.Player.orig_IntroRespawnEnd orig, Player self) {
165+
private static void SafeActivatorRespawn(On.Celeste.Player.orig_IntroRespawnBegin orig, Player self) {
162166
orig(self);
163-
SafeActivate(self);
167+
SafeActivate(self, true);
164168
}
165169

166-
private static void SafeActivate(Player player) {
170+
private static void SafeActivate(Player player, bool respawn) {
167171
SafeRespawnCrumble target = player.Scene.Tracker.GetNearestEntity<SafeRespawnCrumble>(player.Position);
168172
if (target == null)
169173
return;
170174

171175
if (target.Left < player.X &&
172176
target.Right > player.X &&
173177
target.Top - 12f <= player.Y &&
174-
target.Bottom > player.Y)
175-
target.activated = true;
178+
target.Bottom > player.Y) {
179+
target.activated = true;
180+
target.isRespawn = respawn;
181+
}
176182
}
177183

178184
private List<Image> tiles;
179185
private List<Image> outlineTiles;
180186
private Coroutine tileFader;
181187
private Coroutine outlineFader;
182188
private Wiggler wiggler;
183-
public bool activated = false;
189+
private bool activated = false;
190+
private bool isRespawn = false;
184191
}
185192
}

0 commit comments

Comments
 (0)