You are viewing a potentially older version of this package. View all versions.
Kai09TA-CustomTimer-0.2.0 icon

CustomTimer

A configurable mission timer mod for REPO with multiplayer support.

Date uploaded 5 months ago
Version 0.2.0
Download link Kai09TA-CustomTimer-0.2.0.zip
Downloads 181
Dependency string Kai09TA-CustomTimer-0.2.0

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2304 icon
BepInEx-BepInExPack

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

Preferred version: 5.4.2304

README


CustomTimer

A configurable mission timer mod for R.E.P.O., designed to add time pressure and flexible control to runs — including multiplayer support.


Features

  • Mission timer with configurable initial time

  • Stage-based time bonuses (official and modded stages)

  • Player-count based time scaling

  • Multiple behaviors when time runs out

  • Multiplayer-safe synchronization

  • Optional HUD display

  • Chat commands for runtime control

  • Configurable per-stage time overrides

  • Designed to be stable across level reloads


🔔 Timer Notifications

This mod includes host-authoritative timer notifications via Chat and the truck screen.

Notifications are triggered only on timer state changes (not every tick), and are designed to be readable both visually and audibly.


⚠ Installation Notes

  • If only the host has this mod installed:

    • Timer logic works as normal.
    • Truck screen timer notifications are visible to all players.
  • To use all features (including chat-based and TTS-friendly notifications), clients must also have the mod installed.

For the best experience, installing the mod on both host and clients is recommended.


⚙ Configuration (Quick Overview)

Timer notifications can be customized via the config file.

[Chat Notify]
Enable = true
EnableCountdownChat = true
EnableThresholdChat = false
EnableBonusChat = true
ThresholdSeconds = 60,30,20,10
CooldownSeconds = 5

[Truck Notify]
Enable = true

Notes

  • Chat notifications are optimized for TTS / voice readability.
  • Truck screen notifications use a visual mm:ss format.
  • Chat and Truck notifications can be enabled or disabled independently.

✨ Additional Features (Brief)

  • Countdown notifications from 10 → 1 seconds
  • Timer start / pause / resume notifications
  • Bonus time and forced time updates
  • Time-up announcement at 0 seconds

Time-Up Behavior

You can configure what happens when the timer reaches zero:

  • KillAll

All players are killed. GameOver handling is left to the game itself.

  • ReloadImmediate

The level is immediately reloaded.

  • KillNonTruckPlayers (Recommended / Default)

Only players who have not reached the Truck are killed.

Players who successfully reached the Truck and received the final heal survive.

👉 This is the default and recommended option, as it feels the most fair and consistent in co-op play.


Configuration

All settings are available via the BepInEx config file.

General

  • Enable / disable the mod

  • Base initial timer value

Timer Limits & Blackout Behavior

  • Time Cap

    • Optionally limit the maximum timer value.
    • When enabled, the timer will never exceed the configured maximum.
    • This cap applies to:
      • Initial time
      • Stage bonuses
      • Player scaling bonuses
      • Time added during the run
  • Blackout Override

    • When the final extraction is completed and the stage enters blackout, the remaining time can be forcibly overwritten to a fixed value.
    • This is host-authoritative and synchronized to all clients.
  • Blackout Restrictions

    • After blackout begins:
      • Time bonuses are disabled
      • The timer cannot be increased further

These options allow you to control late-game pacing and prevent excessive time stacking.

Player Scaling

  • Add bonus time when player count is below a threshold

  • Fully configurable per missing player

Stage Bonus

  • Add or subtract time based on stage category:

  • Museum

  • Manor

  • Arctic

  • Wizard

  • Other / Modded stages

Stage Time Overrides

You can define custom time bonuses for specific stages:


stage_name:seconds,another_stage:-120

These values are added to the base timer and can be updated in-game using commands.

HUD

  • Toggle timer HUD on/off

Debug

  • Enable or disable debug logging

Commands

Commands are entered via chat and are host-only.

  • /time

Toggle pause / resume for the timer.

  • /timeset <seconds>

Immediately overwrite the current remaining time.

  • /timemapset <seconds>

Register a time bonus for the current stage if it belongs to the Other category.

The value is saved to the config and applied in future runs.


Multiplayer Notes

  • The host is authoritative for timer state

  • Clients receive synchronized updates automatically

  • Initial synchronization happens when the timer starts

  • Safe against level reloads and late UI initialization


Credits

  • UI inspiration:

Timer HUD design and layout were inspired by

Swaggies' TimeAttack mod

https://thunderstore.io/c/repo/p/Swaggies/TimeAttack/

Thanks for the reference and inspiration!


Notes

This mod focuses on being:

  • Predictable

  • Configurable

  • Friendly to multiplayer

It is intended to be a flexible tool rather than a strict game mode.


日本語説明

概要

CustomTimer は R.E.P.O. 用のミッションタイマー MOD です。

マルチプレイ対応を前提に、制限時間・ステージ補正・人数補正などを柔軟に設定できます。


主な機能

  • 初期時間を設定できるミッションタイマー

  • ステージごとの時間補正(公式・MODステージ対応)

  • プレイヤー人数に応じた時間補正

  • タイムアップ時の挙動を選択可能

  • マルチプレイ完全対応(同期処理あり)

  • HUD 表示の ON / OFF

  • チャットコマンドによる操作

  • ステージ個別の時間補正設定

  • リロードや実行順序に強い設計


タイムアップ時の挙動

タイマーが 0 になったときの動作を選択できます。

  • KillAll

全プレイヤーを死亡させます(GameOver 処理はゲーム側に任せます)

  • ReloadImmediate

即座にステージをリロードします

  • KillNonTruckPlayers(推奨・デフォルト)

トラックに到達していないプレイヤーのみ死亡します

トラックに到達し、最終回復を受けたプレイヤーは生存します

👉 協力プレイで最も自然な挙動のため、この設定をデフォルトとして推奨しています


🔔 タイマー通知について

CustomTimer には、タイマーの状態変化を通知する機能があります。
これらの通知は ホスト主導 で送信されます。

インストールに関する注意

  • ホストのみが MOD を導入している場合:

    • タイマー自体の動作は問題なく機能します
    • トラック内の画面表示による通知は全員に表示されます
  • すべての機能を利用する場合

    • クライアント側にも MOD の導入が必要です

最適な体験のため、ホスト・クライアント両方への導入を推奨します。


通知の種類(概要)

  • タイマー開始時の通知
  • 一時停止 / 再開時の通知
  • 残り時間のカウントダウン通知(10 秒 → 1 秒)
  • ボーナスタイム・強制時間変更時の通知
  • 残り時間が 0 になった際の通知(Time up)

表示形式について

  • チャット通知
    「◯分◯秒」といった聞いて分かりやすい形式で表示されます。

  • トラック画面表示
    視覚的に確認しやすい mm:ss 形式で表示されます。


設定項目

基本設定

  • MOD の有効 / 無効

  • 初期タイマー時間

タイマー制限・停電時の挙動

  • タイマー上限(Time Cap)

    • タイマーが指定した最大値を超えないように制限できます
    • 有効時、以下すべてに適用されます:
      • 初期時間
      • ステージ補正
      • 人数補正
      • プレイ中の時間加算
  • 停電時タイマー上書き

    • 最終抽出完了後(停電状態)に、 残り時間を指定した秒数に強制上書きできます
    • ホスト権限で処理され、全クライアントに同期されます
  • 停電後の制限

    • 停電開始後は:
      • 時間加算が無効になります
      • タイマーは増えなくなります

終盤のテンポ調整や、時間の過剰な積み上がり防止に使用できます。

プレイヤー人数補正

  • 人数が一定以下の場合にボーナス時間を追加

  • 不足人数ごとに秒数を設定可能

ステージ補正

  • Museum / Manor / Arctic / Wizard / Other

  • マイナス値も設定可能

ステージ個別補正(自由記述)


stage_name:秒数,another_stage:-120

BaseTimer に 加算 される補正です。

コマンドからの登録も可能です。

HUD

  • タイマー表示の ON / OFF

デバッグ

  • デバッグログの有効 / 無効

コマンド(ホスト専用)

  • /time

タイマーの一時停止 / 再開を切り替えます

  • /timeset <秒数>

現在の残り時間を即座に上書きします

  • /timemapset <秒数>

現在のステージが Other の場合、そのステージの時間補正を登録します

設定は Config に保存され、次回以降も有効です


クレジット

  • UI 参考元

HUD のレイアウトや見せ方は

Swaggies 氏の TimeAttack MOD を参考にしています

https://thunderstore.io/c/repo/p/Swaggies/TimeAttack/

素晴らしい MOD をありがとう!


「制限時間を遊びに取り入れるためのツール」として使ってもらえると嬉しいです。

CHANGELOG

Changelog

[1.0.0]

Changed

  • Updated compatibility for R.E.P.O. game version 0.4.x.

[0.2.3]

Improved

  • Added a safeguard for rare cases where a player could remain alive after Time-up.
  • If an extraction completes after Time-up and a survivor is detected, the timer will now resume with the configured Survivor Bonus Time.
  • Survivor bonus notifications are now sent only to surviving players.

[0.2.2]

Fixed

  • Fixed an issue where Time-up could incorrectly trigger while players were in the Shop.
  • Fixed a UI layering issue where the Status UI was obscured by the Timer UI.

[0.2.1]

Changed

  • Time-up penalties are now delayed while an extraction point is active.

  • During extraction, time-up effects are suppressed and will only apply after cancellation.

  • Updated KillNonTruckPlayers behavior:

    • Players who received Final Heal are now immune to time-up penalties.

[0.1.0] - Initial Release

Added

  • Host-authoritative timer notifications:

    • Timer start (initial activation)
    • Timer pause / resume
    • Bonus time and forced time updates
    • Time-up announcement
  • Chat notifications optimized for TTS readability

  • Truck screen timer messages with formatted remaining time (mm:ss)

  • Countdown notifications from 10 to 1 seconds

  • Threshold-based timer notifications (configurable)

Configuration

  • Fine-grained chat notification controls:

    • Enable / disable countdown, threshold, and bonus notifications independently
    • Adjustable notification cooldown
    • Customizable threshold seconds
  • Single master toggle for truck screen notifications

Design Notes

  • All notifications are host-authoritative

  • Basic timer functionality and truck screen notifications work with host-only installation

  • Installing the mod on clients is required to enable all chat-based and client-side features

  • Chat and Truck notifications use different formats:

    • Chat: audio / TTS friendly
    • Truck: visual status display
  • Notifications are triggered only on timer state changes, not every tick


[0.0.2]

Added

  • Optional timer cap to limit maximum time
  • Blackout-time forced timer override
  • Blackout restrictions preventing further time bonuses

Changed

  • Improved timer HUD behavior:

    • Timer UI remains visible while paused
    • Paused state is visually indicated
    • More consistent host/client display behavior

[0.0.1] - Initial Release

Added

  • Configurable mission timer for R.E.P.O.

  • Stage-based time bonuses (including modded stages)

  • Player-count based time scaling

  • Multiple time-up behaviors:

    • KillAll
    • ReloadImmediate
    • KillNonTruckPlayers (default / recommended)
  • Multiplayer-safe timer synchronization

  • Optional timer HUD

  • Chat commands:

    • /time (pause / resume)
    • /timeset (overwrite remaining time)
    • /timemapset (register stage-specific time bonus)
  • Configurable per-stage time overrides

  • Debug logging option