Skip to content

feat: add Ready or Not game extension with variant conflict detection#23620

Closed
rolling-codes wants to merge 1 commit into
Nexus-Mods:masterfrom
rolling-codes:add-game-readyornot
Closed

feat: add Ready or Not game extension with variant conflict detection#23620
rolling-codes wants to merge 1 commit into
Nexus-Mods:masterfrom
rolling-codes:add-game-readyornot

Conversation

@rolling-codes

Copy link
Copy Markdown

Summary

Adds a new game extension for Ready Or Not at extensions/games/game-readyornot/.

  • Game discovery via Steam (1144200) and Epic Games Store
  • PAK mod installation to ReadyOrNot/Content/Paks/~mods
  • FMOD audio mod support (.bank files)
  • Load order management using the alphanumeric prefix system (matches existing community extension behaviour)
  • Variant conflict detection — warns the user when mutually exclusive mod variants are enabled at the same time

Variant conflict detection

Vortex's existing file-level conflict detection doesn't catch a common modding problem: mods that are variants of the same feature and are never meant to coexist, but don't necessarily write to the same files.

This happens in two ways in the Ready or Not mod ecosystem:

Intra-mod variants — a single Nexus mod page ships multiple exclusive files (e.g. No Stress for SWAT ships Standard, Hardcore Officers, and Robocop variants). Installing two of them won't trigger a file conflict, but both will try to take effect in-game.

Cross-mod conflicts — multiple separate Nexus mod pages all modify the same gameplay system (e.g. the many player HP mods on Nexus — 350HP Mod, 1000HP Mod, HP PLUS, etc.). Installing two silently means only one wins.

The extension hooks into profile-did-change and mods-enabled events and shows a Vortex warning notification naming the specific conflicting mods.

The detection logic is split into two pure modules with no Vortex API dependency, making them straightforward to extend or unit test:

  • src/variantGroups.js — curated list of exclusive variant groups (intra-mod and cross-mod)
  • src/conflictDetector.js — stateless detectConflicts(mods, groups) function

Notes

  • Game registration code adapted from the community extension by BeYkeRYkt — credit included in source
  • assets/gameart.jpg still needs to be added (binary file — happy to push separately if this PR approach is preferred)
  • Variant group data in variantGroups.js can be extended by the community as new conflicting mod families are identified

Adds initial support for Ready Or Not to Vortex via a new game
extension at extensions/games/game-readyornot.

Features:
- Game discovery (Steam + Epic Games Store)
- PAK mod installation to the ~mods directory
- FMOD audio mod support
- Load order management (alphanumeric prefix system, matching the
  existing community extension behaviour)
- Variant conflict detection: warns when mutually exclusive mod
  variants are installed together (e.g. multiple player health
  mods, or multiple scoring variants from the same mod page)

The variant detection is split into two pure modules:
- variantGroups.js: curated data — intra-mod groups (single Nexus
  page, multiple exclusive files) and cross-mod groups (separate
  Nexus pages covering the same feature)
- conflictDetector.js: stateless function, no Vortex API dependency,
  easy to unit test and extend

Credit: game registration code adapted from the community extension
by BeYkeRYkt (github.com/BeYkeRYkt/vortex_readyornot_extension).
@rolling-codes rolling-codes requested a review from a team as a code owner July 2, 2026 17:57
@rolling-codes

Copy link
Copy Markdown
Author

@claude

@IDCs

IDCs commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Hey @rolling-codes - I'm afraid this is not the correct process to submit a community game extension. We do not accept contributions into the bundled games repository unless discussed first.

In this case, there is already a community game extension available on the site as you noted - if the current implementation falls short, why not contribute to BeYkeRYkt repo directly?

@IDCs IDCs closed this Jul 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants