====== Prop, Magneto, and Movement ConVars ====== Quick reference for tuning prop interaction, magneto manipulation, held-prop collision, player movement physics, and related damage/debug behavior. **Defaults below are the current game defaults** and are subject to change. ===== Key Collision Tags ===== ^ Tag ^ Owner ^ Purpose ^ | ''idle_prop'' | ''TerrorTownProp'' | Applied to loose/resting props. ''movement'' ignores this tag through physics collision rules so ordinary props do not constantly fight player helper bodies. | | ''held_prop'' | ''TerrorTownProp'' | Applied while a prop is actively held by the magneto. Held props are removed from ''idle_prop'' so they can physically collide with players while held. | | ''movement'' | player helper bodies | Applied to player physics helper/shadow objects and used by collision rules/traces. | ===== Player Movement / Collision ===== ^ ConVar ^ Default ^ What it does ^ | ''t.player_movement_held_props_not_stuck'' | ''true'' | If enabled, a held prop that starts inside the movement hull does not count as ''stuck'' for unstuck logic. | | ''t.player_physics_shove_clamp'' | ''false'' | Enables clamping of helper-body velocity before it is inherited into player movement. Disable for raw velocity inheritance. | | ''t.player_physics_shove_grounded_only'' | ''false'' | If shove clamp is enabled, applies it only while grounded. | | ''t.player_physics_shove_max_planar_speed'' | ''90'' | Max planar helper-body velocity accepted when shove clamp is enabled. | | ''t.player_physics_shove_max_vertical_speed'' | ''90'' | Max vertical helper-body velocity accepted when shove clamp is enabled. | | ''t.player_physics_prop_stuck_handoff_clamp'' | ''true'' | Enables clamping of the stuck helper-body position handoff when the blocker is a prop. | | ''t.player_physics_prop_stuck_handoff_held_only'' | ''true'' | Limits the prop stuck handoff clamp to held props only. | | ''t.player_physics_prop_stuck_handoff_max_planar_speed'' | ''90'' | Max planar speed-equivalent accepted from prop stuck handoff. | | ''t.player_physics_prop_stuck_handoff_max_vertical_speed'' | ''90'' | Max vertical speed-equivalent accepted from prop stuck handoff. | | ''t.move.unstuck_push_max'' | ''160'' | Max velocity added by generic unstuck nudges. | | ''t.move.unstuck_push_up_max'' | ''90'' | Max upward velocity added by generic unstuck nudges. | | ''debug_playermovement_unstick'' | ''false'' | Draws/debugs custom unstuck attempts. | | ''debug_playermovement'' | ''false'' | Draws/debugs player physics helper/shadow bodies. | ===== Magneto Hold / Pickup ===== ^ ConVar ^ Default ^ What it does ^ | ''t.magneto_pickup_owner_grace'' | ''0.35'' | Short grace window for ownership after requesting pickup. | | ''t.magneto_hold_break_distance'' | ''190'' | Drops the held prop if it strays this far from the holder's view origin for long enough. | | ''t.magneto_hold_break_grace'' | ''0.15'' | Grace period before breaking hold due to distance. | | ''t.magneto_corpse_hang_limit'' | ''3'' | Max corpses the magneto hang/rope behavior allows. | | ''t.magneto_debug_release_launch_speed'' | ''0'' | Debug-only forced release launch speed. ''0'' disables. | | ''ttt_magneto_debug'' | ''false'' | Legacy/general magneto debug toggle. | | ''t.db.magneto'' | ''false'' | Magneto debug logging toggle. | ===== Magneto Blocked-Hold Damping ===== These govern the softened hold-drive behavior when the held prop is blocked while trying to reach the crosshair target. ^ ConVar ^ Default ^ What it does ^ | ''t.magneto_blocked_hold'' | ''true'' | Enables blocked-hold softening/damping. | | ''t.magneto_blocked_hold_error'' | ''40'' | Minimum prop-to-target distance before normal obstruction can count as blocked. Player obstruction bypasses this. | | ''t.magneto_blocked_hold_closing_speed'' | ''20'' | If the prop is already moving toward the target faster than this, it is not considered blocked. Player obstruction bypasses this. | | ''t.magneto_blocked_hold_grace'' | ''0.12'' | How long obstruction must persist before full blocked behavior applies. | | ''t.magneto_blocked_hold_recovery'' | ''0.25'' | Time to blend back from blocked behavior to normal hold behavior after obstruction clears. | | ''t.magneto_blocked_hold_trace_size'' | ''2'' | Radius/size of the hold obstruction trace from held prop to wanted position. | | ''t.magneto_blocked_hold_detect_players'' | ''true'' | Lets the obstruction trace treat other players as blockers. | | ''t.magneto_blocked_hold_detect_movement'' | ''false'' | Lets the obstruction trace include ''movement'' helper bodies. Usually off. | | ''t.magneto_blocked_hold_smooth_time'' | ''0.42'' | SmoothDamp time while blocked; higher feels softer/slower. | | ''t.magneto_blocked_hold_max_speed'' | ''120'' | Global planar speed cap while blocked. | | ''t.magneto_blocked_hold_speed_scale'' | ''0.50'' | Multiplier applied to the prop profile push/pull speed while blocked. | | ''t.magneto_blocked_hold_vertical_cap'' | ''50'' | Vertical velocity cap while blocked. | | ''t.magneto_blocked_hold_angular_damping'' | ''0.55'' | Angular velocity damping while blocked. Lower damps spin harder. | ===== Prop Carry / Launch Tuning ===== ^ ConVar ^ Default ^ What it does ^ | ''t.prop.pickup_limit'' | ''3'' | Highest pickup scale that can be fully held by the magneto. | | ''t.prop.push_pull_limit'' | ''4'' | Highest pickup scale that can still be manipulated by magneto push/pull. | | ''t.prop.lethality_level'' | ''4'' | Global intentional-launch lethality scale. Ambient loose physics still uses derived prop scale. | | ''t.prop.launch_impact_window'' | ''1.2'' | Time after intentional launch where prop impact can count for propkill damage. | | ''t.prop.launch_owner_grace'' | ''0.2'' | Self-protection window after launch so the thrower does not instantly hit themselves. | | ''t.prop.launch_peak_carryover'' | ''1'' | Keeps peak source speed around briefly so one bad physics frame does not erase a throw. | | ''t.prop.launch_live_speed_forgiveness'' | ''1.25'' | Allows stored launch speed to exceed current live speed during the launch window. | | ''t.prop.debug_profile'' | ''false'' | Shows derived profile/carry policy/bounds over props. | | ''t.prop.debug_manipulation'' | ''false'' | Logs held/launch manipulation debug snapshots. | | ''t.prop.debug_manipulation_interval'' | ''0.20'' | Console sample interval for manipulation debug. | ===== Prop Impact / Ownership ===== ^ ConVar ^ Default ^ What it does ^ | ''t.prop.impact_player_max_damage'' | ''140'' | Hard cap for prop impact damage against players after per-prop scaling. | | ''t.prop.impact_player_cooldown'' | ''0.2'' | Per-player cooldown so the same contact cannot deal damage every physics tick. | | ''t.prop.impact_player_spawn_grace'' | ''0.75'' | Spawn grace where prop impact damage against a player is blocked. | | ''t.prop.impact_player_standing_speed'' | ''900'' | Extra threshold when the target is standing on the prop, to avoid stomp/standing noise. | | ''t.prop.push_carry_min_speed'' | ''70'' | Minimum prop speed before push-carry responsibility is recorded on player contact. | | ''t.prop.owner_return_release_delay'' | ''0.2'' | Delay after release before host considers reclaiming prop ownership. | | ''t.prop.owner_return_timeout'' | ''5'' | Failsafe maximum time before stale owned props can return to host. | | ''t.prop.owner_return_linear_speed'' | ''12'' | Linear speed threshold for considering released prop settled enough for host ownership return. | | ''t.prop.owner_return_angular_speed'' | ''25'' | Angular speed threshold for ownership return. | ===== Player-Vs-Loose-Prop Nudge System ===== ''PlayerPropInteractionSystem'' is the host-side policy for ordinary player body contact nudging loose props. ^ ConVar ^ Default ^ What it does ^ | ''t.prop.player_push_min_speed'' | ''35'' | Minimum player planar movement before body contact nudges a loose prop. | | ''t.prop.player_push_speed_scale'' | ''0.16'' | Converts player movement speed into loose-prop shove speed before profile caps. | | ''t.prop.player_push_max_speed'' | ''120'' | Global cap for player-body shove speed. Per-profile caps can be stricter. | | ''t.prop.player_push_vertical_cap'' | ''35'' | Caps vertical velocity injected into props by walking/body shoves. | | ''t.prop.player_push_angular_damping'' | ''0.75'' | Damps spin from player-body shoves. | | ''t.prop.player_push_trace_distance'' | ''20'' | Distance ahead of the player used to find a loose prop to nudge. | | ''t.prop.player_push_mass_reference'' | ''30'' | Legacy compatibility knob from old mass-based shove behavior. | | ''t.prop.player_push_min_mass_scale'' | ''0.08'' | Legacy compatibility knob from old mass-based shove behavior. | ===== Explosive Barrel / Prop Debug ===== ^ ConVar ^ Default ^ What it does ^ | ''t.barrel.reset_damage_grace'' | ''0.5'' | Grace after reset before barrel damage is accepted. | | ''t.barrel.renderer_cleanup_client_window'' | ''2'' | Client-side window for renderer cleanup after barrel transitions. | | ''t.barrel.renderer_cleanup_client_interval'' | ''0.25'' | Client-side interval for barrel renderer cleanup checks. | | ''t.barrel.spawn_registry.match_radius'' | ''0.25'' | Position tolerance for matching barrels to spawn registry records. | | ''t.db.barrel'' | ''false'' | Barrel debug logging. | | ''t.db.barrel.max_rows'' | ''24'' | Max rows for barrel debug output. | | ''t.db.barrel.client_autostart'' | ''false'' | Enables client autostart barrel probe/debug behavior. | | ''t.db.barrel.client_autostart.max_rows'' | ''24'' | Max rows for client autostart barrel probe output. | | ''t.db.barrel.spawn_registry'' | ''false'' | Barrel spawn registry debug logging. | ===== Related Fall / Void Safeguards ===== These are not prop controls directly, but they often matter while testing prop shove, stuck, teleport, and fall-damage edge cases. ^ ConVar ^ Default ^ What it does ^ | ''t.fall.min_airborne_time'' | ''0.08'' | Minimum airborne time before fall damage can apply. | | ''t.fall.respawn_grace'' | ''0.6'' | Grace after respawn before fall damage applies. | | ''t.fall.min_drop_distance'' | ''16'' | Minimum drop distance before fall damage applies. | | ''t.fall.teleport_grace'' | ''1.0'' | Grace after teleport before fall damage applies. | | ''t.fall.unstuck_grace'' | ''0.1'' | Grace after unstuck nudge before fall damage applies, with exploit mitigation checks. | | ''t.fall.ladder_grace'' | ''0.45'' | Grace around ladder transitions before fall damage applies. | | ''t.fall.max_self_damage'' | ''100'' | Max fall damage applied to the falling player. | | ''t.fall.max_stomp_damage'' | ''100'' | Max stomp/fall impact damage applied to another player. | | ''t.void_kill_z'' | ''-16384'' | Z position below which void kill behavior applies. |