


A prop-hunt gamemode for STRAFTAT. Some players are seekers; everyone else is a prop who disguises as an ordinary world object and tries not to be found. The seekers are held blind and frozen through a short hide phase, then the hunt begins.
Every player in the lobby must run the same version of this mod — the host can't start the mode otherwise (see Requirements).
Each take runs in two phases:
Winning a take:
Roles rotate: seeker duty passes round-robin through the players from one take to the next, so everyone gets turns hiding and seeking.
What each side experiences (all tunable — see Config):
The mod flags itself as not vanilla-compatible, so the game's matchmaking keeps PropHunt lobbies separate from vanilla ones. This is deliberate: it stops a player without the mod from joining a public game mid-match, where they'd see every disguised prop as a plain player model and wreck the take.
Default keys (all rebindable in the config):
| Action | Key |
|---|---|
| Disguise as the object you're looking at (prop) | F |
| Rotate disguise counter-clockwise (prop) | Q |
| Rotate disguise clockwise (prop) | E |
| Host arm/disarm fallback | F6 |
All settings live in BepInEx/config/landa.straftat.prophunt.cfg (created on first
run). Values are read live, so most edits take effect without a restart.
PropHunt.General| Key | Default | Description |
|---|---|---|
Enabled |
true |
Master toggle. When false the mod never arms and passes through. |
ToggleModeKey |
F6 |
Host-only fallback key to arm/disarm the mode in-map. |
DisguiseKey |
F |
Prop: disguise as the world object you're looking at (6 m range). |
SkipIntro |
true |
Skip the map intro banner/countdown while armed so the hide phase starts sooner. |
DynamicPropLighting |
true |
Occlusion-aware lighting for the disguise so a prop in a dark corner doesn't glow. Off = the engine's default lighting. |
GroundLightmapLighting |
false |
Experimental / opt-in. Light the disguise from the baked floor lightmap under it. Off = the tested occlusion probe-select lighting. |
SolidProps |
true |
The disguise is solid to standing/jumping/wall-jumping (never blocks bullets). Off = walk-through props. |
WallFlushProps |
true |
Wall-mounted disguises press flush against the wall instead of hovering. Purely visual. |
AutoTauntInterval |
30 |
Seconds between forced prop auto-taunts during the hunt (host-controlled). 0 = off; nonzero clamped to ≥10. |
TauntVolume |
2.5 |
Local taunt loudness multiplier while the mode is on. 1.0 = vanilla; clamped to [1, 5]. |
PropHealthMultiplier |
2 |
Multiply each prop's health when the hunt begins (host-controlled). 1.0 = vanilla; clamped to [1, 4]. |
SeekerCount |
1 |
How many players seek each take; everyone else is a prop (host-controlled). Clamped to [1, players − 1]. |
PropHunt.Rules| Key | Default | Description |
|---|---|---|
HideSeconds |
25 |
Hide-phase length (seekers frozen/blinded while props hide). |
HuntSeconds |
120 |
Hunt-phase length. If it expires with a prop alive, the props win the take. |
ShotPenalty |
1 |
Self-damage a seeker takes for a non-melee shot that misses every prop. |
PenaltyWindowSeconds |
0.4 |
Minimum seconds between two shot penalties. |
HitGraceSeconds |
0.15 |
A shot's penalty is cancelled if a prop took damage within this window after it. |
AllowReDisguise |
true |
Whether a prop may pick a new disguise after the first. |
ReDisguiseCooldown |
2 |
Seconds between disguise picks. |
MinPropSize |
0.3 |
Smallest accepted prop (largest bounds dimension, metres). |
MaxPropSize |
6.5 |
Largest accepted prop (largest bounds dimension, metres). |
WinRevealExtraSeconds |
4 |
Extra seconds the map change is held after a props win so eliminated seekers can see the hiding spots (host-controlled). 0 = off; clamped to [0, 10]. |
PropHunt.Visuals| Key | Default | Description |
|---|---|---|
ShowOwnProp |
true |
Prop also sees their own disguise (helps alignment). |
BlindOverlay |
true |
Seeker gets a fullscreen blind overlay during the hide phase. |
ThirdPersonCamera |
true |
Prop: pull the camera into third person while disguised (local visual). |
ThirdPersonDistance |
2.5 |
Third-person camera distance behind the head (metres); walls shorten it. |
RotateLeftKey |
Q |
Prop: hold to rotate the disguise counter-clockwise. |
RotateRightKey |
E |
Prop: hold to rotate the disguise clockwise. |
RotateSpeed |
120 |
Disguise rotation speed while a rotate key is held (degrees/second). |
PropHunt.Diagnostics| Key | Default | Description |
|---|---|---|
LogActivity |
false |
Verbose diagnostic logging — enable when reporting a bug. |
LogActivity = true in the config and
reproduce the issue. The BepInEx log is at
BepInEx/LogOutput.log in your game folder (and appears live in the BepInEx
console if you have it enabled).Made by cl. Built with BepInEx and HarmonyX.