About EWP Player Reward
From ThunderstoreAdds configurable reward scaling based on nearby players and creature levels to Expand World Prefabs.
EWP Player Reward
A small extension for Expand World Prefabs (EWP) that calculates item stack rewards based on nearby player count and the level of the creature that triggered a rule.
Requirements
- Valheim with BepInEx
- Expand World Prefabs 1.60.0 or newer
Features
- Configurable radius for counting nearby players.
- Configurable base reward.
- Configurable bonus for each additional nearby player.
- Configurable bonus for each creature level after level 1.
- Returns an integer reward that can be used as an item stack value in EWP rules.
- Includes
GoblinReward, a testing function that counts nearby Goblins instead of players.
Reward formula
LevelReward = BaseReward * (1 + (Level - 1) * LevelBonus)
PlayerMultiplier = 1 + PlayerBonus * (Players - 1)
Reward = LevelReward * PlayerMultiplier
The first creature level gives the base reward; each subsequent level adds LevelBonus times the base reward. The first nearby player gives no extra bonus; each additional player adds PlayerBonus times the level-adjusted reward.
The function treats a count of zero like a count of one for reward calculation. The current implementation rounds positive fractional rewards to the nearest integer, with .5 rounded up.
Example
With BaseReward = 100, LevelBonus = 0.5 (+50% per level after the first) and PlayerBonus = 0.2 (+20% per extra player):
| Creature level | 1 player | 2 players | 3 players | | ---: | ---: | ---: | ---: | | 1 | 100 | 120 | 140 | | 2 | 150 | 180 | 210 | | 3 | 200 | 240 | 280 | | 4 | 250 | 300 | 350 | | 5 | 300 | 360 | 420 |
For a level 3 creature and three nearby players:
LevelReward = 100 * (1 + (3 - 1) * 0.5) = 200
PlayerMultiplier = 1 + 0.2 * (3 - 1) = 1.4
Reward = 200 * 1.4 = 280
EWP usage
The function accepts eight arguments in this order:
<PlayerReward_X:Y:Z:Radius:BaseReward:Level:PlayerBonus:LevelBonus>
X:Y:Z— position around which players are counted; normally<x>:<y>:<z>.Radius— detection radius in meters.BaseReward— base item quantity.Level— creature level; normally<int_level=1>.PlayerBonus— additional reward per player after the first;0.2means +20%.LevelBonus— additional base reward per creature level after the first;0.5means +50%.
Example rule for a Troll:
- prefab: Troll
type: destroy
spawn:
- prefab: Coins
data: int, stack, <PlayerReward_<x>:<y>:<z>:100:100:<int_level=1>:0.2:0.5>
This example searches within 100 meters, starts from 100 coins, adds 20% for each extra player, and adds 50% of the base reward for each level above 1.
Another example
- prefab: Neck
type: destroy
spawn:
- prefab: Coins
data: int, stack, <PlayerReward_<x>:<y>:<z>:20:5:<int_level=1>:0.5:0.25>
This example uses a 20-meter radius, 5 base coins, +50% per additional player, and +25% per level after the first.
GoblinReward (testing)
GoblinReward uses the same eight arguments and formula, but counts nearby Goblin characters rather than players. Goblin levels do not affect the calculation; Level is the level passed by the EWP rule.
- prefab: Troll
type: destroy
spawn:
- prefab: Coins
data: int, stack, <GoblinReward_<x>:<y>:<z>:100:100:<int_level=1>:0.2:0.5>
Upgrading from 1.0.0
Breaking change: Both PlayerReward and GoblinReward now require an eighth argument, LevelBonus.
Old syntax (1.0.0):
<PlayerReward_<x>:<y>:<z>:100:100:<int_level=1>:0.2>
New syntax (1.1.0):
<PlayerReward_<x>:<y>:<z>:100:100:<int_level=1>:0.2:0.5>
To preserve the old full base-reward increase for every additional level, use 1.0 as the eighth argument:
<PlayerReward_<x>:<y>:<z>:100:100:<int_level=1>:0.2:1.0>
Update all existing EWP rules that call these functions when upgrading.
Installation
Thunderstore Mod Manager / r2modman
Install the package through your mod manager. Its declared dependencies will be installed automatically.
Manual installation
Install BepInEx and Expand World Prefabs, then place the mod DLL (CoinReward.dll or EWPPlayerReward.dll, depending on the build name) into BepInEx/plugins/.
Important notes
- The mod does not automatically add drops. You must configure item spawns in your EWP YAML rules.
PlayerRewardcounts player objects visible to the game instance evaluating the rule. Verify multiplayer behavior in your server setup.- Decimal arguments use a period (
0.2), not a comma.
Version
1.1.0
Highlights
From source dataLoaders
Runs on BepInEx.
Footprint
Rated a light load on a server.
Last update
Its author last shipped an update 24d ago.
EWP Player Reward on Nxeon
From our catalogue- One-click install
- Supported on Nxeon Valheim servers, for BepInEx servers. We download it from Thunderstore, place it, and restart the server.
- Server type needed
- BepInEx
- Server load
- light
- Smallest plan we suggest
- Valheim — 4 GB (4 GB RAM). This follows our own load rating above, not a benchmark.
- Latest build
- 1.1.0, released 2026-10-11
Game versions by loader
| Loader | Game versions | Newest |
|---|---|---|
| BepInEx |
From 2 recorded builds of EWP Player Reward.
Recent builds
| Build | Released | Game versions | Loaders |
|---|---|---|---|
| 1.1.0 | 2026-10-11 | n/a | BepInEx |
| 1.0.0 | 2026-09-28 | n/a | BepInEx |
Dependencies
- Required: Expand World Prefabs
Declared by the newest build that lists any. Required ones are installed with it on one-click installs.
Run EWP Player Reward on a Valheim server
Pick a server or deploy a new one above; it is installed in one click.
What kind of mod it is
From the catalogCreatures & NPCs
Adds or changes creatures, NPCs and how they behave.
Compatibility
- Game
- Valheim
- Loaders
- BepInEx
- Requires
- One-click install needs a BepInEx server.
Verified at the source
- ✓ThunderstoreOfficial listing, checked 2026-10-11Open ↗
- ✓AuthorGurneyArena, as published on Thunderstore
- ✓LicenseNot published by the sourceFree






