
Penumbra
Simple custom merchants, use defaults or create your own!Details
Table of Contents
Sponsor this project
Sponsors
Jairon O.; Odjit; Jera; Kokuren TCG and Gaming Shop; Rexxn; Eduardo G.; DirtyMike; Imperivm Draconis; Geoffrey D.; SirSaia; Robin C.; Colin F.; Jade K.; Jorge L.; Adrian L.;
Features
- Configurable Merchants: Comes with several default sets of wares that can be modified, replaced or added to (follow the example template shown in the configuration section below and increment merchant number for additional sets of wares).
 - Tokens & Login Rewards: Earn tokens for time spent online and redeem them for trader currency! Optional daily login bonus.
 
Configuration
Merchant(#)
- Name: (string, default: "Merchant#") Name/identifier for the merchant, used for easy referencing and verifying existence when autospawning merchants.
 - Output Items: (string, default: "-1370210913,1915695899,862477668,429052660,28358550") Item prefabGUIDs for outputs.
 - Output Amounts: (string, default: "1,1,1500,15,250") Item output amounts.
 - Input Items: (string, default: "-257494203,-257494203,-257494203,-257494203,-257494203") Item prefabGUIDs for inputs.
 - Input Amounts: (string, default: "250,250,250,250,250") Item input amounts.
 - Stock Amounts: (string, default: "99,99,99,99,99") Stock amounts for outputs.
 - Restock Time: (int, default: 60) Time between restocks in minutes (1min minimum, no option to not restock atm since I completely forgot about that >_>).
 - Trader Prefab: (int, default: 0) Trader prefab ID; leave this blank, will be saved out by the mod after spawning a merchant.
 - Position: (string, default: "") Position of merchant spawn in world; leave this blank, will be saved out by the mod after spawning a merchant.
 - Roam: (bool, default: false) Pace around or stay put.
 
Commands
.penumbra spawnmerchant [#]๐- Spawns merchant as configured at mouse; defaults to major noctem trader (can set per merchant in config).
 - Shortcut: .pen sm [#]
 
.penumbra removemerchant๐- Removes hovered merchant.
 - Shortcut: .pen rm
 
.penumbra redeemtokens- Redeems tokens for configured item.
 - Shortcut: .pen rt
 
.penumbra gettokens- Shows and updates tokens.
 - Shortcut: .pen gt
 
.penumbra getdaily- Check time remaining or receive daily login reward if eligible.
 - Shortcut: .pen gd
 
Development
- Run 
./dev_init.shfrom the repository root to provision the .NET SDK (via the local.dotnetfolder when necessary), restore NuGet packages, and produce a Release build.- Set 
BEPINEX_PLUGIN_DIRto copy the compiled plugin to a different BepInEx directory (defaults to/workspace/plugins). - Use 
DOTNET_CHANNELto pin a specific .NET release channel if you need something other than the default 8.0 LTS toolset (required for the repository's C# 12 syntax). 
 - Set 
 - When invoking builds manually, prefer 
dotnet build Penumbra.csproj -c Release -p:RunGenerateREADME=falseso that the README generation target is skipped during routine development builds. 
Credits
- BloodyMerchant by @Trodi was invaluable in putting this together, many thanks to him and other listed contributors!
 
