PropHunt
A prop-hunt gamemode for STRAFTAT: seekers are blinded and frozen while props disguise as world objects, then the hunt begins. Every player in the lobby needs the mod.
By cl
| Last updated | 19 hours ago |
| Total downloads | 41 |
| Total rating | 0 |
| Categories | AI Generated |
| Dependency string | cl-PropHunt-1.2.1 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305README
PropHunt
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).
The gamemode
Each take runs in two phases:
- Hide. The seekers are frozen in place and given a blackout overlay while the props scatter. A prop presses the disguise key while looking at a nearby object to become that object — a crate, a sign, a light fixture, whatever they're aiming at. Props can rotate the disguise to line it up, and (by default) re-pick a different object on a short cooldown.
- Hunt. The seekers are released and go looking. Props stay disguised and run when spotted.
Winning a take:
- Seekers win by finding and eliminating every prop before the hunt timer runs out.
- Props win if the hunt timer expires with a prop still alive — the seekers go down and the props take it. After a props win, the map change is held for a few extra seconds so the eliminated seekers can see where the props were hiding.
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):
- Props get a health boost when the hunt starts so a discovered prop can survive the first burst and run, can rotate and (optionally) re-pick their disguise, and are forced to auto-taunt on a timer during the hunt — the vanilla taunt sound, played louder, so hiding isn't perfectly silent.
- Seekers are blinded and frozen during the hide phase, then take a small amount of self-damage for every shot that misses a prop (so blind-firing the room has a cost), with a short window after each shot in which a hit on a prop cancels the penalty.
- A disguised prop is solid by default — the seeker can stand on it, jump off it, wall-jump against it — but it never blocks bullets; shots always resolve against the prop's real hitbox.
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.
Requirements
- BepInEx pack (listed as a dependency; a mod manager installs it for you).
- Every player in the lobby needs PropHunt, on the same version. The mod performs a handshake with each player before it will arm. If someone is missing the mod or is on a different version, the host's attempt to start the mode is refused, and the mod logs exactly who is missing or mismatched. This is by design — the gamemode only works when everyone is running it.
How to use
- Everyone in the lobby installs PropHunt (same version).
- The host selects Prop Hunt in the lobby's gamemode dropdown. (A host-only in-map hotkey, F6 by default, arms/disarms it as a fallback.)
- Play. Roles, phases and timers are handled automatically.
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 |
Config
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. |
Troubleshooting
- The host can't start the mode / it says someone is missing. That's the handshake working — every player in the lobby needs PropHunt on the same version. The log names who is missing or mismatched.
- To gather info for a bug report: set
LogActivity = truein the config and reproduce the issue. The BepInEx log is atBepInEx/LogOutput.login your game folder (and appears live in the BepInEx console if you have it enabled).
Credits
Made by cl. Built with BepInEx and HarmonyX.