You are viewing a potentially older version of this package. View all versions.
TeamSaltyBois-SimsStartAtLevel1-1.1.0 icon

SimsStartAtLevel1

Ensures that every newly created SimPlayer starts at level 1.

Date uploaded 2 weeks ago
Version 1.1.0
Download link TeamSaltyBois-SimsStartAtLevel1-1.1.0.zip
Downloads 110
Dependency string TeamSaltyBois-SimsStartAtLevel1-1.1.0

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

Sim Start At Level 1 (LevelOneSims) — v1.1.0

Description

Ensures that every newly created Sim starts at level 1. Made as a companion mod for my Sim Passive Leveling Overhaul, however it works fine on its own. Existing sims are never touched. The mod only affects sims being created fresh, with no save file on disk.

Keep in mind that rival sims gain levels on login. Nonrival sims (Generic and character slot bound) both can also have additional levels applied on login by default.


Configuration

Settings live in BepInEx/config/com.erenshor.levelonesims.cfg

  • ExcludedSims — Default: empty Comma-separated sim names that keep their designed starting level instead of being forced to 1 (example: GM-Burgee, Paul). Case-insensitive. Spaces around commas are ignored.

Requirements

  • BepInEx 5.4.23.5

Installation

  1. Install BepInEx for Erenshor.
  2. Place SimsStartAtLevel1.dll in your BepInEx/plugins/ folder.

Performance

No impact. The mod executes one integer assignment per newly created Sim during the login loading screen. There is no active code running during gameplay afterwards.


Compatibility

  • Sim Passive Leveling Overhaul — fully compatible, the intended pairing.
  • Custom Sim Framework — compatible. LevelOneSims will force override the custom sim's level, that you set in the json, on first save creation. Add the sim's name to ExcludedSims to let its pack level apply.

Methods Patched

One Harmony prefix on SimPlayerDataManager.CheckLoadData, which the game calls once per sim during the login loading sequence. The prefix forces the incoming starting level argument to 1 unless the sim is excluded. When a save file already exists, the game ignores that argument entirely and loads the saved level.

CHANGELOG

Changelog

1.1.0

Added

  • ExcludedSims config option. Comma separated sim names that keep their designed starting level instead of being forced to 1 (example: GM-Burgee, Scrubby). Case insensitive. Exclusions only apply to sims being created fresh.

Changed

  • The patch now binds the game method's parameters by name instead of by position. A future game update that renames or reorders CheckLoadData's parameters now fails loudly at load time instead of silently forcing the wrong argument to 1.

1.0.0

  • Initial release.