Example #1
0
        private static void bo2DepthOfField(Entity player)
        {
            OnInterval(50, () =>
            {
                if (!player.IsAlive)
                {
                    return(false);
                }

                if (player.PlayerAds() < 0.7f)
                {
                    player.SetDepthOfField(0, 0, 512, 512, 4, 0);
                    return(true);
                }

                Vector3 eye        = player.GetEye();
                Vector3 angles     = player.GetPlayerAngles();
                Vector3 forward    = GSCFunctions.AnglesToForward(angles);
                Vector3 endPos     = eye + forward * 50000;
                Vector3 focalPoint = GSCFunctions.PhysicsTrace(eye, endPos);
                float distance     = player.GetEye().DistanceTo(focalPoint);
                player.SetDepthOfField(0, (int)distance, (int)distance + 16, 4000, 6, 20);
                return(true);
            });
        }
Example #2
0
        private static bool checkForWallRun(Entity player)
        {
            if (!player.IsOnGround())
            {
                return(true);
            }

            Vector3 playerAngles  = player.Angles;//player.GetPlayerAngles();
            Vector3 playerOrigin  = player.Origin;
            Vector3 right         = GSCFunctions.AnglesToRight(playerAngles);
            Vector3 rightPosition = playerOrigin + (right * 5);
            Vector3 leftPosition  = playerOrigin + (right * -5);
            bool    wallR         = !GSCFunctions.PhysicsTrace(playerOrigin, rightPosition).Equals(rightPosition) && GSCFunctions.SightTracePassed(playerOrigin, rightPosition, false);
            bool    wallL         = !GSCFunctions.PhysicsTrace(playerOrigin, leftPosition).Equals(leftPosition) && GSCFunctions.SightTracePassed(playerOrigin, leftPosition, false);

            Log.Write(LogLevel.All, "L {0} R {1}", wallL, wallR);

            if (player.IsAlive)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }