cl-PropHunt icon

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-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305

README

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

  1. Everyone in the lobby installs PropHunt (same version).
  2. 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.)
  3. 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 = 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).

Credits

Made by cl. Built with BepInEx and HarmonyX.