TrainWreck Help

Overview

The Loot system both pulls from a JSON file $profile:lootmap.json, but scrapes and merges catalog info from the active SCR_FactionManager. This enables us to work with any mod!

Everything about our mod is configurable, allowing you to tailor the experience to your community.

Ammo

Finding magazines that are full, ALL THE TIME, pshh. If you want to make ammo scarce, this is how you scare players!

By default we spawn magazines between 80% - 100% capacity.

{ "AmmoPercentageSetting": { "$type": "PercentageFieldSetting", "Min": 80, "Max": 100 } }

Skamdrept and myself (Badger 2-3) worked on SESOF MagRepack. ACE pulled in our work to include with their series of mods. Which is pretty neat!

Loot Respawn

If enabled, loot can respawn overtime so long as players are not nearby, and the container hasn't been interacted with for a period of time.

Variable

Description

Default Value

IsLootRespawnable

Should loot be allowed to respawn

true

RespawnAfterLastInteractionInMinutes

After being searched, a container must not be interacted with by ANY player for this period of time for it to be eligible for loot respawn.

Note, in order for loot to respawn players must also be outside a certain radius as defined by DeadZoneRadius

1

RespawnLootTimerInSeconds

Frequency in which containers are checked whether they can respawn loot

10

RespawnLootRadius

Number of chunks around a player loot will respawn. Note: this number should be greater than DeadZoneRadius

5

DeadZoneRadius

Number of chunks around a player loot CANNOT respawn. Players must be outside this area for a container to be eligible to respawn. The intent is for this to prevent players from camping good-loot containers.

2

GridSize

Loot Containers are grouped together on a grid system. Their positions are divided by this value which becomes their coordinate.

100

UnlootedTimeRatio

We have a ratio we apply towards the EntitySize to determine how long it takes to "search" a container.

Players must complete this interaction in order for loot to spawn in the container. Cannot bypass via inventory menu.

Zero means instantly open, increase this value for it to take longer to open.

0.5

NumberOfItemsToSpawnPerContainer

Number of items to spawn when a player completes searching.

We may turn this into a min/max scenario, taking EntitySize into account, similar to UnlootedTimeRatio

4

Loot Table

Vanilla reforger has the SCR_EArsenalItemType enum which pretty much behaves as a "category". We do NOT hardcode the implementation of these values. So if modders want to expand upon this enum our mod will automatically incorporate it in our loot table. However, each container has pre-defined categories defined for what can spawn in it.

TrainWreck adds a custom LootComponent to containers. IronMist used his methods of reasoning to determine what could feasibly spawn in each container (categorically). So, even though we technically incorporate any category derived from SCR_EArsenalItemType, the containers would need to be updated to include any net-new categories.

[ { "$type": "TW_LootConfigItem", "resourceName": "{F1E29085C62F0D55}Prefabs/Characters/Uniforms/Jacket_KZS/Jacket_KZS.et", "chanceToSpawn": 25, "randomSpawnCount": 1, "isEnabled": true, "tags": [] } ]

resourceName

Resource path to prefab

DO NOT TOUCH. This value is automatically set by our system. If you modify this value and it's incorrect, this item will be ignored

chanceToSpawn

It's actually a weight system. The greater the number, the more likely it'll spawn

When a new item is registered in the loot table it's given an automatic weight of 25

randomSpawnCount

If this item is selected for spawn, it will select a random number between 1 and this value.

It will then spawn N number of items into the designated container

Defaults to 1

isEnabled

If disabled, this item will be skipped/ignored

true

tags

Not yet integrated

The intent is to integrate this with the map location system we've been developing. Where we can define areas around map location types to assign "tags" to things.

For instance, we can say the area around military base markers - assign the tag "Military". Then we can filter loot from the loot table to only include items with said tag then pull from there

Empty list

15 July 2025