You are viewing a potentially older version of this package. View all versions.
watchoutbro-WatchOutBro-3.0.2 icon

WatchOutBro

Per-enemy gags + stacking + character cameos (Goobers, Clark, Dexter, DIRCM, ...). Drop voices/images for full effect.

Date uploaded 5 months ago
Version 3.0.2
Download link watchoutbro-WatchOutBro-3.0.2.zip
Downloads 818
Dependency string watchoutbro-WatchOutBro-3.0.2

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

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

Preferred version: 5.4.2100

README

WatchOutBro

A gag mod that slaps an out-of-place overlay onto your screen for everything that happens. Loud, ugly, on purpose.

What's new in v3

  • Bug fix: per-enemy reactions actually trigger now.
  • Stacking: multiple enemies → multiple stacked bubbles.
  • Character cameos: Goobers, Clark, Dexter Morgan, DIRCM, Klonnku, Plonko, Ulfric Stormcloak, Mommy ASMR.
  • Drop-in folders: add real voice clips and images without rebuilding the mod.

Drop-in folders (no rebuild required)

After first launch, two folders are read from BepInEx/plugins/WatchOutBro/:

voices/   ← drop OGG, WAV, or MP3 files here
images/   ← drop PNG (recommend ~256×256, transparent background)

Voice filenames

goober_1.ogg         "one goober"
goober_2.ogg         "two goobers"
goober_3.ogg         "three goobers"
goober_4.ogg         "four goobers"
goober_5.ogg         "five goobers"
goober_6.ogg         "six goobers"
goober_7.ogg         "seven goobers"
goober_8.ogg         "eight goobers"
goober_9.ogg         "nine goobers"
goober_10.ogg        "ten goobers"
goober_iquit.ogg     "I quit" (plays from pickup 11 onwards)
clark_pickup.ogg     "I think I like this Clark"
mommy_asmr_loop.ogg  long ambient loop, 30s+ recommended (only plays in menu / lobby / truck)
ulfric.ogg           Ulfric line (rare cameo on level load)
klonnku.ogg          Klonnku noise (plays on Gnome proximity)
plonko.ogg           Plonko noise (plays on Spewer proximity)
dexter.ogg           Dexter line (plays on Chef proximity)
dircm.ogg            DIRCM enemy line (plays on Trudge proximity)
dircm_fire.ogg       IR-beam fire sound (plays on any gun fire)

Missing file → procedural placeholder beep.

Image filenames

clark.png  ulfric.png  klonnku.png  plonko.png  dexter.png  dircm.png

Missing file → procedural placeholder icon.

Cameo roster

Trigger Cameo
Any valuable pickup Goobers counter + duplicate spawn
Diamond / crown / jewel / gold / trophy / ruby / sapphire / emerald pickup Clark
Menu / lobby / truck scene Mommy ASMR ambient loop
Level scene load (5% chance) Ulfric Stormcloak banner
Gnome proximity Klonnku
Spewer proximity Plonko
Chef proximity Dexter Morgan
Trudge proximity DIRCM enemy
Any gun fire DIRCM weapon (cyan beam flash)
Level scene load (every level, 8–20s after load) Wolters Kluwer Compliance Training modal
Anything else (vanilla enemy) v2 reactions (Huntsman shush, Reaper skull, ...)

Config

Tweak in BepInEx/config/watchoutbro.WatchOutBro.cfg after first launch:

  • [Diagnostics] LogEnemyNames — set to true to dump every detected enemy's transform chain and which reaction matched. Use to tune keywords, then turn off.
  • [Audio] VoiceVolume — voice + procedural SFX volume (0..1, default 0.7).
  • [Audio] AmbientVolume — ambient loop volume (0..1, default 0.3).
  • [Gameplay] GooberDuplicate — turn off to skip spawning visual duplicates on pickup.
  • [Gameplay] UlfricChance — 0..1, default 0.05.

Install

Use r2modman or Gale. Click "Install with Mod Manager".

Multiplayer

All overlays + sounds are client-local. Each player who installs sees/hears their own gags. Goober duplicates are visual-only (not net-synced).

Credits

  • Cat photo: the author's cat.
  • Voice lines: the author. If a voice file came from somewhere else, replace it.
  • Wolters Kluwer parody logo: procedurally generated, not the real trademark.

CHANGELOG

Changelog

3.0.1

