예제 #1
0
        public void OnPlayerExit(Player player)
        {
            Dust.Burst(player.Position, player.Speed.Angle(), 16, null);
            Vector2 value = Vector2.Zero;
            bool    flag  = CollideCheck(player, Position + Vector2.UnitX * 4f);

            if (flag)
            {
                value = Vector2.UnitX;
            }
            else
            {
                bool flag2 = CollideCheck(player, Position - Vector2.UnitX * 4f);
                if (flag2)
                {
                    value = -Vector2.UnitX;
                }
                else
                {
                    bool flag3 = CollideCheck(player, Position + Vector2.UnitY * 4f);
                    if (flag3)
                    {
                        value = Vector2.UnitY;
                    }
                    else
                    {
                        bool flag4 = CollideCheck(player, Position - Vector2.UnitY * 4f);
                        if (flag4)
                        {
                            value = -Vector2.UnitY;
                        }
                    }
                }
            }
            bool flag5 = value != Vector2.Zero;

            if (flag5)
            {
            }
            bool flag6 = oneUse;

            if (flag6)
            {
                OneUseDestroy();
            }
        }
        public static void RedDashBegin()
        {
            Player           player = FrostModule.StateGetPlayer();
            DynData <Player> data   = new DynData <Player>(player);

            data["calledDashEvents"]    = false;
            data["dashStartedOnGround"] = false;
            Celeste.Celeste.Freeze(0.05f);
            Dust.Burst(player.Position, (-player.DashDir).Angle(), 8, null);
            data["dashCooldownTimer"]       = 0.2f;
            data["dashRefillCooldownTimer"] = 0.1f;
            data["StartedDashing"]          = true;
            (player.Scene as Level).Displacement.AddBurst(player.Center, 0.5f, 0f, 80f, 0.666f, Ease.QuadOut, Ease.QuadOut);
            Input.Rumble(RumbleStrength.Strong, RumbleLength.Medium);
            data["dashAttackTimer"]  = 0.3f;
            data["gliderBoostTimer"] = 0.55f;
            player.DashDir           = player.Speed = Vector2.Zero;
            if (!data.Get <bool>("onGround") && player.Ducking && player.CanUnDuck)
            {
                player.Ducking = false;
            }

            Player_DashAssistInit.Invoke(player, new object[] { });
        }
예제 #3
0
 // Make this signature accessible to older mods.
 public static void Burst(Vector2 position, float direction, int count = 1)
 {
     Dust.Burst(position, direction, count, null);
 }