Пример #1
0
        private void onPlayerConstructor(On.Celeste.Player.orig_ctor orig, Player self, Vector2 position, PlayerSpriteMode spriteMode)
        {
            orig(self, position, spriteMode);

            // make the player spy on transitions
            self.Add(new TransitionListener {
                OnOutBegin = () => transitionPercent = 0f,
                OnOut      = percent => transitionPercent = percent
            });
        }
        // Adds custom dream tunnel dash state
        private static void Player_ctor(On.Celeste.Player.orig_ctor orig, Player player, Vector2 position, PlayerSpriteMode spriteMode)
        {
            orig(player, position, spriteMode);
            HasDreamTunnelDash = dreamTunnelDashAttacking = false;

            if (StDreamTunnelDash != -1)
            {
                Extensions.UnregisterState(StDreamTunnelDash);
            }
            StDreamTunnelDash = player.StateMachine.AddState(player.DreamTunnelDashUpdate, null, player.DreamTunnelDashBegin, player.DreamTunnelDashEnd);
            Extensions.RegisterState(StDreamTunnelDash, "StDreamTunnelDash");
        }
Пример #3
0
 private void Player_ctor(On.Celeste.Player.orig_ctor orig, Player self, Vector2 position, PlayerSpriteMode spriteMode)
 {
     orig(self, position, spriteMode);
     self.Add(new TransitionListener()
     {
         OnOutBegin = () => {
             Transitioning = true;
         },
         OnInEnd = () => {
             Transitioning = false;
         }
     });
 }
        private static void ctor(On.Celeste.Player.orig_ctor orig, Celeste.Player self, Vector2 position, PlayerSpriteMode spriteMode)
        {
            orig(self, position, spriteMode);
            var conveyorMover = new ConveyorMover();

            conveyorMover.OnMove = (amount) =>
            {
                if (self.StateMachine.State != 1)
                {
                    self.MoveH(amount * Engine.DeltaTime);
                }
            };
            self.Add(conveyorMover);
        }
Пример #5
0
        private void Player_ctor(On.Celeste.Player.orig_ctor orig, Player self, Vector2 position, PlayerSpriteMode spriteMode)
        {
            orig(self, position, spriteMode);
            new DynData <Player>(self).Set("lastDreamSpeed", 0f);
            // Let's define new states
            // .AddState is defined in StateMachineExt
            YellowBoostState = self.StateMachine.AddState(new Func <int>(YellowBoostUpdate), YellowBoostCoroutine, YellowBoostBegin, YellowBoostEnd);
            GenericCustomBooster.CustomBoostState    = self.StateMachine.AddState(new Func <int>(GenericCustomBooster.BoostUpdate), GenericCustomBooster.BoostCoroutine, GenericCustomBooster.BoostBegin, GenericCustomBooster.BoostEnd);
            GenericCustomBooster.CustomRedBoostState = self.StateMachine.AddState(new Func <int>(GenericCustomBooster.RedDashUpdate), GenericCustomBooster.RedDashCoroutine, GenericCustomBooster.RedDashBegin, GenericCustomBooster.RedDashEnd);
#pragma warning disable CS0618 // Type or member is obsolete
            CustomDreamDashState = self.StateMachine.AddState(new Func <int>(CustomDreamBlock.DreamDashUpdate), null, CustomDreamBlock.DreamDashBegin, CustomDreamBlock.DreamDashEnd);
#pragma warning restore CS0618 // Type or member is obsolete
            CustomFeather.CustomFeatherState = self.StateMachine.AddState(CustomFeather.StarFlyUpdate, CustomFeather.CustomFeatherCoroutine, CustomFeather.CustomFeatherBegin, CustomFeather.CustomFeatherEnd);
        }
Пример #6
0
        private static void onPlayerConstructor(On.Celeste.Player.orig_ctor orig, Player self, Vector2 position, PlayerSpriteMode spriteMode)
        {
            orig(self, position, spriteMode);

            Collision originalSquishCallback = self.SquishCallback;

            Collision patchedSquishCallback = collisionData => {
                // State 21 is the state where the player is located within the Cassette Bubble.
                // They shouldn't be squished by moving blocks inside of it, so we prevent that.
                if (self.StateMachine.State == 21)
                {
                    return;
                }

                originalSquishCallback(collisionData);
            };

            self.SquishCallback = patchedSquishCallback;
        }
Пример #7
0
        private static void onPlayerConstructor(On.Celeste.Player.orig_ctor orig, Player self, Vector2 position, PlayerSpriteMode spriteMode)
        {
            orig(self, position, spriteMode);

            Collision originalOnCollideV = (Collision)playerOnCollideV.GetValue(self);

            Collision patchedOnCollideV = collisionData => {
                // we just want to kill a piece of code that executes in these conditions (supposed to push the player left or right when hitting a wall angle).
                if (self.StateMachine.State != 19 && self.StateMachine.State != 3 && self.StateMachine.State != 9 && self.Speed.Y < 0 &&
                    self.CollideCheckOutside <UpsideDownJumpThru>(self.Position - Vector2.UnitY))
                {
                    // kill the player's vertical speed.
                    self.Speed.Y = 0;

                    // reset varJumpTimer to prevent a weird "stuck on ceiling" effect.
                    playerVarJumpTimer.SetValue(self, 0);
                }

                originalOnCollideV(collisionData);
            };

            playerOnCollideV.SetValue(self, patchedOnCollideV);
        }
Пример #8
0
 private static void PlayerOnCtor(On.Celeste.Player.orig_ctor orig, Player self, Vector2 position,
                                  PlayerSpriteMode spriteMode)
 {
     self.SetEntityId2(EntityId2.PlayerFixedEntityId2);
     orig(self, position, spriteMode);
 }
 private void modPlayerConstructor(On.Celeste.Player.orig_ctor orig, Player self, Vector2 position, PlayerSpriteMode spriteMode)
 {
     forceRefillStamina = true;
     orig(self, position, spriteMode);
     forceRefillStamina = false;
 }
Пример #10
0
 private void Player_ctor1(On.Celeste.Player.orig_ctor orig, Player self, Vector2 position, PlayerSpriteMode spriteMode)
 {
     orig(self, position, spriteMode);
     thePlayer = self;
     self.StateMachine.SetCallbacks(26, new Func <int>(this.RewindTime));
 }