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.
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.
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 |