private void modDreamDashEnd(On.Celeste.Player.orig_DreamDashEnd orig, Player self)
        {
            orig(self);

            // consistently refill jumps, whichever direction the dream dash was in.
            // without this, jumps are only refilled when the coyote jump timer is filled: it only happens on horizontal dream dashes.
            RefillJumpBuffer();
        }
Example #2
0
        private static void Player_DreamDashEnd(On.Celeste.Player.orig_DreamDashEnd orig, Player self)
        {
            DynData <Player> playerData = self.GetData();

            if ((DreamBlock)playerData["dreamBlock"] is DreamBlockDummy dummy)
            {
                foreach (DreamDashCollider collider in dummy.Entity.Components.GetAll <DreamDashCollider>())
                {
                    playerData[Player_canEnterDreamDashCollider] = false;
                    collider.OnExit?.Invoke(self);
                }
            }
            orig(self);
        }
Example #3
0
 private static void Player_DreamDashEnd(On.Celeste.Player.orig_DreamDashEnd orig, Player self)
 {
     orig(self);
     new DynData <Player>(self).Set("lastDreamSpeed", 0f);
 }