@@ -76,6 +76,7 @@ public static void activateHooks() {
76
76
IL . Celeste . Player . SlipCheck += modCollideChecks ; // make climbing on jumpthrus not slippery
77
77
IL . Celeste . Player . NormalUpdate += modCollideChecks ; // get the wall slide effect
78
78
IL . Celeste . Player . OnCollideH += modCollideChecks ; // handle dashes against jumpthrus properly, without "shifting" down
79
+ IL . Celeste . Seeker . OnCollideH += modCollideChecks ; // make seekers bump against jumpthrus, instead of vibrating at maximum velocity
79
80
80
81
// don't make Madeline duck when dashing against a sideways jumpthru
81
82
On . Celeste . Player . DuckFreeAt += preventDuckWhenDashingAgainstJumpthru ;
@@ -106,6 +107,7 @@ public static void deactivateHooks() {
106
107
IL . Celeste . Player . SlipCheck -= modCollideChecks ;
107
108
IL . Celeste . Player . NormalUpdate -= modCollideChecks ;
108
109
IL . Celeste . Player . OnCollideH -= modCollideChecks ;
110
+ IL . Celeste . Seeker . OnCollideH -= modCollideChecks ;
109
111
hookOnUpdateSprite ? . Dispose ( ) ;
110
112
111
113
On . Celeste . Player . DuckFreeAt -= preventDuckWhenDashingAgainstJumpthru ;
@@ -233,7 +235,7 @@ private static bool entityCollideCheckWithSidewaysJumpthrus(Entity self, Vector2
233
235
// and we are checking the collision on the left side of the player for example.
234
236
bool collideOnLeftSideOfPlayer = ( self . Position . X > checkAtPosition . X ) ;
235
237
SidewaysJumpThru jumpthru = self . CollideFirstOutside < SidewaysJumpThru > ( checkAtPosition ) ;
236
- return jumpthru != null && self is Player && jumpthru . AllowLeftToRight == collideOnLeftSideOfPlayer
238
+ return jumpthru != null && ( self is Player || self is Seeker ) && jumpthru . AllowLeftToRight == collideOnLeftSideOfPlayer
237
239
&& jumpthru . Bottom >= self . Top + checkAtPosition . Y - self . Position . Y + 3 ;
238
240
}
239
241
0 commit comments