-
Notifications
You must be signed in to change notification settings - Fork 0
HyGuns Content Reference
Complete reference for weapon settings and ammo settings in HyGuns v3.6.1.
This document lists all currently supported weapon settings, ammo settings, nested sections, aliases, defaults, and supported ammo interaction handlers.
HyGuns content is configured in two places:
- weapon item JSONs
- ammo item JSONs
Weapons use:
- base item interaction settings under
Interactions - HyGuns-specific settings under
HyGuns.Settings
Ammo items use:
- ammo metadata under
HyGuns.AmmoSettings - optional weapon overrides under
HyGuns.AmmoSettings.SettingsOverrides - optional hit logic under
HyGuns.AmmoSettings.Interactions
Weapon fire-rate currently has two layers:
Interactions.Primary.Cooldown.CooldownHyGuns.Settings.Fire.Cooldown
They are not the same thing.
Interactions.Primary.Cooldown.Cooldown:
- controls the base cadence of the item interaction itself
- is required for normal repeat-fire behavior on automatic weapons
- should stay on the weapon item JSON
HyGuns.Settings.Fire.Cooldown:
- is an additional HyGuns server-side fire cooldown
- can be overridden by ammo through
SettingsOverrides.Fire.Cooldown - is used to block the shoot interaction if a special ammo type should fire more slowly
Recommended rule:
- keep both values equal for the base weapon
- use ammo overrides only when special ammo should make the weapon slower or otherwise change server-side fire gating
Typical weapon structure:
{
"Interactions": {
"Primary": {
"Cooldown": {
"Cooldown": 0.1
},
"RequireNewClick": false,
"Interactions": [
{
"Type": "Hyguns_Shoot"
}
]
}
},
"HyGuns": {
"Settings": {
"WeaponIcon": "Weapons/AK47.png",
"DealLethalDamage": false,
"Ammo": {
"Family": "Bullet",
"WeaponClass": ["Rifle"],
"Capacity": 30,
"Reload": {
"Time": 2.4,
"Amount": 30
},
"AmmoSave": {
"Enabled": false,
"Chance": 0.0
}
},
"Fire": {
"Cooldown": 0.1
},
"Projectiles": {
"ConfigId": "Hyguns_Projectile_Config_Bullet",
"ProjectileId": null,
"Spread": 0.02,
"Count": 1,
"Damage": 17
},
"DamageModifier": {
"Type": "MULTIPLY",
"Value": 1.0
},
"DamageModifiers": {
"Head": {
"Type": "MULTIPLY",
"Value": 1.5
},
"Body": {
"Type": "MULTIPLY",
"Value": 1.0
},
"*": {
"Type": "MULTIPLY",
"Value": 1.0
}
},
"AutoGuidance": {
"Enabled": false,
"EffectId": null,
"AffectsPlayers": false,
"ConeDegrees": 25.0,
"MaxDistance": 80.0,
"TurnRate": 240.0
},
"WallPenetration": {
"Enabled": false,
"Blocks": 1.0,
"DamageReductionModifier": 0.0,
"DamageReductionDistance": 0.5
}
}
}
}These are not inside HyGuns.Settings, but they are part of the practical weapon format.
Recommended fields:
Cooldown.CooldownRequireNewClickInteractions
Typical pattern:
"Primary": {
"Cooldown": {
"Cooldown": 0.1
},
"RequireNewClick": false,
"Interactions": [
{
"Type": "Hyguns_Shoot",
"Failed": "Gun_Shoot_Fail"
}
]
}Notes:
-
Primary.Cooldown.Cooldownshould normally matchHyGuns.Settings.Fire.Cooldown. - If
Primary.Cooldownis missing, very fast automatic fire will not feel correct even ifHyGuns.Settings.Fire.Cooldownis set.
Recommended reload/selection pattern:
"Ability3": {
"Interactions": [
{
"Type": "Charging",
"DisplayProgress": false,
"AllowIndefiniteHold": false,
"Next": {
"0": {
"Type": "Hyguns_Reload"
},
"0.25": {
"Type": "OpenCustomUI",
"Page": {
"Id": "AmmoSelection"
}
}
}
}
]
}All HyGuns weapon settings live under:
"HyGuns": {
"Settings": { ... }
}Type:
- string
Optional:
- yes
Purpose:
- weapon icon path for HyGuns HUD/UI
Type:
- boolean
Optional:
- yes
Default:
false
Purpose:
- enables lethal damage handling for the projectile hit flow
Nested object:
HyGuns.Settings.Ammo
Supported fields:
FamilyWeaponClassItemIdCapacity-
Maxalias forCapacity ReloadAmmoSave
- type: string
- type: string or string array
- type: string
- type: positive integer
- alias:
Max - runtime fallback if missing:
1
- type: double
- type: positive integer
- runtime fallback if missing: weapon capacity
- type: boolean
- type: double in range
0.0to1.0
Defaults:
Enabled = falseChance = 0.0
Nested object:
HyGuns.Settings.Fire
Supported fields:
Cooldown
- type: positive double
- runtime fallback if missing:
0.0
Purpose:
- HyGuns server-side fire cooldown
Nested object:
HyGuns.Settings.Projectiles
Supported fields:
ConfigIdProjectileId-
ProjectileIDalias forProjectileId SpreadCountDamage
Runtime fallbacks:
Spread = 0.075Count = 1Damage = 15
Nested object:
HyGuns.Settings.DamageModifier
Supported fields:
TypeValue
Purpose:
- applies one final damage modification to the base projectile damage before hit-part modifiers are evaluated
Supported Type values:
ADDITIVEMULTIPLYSTATIC
Examples:
"DamageModifier": {
"Type": "MULTIPLY",
"Value": 0.5
}"DamageModifier": {
"Type": "STATIC",
"Value": 0
}Nested object:
HyGuns.Settings.DamageModifiers
Supported fields:
HeadBodyFallback-
*alias forFallback
Each hit-part entry uses the same DamageModifier object format:
TypeValue
Defaults:
Head = MULTIPLY 1.5Body = MULTIPLY 1.0Fallback = MULTIPLY 1.0
Nested object:
HyGuns.Settings.AutoGuidance
Supported fields:
EnabledEffectIdAffectsPlayersConeDegreesMaxDistanceTurnRate
Defaults:
Enabled = falseEffectId = nullAffectsPlayers = falseConeDegrees = 25.0MaxDistance = 80.0TurnRate = 240.0
Behavior:
- if
EffectIdis set, guided projectiles first try to target the nearest valid entity with that entity effect; - if no matching marked target is found, guidance falls back to the normal nearest target inside the lock cone;
- if
EffectIdis not set, only the normal lock-cone targeting mode is used.
Nested object:
HyGuns.Settings.WallPenetration
Supported fields:
EnabledBlocksDamageReductionModifierDamageReductionDistance
Defaults:
Enabled = falseBlocks = 1.0DamageReductionModifier = 0.0DamageReductionDistance = 0.5
Ammo settings live under:
"HyGuns": {
"AmmoSettings": { ... }
}Location:
- root item field, not inside
HyGuns.AmmoSettings
Type:
- string
Purpose:
- affects default ammo selection priority when multiple compatible ammo items exist
- type: string
- type: string
Note:
- ammo items currently read a single weapon class string
- type: string
Type:
- object
Supported override structure:
- same nested structure as
HyGuns.Settings
Supported override fields:
WeaponIconDealLethalDamageAmmoFireProjectilesDamageModifierDamageModifiersAutoGuidanceWallPenetration
Notes:
-
SettingsOverrides.Fire.Cooldownaffects the HyGuns server-side fire cooldown. - It does not replace the weapon item's base
Interactions.Primary.Cooldown.Cooldown.
Type:
- object
Supported sections:
EntityHitBlockHitMiss
Each section:
- array of interaction objects
Currently supported handler types:
ApplyEffectClearEntityEffectTeleportToBlockHit
Supported fields:
TypeEntityEffectId
Supported Entity values:
TargetShooterSourceUserProjectile
Supported fields:
TypeEntityEntityEffectId
Supported Entity values:
TargetShooterSourceUserProjectile
Supported fields:
Type
Current implementation:
- works on block hit only
- teleports the shooter to the hit block position
Weapon and ammo compatibility:
- weapon
Ammo.Familymust match ammoAmmoSettings.Family - ammo
AmmoSettings.WeaponClassmust match one of the weaponAmmo.WeaponClassvalues
Notes:
- weapon
Ammo.WeaponClassaccepts a string or array - ammo
AmmoSettings.WeaponClassis effectively a single class string -
Ammo.ItemIdon the weapon can force one exact ammo item
Useful runtime defaults:
- weapon capacity fallback:
1 - projectile damage fallback:
15 - projectile count fallback:
1 - projectile spread fallback:
0.075 - fire cooldown fallback:
0.0 -
DamageModifier: none by default -
DamageModifiers:Head MULTIPLY 1.5,Body MULTIPLY 1.0,Fallback MULTIPLY 1.0 -
AmmoSave:Enabled false,Chance 0.0 -
AutoGuidance:Enabled false,EffectId null,AffectsPlayers false,ConeDegrees 25.0,MaxDistance 80.0,TurnRate 240.0 -
WallPenetration:Enabled false,Blocks 1.0,DamageReductionModifier 0.0,DamageReductionDistance 0.5
HyGuns merges settings in this order:
- interaction overrides
- loaded ammo
SettingsOverrides - base weapon
HyGuns.Settings
{
"Interactions": {
"Primary": {
"Cooldown": {
"Cooldown": 0.1
},
"RequireNewClick": false,
"Interactions": [
{
"Type": "Hyguns_Shoot"
}
]
}
},
"HyGuns": {
"Settings": {
"Ammo": {
"Family": "Bullet",
"WeaponClass": ["Rifle"],
"Capacity": 30,
"Reload": {
"Time": 2.0,
"Amount": 30
}
},
"Fire": {
"Cooldown": 0.1
},
"Projectiles": {
"ConfigId": "Hyguns_Projectile_Config_Bullet",
"Count": 1,
"Spread": 0.02,
"Damage": 10
}
}
}
}{
"Quality": "Common",
"HyGuns": {
"AmmoSettings": {
"Family": "Bullet",
"WeaponClass": "Rifle",
"Icon": "Ammo/Ammo_Rifle.png"
}
}
}- Always configure both
Interactions.Primary.Cooldown.CooldownandHyGuns.Settings.Fire.Cooldown. - Always set weapon
Ammo.FamilyandAmmo.WeaponClass. - Always set ammo
AmmoSettings.FamilyandAmmoSettings.WeaponClass. - Give every ammo item an
Iconif you use the HUD or ammo selection page. - Use
SettingsOverrides.Fire.Cooldownonly for special ammo behavior.