Fixes

  • Game no longer freezes on level load. Diagnostic Harmony patches were dispatching pickup events on every fire — many "pickup"/"grab"/"collect" methods run every frame (e.g. Unity's OnTriggerEnter, IsPickupable()), which spammed the Goober counter into the thousands and spawned infinite duplicates. Diagnostic patches are now strictly log-only; narrowed keywords (pickup, shoot only); 50-patch cap per kind.
  • Mommy ASMR now plays on the main menu. SceneManager.activeSceneChanged doesn't fire for the scene already active when the plugin attaches — so the ambient loop never triggered on launch. Replaced with a 1Hz poll of SceneManager.GetActiveScene(); scene-name heuristic also recognises main.
  • Plugin compile fix. Config static class shadowed BaseUnityPlugin.Config (the inherited ConfigFile property) — renamed to ModConfig so dotnet build resolves correctly.

Goober — now actually wired

  • New PickupPatch.cs runs Harmony patches on a curated short list of likely method names (PhysGrabber.PickUpValuable, PhysGrabObject.OnGrab*, ValuableObject.OnPickUp, ItemAttributes.PickUp). Whichever resolves at runtime gets postfixed.
  • PickupRouter.OnRealPickup debounces same-instance pickups within a 0.6s window so multiple patched methods firing in one event count once.
  • Hard limits to keep the game playable even if the patch target is wrong:
    • 1s minimum gap between counted pickups
    • 500-pickup lifetime kill-switch with warning log
    • 100-duplicate hard cap per session (even with GooberDuplicate=true)
    • Self-duplicates excluded from re-counting
  • Clark trigger hard limits: 8s minimum gap between cameos, 50-fire lifetime cap.

Config defaults

  • GooberDuplicate default flipped to off — opt in once the pickup hook is verified working for your install.

3.0.0

Fixes

  • Per-enemy reactions actually trigger now. v2 substring-matched on the leaf GameObject name; spawned enemy components live on child objects so the parent prefab name was missed. v3 walks the entire transform-ancestor chain and matches against the joined string. Strips "(Clone)" suffix.
  • Diagnostic flag LogEnemyNames in BepInEx/config/watchoutbro.WatchOutBro.cfg dumps every distinct enemy's full ancestor chain + matched reaction key for tuning.

Features

  • Stacking overlays. Multiple enemies in range now show multiple stacked bubbles in the bottom-left (max 4), sorted by priority. Exclusive layouts (Huntsman shush, Wolters Kluwer modal) suppress the stack.
  • Voice + image drop-in folders. Drop OGG/WAV/MP3 into BepInEx/plugins/WatchOutBro/voices/ and PNG into BepInEx/plugins/WatchOutBro/images/ to override procedural placeholders. No rebuild needed.
  • Character cameos (overlay onto vanilla enemies/items, no new spawnable content):
    • Goobers — every valuable pickup increments a counter, plays goober_N.ogg (1..10) then goober_iquit.ogg, and spawns a visual duplicate of the same valuable at your feet (client-only, not net-synced).
    • Clark — picking up a high-value valuable (diamond / crown / jewel / gold / trophy / ruby / sapphire / emerald) flashes a Clark cameo and plays clark_pickup.ogg.
    • Mommy ASMR — ambient loop in menu / lobby / truck scenes. Drop mommy_asmr_loop.ogg to enable; otherwise silent.
    • Ulfric Stormcloak — random cameo on level load (5% chance, configurable).
    • Klonnku — re-skins the Gnome reaction.
    • Plonko — re-skins the Spewer reaction.
    • Dexter Morgan — re-skins the Chef reaction.
    • DIRCM (enemy) — re-skins the Trudge reaction with a nose-shaver icon.
    • DIRCM (weapon) — firing any gun flashes a cyan IR beam and plays dircm_fire.ogg (or a procedural whistle).
  • New procedural icons: NoseShaver, Beam. New procedural sound: IrBeam.
  • Pickup + gun-fire hooks use a diagnostic candidate-method scan; first launch logs which methods fired so the hook can be locked in a patch update if the heuristic missed.

Config

New BepInEx config keys in [Diagnostics], [Audio], [Gameplay] — see file in BepInEx/config/watchoutbro.WatchOutBro.cfg after first launch.

2.0.0

  • Per-enemy reactions: each enemy type now triggers its own overlay and message.
  • Wolters Kluwer compliance training modal once per level.
  • Procedural icons + sounds.

1.0.0

  • Initial release. Cat appears when enemy within 15 m.