// StDreamTunnelDash check handled in IL hook private static void Player_OnCollideH(On.Celeste.Player.orig_OnCollideH orig, Player self, CollisionData data) { if (!self.DreamTunnelDashCheck(Vector2.UnitX * Math.Sign(self.Speed.X))) { orig(self, data); } }
private void Player_OnCollideH(On.Celeste.Player.orig_OnCollideH orig, Player self, CollisionData data) { // Prevent dust particles / footstep sounds MarioClearPipeInteraction interaction = self.Get <MarioClearPipeInteraction>(); bool inClearPipe = interaction != null && interaction.CurrentClearPipe != null; if (!inClearPipe) { orig(self, data); } }
private static void Player_OnCollideH(On.Celeste.Player.orig_OnCollideH orig, Player self, CollisionData data) { if (self.StateMachine.State == Player.StDash || self.StateMachine.State == Player.StRedDash) { bool flag14 = DreamDashCheck(self, Vector2.UnitX * Math.Sign(self.Speed.X)); if (flag14) { self.StateMachine.State = FrostModule.CustomDreamDashState; DynData <Player> ddata = new DynData <Player>(self); ddata.Set("dashAttackTimer", 0f); ddata.Set("gliderBoostTimer", 0f); return; } } if (self.StateMachine.State != FrostModule.CustomDreamDashState) { orig(self, data); } }
private static void Player_OnCollideH(On.Celeste.Player.orig_OnCollideH orig, Player self, CollisionData data) => Player_OnCollide(new Action <Player, CollisionData>(orig), self, data);