Details

Last Updated
2 weeks ago
First Uploaded
2 weeks ago
Downloads
728
Likes
0
Size
140KB
Dependency string
Dinorush-ForcedConsumableSpawns-1.1.0
Dependants

Allows rundown developers to guarantee specific consumable spawns by adding the "ForceSpawnData" field to ConsumableDistributionDataBlock and BigPickupDistributionDataBlock. These spawns do not detract from "SpawnsPerZone" and consumables always appear in containers.

ForceSpawnData

The "ForceSpawnData" field takes a list of objects that each contain the fields:

  • "ItemID": The ID to spawn.
  • "Count": The number of items to spawn.
  • "PlacementWeights": Start/Middle/End weights on which area the item spawns in, same as other placement weights.

Consumable Example

This spawns 4 consumables that are either Lock Melters or Fog Repellers (50/50 chance), and guarantees that a C-Foam Tripmine spawns as well as 2 Explosive Tripmines in the last area.

// ConsumableDistributionDataBlock entry
{
  "SpawnsPerZone": 4,
  "ChanceToSpawnInResourceContainer": 1.0,
  "SpawnData": [ // Standard logic, random chance of fog repeller or lock melter (SpawnsPerZone count).
    {
      "ItemID": 116, // Lock melter
      "Weight": 1.0
    },
    {
      "ItemID": 116, // Fog repeller
      "Weight": 1.0
    }
  ],
  "ForceSpawnData": [ // The new field! Each of these always spawns (and always in containers).
    {
      "ItemID": 139,  // Explosive Tripmine
      "Count": 2,     // Spawn 2
      "PlacementWeights": { // Spawn towards the end
        "Start": 0.0,
        "Middle": 0.0,
        "End": 1.0
      }
    },
    {
      "ItemID": 144   // C-Foam Tripmine. Uses default Count (1) and PlacementWeights (0/0/0).
    }
  ],
  "name": "A Custom Entry",
  "internalEnabled": true,
  "persistentID": 100
},

Big Pickup Example

This spawns a cell and 2 fog repellers. The cell is spawned using vanilla SpawnData while the fog repellers use ForceSpawnData.

{
  "SpawnsPerZone": 1,
  "SpawnData": [ // Standard logic. Since only one type spawns, it could alternatively be placed in ForceSpawnData.
    {
      "ItemID": 131,  // Cell
      "Weight": 1.0
    }
  ],
  "ForceSpawnData": [ // The new field! Each of these always spawns.
    {
      "ItemID": 133,  // Fog Repeller
      "Count": 2      // Spawn 2
    }
  ],
  "name": "A Custom Entry",
  "internalEnabled": true,
  "persistentID": 100
},
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.