+++ /dev/null
-using Content.Server.Administration;
-using Content.Shared.Administration;
-using Content.Shared.CCVar;
-using Robust.Shared.Configuration;
-using Robust.Shared.Console;
-
-namespace Content.Server.Movement.Commands;
-
-/// <summary>
-/// Temporary command to enable admins to toggle the mob collision cvar.
-/// </summary>
-[AdminCommand(AdminFlags.VarEdit)]
-public sealed class ToggleMobCollisionCommand : IConsoleCommand
-{
- [Dependency] private readonly IConfigurationManager _cfgManager = default!;
-
- public string Command => "toggle_mob_collision";
- public string Description => "Toggles mob collision";
- public string Help => Description;
- public void Execute(IConsoleShell shell, string argStr, string[] args)
- {
- _cfgManager.SetCVar(CCVars.MovementMobPushing, !_cfgManager.GetCVar(CCVars.MovementMobPushing));
- }
-}
+using Content.Shared.Administration;
+using Content.Shared.CCVar.CVarAccess;
using Robust.Shared.Configuration;
namespace Content.Shared.CCVar;
/// <summary>
/// Is mob pushing enabled.
/// </summary>
+ [CVarControl(AdminFlags.VarEdit)]
public static readonly CVarDef<bool> MovementMobPushing =
CVarDef.Create("movement.mob_pushing", false, CVar.SERVER | CVar.REPLICATED);
/// <summary>
/// Can we push mobs not moving.
/// </summary>
+ [CVarControl(AdminFlags.VarEdit)]
public static readonly CVarDef<bool> MovementPushingStatic =
CVarDef.Create("movement.pushing_static", true, CVar.SERVER | CVar.REPLICATED);
/// <summary>
/// Dot product for the pushed entity's velocity to a target entity's velocity before it gets moved.
/// </summary>
+ [CVarControl(AdminFlags.VarEdit)]
public static readonly CVarDef<float> MovementPushingVelocityProduct =
- CVarDef.Create("movement.pushing_velocity_product", 0.0f, CVar.SERVER | CVar.REPLICATED);
+ CVarDef.Create("movement.pushing_velocity_product", -1f, CVar.SERVER | CVar.REPLICATED);
/// <summary>
/// Cap for how much an entity can be pushed per second.
/// </summary>
+ [CVarControl(AdminFlags.VarEdit)]
public static readonly CVarDef<float> MovementPushingCap =
CVarDef.Create("movement.pushing_cap", 100f, CVar.SERVER | CVar.REPLICATED);
/// Minimum pushing impulse per tick. If the value is below this it rounds to 0.
/// This is an optimisation to avoid pushing small values that won't actually move the mobs.
/// </summary>
+ [CVarControl(AdminFlags.VarEdit)]
public static readonly CVarDef<float> MovementMinimumPush =
CVarDef.Create("movement.minimum_push", 0.1f, CVar.SERVER | CVar.REPLICATED);
/// <summary>
/// Penetration depth cap for considering mob collisions.
/// </summary>
+ [CVarControl(AdminFlags.VarEdit)]
public static readonly CVarDef<float> MovementPenetrationCap =
CVarDef.Create("movement.penetration_cap", 0.3f, CVar.SERVER | CVar.REPLICATED);
/// <summary>
/// Based on the mass difference multiplies the push amount by this proportionally.
/// </summary>
+ [CVarControl(AdminFlags.VarEdit)]
public static readonly CVarDef<float> MovementPushMassCap =
CVarDef.Create("movement.push_mass_cap", 1.75f, CVar.SERVER | CVar.REPLICATED);
}