User Tools

Site Tools


props_magneto_stick_and_player_movement

This is an old revision of the document!


Prop, Magneto, and Movement ConVars

Quick reference for tuning prop interaction, magneto manipulation, held-prop collision, player movement physics, and related damage/debug behavior.

Server hosts, be wary when meddling with these and leaving your server running with the changes on. They are very capable of causing bugs and unexpected 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.

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.

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.
props_magneto_stick_and_player_movement.1777764438.txt.gz · Last modified: 2026/05/02 23:27 by frank_lee_smith

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki