REPO_JP-AntiValuableGrief icon

AntiValuableGrief

【Client MOD】Detects players who grief by destroying valuables.貴重品を破壊する荒らし行為を検出するMOD

By REPO_JP
Last updated 2 weeks ago
Total downloads 800
Total rating 2 
Categories Mods Tools Client-side
Dependency string REPO_JP-AntiValuableGrief-1.2.0
Dependants 0 other packages depend on this package

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

AntiValuableGrief

Overview

This mod is a host-only mod that detects players who cause large valuable damage, shows a red warning popup with J-key teleport support, and can optionally trigger a hidden enemy investigate reaction when severe loss is detected.

Main behavior

  • Monitors valuable damage during level gameplay
  • Attributes damage to the current holder or a recent holder of the damaged valuable
  • Tracks both recent loss inside the configured time window and total loss for the current level
  • Shows a red animated warning popup when the configured recent loss threshold is exceeded
  • Displays both LOSS for the configured time window and TOTAL for the whole level in the popup
  • Lets the mod user teleport to the currently warned player with J while the popup is visible
  • Stops monitoring after the final extraction is completed when the related setting is enabled
  • Prints the level damage ranking to the console when entering the shop

Hidden optional feature

This mod also includes an optional hidden feature that is disabled by default.

When enabled, it checks whether the offender reaches the configured border amount. Only when that border is reached or exceeded, the mod sends an investigate command using the nearest level point to that offender.

The investigate range is based on the current loss amount using the configured divisor, with minimum and maximum range clamps.

Default behavior for the hidden feature:

  • Disabled by default
  • No investigate is executed below the border amount
  • Investigate is executed only at or above the configured border amount
  • Uses the offender's nearest level point as the investigate origin

Important notes

  • This is a host-only monitoring mod
  • Monitoring can stop after the final extraction is completed, so post-clear damage can be excluded from counting
  • The popup teleport works only while the currently displayed warning popup is visible
  • The hidden investigate feature is an extra bonus system and is disabled by default

Installation

  1. Install BepInEx 5 for REPO
  2. Place AntiValuableGrief.dll in your BepInEx/plugins folder
  3. Start the game once to generate the config file
  4. Adjust the config values if needed

Configuration

EnableMod

  • Description: Enable or disable the entire mod
  • Default: true
  • Minimum: false
  • Maximum: true

RecentHolderGraceSeconds

  • Description: How many seconds a player is still treated as the recent holder after releasing a valuable
  • Default: 3.0
  • Minimum: No hard clamp in code. Practical minimum is 0
  • Maximum: No hard clamp in code

LossWindowSeconds

  • Description: Time window in seconds used for recent loss accumulation
  • Default: 15.0
  • Minimum: No hard clamp in code. Practical minimum is greater than 0
  • Maximum: No hard clamp in code

WarningLossThreshold

  • Description: Recent loss amount required to trigger the warning popup
  • Default: 2000
  • Minimum: No hard clamp in code. Practical minimum is 0
  • Maximum: No hard clamp in code

IgnoreUnownedValueLoss

  • Description: Ignore damage events when no responsible current or recent holder can be identified
  • Default: true
  • Minimum: false
  • Maximum: true

IgnoreAlreadyHauledValuables

  • Description: Ignore valuables that are already counted as hauled
  • Default: true
  • Minimum: false
  • Maximum: true

StopMonitoringAfterFinalExtraction

  • Description: Stop monitoring after the final extraction is completed so post-clear damage is not counted
  • Default: true
  • Minimum: false
  • Maximum: true

ShowWarningOverlay

  • Description: Show the animated red warning popup on screen
  • Default: true
  • Minimum: false
  • Maximum: true

WarnInConsole

  • Description: Print warning information to the BepInEx console and log
  • Default: true
  • Minimum: false
  • Maximum: true

WarningFontSize

  • Description: Font size used by the warning popup text
  • Default: 30
  • Minimum: No hard clamp in code. Practical minimum is around 16
  • Maximum: No hard clamp in code

WarningDisplaySeconds

  • Description: How long the warning popup stays visible before fading out
  • Default: 4.0
  • Minimum: The popup system uses at least 0.5
  • Maximum: No hard clamp in code

TeleportToWarningPlayerKey

  • Description: Key used to teleport to the currently warned player while the popup is visible
  • Default: J
  • Minimum: Any valid KeyCode
  • Maximum: Any valid KeyCode

WarningCooldownSeconds

  • Description: Cooldown before the same player can trigger another warning popup
  • Default: 5.0
  • Minimum: No hard clamp in code. Practical minimum is 0
  • Maximum: No hard clamp in code

PrintLossRankingOnShopEnter

  • Description: Print the level damage ranking once when entering the shop
  • Default: true
  • Minimum: false
  • Maximum: true

RankingMaxEntries

  • Description: Maximum number of players shown in the shop ranking output
  • Default: 10
  • Minimum: No hard clamp in code. Practical minimum is 1
  • Maximum: No hard clamp in code

EnableHiddenEnemyInvestigateOnLoss

  • Description: Enable the hidden optional enemy investigate reaction feature
  • Default: false
  • Minimum: false
  • Maximum: true

HiddenInvestigateUseNearestLevelPointBorderline

  • Description: Only execute the hidden investigate feature when the offender reaches or exceeds this border amount
  • Default: 1000
  • Minimum: No hard clamp in code. Practical minimum is 0
  • Maximum: No hard clamp in code

HiddenInvestigateUseRecentLossForBorderline

  • Description: Use the recent loss amount inside the configured time window for the hidden border check. If disabled, use the current event loss instead
  • Default: true
  • Minimum: false
  • Maximum: true

HiddenInvestigateRangeDivisor

  • Description: Hidden investigate range is calculated as current loss amount divided by this value
  • Default: 10
  • Minimum: No hard clamp in code. Practical minimum is greater than 0
  • Maximum: No hard clamp in code

HiddenInvestigateMinimumRange

  • Description: Minimum range clamp for the hidden investigate feature
  • Default: 5
  • Minimum: No hard clamp in code. Practical minimum is 0
  • Maximum: No hard clamp in code

HiddenInvestigateMaximumRange

  • Description: Maximum range clamp for the hidden investigate feature
  • Default: 100
  • Minimum: No hard clamp in code. Practical minimum is greater than or equal to the minimum range
  • Maximum: No hard clamp in code

HiddenInvestigatePathfindOnly

  • Description: Use the pathfind-only investigate mode for the hidden feature
  • Default: false
  • Minimum: false
  • Maximum: true

EnableDebugLog

  • Description: Enable detailed debug logs for holder tracking, value loss handling, and state transitions
  • Default: false
  • Minimum: false
  • Maximum: true

Technical notes

  • Valuable loss is detected from synchronized valuable break and value-loss events
  • Responsibility is assigned using the current holder first and the recent holder as fallback
  • Recent loss and total level loss are tracked separately
  • The hidden investigate feature is intended as an extra punishment-style mechanic and is disabled by default

Use case

This mod is intended for quickly identifying players who are repeatedly causing valuable damage during a live run, then checking them immediately with the popup and J teleport while still keeping a level-wide loss record for later review.

※Mod created by AI

日本語

REPOが好きな日本人のための日本人のみのREPOのDiscordサーバーあります! 参加は以下のリンクから! https://discord.gg/h5ATY4m5bZ

概要

このMODは、ホスト専用の、貴重品に大きな損害を与えたプレイヤーを検知し、JキーTP付きの赤い警告ポップアップを表示し、さらに重度損害時に敵の調査命令を飛ばす裏機能も任意で使えるMODです。

主な挙動

  • レベル中の貴重品損害を監視します
  • 壊れた貴重品を現在持っている、または直前まで持っていたプレイヤーへ責任を割り当てます
  • 指定時間内の損害額と、そのレベル全体の累計損害額を別々に集計します
  • 指定時間内の損害額がしきい値を超えると、赤い警告ポップアップを表示します
  • ポップアップには LOSS として指定時間内損害額、TOTAL としてそのレベル累計損害額を表示します
  • ポップアップ表示中は J キーで現在警告中のプレイヤーへTPできます
  • 設定が有効なら、最終納品完了後は監視を停止し、以後の損害はノーカウントにできます
  • ショップに入った時、そのレベルの損害額ランキングをコンソールへ出力します

裏機能

このMODには、初期値オフの裏機能があります。

この機能を有効にすると、責任者プレイヤーの損害額が設定したボーダーライン以上になった時だけ investigate を実行します。

investigate の中心は、その責任者に一番近い LevelPoint です。 範囲は今回の損害額をベースに、設定した割る数、最小値、最大値で計算します。

初期仕様では

  • 初期値オフ
  • ボーダーライン未満では investigate しない
  • ボーダーライン以上の時だけ investigate する
  • investigate の中心は責任者に最も近い LevelPoint です。

注意点

  • このMODはホスト専用監視MODです
  • 最終納品完了後に監視停止を有効にしている場合、クリア後の損害はカウントされません
  • J キーTPは、その瞬間に表示中のポップアップがある時だけ有効です
  • 裏機能はおまけ要素であり、初期値では無効です

導入方法

  1. REPO に BepInEx 5 を導入します
  2. AntiValuableGrief.dllBepInEx/plugins フォルダへ配置します
  3. ゲームを1回起動して config を生成します
  4. 必要に応じて config を調整します

設定項目

EnableMod

  • 内容: MOD全体の有効無効
  • 初期値: true
  • 最小値: false
  • 最大値: true

RecentHolderGraceSeconds

  • 内容: 貴重品を手放してから何秒以内なら直前保持者として責任候補にするか
  • 初期値: 3.0
  • 最小値: コード上の固定下限なし。実用上は 0 以上
  • 最大値: コード上の固定上限なし

LossWindowSeconds

  • 内容: 指定時間内損害額を合算する時間窓の秒数
  • 初期値: 15.0
  • 最小値: コード上の固定下限なし。実用上は 0 より大きい値
  • 最大値: コード上の固定上限なし

WarningLossThreshold

  • 内容: 警告ポップアップを出すために指定時間内で必要な損害額
  • 初期値: 2000
  • 最小値: コード上の固定下限なし。実用上は 0 以上
  • 最大値: コード上の固定上限なし

IgnoreUnownedValueLoss

  • 内容: 現在保持者や直前保持者が特定できない損害イベントを無視するか
  • 初期値: true
  • 最小値: false
  • 最大値: true

IgnoreAlreadyHauledValuables

  • 内容: 既に haul 済みとして扱われている貴重品を無視するか
  • 初期値: true
  • 最小値: false
  • 最大値: true

StopMonitoringAfterFinalExtraction

  • 内容: 最終納品完了後に監視を停止し、以後をノーカウントにするか
  • 初期値: true
  • 最小値: false
  • 最大値: true

ShowWarningOverlay

  • 内容: 画面中央下に赤い警告ポップアップを表示するか
  • 初期値: true
  • 最小値: false
  • 最大値: true

WarnInConsole

  • 内容: BepInExコンソールとログに警告を出力するか
  • 初期値: true
  • 最小値: false
  • 最大値: true

WarningFontSize

  • 内容: 警告ポップアップの文字サイズ
  • 初期値: 30
  • 最小値: コード上の固定下限なし。実用上は 16 前後以上
  • 最大値: コード上の固定上限なし

WarningDisplaySeconds

  • 内容: 警告ポップアップを表示し続ける秒数
  • 初期値: 4.0
  • 最小値: ポップアップ処理上の下限は 0.5
  • 最大値: コード上の固定上限なし

TeleportToWarningPlayerKey

  • 内容: ポップアップ表示中に現在警告中プレイヤーへTPするキー
  • 初期値: J
  • 最小値: 任意の KeyCode
  • 最大値: 任意の KeyCode

WarningCooldownSeconds

  • 内容: 同じプレイヤーへ連続警告を出す前のクールダウン秒数
  • 初期値: 5.0
  • 最小値: コード上の固定下限なし。実用上は 0 以上
  • 最大値: コード上の固定上限なし

PrintLossRankingOnShopEnter

  • 内容: ショップ入場時にそのレベルの損害額ランキングを出力するか
  • 初期値: true
  • 最小値: false
  • 最大値: true

RankingMaxEntries

  • 内容: ランキング表示の最大件数
  • 初期値: 10
  • 最小値: コード上の固定下限なし。実用上は 1 以上
  • 最大値: コード上の固定上限なし

EnableHiddenEnemyInvestigateOnLoss

  • 内容: 裏機能の investigate 反応を有効にするか
  • 初期値: false
  • 最小値: false
  • 最大値: true

HiddenInvestigateUseNearestLevelPointBorderline

  • 内容: この値以上の損害額になった時だけ investigate を実行するボーダーライン
  • 初期値: 1000
  • 最小値: コード上の固定下限なし。実用上は 0 以上
  • 最大値: コード上の固定上限なし

HiddenInvestigateUseRecentLossForBorderline

  • 内容: ボーダーライン判定に指定時間内損害額を使うか。オフなら今回1回の損害額を使います
  • 初期値: true
  • 最小値: false
  • 最大値: true

HiddenInvestigateRangeDivisor

  • 内容: investigate 範囲 = 今回損害額 ÷ この値
  • 初期値: 10
  • 最小値: コード上の固定下限なし。実用上は 0 より大きい値
  • 最大値: コード上の固定上限なし

HiddenInvestigateMinimumRange

  • 内容: investigate 範囲の最小値
  • 初期値: 5
  • 最小値: コード上の固定下限なし。実用上は 0 以上
  • 最大値: コード上の固定上限なし

HiddenInvestigateMaximumRange

  • 内容: investigate 範囲の最大値
  • 初期値: 100
  • 最小値: コード上の固定下限なし。実用上は最小値以上
  • 最大値: コード上の固定上限なし

HiddenInvestigatePathfindOnly

  • 内容: 裏機能 investigate を pathfindOnly モードで実行するか
  • 初期値: false
  • 最小値: false
  • 最大値: true

EnableDebugLog

  • 内容: 保持者追跡、損害集計、状態遷移などの詳細ログを出力するか
  • 初期値: false
  • 最小値: false
  • 最大値: true

技術メモ

  • 貴重品損害は同期済みの破損、価値減少イベントから取得します
  • 責任者は、現在保持者優先、必要なら直前保持者へフォールバックします
  • 指定時間内損害額とレベル累計損害額は別々に追跡します
  • 裏 investigate 機能はおまけ要素で、初期値オフです

用途

このMODは、貴重品を繰り返し壊しているプレイヤーをその場で見つけ、確認し、追跡しやすくしつつ、レベル全体の損害傾向もショップ到達時に確認できるようにするためのMODです。

※AI生成MOD