ExtractionPointReward
Spawns configurable item rewards when completing an extraction point. Fully configurable. Only Host, clients don't need it.Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.0.0] - 2026-10-01
Added
- Initial public release of ExtractionPointReward for R.E.P.O.
- Reward item spawning upon extraction point completion with physics separation.
- Configurable per-slot weighted probability tables.
- Item preservation across levels: reward items secured in the truck, held by players, or in player inventory can persist across levels throughout the run when
PreserveItemsBetweenLevelsis enabled. - Configurable
MaxPreservedItemssetting (range 0..100, default 10) to cap maximum concurrently preserved reward items. - Centralized reusable item preservation routines in
RepoAPI.Items.ItemPreservation. - Patches for
SemiFunc.OnSceneSwitch,PunManager.SetItemNameLOGIC,StatsManager.ItemRemove, andStatsManager.RunStartStats. - Distinct visual aura for rewarded items:
Visuals/RewardItemVisuals.csattaches a centered pulsating light aura (defaulting to sci-fi electric cyan/teal) that dynamically disables while grabbed or equipped. By default, original item material colors and textures remain completely unchanged (EnableColorModificationdefaults tofalse), with optional material color tinting available via config. - Comprehensive
[Visuals]configuration section incom.osmar.ExtractionPointReward.cfgallowing customization of aura RGB channels, intensity, radius, and optional material color multipliers.
Changed
- Migrated project structure to the modern RepoKit methodology.
- Integrated
RepoAPIas git submodule for shared item providers and weighted keys. - Modernized build configuration with
Directory.Build.propsand dynamic game path resolution. - Standardized BepInEx plugin GUID to
com.osmar.ExtractionPointReward. - Renamed Harmony patches to
<TargetType>_<TargetMethod>_Patchstandard. - Balanced default item drop weights across reward slots: cheap consumables are common (weight 10), utility/support is moderate (weight 6), standard weapons are rare (weight 3), high-end weapons/carts are very rare (weight 2), permanent upgrades are ultra-rare jackpot rewards (weight 1), and
Power Crystalis disabled by default (weight 0). - Expanded reward capacity from 3 to 5 slots with independent
Enabledtoggles per slot. By default, Slot 1 (drops only health packs) and Slot 2 (balanced random pool) are active, while Slots 3 to 5 are disabled. - Implemented symmetric horizontal spawn placement dynamically centered based on the number of currently active slots.
- Updated documentation with
ARCHITECTURE.mdand refreshedREADME.md.
