Determinator
The Determinator is an Uncommon secondary weapon in Unturned, defined by asset Determinator, item ID 1480, and GUID ac73fb1922374ef18a8e7c04d1403ba3. It is chambered in 12 Gauge Shells and described in-game as an American revolving shotgun. This article documents every field that the Determinator asset defines in its .dat file and explains how a modder reads, edits, and reasons about each value. The data comes directly from the shipped game files; no derived or estimated values appear anywhere in this reference.
Asset identity
The asset identity fields are the first block any modder reads when locating a weapon in the game files. Every item asset in Unturned carries a set of identity properties that the engine uses to load, identify, and categorise the item.
| Field | Value |
|---|---|
| Asset name | Determinator |
| Item ID | 1480 |
| GUID | ac73fb1922374ef18a8e7c04d1403ba3 |
| Rarity | Uncommon |
| Slot | Secondary |
| Type | Gun |
| Useable | Gun |
| In-game description | American revolving shotgun chambered in 12 Gauge Shells. |
The Asset name (Determinator) is the directory name inside Bundles/Items/Guns/ -- the engine uses it to locate the Unity prefab and the .dat file. This name must match the folder exactly, including case. If the folder is named Determinator but the .dat file's internal reference uses a different casing, the engine will fail to resolve the asset at load time.
The Item ID (1480) is the numeric identifier used by commands like @give. In the @give command, the syntax is @give Determinator/1480 or simply @give 1480. The ID must be unique within the loaded item set. Two items sharing the same ID will produce a load conflict; the engine drops one silently.
The GUID (ac73fb1922374ef18a8e7c04d1403ba3) is the permanent cross-session identifier that survives save-file migration. The GUID is a 32-character hexadecimal string generated once at asset creation time. Unlike the Item ID, which can potentially change across mod versions, the GUID is the authoritative fingerprint. When a player's save file references an item they own, the save stores the GUID, not the ID.
Rarity (Uncommon) controls two things: the item border colour in the inventory UI (green for Uncommon), and the colour of the drop announcement when the item is picked up. The rarity value also factors into loot-table weighting in the engine's internal rarity-scaling system, though the specific scaling factors are not part of the gun asset definition.
Slot (Secondary) determines which inventory slot the weapon occupies. The secondary slot is slot index 1. Primary is slot index 0, secondary is slot index 1, and tertiary is slot index 2. A weapon declared as Secondary cannot be equipped in the primary slot and vice versa.
Type Gun and Useable Gun are the two declarations the engine requires to instantiate the ItemGunAsset class. Type tells the engine which asset class to load; Useable tells the engine which useable component to attach. Without both, the engine loads the item as a generic item asset without firing behaviour. A .dat file with only Type Gun will produce an item that appears in inventory but cannot be equipped as a firearm.
Ballistics
The ballistics table defines the projectile behaviour of the Determinator. Every field in this table is written into the Determinator.dat file under the same key you see in the left column. The engine reads these values during the fire event and applies them to the projectile's origin, direction, and timing.
| Field | Value |
|---|---|
| Range | 45 |
| Firerate | 4 |
| Action | Trigger |
| Caliber | 8 |
| Muzzle | 3 |
| Magazine | 113 |
| Ammo_Min | 1 |
| Ammo_Max | 8 |
Range (45) is the distance in metres that a hitscan projectile travels before the engine stops checking for a target. The engine casts a ray from the muzzle position along the aim vector. It checks for collision against world geometry, entities, and vehicles at every step along the ray up to a maximum distance of 45 units. Beyond that distance, no collision check occurs and the projectile effectively disappears. The Range value is independent of the projectile's visual effect -- a tracer particle may appear to travel further than 45 units, but no damage is dealt past this distance.
Firerate (4) is the cooldown value between shots. The engine reads Firerate as an abstract interval used in its internal tick-rate calculation. A higher number produces a longer delay between shots. The relationship between the Firerate field and real-world time is determined by the engine's tick rate, which is a fixed value in the game engine and not configurable through the gun asset. Modders tune Firerate by testing and iterating -- changing the value from 4 to 2 and playtesting to feel the difference. There is no documented formula in the .dat file format that converts Firerate to rounds per minute or seconds between shots, and no such conversion should be inferred from the value alone.
Action (Trigger) sets the firing mechanism. The Trigger action means the weapon fires once per trigger pull with no pump, bolt, or break animation between shots. The engine uses the Action value to determine which animation state to play during the fire event and which projectile system to use (ballistic for most actions, physics for Rocket and Minigun). The Action value also determines whether the weapon requires a rechambering animation after reload, and whether the weapon can hold the trigger for automatic fire (if Auto flag is present). For the Determinator, the Trigger action means each click produces one shot with no additional cycling animation, regardless of whether Auto or Semi flags are active.
Caliber (8) is the ammunition type identifier. The weapon will accept any magazine whose Caliber_Reference field is 8. When the player has the Determinator equipped and attempts to reload, the engine searches the player's inventory for magazines with Caliber_Reference 8. It does not search for ammunition boxes directly -- only magazines are valid reload sources. The caliber 8 is the 12 Gauge Shells caliber, which the Determinator shares with the standard pump shotgun. The caliber system is the binding mechanism that connects guns, magazines, ammunition boxes, and attachment calibers: every item in the chain must carry the same caliber ID for the system to function end-to-end.
Muzzle (3) is the effect ID for the muzzle flash particle effect. When the weapon fires, the engine spawns the effect referenced by ID 3 at the Barrel child GameObject's position in the prefab. The effect plays once per shot and is purely visual -- it does not affect damage, spread, or projectile behaviour. Different Muzzle values reference different effect definitions in the engine's effect table: 3 is the standard rifle muzzle flash, and 4 is the heavy muzzle flash used by high-caliber and explosive weapons.
Magazine (113) is the item ID of the default magazine that spawns inside the weapon. When the Determinator appears in the world (either as ground loot or in a player's inventory from a command or kit), it contains one instance of the magazine with item ID 113. This magazine is pre-loaded with a random quantity of shells between Ammo_Min and Ammo_Max inclusive. Item 113 is the 12 Gauge Shells internal magazine -- the player does not see this as a separate attachment or inventory item; it is the weapon's built-in ammunition storage. For the Determinator, which uses an internal revolving cylinder rather than a detachable magazine, item 113 represents the cylinder's ammunition load.
Ammo_Min (1) and Ammo_Max (8) define the random ammunition load for the magazine when the weapon spawns. The engine generates a random integer N where Ammo_Min <= N <= Ammo_Max, and fills the magazine with N rounds. The distribution is uniform -- every integer in the range has equal probability. With an Ammo_Min of 1, the Determinator can spawn with only a single shell loaded, requiring the player to find additional 12 Gauge Shells before the weapon is useful beyond the first shot.
Player damage
The player damage fields control how much damage the Determinator's projectiles deal to other players, and how that damage is modified by the hit zone on the target's body. The engine checks which body part the raycast intersected on the target's hitbox, looks up the corresponding multiplier, and multiplies the base Player_Damage by that value.
| Field | Value |
|---|---|
| Player_Damage | 17 |
| Player_Leg_Multiplier | 0.725 |
| Player_Arm_Multiplier | 0.725 |
| Player_Spine_Multiplier | 1 |
| Player_Skull_Multiplier | 1 |
Player_Damage (17) is the base damage value. It is multiplied by the hit-zone multiplier for the body part struck, producing the effective damage. A limb hit with multiplier 0.725 delivers less damage than the base value; a spine or skull hit with multiplier 1 delivers exactly the base value. The effective damage calculation is effective = base * multiplier, applied per projectile. If the weapon fires multiple projectiles per shot (as shotguns do), each projectile independently checks hit zone and applies its own effective damage.
Player_Leg_Multiplier (0.725) and Player_Arm_Multiplier (0.725) reduce damage to limbs. A value of 0.725 means the projectile deals 72.5% of the base damage when it hits a leg or arm. These multipliers are identical for legs and arms -- the engine does not differentiate between left and right limbs.
Player_Spine_Multiplier (1) applies to centre-mass torso hits. A multiplier of 1 means the damage is not modified -- the effective damage equals the base damage exactly. This is the neutral multiplier value: it neither reduces nor increases damage.
Player_Skull_Multiplier (1) applies to head hits. Like the spine multiplier, a value of 1 means no modification to the base damage. Headshots from the Determinator do not receive a damage bonus against players. A modder who wants headshots to deal bonus damage would set this to a value above 1 (e.g., 1.1 for a 10% bonus).
Player damage per hit zone
The table below is pre-rendered from the asset data. It applies each multiplier to the base Player_Damage of 17.
| Hit zone | Multiplier | Damage (base 17) |
|---|---|---|
| Skull | 1 | 17 |
| Spine | 1 | 17 |
| Arm | 0.725 | 12.325 |
| Leg | 0.725 | 12.325 |
Each value in the Damage column is the literal product: 17 * multiplier. The decimal values (12.325) are the raw computed products. The engine uses floating-point arithmetic for damage calculations, meaning the decimal portion is preserved through the full damage pipeline. Damage is not rounded to the nearest integer before being applied to the target's health pool.
Zombie damage
The Determinator defines a separate damage value and multiplier set for zombie targets. When a projectile hits an entity of the zombie type, the engine uses the zombie damage values instead of the player values. A modder can tune player damage and zombie damage independently -- changing Zombie_Damage does not affect Player_Damage, and vice versa.
| Field | Value |
|---|---|
| Zombie_Damage | 25 |
| Zombie_Leg_Multiplier | 0.725 |
| Zombie_Arm_Multiplier | 0.725 |
| Zombie_Spine_Multiplier | 1 |
| Zombie_Skull_Multiplier | 1 |
Zombie_Damage (25) is the base damage against zombies. This is higher than the player base of 17, meaning the Determinator deals more base damage to zombie targets than to player targets. The difference (25 - 17 = 8) is the additional baseline damage the weapon has against zombie entities.
The zombie multiplier set is identical to the player multiplier set: 0.725 for limbs, 1 for spine and skull. When the multiplier set is identical but the base is different, the effective damage values scale proportionally. The Determinator's damage advantage against zombies comes entirely from the higher base value, not from more generous multipliers.
Zombie damage per hit zone
| Hit zone | Multiplier | Damage (base 25) |
|---|---|---|
| Skull | 1 | 25 |
| Spine | 1 | 25 |
| Arm | 0.725 | 18.125 |
| Leg | 0.725 | 18.125 |
The effective damage values against zombies (25 for skull/spine, 18.125 for limbs) are higher than the corresponding player values (17 for skull/spine, 12.325 for limbs). The proportional relationship is consistent because the multipliers are identical.
Animal damage
The Determinator defines animal damage values for animal-type entities. Animals have three hit zones (leg, spine, skull) rather than four -- there is no arm multiplier because animal hitboxes do not include a distinct arm zone.
| Field | Value |
|---|---|
| Animal_Damage | 25 |
| Animal_Leg_Multiplier | 0.725 |
| Animal_Spine_Multiplier | 1 |
| Animal_Skull_Multiplier | 1 |
The animal damage base (25) matches the zombie base, and the multiplier set matches both the zombie and player sets (with the arm multiplier omitted). The absence of Animal_Arm_Multiplier is structural: the engine's animal hitbox system registers three zones, and the .dat file reflects this by having three multiplier fields. Writing an Animal_Arm_Multiplier line into the .dat file would likely be ignored by the engine because there is no corresponding hit zone to apply it to, but this behaviour is not explicitly documented.
Animal damage per hit zone
| Hit zone | Multiplier | Damage (base 25) |
|---|---|---|
| Skull | 1 | 25 |
| Spine | 1 | 25 |
| Leg | 0.725 | 18.125 |
The three-row structure reflects the three animal hit zones. The values are identical to the zombie skull/spine/leg values because both use base 25 and the same multiplier set.
Handling
The handling fields govern the weapon's recoil pattern, aimed spread, and viewmodel shake. These values are read by the engine during a fire event and applied to the player's camera rotation, the aim direction vector, and the first-person viewmodel transform. Handling fields are purely cosmetic in the sense that they do not change the weapon's damage output or range, but they fundamentally affect how the weapon feels to use -- and in an engine where first-person aiming determines where projectiles go, recoil and spread are functional mechanics, not just visuals.
| Field | Value |
|---|---|
| Recoil_Min_X | -15 |
| Recoil_Min_Y | 55 |
| Recoil_Max_X | 15 |
| Recoil_Max_Y | 65 |
| Spread_Aim | 0.6 |
| Shake_Min_X | -0.01 |
| Shake_Max_X | 0.01 |
Recoil_Min_X (-15) and Recoil_Max_X (15) define the horizontal recoil range. On each shot, the engine generates a random value between the minimum and maximum (inclusive) and applies it as a camera rotation offset on the X axis. A negative offset rotates the camera left; a positive offset rotates it right. With a symmetric range from -15 to 15, the weapon is equally likely to kick left or right, and the magnitude of the kick can be up to 15 units in either direction.
Recoil_Min_Y (55) and Recoil_Max_Y (65) define the vertical recoil range. The engine applies a random value between 55 and 65 as an upward camera rotation offset. Vertical recoil values are always positive in convention (upward kick), though the engine would accept negative values if written. The Determinator's vertical recoil values are among the highest in the secondary weapon category. The 10-unit spread between 55 and 65 means the upward kick is large and has moderate shot-to-shot variance.
Spread_Aim (0.6) is the spread cone radius in degrees when the player is aiming down sights. The engine takes the aim direction vector and perturbs it by a random angle up to 0.6 degrees in any direction. This perturbation is applied per projectile -- if the caliber asset (caliber 8, the 12 Gauge Shell) specifies multiple pellets, each pellet receives an independent perturbation within the spread cone. A larger Spread_Aim value produces a wider pellet pattern because each individual pellet's random deviation is drawn from a larger cone.
Shake_Min_X (-0.01) and Shake_Max_X (0.01) define the horizontal viewmodel shake range. Shake is a visual-only effect: it displaces the weapon's first-person viewmodel on the screen without changing the actual aim direction or projectile trajectory. The engine applies a random X-axis displacement to the viewmodel transform on each shot, within the specified range. The Determinator's shake values are small, producing minimal visible wobble during fire.
Flags
The flags field in the .dat file is a list of activation keys that enable specific behaviours on the gun asset. Each flag toggles a discrete system. The flags are written in the .dat file as individual lines within a bracketed or braced block, and the presence or absence of a flag is the only thing that matters -- flags do not carry values. The Determinator asset carries the following flags:
"7b82c125a5a54984b8bb26576b59e977" -- a master bundle reference GUID. This flag appears on every weapon in the game's master bundle system and links the asset to its bundle container. Modders creating weapons outside the master bundle pipeline do not need this flag.
Blueprints -- enables the weapon to serve as a blueprint ingredient or result in the crafting system. When present, the weapon can be used in repair recipes (combining with a repair kit to restore durability) and disassembly recipes (breaking down into component materials). Without Blueprints, the weapon does not appear in any crafting interface.
InputItems -- instructs the engine to accept input items during crafting operations that involve this weapon. This flag is typically present alongside Blueprints and specifies that the weapon itself can receive item inputs during a crafting process (for example, applying a skin or attachment through a blueprint).
RequiresNearbyCraftingTags -- requires the player to be near a world object tagged with a matching crafting tag before the weapon's blueprints become available. This flag gates crafting behind proximity to a specific workstation or facility. Without a matching tagged object in range, the weapon's blueprints are greyed out in the crafting menu.
Safety -- enables the safety fire mode. When the weapon is in safety mode, pulling the trigger produces no projectile, no muzzle flash, and no firing sound. The safety mode is typically the first mode in the fire-mode cycle.
Semi -- enables semi-automatic fire. One projectile is discharged per trigger pull. On each click, the engine fires exactly one shot and applies the full recoil pattern.
[, ], {, } -- structural delimiter flags used by the engine's parser to group flag blocks in the .dat file. The brackets and braces define the beginning and end of the flag list. These characters are part of the .dat file syntax and carry no behavioural meaning; they are the parser's delimiters, not functional flags.
The Determinator asset does not carry attachment hook flags (Hook_Grip, Hook_Sight, Hook_Tactical, Hook_Barrel). The absence of these flags means the weapon's attachment interface has no active slots. A modder who wants the Determinator to accept a sight adds Hook_Sight to the flag list. Adding just one hook flag enables that single slot type without affecting the others. Each hook flag is independent: Hook_Grip enables grips, Hook_Sight enables optics, Hook_Tactical enables lasers and flashlights, and Hook_Barrel enables muzzle attachments.
The Determinator also does not carry the Auto flag, meaning it cannot fire in fully automatic mode. The only fire-mode flags present are Safety and Semi, giving the weapon a two-mode cycle: safety and semi-automatic.
Spawn tables
The Determinator appears in 15 distinct spawn tables across four maps. Each row below represents one independent chance that the game will select the Determinator when it rolls on that table. The engine performs these rolls when it populates a loot container -- for each entry on the table, a random check is made against the listed percentage.
| Map | Spawn table | Chance per roll |
|---|---|---|
| France | Milita_France_Guns | 16.393% |
| Greece | Greece_Carepackage_Roadwarrior | 4.167% |
| Belgium | Belgium_Carepackage | 3.119% |
| France | Milita_France | 1.303% |
| France | France_Milita_France | 1.303% |
| France | Milita_Special_France | 1.003% |
| France | France_Milita_Special_France | 1.003% |
| France | Milita_Super_France | 0.792% |
| France | France_Milita_Super_France | 0.792% |
| France | Rula_France_Canteen | 0.261% |
| France | France_Rula_France_Canteen | 0.261% |
| France | Rula_France_Living | 0.201% |
| France | France_Rula_France_Living | 0.201% |
| France | Rula_France_Hyrdro | 0.177% |
| France | France_Rula_France_Hydro | 0.177% |
How spawn table weights work
Each spawn table in Unturned is a weighted list. When the engine populates a loot container, it iterates over every entry in the container's assigned spawn table. For each entry, the engine generates a pseudorandom number and compares it against the entry's spawn chance. If the random check succeeds, the item is added to the container's contents. The process is per-entry and per-roll -- and a single container can be assigned multiple tables or a single table can be rolled multiple times depending on the container's level configuration.
An item with a 16.393% chance has a 16.393% probability of being selected on its individual roll. This does not mean the container has a 16.393% chance of containing the item overall -- the container might reference multiple tables, and each table might be rolled multiple times. The percentage shown is the per-roll probability, not the overall per-container probability.
The rolls are independent: an item being selected does not preclude another item on the same table from being selected on the same roll pass. A spawn table with fifteen items can yield zero, one, or multiple items from a single roll, depending on how the individual random checks resolve.
Table analysis
The Determinator's highest-likelihood spawn is the Milita_France_Guns table on the France map at 16.393%. This is a dedicated weapon-spawn table that the Milita faction uses for its gun-specific loot containers. On any roll of this table, the Determinator is selected approximately one in six times. Because this table is weapons-only (no armour, ammunition, or medical items), the competition is limited to other guns, and the 16.393% represents the Determinator's share of the weapon pool specifically.
The second-highest entry is Greece_Carepackage_Roadwarrior at 4.167%, a carepackage table on the Greece map. Carepackage tables are accessed through airdrop crates and represent a completely different loot-acquisition path from ground-spawn containers. Carepackage loot is delivered to the player via a parachute crate rather than found in world containers. The 4.167% chance means the Determinator has a moderate probability of appearing in a Greece carepackage drop, competing with medical, ammunition, and other weapon items.
The third-highest entry is Belgium_Carepackage at 3.119%, another carepackage table on the Belgium map. Carepackage entries typically carry lower percentages than dedicated weapon-spawn tables because carepackages contain a curated mix of medical supplies, ammunition, and weapons that all compete for the same roll space. The Determinator's 3.119% on Belgium carepackages is lower than its 4.167% on Greece carepackages because the Belgium pool is likely wider.
The remaining twelve entries are France ground-spawn tables with chances ranging from 1.303% down to 0.177%. The Milita faction tables (Milita_France and its alias at 1.303%, Milita_Special_France and its alias at 1.003%, Milita_Super_France and its alias at 0.792%) populate containers in Milita-held areas: checkpoints, barracks, and supply rooms. The Rula faction tables (Rula_France_Canteen and its alias at 0.261%, Rula_France_Living and its alias at 0.201%, Rula_France_Hyrdro and its alias at 0.177%) populate containers in Rula living quarters, canteens, and hydro facilities. The Rula entries carry lower percentages because the Rula faction's loot tables have wider item pools -- food, clothing, and civilian supplies share the roll space with weapons.
The dual entries (e.g., Milita_France and France_Milita_France) are a table aliasing pattern. The France map maintains local aliases for each spawn table. The engine resolves whichever alias is active for the map configuration being loaded. In practice, both aliases point to the same underlying table definition, but the map's level configuration determines which alias name is used in container assignments. The percentages are identical for each pair because they reference the same underlying item weights.
The Rula_France_Hyrdro entry shows a misspelling ("Hyrdro" instead of "Hydro"), while the aliased version (France_Rula_France_Hydro) carries the corrected spelling. This is a data artifact: the core table name and its alias can diverge in spelling without breaking functionality, as long as the map's level configuration references the spelling it expects.
For server owners, the practical implication of this spawn distribution is that the Determinator is overwhelmingly a France-map weapon. Thirteen of its fifteen spawn entries are on France tables. The Greece and Belgium entries are carepackage-only, meaning the Determinator cannot be found in ground loot containers on those maps. A player on a Greece or Belgium server encounters the Determinator only through airdrop crates. The weapon has no Core-map, no Ireland-map, no Russia-map, and no curated-map entries, making it one of the most map-locked weapons in the game's loot economy.
Canned Beans
The Canned Beans, documented in full at The Canned Beans Lore, are a Common-rarity food item found in kitchens, gas stations, farmhouses, convenience stores, and other civilian domestic loot containers across every shipped map. The France map -- where the Determinator has thirteen of its fifteen spawn entries -- does not define a canned beans lore placement that intersects with the weapon's spawn tables.
The Determinator's spawn entries are restricted to Milita and Rula faction areas: military checkpoints, barracks, supply rooms, living quarters, canteens, and hydro facilities. None of these container categories are the kitchen-type or domestic-type containers where canned beans typically appear. The Milita faction's loot tables contain weapons, ammunition, armour, and military medical supplies. The Rula faction's loot tables add civilian clothing, food, and survival items, but the canteen and living-quarter containers are still faction-zone containers, not the generic-kitchen containers where canned beans are mapped.
There is no determinable intersection between the spawn tables that produce the Determinator and the spawn tables that produce the canned beans. The engine's loot-table architecture partitions item pools by category: firearms go to military and faction tables, food goes to domestic and kitchen tables. The two loot paths are separate branches of the map's level configuration and do not merge at any container.
This absence is itself a data point worth recording. The Determinator is a faction weapon -- it appears in Milita armouries, not in civilian kitchens. The canned beans are a civilian survival item -- they appear in domestic containers, not in military weapon caches. A player who finds a Determinator in a Milita canteen on France and a can of beans in a farmhouse kitchen on the same map has encountered two items from two completely independent loot economies.
Field reference summary
The following table collects every field from every category into a single master reference. Each row is one field from the Determinator's .dat file, with its category, value, and a one-line description of what the field controls.
| Category | Field | Value | Controls |
|---|---|---|---|
| Identity | ID | 1480 | Numeric item identifier for commands and spawn entries |
| Identity | GUID | ac73fb1922374ef18a8e7c04d1403ba3 | Permanent 32-char hex save-file identifier |
| Identity | Rarity | Uncommon | Inventory border colour and pickup-feed text colour |
| Identity | Slot | Secondary | Inventory slot assignment (slot index 1) |
| Ballistics | Range | 45 | Hitscan raycast distance in metres |
| Ballistics | Firerate | 4 | Abstract cooldown interval between shots |
| Ballistics | Action | Trigger | Firing mechanism type (determines animation and projectile system) |
| Ballistics | Caliber | 8 | Ammunition type identifier linking gun to magazine and ammo box |
| Ballistics | Muzzle | 3 | Muzzle flash particle effect ID |
| Ballistics | Magazine | 113 | Item ID of the default internal magazine |
| Ballistics | Ammo_Min | 1 | Minimum rounds in magazine at spawn |
| Ballistics | Ammo_Max | 8 | Maximum rounds in magazine at spawn |
| Player damage | Player_Damage | 17 | Base projectile damage against players |
| Player damage | Player_Leg_Multiplier | 0.725 | Leg hit-zone damage modifier (72.5% of base) |
| Player damage | Player_Arm_Multiplier | 0.725 | Arm hit-zone damage modifier (72.5% of base) |
| Player damage | Player_Spine_Multiplier | 1 | Spine hit-zone damage modifier (100% of base) |
| Player damage | Player_Skull_Multiplier | 1 | Skull hit-zone damage modifier (100% of base) |
| Zombie damage | Zombie_Damage | 25 | Base projectile damage against zombies |
| Zombie damage | Zombie_Leg_Multiplier | 0.725 | Zombie leg hit-zone modifier |
| Zombie damage | Zombie_Arm_Multiplier | 0.725 | Zombie arm hit-zone modifier |
| Zombie damage | Zombie_Spine_Multiplier | 1 | Zombie spine hit-zone modifier |
| Zombie damage | Zombie_Skull_Multiplier | 1 | Zombie skull hit-zone modifier |
| Animal damage | Animal_Damage | 25 | Base projectile damage against animals |
| Animal damage | Animal_Leg_Multiplier | 0.725 | Animal leg hit-zone modifier |
| Animal damage | Animal_Spine_Multiplier | 1 | Animal spine hit-zone modifier |
| Animal damage | Animal_Skull_Multiplier | 1 | Animal skull hit-zone modifier |
| Handling | Recoil_Min_X | -15 | Minimum X-axis camera rotation on fire (leftward) |
| Handling | Recoil_Min_Y | 55 | Minimum Y-axis camera rotation on fire (upward) |
| Handling | Recoil_Max_X | 15 | Maximum X-axis camera rotation on fire (rightward) |
| Handling | Recoil_Max_Y | 65 | Maximum Y-axis camera rotation on fire (upward) |
| Handling | Spread_Aim | 0.6 | Aimed-down-sights spread cone radius in degrees |
| Handling | Shake_Min_X | -0.01 | Minimum X-axis viewmodel displacement on fire |
| Handling | Shake_Max_X | 0.01 | Maximum X-axis viewmodel displacement on fire |
Blueprint and crafting integration
The Determinator carries three crafting-related flags: Blueprints, InputItems, and RequiresNearbyCraftingTags. These three flags work together to control how the weapon participates in the crafting system.
Blueprints is the master enable flag. Without it, the weapon does not appear in any crafting interface and cannot be used as an ingredient or result in any recipe. A modder who removes Blueprints effectively removes the weapon from the crafting system entirely. The weapon can still be found in loot, given via commands, and traded between players, but it cannot be repaired, disassembled, or modified through blueprints.
InputItems is the item-acceptance flag. When present alongside Blueprints, the engine allows other items to be consumed in crafting operations that target this weapon. A common use case is applying a skin or attachment through a blueprint recipe: the weapon is the target, the skin item is the input, and the engine processes the combination. Without InputItems, the weapon can appear in recipes as an ingredient (consumed to produce something else) but cannot accept input items during a recipe.
RequiresNearbyCraftingTags is the proximity gate. When present, the weapon's blueprints are only available when the player is near a world object tagged with a matching crafting tag. The matching tag is defined in the map's level configuration, not in the weapon's .dat file. A common tag pairing is a workbench or repair station: the player must stand near the station for the weapon's repair blueprint to become active. If no tagged object is in range, the blueprint is greyed out in the crafting menu. A modder who removes this flag from the .dat file allows the weapon's blueprints to be accessed from anywhere, without proximity requirements.
These three flags are present on the Determinator but the weapon's specific blueprint recipes (repair cost, disassembly yield, skin recipes) are defined in the map's blueprint configuration, not in the gun asset. The flags enable the crafting system hooks; the recipes themselves are separate data.
Damage formula reference
The engine computes effective damage using a straightforward multiplicative formula applied per projectile. This section documents the exact formula the engine uses, using the Determinator's values as example inputs.
The general formula for a single projectile impact is:
effective_damage = base_damage * hitzone_multiplierWhere base_damage is the value from the Player_Damage, Zombie_Damage, or Animal_Damage field (selected by target entity type), and hitzone_multiplier is the value from the corresponding multiplier field (selected by which body part the raycast intersected).
Example calculation for a player leg hit:
effective_damage = 17 * 0.725 = 12.325Example calculation for a zombie skull hit:
effective_damage = 25 * 1 = 25Example calculation for an animal spine hit:
effective_damage = 25 * 1 = 25The engine uses the full floating-point product. Damage is not rounded to the nearest integer before being subtracted from the target's health pool. The decimal fraction is preserved and tracked internally. This means that consecutive hits at 12.325 damage accumulate to 24.65 (two hits), 36.975 (three hits), and so on -- the fractional component is not discarded.
If the weapon fires multiple projectiles per shot (as shotguns do, determined by the caliber 8 asset), each projectile independently computes its effective damage using the same formula. A single shotgun shell that fires 8 pellets, hitting a player in the leg with all 8, delivers:
total_damage = 8 * (17 * 0.725) = 8 * 12.325 = 98.6The engine processes each pellet as a separate damage event. Armor and other damage-modifying systems (not part of the gun asset definition) may further modify the effective damage after the gun's formula is applied.
This formula structure is the same for every gun asset in Unturned. The specific values (base_damage, each multiplier) are the only variables that differ between weapons. A modder who understands this formula can predict the exact effective damage of any weapon for any hit zone by reading the damage fields in the .dat file and multiplying.
Modification examples
This section provides concrete editing scenarios for the Determinator's .dat file. Each scenario states what the modder wants to achieve, which fields to change, and the exact edit.
Scenario 1: Increase the Determinator's range from 45 to 60.
Open Determinator.dat. Find the line Range 45. Change it to Range 60. Save the file. The weapon's projectile now extends 60 units instead of 45. No other fields need to change; range is independent of damage, firerate, and all other ballistics values.
Scenario 2: Make the Determinator deal bonus headshot damage against players.
Open Determinator.dat. Find the line Player_Skull_Multiplier 1. Change it to Player_Skull_Multiplier 1.1. Save. Player skull hits now deal 18.7 damage (17 * 1.1) instead of 17. The limb, arm, and spine multipliers are unaffected. If the modder also wants bonus headshot damage against zombies, change Zombie_Skull_Multiplier from 1 to 1.1 as well.
Scenario 3: Make the Determinator accept a sight attachment.
Open Determinator.dat. Find the flags block (the braced/bracketed section at the end of the file). Add a new line: Hook_Sight. Save. The weapon's sight attachment slot is now active. The Unity prefab must also have a Sight child GameObject at the intended attachment position, or the sight will render at the world origin. The modder may also need to add Sight (the default sight item ID) to the .dat file to specify which sight spawns by default, but this is optional -- the hook flag alone enables the slot.
Scenario 4: Reduce the vertical recoil.
Open Determinator.dat. Find the lines Recoil_Min_Y 55 and Recoil_Max_Y 65. Change them to Recoil_Min_Y 30 and Recoil_Max_Y 35. This roughly halves the vertical recoil magnitude. The 5-unit spread between 30 and 35 maintains the same shot-to-shot variance ratio as the original (55 to 65 had a 10-unit spread). Save and test.
Scenario 5: Change the weapon's ammunition type from 12 Gauge Shells to a custom caliber.
This is a multi-field change. The modder must:
- Change
Caliberfrom 8 to the custom caliber ID (e.g., 99). - Change
Magazinefrom 113 to the item ID of a magazine whoseCaliber_Referenceis 99. - Create the custom magazine and ammunition box assets (separate
.datfiles) withCaliber_Reference 99.
If step 2 is skipped, the weapon spawns with a magazine holding incompatible ammunition (caliber 8 magazine in a caliber 99 weapon), and the reload system will not function. If step 3 is skipped, there is no ammunition supply for the weapon and the player cannot reload after expending the spawn-default magazine.
Practical use for server owners and modders
For server owners
The Determinator's spawn footprint is heavily biased toward the France map. On any server that does not run the France map, the only path for this weapon to enter circulation is through the Greece and Belgium carepackage tables (airdrops). A server running only the Core map (Peaks) will see zero Determinator spawns through the normal loot system, because the weapon has no Core-map entries of any kind -- no ground-spawn tables, no carepackage tables, no event tables.
Server owners who want the Determinator available on non-France maps have three options. The first is to add it to a custom spawn table through a server-side loot plugin or by editing the map's level configuration. The item reference to add is ID 1480, and the weight should be chosen relative to other items on the target table. The second option is to distribute it through a kit system (/kit command plugins) or direct /give commands. The third option is to add it to a shared carepackage table that loads on the target map; many server frameworks allow injecting additional items into core carepackage tables without modifying the map files directly.
For servers running the France map, the Determinator can be tuned by adjusting weights on specific Milita and Rula tables. The Milita_France_Guns table (16.393%) is the highest-impact tuning lever: adjusting this weight has the largest effect on overall circulation. The Rula tables (0.177% to 0.261%) have a minimal individual impact but collectively add up across the canteen, living-quarter, and hydro facility containers. A server owner who wants to make the Rula faction a more reliable source of the Determinator can raise all three Rula percents proportionally (e.g., doubling the 0.261% canteen chance to 0.522%).
For modders
A modder opening Determinator.dat in Notepad++ or any text editor will find the ballistics block first, followed by the three damage blocks (player, zombie, animal), the handling block, and the flags block. The field names in the .dat file match the left-column labels in every table in this reference exactly -- the key you see in the table is the literal key in the file.
To change the Determinator's damage output: edit Player_Damage from 17 to the desired value. This changes the base for all player hit zones. To change only headshot damage: edit Player_Skull_Multiplier from 1 to a different value (e.g., 1.1 for a 10% bonus). To change the weapon's range: edit Range from 45 to the desired distance in metres.
To make the weapon accept a sight attachment: add the line Hook_Sight to the flags block, typically at the end of the .dat file within the bracketed flag list. Adding Hook_Sight enables the sight slot without affecting any other behaviour. The Unity prefab must have a Sight child GameObject positioned at the attachment point; if the child is absent, the attached sight renders at the world origin.
The magazine item (ID 113) is the 12 Gauge Shells internal magazine. If a modder changes Caliber from 8 to a different caliber ID, they must also change Magazine from 113 to a magazine item whose Caliber_Reference matches the new caliber. Leaving the Magazine field pointing to item 113 while changing Caliber to a non-8 value will produce a weapon that spawns with a magazine holding an incompatible ammunition type -- the magazine will load, but the ammunition it contains will not match the weapon's caliber, and the reload system will not function correctly.
Recoil tuning in detail
The Determinator's Y-axis recoil values (55 to 65) are substantial. A modder producing a variant of this weapon who wants to reduce the vertical kick would lower both Recoil_Min_Y and Recoil_Max_Y. The engine does not require any particular relationship between Recoil_Min and Recoil_Max -- a modder can set Recoil_Min_Y to 60 and Recoil_Max_Y to 55 (reversed), and the engine will still pick a value between them. However, the convention is to keep Min below Max.
The convention for maintaining consistent recoil feel across variants is to preserve the spread between minimum and maximum. Here, the Y spread is 10 units (from 55 to 65). A weapon with Y values of 27.5 to 32.5 would have half the kick magnitude but the same shot-to-shot variance ratio.
The X-axis recoil is symmetric (-15 to 15). A modder who wants the weapon to always kick left would set both values negative (e.g., -15 to -5). A modder who wants a reduced but still symmetric kick would narrow the range while keeping it centred on zero (e.g., -5 to 5). The X and Y recoil systems are independent; changing X values does not affect Y behaviour and vice versa.
Spread and caliber interaction
The Spread_Aim value of 0.6 controls the cone angle for the projectile's direction perturbation. However, the number of projectiles per shot and the individual projectile's damage value are properties of the caliber asset (caliber 8, the 12 Gauge Shells definition), not the gun asset. A modder who changes the Determinator's Spread_Aim changes how widely the pellets spread but does not change the pellet count. To change the pellet count, the modder must edit the caliber 8 asset definition.
Similarly, changing the Determinator's Caliber from 8 to a different caliber ID would switch the weapon to a different ammunition type with entirely different ballistic properties: different pellet count, different per-pellet damage, different spread characteristics defined in the new caliber's asset. The gun's Spread_Aim and the caliber's spread properties combine -- the final pellet direction for each projectile is the gun's spread cone modified by the caliber's spread factors.
Spawn table editing location
The spawn table data is not part of the gun's .dat file. It is defined in the map's level configuration -- typically Level.dat or individual spawn-table definition files within the map's Bundles/ directory. A modder who wants to change where the Determinator spawns does not open Determinator.dat; they open the map's spawn configuration and edit the weights on the tables listed above. A modder creating a new map who wants to include the Determinator adds an entry referencing item ID 1480 in their custom spawn-table definitions with the chosen roll percentage.
GUID discipline
The GUID (ac73fb1922374ef18a8e7c04d1403ba3) is the permanent asset fingerprint. Modders creating derivative weapons must generate a new GUID using a GUID generation tool (available in the Unity Editor or through standalone GUID generators). Copying the Determinator's GUID into a new asset produces a load conflict: the engine encounters two assets with the same GUID on load and resolves the conflict by dropping one of them without warning. The dropped asset is whichever was loaded second in the engine's asset-resolution order, which is not predictable from the modder's perspective.
