- Optional Dependencies
-
Economics - https://umod.org/plugins/economics
Server Rewards - https://umod.org/plugins/server-rewards
Custom Helicopter Tiers - https://chaoscode.io/resources/custom-helicopter-tiers.194
Layout
The cargo ship has two layouts: one with shipping containers (A) and another with an empty deck with military vehicles (B). You can determine which layout each tier spawns with by specifying either
A
or B
in the CargoShipLayout
config option.Editor
In the cargo ship editor, you can create spawn groups for loot crates, portals, and npcs. Within each group, you can add spawn points for spawning these entities. When editing an npc spawn group, you can add additional points like cover and move points, which are ncessary for enabling custom navigation and cover seeking behavior for npcs.
Given the cargo ship's two layouts, you can add points for both within the same spawn group. This allows each spawn group to be usable for both layouts simultaneously, removing the need to create separate groups for each layout.
Spawn groups for npcs don't only spawn them but also manage their navigation and ai behavior. When editing an npc spawn group, it's important to follow certain rules to ensure npcs spawn and move without problems:
- Move points are the foundation for both spawn and cover points. This means you must first lay down the move points and then place cover and spawn points on them as needed. Neglecting this can lead to npcs not seeking cover at the designated points or having issues following the move path upon spawning.
- Ensure there's a clear line of sight between move points, avoiding paths that pass through objects.
- Avoid unnecessary complexity in your move point links.
- Keep a reasonable distance between move points, making use of the maximum link length of 4.5 meters. Although they don't always need to be spaced far apart, just avoid placing them too close to each other.
- Place cover points in areas where npcs can effectively take cover from player attacks, typically behind high obstacles, corners, etc.
Custom Crate Spawns
Loot crates spawn on the cargo ship in rounds, occurring every x minutes. The default number of rounds is 3, but you can add more by duplicating the configuration for each round and assigning it a new number. Just make sure the numbers are in sequential order, starting with 0, followed by 1, 2, etc.
Each round has loot spawners consisting of a spawn group and a list of crates. Specify the quantity of each crate next to its name and ensure that the spawn group has enough spawn points to spawn all crates.
Supported crates:
- junk
- military
- elite
- medical
- food
- ammunition
- explosives
- foodbox
- tools
- vehicle parts
- underwater medical
- underwater food
- underwater foodbox
- underwater fuel
- underwater tech parts
- hackable
- hackable oilrig
- bradley
- helicopter
- supply drop
- oil barrel
- diesel barrel
- diesel barrel collectable
JSON:
"Loot": {
"Enable Custom Crate Spawns": false,
"Hackable Crate Hack Duration Seconds": 15.0,
"Initial Spawn Delay Seconds": 10.0,
"Spacing Between Rounds Minutes": 10.0,
"Rounds": {
"0": [
{
"Spawn Group Alias": "17B0C",
"Crates": {
"junk": 4,
"military": 4,
"elite": 1,
"hackable": 1
}
},
{
"Spawn Group Alias": "CBF9E",
"Crates": {
"food": 2,
"medical": 2
}
},
{
"Spawn Group Alias": "49860",
"Crates": {
"oil barrel": 5,
"diesel barrel collectable": 2
}
}
]
}
},
Keep in mind that enabling custom crate spawns will prevent the spawning of vanilla crates on the ship. Therefore, only enable it once you have fully configured it.
Roaming Portals
Similar to dungeons, portals allow players to jump onto the cargo ship from anywhere on the map, turning the ship into a battle arena.
Portals spawn randomly on the map in proximity to players who meet specific criteria, such as not being in a monument, on water, in a building blocked area, flying a minicopter, or near an enemy base, etc. When a player enters a portal, a counterpart portal spawns on the other side on the ship, linking both portals together.
Portals also have a lifespan to prevent the map from being flooded with them and to add time pressure for players using them.
JSON:
"Portal": {
"Enable Portal Spawns": true,
"Spawn Group Alias": "51469",
"Minimum Spawn Range From Player": 15.0,
"Maximum Spawn Range From Player": 40.0,
"Spawn Chance": 50,
"Initial Spawn Delay Seconds": 10.0,
"Respawn Delay Minutes": 10.0,
"Roaming Portal Lifetime Seconds": 60.0,
"Cargo Ship Portal Lifetime Seconds": 30.0
},
If one of the portals happens to be dead for any reason while the other is still alive, and a player attempts to enter one of them, it'll automatically try to connect to the next available portal based on a set of rules. Here's a graph to help in understanding:
Custom NPC Spawners
You can create your own npc spawners that spawn npcs, modify their brain stats, and manage their navigation on the ship.
Brain Stats:
The following config options control how npcs behave and interact with targets. Here's an explanation of each one:
ForgetEnemiesAfterSeconds
: The duration the npc remembers detected enemies.EnemyDetectionRange
: The limit for how far the npc can "see" or "sense" around it.RangeForRememberingHiddenEnemies
: The distance limit that allows the npc to keep track of targets even if they temporarily disappear from its view. If the target moves beyond this set distance, the npc will consider the target as "lost" and stop tracking it.FieldOfViewRangeForSeeingEnemies
: Determines how wide an area in front of the npc it can effectively "see" and react to. Higher values broaden the npc's field of view, allowing it to see players in a wider arc, while lower values narrow this field.IgnoreCrouchedUnseenEnemies
: Decides if the npc should ignore sneaking or crouching players who're not directly visible.RangeForHearingEnemyNoises
: The range within which the npc can hear noises made by players.CanUseHealingItems
: Determines whether the npc can use healing items.ChanceOfUsingHealingItemWhenInjured
: The probability of the npc using a healing item when its health is below a certain threshold.ThresholdHealthPercentageToTriggerHealing
: The health fraction below which the npc considers using a healing item.
JSON:
"Sensory": {
"Enemy Detection Range": 30.0,
"Range For Remembering Hidden Enemies": 50.0,
"Forget Enemies After Seconds": 10.0,
"Field Of View Range For Seeing Enemies": -0.8,
"Range For Hearing Enemy Noises": 10.0,
"Ignore Crouched Unseen Enemies": true,
"Can Be Blinded By Flashbang": true
},
"Health": {
"Start Health": 150.0,
"Can Use Healing Items": true,
"Chance Of Using Healing Item When Injured": 50,
"Threshold Health Percentage To Trigger Healing": 50
},
Loadout:
You can equip npcs with custom loadouts which include items for both their wear and belt inventories. To specify which weapon in the belt inventory is to be used as the active item, it must be the first item in the list.
Note that if you have
CanUseHealingItems
enabled, you must also include medical syringes or bandages in the belt loadout.
JSON:
"Loadout": {
"Equip Custom Loadout": false,
"Randomize Active Weapon": true,
"Belt": [
{
"Shortname": "candycaneclub",
"SkinId": 0,
"Amount": 1
},
{
"Shortname": "syringe.medical",
"SkinId": 0,
"Amount": 2
}
],
"Wear": [
{
"Shortname": "gingerbreadsuit",
"SkinId": 0,
"Amount": 1
}
]
}
Navigation and Pathfinding:
The pathfinding of CargoShipTiers npcs uses an algorithm called the "AStar" algorithm, which basically optimizes the route from a start point to a target destination by efficiently exploring the most promising paths based on cost and heuristic estimates. This's exactly the same method rust uses for their vanilla npcs that spawn at monuments such as underwater lab, military tunnel, and oil rig.
Protective Bubble
When a player calls in a cargo ship, it spawns encapsulated in a bubble that keeps out everyone except the summoner and their teammates. It pushes away any vehicles attempting to enter, including rhibs, rowboats, minicopters, scrap helicopters, and even submarines.
Summon Profiles
Summon profiles enable players to summon (buy) cargo ships. When creating a new profile, assign it a unique name (suffix), as this will be used to construct the profile permission. For example, a summon profile with the suffix
vip
within the tier kraken
results in the permission: customcargoshiptiers.kraken.vip
. The plugin automatically generates these permissions for you.You can set a price for summoning ships using inventory items, points (ServerRewards), or coins (Economics). Use the item shortname for items,
points
for ServerRewards, and coins
for Economics.
JSON:
"Summon Profiles": {
"vip": {
"Enabled": false,
"Cargo Ship Layout": "A",
"Cooldown Minutes": 360.0,
"Price": [
{
"Currency": "scrap",
"Enabled": true,
"Amount": 700
},
{
"Currency": "techparts",
"Enabled": true,
"Amount": 10
},
{
"Currency": "coins",
"Enabled": false,
"Amount": 1000
},
{
"Currency": "points",
"Enabled": false,
"Amount": 1000
}
]
}
}
Permissions
CustomCargoShipTiers uses Oxides permission system
To assign a user permission use oxide.grant user "username|steam id" "permission" in console.
To assign a group permission use oxide.grant group "groupname" "permission" in console.
You can read more about how to use the permission system here : uMod - Permissions
To assign a user permission use oxide.grant user "username|steam id" "permission" in console.
To assign a group permission use oxide.grant group "groupname" "permission" in console.
You can read more about how to use the permission system here : uMod - Permissions
customcargoshiptiers.admin
- Grants access to the editor and the use of admin commands.
Commands
Chat Commands:
cargoshiptiers.buy <TierName>
- Allows players to summon a ship. This command is used directly by the player, who must have a summon profile assigned to them.
cargoshiptiers.edit
- Enters the cargo ship editor.cargoshiptiers.call <TierName> [SteamId]
- Summons a ship for a specified player. This is useful if you wish to sell or call the ship through other plugins. ReplaceSteamId
with the appropriate placeholder as required by the plugin being used. If no id is specified, the ship will spawn randomly on the map.
Default Configuration
JSON:
{
"Version": "2.0.0",
"Maximum Population": 1,
"Disable Vanilla Cargo Ship": false,
"Tiered Cargo Ships": {
"kraken": {
"Enabled": true,
"Lifetime Minutes": 50.0,
"Maximum Population": 1,
"Egress Duration Minutes": 10.0,
"Spawn": {
"Enable Automated Cargo Ship Spawns": true,
"Cargo Ship Layout": "A",
"Spawn Chance": 100,
"Minimum Active Players Required": 0,
"Minimum Respawn Delay Minutes": 90.0,
"Maximum Respawn Delay Minutes": 135.0
},
"Loot": {
"Enable Custom Crate Spawns": false,
"Hackable Crate Hack Duration Seconds": 15.0,
"Initial Spawn Delay Seconds": 10.0,
"Spacing Between Rounds Minutes": 10.0,
"Rounds": {
"0": [
{
"Spawn Group Alias": "00000",
"Crates": {
"junk": 4,
"military": 4,
"elite": 1,
"hackable": 1
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"food": 2,
"medical": 2
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"oil barrel": 5,
"diesel barrel collectable": 2
}
}
],
"1": [
{
"Spawn Group Alias": "00000",
"Crates": {
"junk": 4,
"military": 4,
"elite": 1,
"hackable": 1
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"food": 2,
"medical": 2
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"oil barrel": 5,
"diesel barrel collectable": 2
}
}
],
"2": [
{
"Spawn Group Alias": "00000",
"Crates": {
"junk": 4,
"military": 4,
"elite": 1,
"hackable": 1
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"food": 2,
"medical": 2
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"oil barrel": 5,
"diesel barrel collectable": 2
}
}
]
}
},
"Portal": {
"Enable Portal Spawns": false,
"Spawn Group Alias": "00000",
"Minimum Spawn Range From Player": 15.0,
"Maximum Spawn Range From Player": 40.0,
"Spawn Chance": 50,
"Initial Spawn Delay Seconds": 10.0,
"Respawn Delay Minutes": 10.0,
"Roaming Portal Lifetime Seconds": 60.0,
"Cargo Ship Portal Lifetime Seconds": 30.0
},
"NPC": {
"Disable Vanilla NPC Spawners": false,
"Enable Custom NPC Spawns": false,
"Custom NPC Spawners": [
{
"Enabled": false,
"Spawn Group Alias": "00000",
"Initial Spawn Delay Seconds": 10.0,
"Respawn Delay Minutes": 10.0,
"Maximum Population": 4,
"Minimum Number To Spawn Per Spawn Cycle": 1,
"Maximum Number To Spawn Per Spawn Cycle": 2,
"Spawn Chance": 100,
"Sensory": {
"Enemy Detection Range": 30.0,
"Range For Remembering Hidden Enemies": 50.0,
"Forget Enemies After Seconds": 10.0,
"Field Of View Range For Seeing Enemies": -0.8,
"Range For Hearing Enemy Noises": 10.0,
"Ignore Crouched Unseen Enemies": true,
"Can Be Blinded By Flashbang": true
},
"Health": {
"Start Health": 150.0,
"Can Use Healing Items": true,
"Chance Of Using Healing Item When Injured": 50,
"Threshold Health Percentage To Trigger Healing": 50
},
"Loadout": {
"Equip Custom Loadout": false,
"Randomize Active Weapon": true,
"Belt": [
{
"Shortname": "candycaneclub",
"SkinId": 0,
"Amount": 1
},
{
"Shortname": "syringe.medical",
"SkinId": 0,
"Amount": 2
}
],
"Wear": [
{
"Shortname": "gingerbreadsuit",
"SkinId": 0,
"Amount": 1
}
]
}
},
{
"Enabled": false,
"Spawn Group Alias": "00000",
"Initial Spawn Delay Seconds": 10.0,
"Respawn Delay Minutes": 10.0,
"Maximum Population": 4,
"Minimum Number To Spawn Per Spawn Cycle": 1,
"Maximum Number To Spawn Per Spawn Cycle": 2,
"Spawn Chance": 100,
"Sensory": {
"Enemy Detection Range": 30.0,
"Range For Remembering Hidden Enemies": 50.0,
"Forget Enemies After Seconds": 10.0,
"Field Of View Range For Seeing Enemies": -0.8,
"Range For Hearing Enemy Noises": 10.0,
"Ignore Crouched Unseen Enemies": true,
"Can Be Blinded By Flashbang": true
},
"Health": {
"Start Health": 150.0,
"Can Use Healing Items": true,
"Chance Of Using Healing Item When Injured": 50,
"Threshold Health Percentage To Trigger Healing": 50
},
"Loadout": {
"Equip Custom Loadout": false,
"Randomize Active Weapon": true,
"Belt": [
{
"Shortname": "pitchfork",
"SkinId": 0,
"Amount": 1
},
{
"Shortname": "knife.butcher",
"SkinId": 0,
"Amount": 1
},
{
"Shortname": "bone.club",
"SkinId": 0,
"Amount": 1
},
{
"Shortname": "syringe.medical",
"SkinId": 0,
"Amount": 2
}
],
"Wear": [
{
"Shortname": "halloween.mummysuit",
"SkinId": 0,
"Amount": 1
}
]
}
}
]
},
"Summon Profiles": {
"vip": {
"Enabled": false,
"Cargo Ship Layout": "A",
"Cooldown Minutes": 360.0,
"Price": [
{
"Currency": "scrap",
"Enabled": true,
"Amount": 700
},
{
"Currency": "techparts",
"Enabled": true,
"Amount": 10
},
{
"Currency": "coins",
"Enabled": false,
"Amount": 1000
},
{
"Currency": "points",
"Enabled": false,
"Amount": 1000
}
]
}
}
},
"mermaid": {
"Enabled": true,
"Lifetime Minutes": 50.0,
"Maximum Population": 1,
"Egress Duration Minutes": 10.0,
"Spawn": {
"Enable Automated Cargo Ship Spawns": true,
"Cargo Ship Layout": "A",
"Spawn Chance": 100,
"Minimum Active Players Required": 0,
"Minimum Respawn Delay Minutes": 90.0,
"Maximum Respawn Delay Minutes": 135.0
},
"Loot": {
"Enable Custom Crate Spawns": false,
"Hackable Crate Hack Duration Seconds": 15.0,
"Initial Spawn Delay Seconds": 10.0,
"Spacing Between Rounds Minutes": 10.0,
"Rounds": {
"0": [
{
"Spawn Group Alias": "00000",
"Crates": {
"junk": 4,
"military": 4,
"elite": 1,
"hackable": 1
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"food": 2,
"medical": 2
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"oil barrel": 5,
"diesel barrel collectable": 2
}
}
],
"1": [
{
"Spawn Group Alias": "00000",
"Crates": {
"junk": 4,
"military": 4,
"elite": 1,
"hackable": 1
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"food": 2,
"medical": 2
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"oil barrel": 5,
"diesel barrel collectable": 2
}
}
],
"2": [
{
"Spawn Group Alias": "00000",
"Crates": {
"junk": 4,
"military": 4,
"elite": 1,
"hackable": 1
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"food": 2,
"medical": 2
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"oil barrel": 5,
"diesel barrel collectable": 2
}
}
]
}
},
"Portal": {
"Enable Portal Spawns": false,
"Spawn Group Alias": "00000",
"Minimum Spawn Range From Player": 15.0,
"Maximum Spawn Range From Player": 40.0,
"Spawn Chance": 50,
"Initial Spawn Delay Seconds": 10.0,
"Respawn Delay Minutes": 10.0,
"Roaming Portal Lifetime Seconds": 60.0,
"Cargo Ship Portal Lifetime Seconds": 30.0
},
"NPC": {
"Disable Vanilla NPC Spawners": false,
"Enable Custom NPC Spawns": false,
"Custom NPC Spawners": [
{
"Enabled": false,
"Spawn Group Alias": "00000",
"Initial Spawn Delay Seconds": 10.0,
"Respawn Delay Minutes": 10.0,
"Maximum Population": 4,
"Minimum Number To Spawn Per Spawn Cycle": 1,
"Maximum Number To Spawn Per Spawn Cycle": 2,
"Spawn Chance": 100,
"Sensory": {
"Enemy Detection Range": 30.0,
"Range For Remembering Hidden Enemies": 50.0,
"Forget Enemies After Seconds": 10.0,
"Field Of View Range For Seeing Enemies": -0.8,
"Range For Hearing Enemy Noises": 10.0,
"Ignore Crouched Unseen Enemies": true,
"Can Be Blinded By Flashbang": true
},
"Health": {
"Start Health": 150.0,
"Can Use Healing Items": true,
"Chance Of Using Healing Item When Injured": 50,
"Threshold Health Percentage To Trigger Healing": 50
},
"Loadout": {
"Equip Custom Loadout": false,
"Randomize Active Weapon": true,
"Belt": [
{
"Shortname": "candycaneclub",
"SkinId": 0,
"Amount": 1
},
{
"Shortname": "syringe.medical",
"SkinId": 0,
"Amount": 2
}
],
"Wear": [
{
"Shortname": "gingerbreadsuit",
"SkinId": 0,
"Amount": 1
}
]
}
},
{
"Enabled": false,
"Spawn Group Alias": "00000",
"Initial Spawn Delay Seconds": 10.0,
"Respawn Delay Minutes": 10.0,
"Maximum Population": 4,
"Minimum Number To Spawn Per Spawn Cycle": 1,
"Maximum Number To Spawn Per Spawn Cycle": 2,
"Spawn Chance": 100,
"Sensory": {
"Enemy Detection Range": 30.0,
"Range For Remembering Hidden Enemies": 50.0,
"Forget Enemies After Seconds": 10.0,
"Field Of View Range For Seeing Enemies": -0.8,
"Range For Hearing Enemy Noises": 10.0,
"Ignore Crouched Unseen Enemies": true,
"Can Be Blinded By Flashbang": true
},
"Health": {
"Start Health": 150.0,
"Can Use Healing Items": true,
"Chance Of Using Healing Item When Injured": 50,
"Threshold Health Percentage To Trigger Healing": 50
},
"Loadout": {
"Equip Custom Loadout": false,
"Randomize Active Weapon": true,
"Belt": [
{
"Shortname": "pitchfork",
"SkinId": 0,
"Amount": 1
},
{
"Shortname": "knife.butcher",
"SkinId": 0,
"Amount": 1
},
{
"Shortname": "bone.club",
"SkinId": 0,
"Amount": 1
},
{
"Shortname": "syringe.medical",
"SkinId": 0,
"Amount": 2
}
],
"Wear": [
{
"Shortname": "halloween.mummysuit",
"SkinId": 0,
"Amount": 1
}
]
}
}
]
},
"Summon Profiles": {
"vip": {
"Enabled": false,
"Cargo Ship Layout": "A",
"Cooldown Minutes": 360.0,
"Price": [
{
"Currency": "scrap",
"Enabled": true,
"Amount": 700
},
{
"Currency": "techparts",
"Enabled": true,
"Amount": 10
},
{
"Currency": "coins",
"Enabled": false,
"Amount": 1000
},
{
"Currency": "points",
"Enabled": false,
"Amount": 1000
}
]
}
}
},
"ocean curse": {
"Enabled": true,
"Lifetime Minutes": 50.0,
"Maximum Population": 1,
"Egress Duration Minutes": 10.0,
"Spawn": {
"Enable Automated Cargo Ship Spawns": true,
"Cargo Ship Layout": "A",
"Spawn Chance": 100,
"Minimum Active Players Required": 0,
"Minimum Respawn Delay Minutes": 90.0,
"Maximum Respawn Delay Minutes": 135.0
},
"Loot": {
"Enable Custom Crate Spawns": false,
"Hackable Crate Hack Duration Seconds": 15.0,
"Initial Spawn Delay Seconds": 10.0,
"Spacing Between Rounds Minutes": 10.0,
"Rounds": {
"0": [
{
"Spawn Group Alias": "00000",
"Crates": {
"junk": 4,
"military": 4,
"elite": 1,
"hackable": 1
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"food": 2,
"medical": 2
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"oil barrel": 5,
"diesel barrel collectable": 2
}
}
],
"1": [
{
"Spawn Group Alias": "00000",
"Crates": {
"junk": 4,
"military": 4,
"elite": 1,
"hackable": 1
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"food": 2,
"medical": 2
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"oil barrel": 5,
"diesel barrel collectable": 2
}
}
],
"2": [
{
"Spawn Group Alias": "00000",
"Crates": {
"junk": 4,
"military": 4,
"elite": 1,
"hackable": 1
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"food": 2,
"medical": 2
}
},
{
"Spawn Group Alias": "00000",
"Crates": {
"oil barrel": 5,
"diesel barrel collectable": 2
}
}
]
}
},
"Portal": {
"Enable Portal Spawns": false,
"Spawn Group Alias": "00000",
"Minimum Spawn Range From Player": 15.0,
"Maximum Spawn Range From Player": 40.0,
"Spawn Chance": 50,
"Initial Spawn Delay Seconds": 10.0,
"Respawn Delay Minutes": 10.0,
"Roaming Portal Lifetime Seconds": 60.0,
"Cargo Ship Portal Lifetime Seconds": 30.0
},
"NPC": {
"Disable Vanilla NPC Spawners": false,
"Enable Custom NPC Spawns": false,
"Custom NPC Spawners": [
{
"Enabled": false,
"Spawn Group Alias": "00000",
"Initial Spawn Delay Seconds": 10.0,
"Respawn Delay Minutes": 10.0,
"Maximum Population": 4,
"Minimum Number To Spawn Per Spawn Cycle": 1,
"Maximum Number To Spawn Per Spawn Cycle": 2,
"Spawn Chance": 100,
"Sensory": {
"Enemy Detection Range": 30.0,
"Range For Remembering Hidden Enemies": 50.0,
"Forget Enemies After Seconds": 10.0,
"Field Of View Range For Seeing Enemies": -0.8,
"Range For Hearing Enemy Noises": 10.0,
"Ignore Crouched Unseen Enemies": true,
"Can Be Blinded By Flashbang": true
},
"Health": {
"Start Health": 150.0,
"Can Use Healing Items": true,
"Chance Of Using Healing Item When Injured": 50,
"Threshold Health Percentage To Trigger Healing": 50
},
"Loadout": {
"Equip Custom Loadout": false,
"Randomize Active Weapon": true,
"Belt": [
{
"Shortname": "candycaneclub",
"SkinId": 0,
"Amount": 1
},
{
"Shortname": "syringe.medical",
"SkinId": 0,
"Amount": 2
}
],
"Wear": [
{
"Shortname": "gingerbreadsuit",
"SkinId": 0,
"Amount": 1
}
]
}
},
{
"Enabled": false,
"Spawn Group Alias": "00000",
"Initial Spawn Delay Seconds": 10.0,
"Respawn Delay Minutes": 10.0,
"Maximum Population": 4,
"Minimum Number To Spawn Per Spawn Cycle": 1,
"Maximum Number To Spawn Per Spawn Cycle": 2,
"Spawn Chance": 100,
"Sensory": {
"Enemy Detection Range": 30.0,
"Range For Remembering Hidden Enemies": 50.0,
"Forget Enemies After Seconds": 10.0,
"Field Of View Range For Seeing Enemies": -0.8,
"Range For Hearing Enemy Noises": 10.0,
"Ignore Crouched Unseen Enemies": true,
"Can Be Blinded By Flashbang": true
},
"Health": {
"Start Health": 150.0,
"Can Use Healing Items": true,
"Chance Of Using Healing Item When Injured": 50,
"Threshold Health Percentage To Trigger Healing": 50
},
"Loadout": {
"Equip Custom Loadout": false,
"Randomize Active Weapon": true,
"Belt": [
{
"Shortname": "pitchfork",
"SkinId": 0,
"Amount": 1
},
{
"Shortname": "knife.butcher",
"SkinId": 0,
"Amount": 1
},
{
"Shortname": "bone.club",
"SkinId": 0,
"Amount": 1
},
{
"Shortname": "syringe.medical",
"SkinId": 0,
"Amount": 2
}
],
"Wear": [
{
"Shortname": "halloween.mummysuit",
"SkinId": 0,
"Amount": 1
}
]
}
}
]
},
"Summon Profiles": {
"vip": {
"Enabled": false,
"Cargo Ship Layout": "A",
"Cooldown Minutes": 360.0,
"Price": [
{
"Currency": "scrap",
"Enabled": true,
"Amount": 700
},
{
"Currency": "techparts",
"Enabled": true,
"Amount": 10
},
{
"Currency": "coins",
"Enabled": false,
"Amount": 1000
},
{
"Currency": "points",
"Enabled": false,
"Amount": 1000
}
]
}
}
}
}
}