Page contents

weapon

Weapons are most commonly seen as the wieldable items dropped by AI and found in the environment. However, they are also used for items like the CTF flag, oddball, and weapons attached to vehicles or bipeds.

Weapons are intended to fire instances of the projectile tag or crate tag. Thrown grenades are not a type of weapon, but rather a projectile referenced by globals.

Weapons through their parent object tag can be assigned a render mesh, collision box, animation set and physics shape.

Flags

These are general purpose flags that change the behavior of the weapon, more specific flags for individual parts of the weapon can be found further down in their specific section.

Weapon flagsDescription
must be readiedPrevents weapon from being used, attempting to attack with weapon will force drop it.
doesn't count towards maximumAllows weapon to become a third or fourth weapon for the player
aim assists only when zoomedDisables bullet magnetism and red reticle when unzoomed
prevents grenade throwingPrevents grenade throwing while weapon is equiped and held, unknown else behavior
prevents melee attackDisables melee attacks with weapon
detonates when droppedWhen this weapon is not being held by a unit or model it explodes, uses the parent item tag for detonation values and references
cannot fire at max ageCauses weapon to be unable to be fired once it reaches max age
secondary trigger overrides grenadesIf the secondary trigger key is also bound to grenade throw, this flag forces no grenade throw
support weaponRemoves grenade and equipment chud icons, causes weapon to be dropped when a melee attack is performed and disables grenade throwing
AIs use melee damageCauses AI characters to use the melee damage of the weapon instead of their biped melee damage value
forces no binocularsDisables binoculars on weapon, binoculars are separate from weapon zoom
loop fp firing animationUnknown
prevents crouchingPrevents players from crouching while this weapon is equipped, not applicable to AI
cannot fire while boostingWeapon is not allowed to fire while unit is boosting, used for weapons on vehicles with a boost
use empty melee on emptyUsed on melee weapons to force empty melee animation when weapon has reached max age
uses 3rd person cameraForces third person camera when weapon is equipped
can be dual wieldedAllows this weapon to be dual wielded with other weapons with this flag
can only be dual wieldedWeapon can only be picked up when holding another dual wield weapon to duel wield with
melee onlyWeapon becomes a melee weapon, primary trigger becomes melee attack
can't fire if parent deadUnknown/Needs additional research
weapon ages with each killSeems to apply to melee weapons only, causes age to be increased when killing an enemy
weapon uses old dual fire error codeWhen dual wielding and firing a single weapon, use single weapon error value, without flag means use dual wield error value regardless of firing both weapons at the same time or not
allows unaimed lungeAllows melee weapons to play lunge melee animation even when not in range of a target to lunge at
cannot be used by playerWeapon cannot be picked up by player, if held is dropped
hold fp firing animationUnknown/Needs additional research
strict deviation angleDisables bullet magnetism while keeping red reticle
Secondary flagsDescription
magnetizes only when zoomedDisables aim assist when unzoomed
force enable equipment tossingUnknown/Needs additional research
non- lunge melee dash disabledDisables lunge movement when enacting a melee on a target
FieldsTag/data typeDescription
maximum alternate shots loadedshortUnknown/Needs additional research
turn on timerealThe time in seconds it takes from the weapon being readied for the function "turned_on" to transition from 0 to 1
ready timerealUnknown/Needs additional research
ready effectsound / effectUnknown/Needs additional research
ready damage effectdamage_effect / damage_response_definitionUnknown/Needs additional research
Secondary trigger modeDescription
normalUnknown/Needs additional research
slaved to primaryUnknown/Needs additional research
inhibits primaryUnknown/Needs additional research
loads alternate ammunitionUnknown/Needs additional research
loads multiple primary ammunitionUnknown/Needs additional research

Heat

This section is responsible for various properties and responses to weapon heat, generally weapons without the need to reload have a heat system to normalize their output.

  • For values of 0 to 1 these represent percentages, so 0.2 = 20%

  • Heat gained while firing the weapon is handled by the weapon barrel being fired

FieldsTag/data typeDescription
heat recovery thresholdrealFrom 0 to 1 determines at what level of heat the weapon is allowed to fire again after being overheated
overheated thresholdrealFrom 0 to 1 determines at what level of heat the weapon becomes overheated, needs to be higher than the recovery threshold
heat detonation thresholdrealFrom 0 to 1 determines when the weapon is allowed to explode after surpassing the given value of heat
heat detonation fractionrealFrom 0 to 1 determines the chance the weapon explodes when it's heat has surpassed the detonation threshold and it is fired
heat loss per secondrealFrom 0 to 1 determines how much heat the weapon loses while it is not being fired, or in- between firing
heat illuminationrealFrom 0 to 1 determines how much the illumination function is raised as the weapon gains heat
overheated heat loss per secondrealFrom 0 to 1 determines how much heat the weapon loses while it is in the overheated state, this state ends when the heat level reaches the recovery threshold
overheatedsound / effectEffect or sound played when weapon enters overheated state or explodes due to trigger overcharge
overheated damage effectdamage_effect / damage_response_definitionDamage or damage response played when weapon enters overheated state or explodes due to trigger overcharge
detonationsound / effectThe sound or effect that plays upon weapon detonation due to heat conditions or trigger explode
detonation damage effectdamage_effect / damage_response_definitionThe damage or damage response played when the weapon detonates due to heat conditions
player melee damagedamage_effectUnknown/Needs additional research
player melee responsedamage_effect / damage_response_definitionUnknown/Needs additional research

Melee

Melee attacks for the player are not natural to the player unit themself, but rather the weapon they hold. With this we can set different weapons to deal different amounts and types of melee damage: this section contains the references for such damage_effect tags.

Melee damage parametersData typeDescription
damage pyramid angleseulerTwo values that define the angles the melee attack is thrown out/Needs additional research
damage pyramid depthrealWhen initiating a melee attack, the damage itself is thrown this far out, can be farther than the melee lunge range

Pictured: A list of all availale weapon melee damage types

It is currently understood that only the energy sword can initiate a clang, and only on another energy sword when lunging at each other

Melee combo damageTag/data typeDescription
1st hit melee damagedamage_effectDamage effect played on a target hit by the melee key melee
1st hit melee responsedamage_effect / damage_response_definitiondamage response played on the player when hitting a target
2nd hit melee damagedamage_effectUnused
2nd hit melee responsedamage_effect / damage_response_definitionUnused
3rd hit melee damagedamage_effectUnused
3rd hit melee responsedamage_effect / damage_response_definitionUnused
lunge melee damagedamage_effectDamage effect played on a target hit by melee weapon lunge attack
lunge melee responsedamage_effect / damage_response_definitionDamage response played on the player when hitting a target with a lunge attack
empty melee damagedamage_effectDamage effect used for melee weapons when the weapon flag "use empty melee on empty" is enabled
empty melee responsedamage_effect / damage_response_definitionDamage response played on player for empty melee on melee weapons using the "use empty melee on empty" weapon flag
clang melee damagedamage_effectDamage effect played on targets hit by a clang attack
clang melee responsedamage_effect / damage_response_definitionDamage response played on players engaging in a melee clash against each other
clang effectsound / effectEffect played on players who engage in a melee clash against each other
melee damage reporting typeenumDropdown selector for various weapon and vehicle types, unknown/unused effects

Zoom

This section defines weapon zoom properties, zooming increases the range of aim assist properties according to the zoom level.

FieldsData typeDescription
magnification levelsshortValue determining how many levels of zoom this weapon provides, 2 is soft limit for compatible chud_definition tags
magnification rangerealA set of values for min and max, for a weapon with more than 1 zoom level the min is used for the first level of zoom and the max is used for the last level of zoom, if a single zoom level is set the min zoom value is used

Weapon aim assist

For melee weapons the lunge range is set as the autoaim range & falloff range, lunge range however is effectively capped at a value of 5.2 for the autoaim fields, past this the lunge is either disabled or is inconsistent

This section defines weapon assist features to make target aquisition easier, especially for controller. autoaim is more commonly known as bullet magnetism and is where your projectiles deviate towards targets without input from the player, making the ability to hit targets easier. magnetism is more commonly known as aim assist where your reticle is gently pulled onto targets without player input, this makes target aquisition and tracking much easier.

FieldsData typeDescription
autoaim angleangleAngle in which projectiles from this weapon are magnetized towards targets within autoaim range
autoaim rangerealMaximum range of red reticle and in which projectiles can be magnetized towards targets
autoaim falloff rangerealAt what range does the strength of projectile magnetism begin to fall off before the maximum distance
magnetism angleangleAngle in which the game applies aim assist to controllers when aiming over a target within magnetism range
magnetism rangerealMaximum range in which the game will apply aim assist to controllers aiming over a target
magnetism falloff rangerealRange in which the strength of aim assist for controllers begins to fall off before maximum distance
deviation angleangleFuntions the same as "autoaim angle", but ignores the "strict deviation angle" weapon flag

Movement

This section is responsible for movement penalty properties, slowing the players movement under certain conditions.

Movement penalty values work as percentages in increments of 0.1, incorrect values will be rounded down (example: 0.28 = 28% movement speed penalty but this will be rounded down to 0.2 or 20%)

Movement penalizedDescription
alwaysmovement is always penalized
when zoomedmovement is penalized only when zoomed
when zoomed or reloadingmovement is penalized except when reloading
FieldsData typeDescription
forward movement penaltyrealValue of 0 to 1 as a fraction of player forwards and backwards speed lost when their movement is penalized
sideways movement penaltyrealValue 0 to 1 as a fraction of player sideways speed lost when their movement is penalized

AI targeting parameters

ai scariness (real): This value defines how much scariness this weapon contributes against other AI characters, allowing it to trigger certain behaviors like retreating or taking cover. see the character tag for more info about how AI scariness is calculated and what thresholds are used for certain behaviors.

Miscellaneous

This section contains a mix-match of various properties with various effects.

FieldsTag/data typeDescription
weapon power-on timerealWhen the power key is used, this value determines how long the "power" function takes to fully turn on
weapon power-off timerealWhen the power key is used, this value determines how long the "power" function takes to fully turn of"
weapon power-on effectsound / effectThe sound or effect played on the weapon when switching the power on using the power key
weapon power-off effectsound / effectThe sound or effect played on the weapon when switching the power off using the power key
age heat recovery penaltyrealA value from that represent how much of the weapons heat recovery value lost as the weapon gains age, includes overheat and non-overheat heat recovery, unknown parameters
age rate of fire penaltyrealA value that represent how much of the weapons rate of fire lost as the weapon gains age, unknown parameters
age misfire startrealA value from 0 to 1 that represents the age value a weapon must reach to begin misfiring
age misfire chancerealA value from 0 to 1 that represents the chance a weapon can misfire once it has passed the "age misfire start" value
pickup soundsoundSound played on weapon when picked up
zoom-in soundsoundSound played on weapon when zooming in, including to other zoom levels
zoom-out soundsoundSound played on weapon when zooming out, including to other zoom levels
active camo dingrealA value that defines how much active camo is lost when firing this weapon, assumed percentile per shot
active camo regrowth raterealA value that defines how fast active camo is regained after firing this weapon, unknown parameters
handle nodestringUnknown/Needs additional research

Weapon Labels

This section is used in conjunction with third person animations to define what animation sets to use.

FieldsData typeDescription
weapon classstringA string value that corresponds to a weapon class entry in model_animation_graphs of the unit holding this weapon, needed for units to be able to hold this weapon
weapon namestringA string value that corresponds to a weapon type entry in model_animation_graphs of the unit holding this weapon, needed to define the animations a unit can use with this weapon
multiplayer weapon typeenumA dropdown of various multiplayer objective items such as the flag or oddball that can be used to interact with other items for objectives during gameplay

More miscellaneous

This section contains properties for weapon types and properties related to projectile tracking.

Despite using the "no tracking" option, the needler still possesses tracking abilities, this may be due to the weapon type

Weapon typeDescription
undefinedNo unique effect
shotgunAllows usage of continuous and partial reload animations
needlerUnknown, possibly allows projectile tracking despite no tracking type specified
plasma pistolUnknown
plasma rifleUnknown
rocket launcherNeeded for latch-rocketlauncher trigger type to allow locking onto targets with human tracking
energy bladeUnknown, possibly allows melee clang
splazerUnknown
Tracking typeDescription
no trackingNo tracking of any type allowed for this weapon
human trackingAllows tracking of targets whose model and biped tags defines targets with human tracking flags enabled
plasma trackingAllows tracking of targets whose model and biped tags defines targets with plasma tracking flags enabled

Interface

This section defines what UI tags to use to display things like the reticle and ammo and other elements.

First entry of this block is for spartan bipeds, second entry is for elite bipeds and this is regardless of campaign or multiplayer

first person (and chud)

FieldsTag typeDescription
first person modelrender_modelThe render model to be used in first person for this weapon and biped type
first person animationsmodel_animation_graphThe animation graph to be used on this weapon for this biped type
chud interfacechud_definitionThe UI tag to be used for this weapon, applies regardless of camera mode of the weapon

Magazines

Generally, weapons either use age or a ammo system to limit their total firepower output, this section contains properties for setting up the latter.

First entry into this block will be the primary magazine, second entry will be secondary magazine

Magazine flagsDescription
wastes rounds when reloadedWhen the weapon is reloaded, any round left in the magazine are deleted
every round must be chamberedUnknown, likely used with the shotgun weapon type dropdown to force chambering each shot
FieldsTags/data typeDescription
rounds rechargedshortNumber of rounds restored every second into the magazine, applies regardless of if the weapon is currently equipped
rounds total initialshortNumber of rounds the weapon starts with, will fill the magazine first then overflow into reserve ammunition
rounds total maximumshortNumber of total rounds the weapon can carry, including magazine and then defines the size of the reserve pool
rounds loaded maximumshortNumber of rounds the magazine can hold, once depleted needs reloading
runtime rounds inventory maximumshortUnknown/Needs additional research
reload timerealUnknown/Needs additional research
rounds reloadedshortNumber of rounds removed from reserve ammunition and placed into the magazine after a reload
chamber timerealUnknown/Needs additional research
reloading effectsound / effectSound or effect played once the reload key is pressed, if an effect duration is not set then the effect will play for 1 tick
reloading damage effectdamage_effectUnknown/Needs additional research
chambering effectsound / effectUnknown/Needs additional research
chambering damage effectdamage_effectUnknown/Needs additional research

Magazines (ammo packs)

Instead of walking over an exact copy of your current weapon to grab more ammunition for it, ammo packs can be used to refill ammo for multiple weapons.

In order to allow these items to be picked up, they must be defined in the biped tag of the unit you are playing as

FieldsTags/data typesDescription
roundsshortThe number of rounds input into the weapon when the below equipment tag is picked up
equipmentequipmentThe equipment tag that once the player runs over will input the above value of rounds into the weapon

New triggers

The main componenent of how a player interacts with a weapon, trigger properties are mandatory for non-melee weapons to be useable.

First entry into this block becomes the primary trigger, second entry becomes the secondary trigger

Trigger flagsDescription
autofire single action onlyUnknown/Needs additional research
InputDescription
right triggerUses right trigger key
left triggerUses left trigger key: will also trigger binoculars, zoom or boost if those are the same keybind so make sure to disable them
melee attackUses the melee attack key, used for vehicles like the banshee so that left trigger can be the boost key
BehaviorDescription
spewWhen trigger is pressed the weapon will continuously fire the barrel, under normal circumstances will fire in bursts of 2
latchWhen pressed the barrel is fired and then halts until the trigger is let go and repressed
latch-autofireFunctions like latch until the trigger is held down for the period of time specified in autofire time, then begins charging and will fire once the trigger is released
chargeAppears to function similar to latch-autofire, but better suited to weapons with a single barrel for charging behavior only
latch-zoomSame as latch but allows a second barrel to be used when the weapon is zoomed
latch-rocketlauncherSame as latch but is needed to also allow target locking onto human tracked targets by holding the trigger on the target and then releasing the trigger to fire once locked on
spew-chargeFunctions like spew for a period of time specified in charging time before charging the second barrel
sword-chargeUnknown, seems to function like latch-autofire but triggers a melee while releasing the charge

Pictured: An example of the main part of the trigger block

Barrel assignmentDescription
primary barrelThe first (primary) or second (secondary) barrel assigned for this current trigger
secondary barrelThe first (primary) or second (secondary) barrel assigned for this current trigger

Prediction properties effect networking for non-host players

PredictionDescription
noneUnsure, generally used for single-shot or burst fire weapons using the latch trigger type
spewUnsure, generally used for automatic weapons using the spew trigger type and not firing multiple shots per fire
chargeUnsure, generally used for weapons using latch-autofire or charge trigger types
AutofireData typeDescription
autofire timerealUnknown: presumably how much controller triggers must be depressed to begin action behavior, also used for latch-autofire to determine time until charging begins after latching
autofire throwrealUnknown, presumably how much controller triggers must be depressed to end action behavior

Secondary action seems to be when starting the autofire behavior and primary action seems to be when ending it

Secondary/Primary actionDescription
fireFires the trigger
chargeCharges the trigger
trackUnknown/Unused
fire otherUnknown/Needs additional research

Charging

This subsection defines advanced trigger properties in relation to weapon charging.

Overcharged actionDescription
noneNo action
explodeDeletes the weapon from the players inventory and uses heat detonation properties, will trigger when "charged time" passes or when the trigger is released during the time period of "charged time"
dischargeFires the overcharge normally
FieldsTag/data typeDescription
charging timerealThe time taken to charge try the trigger to full charge
charged timerealAfter fully charged, how long the trigger can stay charged until performing it's overcharged action
cancelled trigger throwshortUnknown
charged illuminationrealFrom 0 to 1 what value of illumination as a percentage is given off as the weapon reaches full charge
spew timerealUnknown, Unused
charging effectsound / effectThe Sound or effect played on the weapon as it charges
charging damage effectdamage_effect / damage_response_definitionThe damage or damage response played when the weapon begins charging, only plays 1 time at charge start
charging continuous damage responsedamage_response_definitionThe response played on the player as the weapon is being charged, and as it remains charged
charged drain raterealThe amount of weapon age drained in percent per second as the charge is held past the charge time duration
discharge effectsound / effectThe sound or effect played on the weapon once the overcharge has been released
discharge damage effectdamage_effect / damage_response_definitionThe damage or damage response played when the weapon is discharging, only plays 1 time at time of discharge (firing), seems redundant due an entry for this property in firing effects
lock-on hold timerealThe time in seconds the weapon stays locked onto a human-tracking target once aquired
lock-on aquire timerealThe time in seconds it takes for the weapon to lock onto a human-tracking target
lock-on grace timerealThe time in seconds to continue acquire progress on target even when target is no longer in red reticle, once this time has passed without being refreshed all acquire progress is reset

Barrels

Triggers are tied to barrels, barrels themselves are the most important part of the weapon. This section contains flags related to the properties of the current barrel and the projectiles spawned from it.

FlagsDescription
tracks fired projectileAllows projectiles to track targets on weapons used by the player, AI seem to ignore this flags presence
random firing effectsUnknown/Needs additional research
can fire with partial ammoNormally when a weapon does not have enough ammo in the magazine to fulfill a barrel fire, the weapon will force reload, this flag allows the weapon to still be used and fire the normal number of shots regardless of incomplete ammo requirement
projectiles use weapon originOnly applicable to players, causes weapon to fire projectiles from the third person weapon trigger markers, rather than the player camera
ejects during chamberUnknown/Unused/Causes 3rd person shotgun ejection port to not open after chambering
use error when unzoomedCauses barrel error values to only be applied when not zoomed with the weapon, zero error when zoomed
projectile vector cannot be adjustedForces projectiles to emit from the 3rd person weapon trigger marker, in the exact direction the marker is pointing, regardless of player aim or bullet magnetism. Also disables all weapon projectile tracking for all users.
projectiles have identical errorUnknown/Needs additional research
projectiles fire parallelUnknown/Needs additional research
can't fire when others firingPresumably prevents this barrel from firing while another barrel is firing
can't fire when others recoveringPrevents this barrel from firing while another barrel is still recovering with its fire recovery time
don't clear fire bit after recoveringEnabling this flag disallows soft recovery fraction for latch weapons while also disabling the ability for spew weapons to use the value of 1 for "shots per fire"
staggers fire across multiple markersCauses weapon to cycle projectile emission point from multiple trigger markers, alternates between 2 markers but for more than 2 markers it seems to pick at random
fires locked projectilesForces AI actors using this barrel to only track when targeting a human-tracking type unit, else they self-guide projectiles, unknown otherwise
can fire at maximum ageThis barrel will continue to be able to fire despite the weapon age being at 0
use 1 firing effect per burstWeapon will only play it's firing effect a single time, all shots after either in a burst or spew will not have a firing effect
ignore tracked objectUnknown/Needs additional research

Firing

Defines how the current barrel fires.

FieldsData typeDescription
rounds per secondrealTwo values that determine the rate at which projectiles are fired when in spew or during a burst, invalid values are rounded down to nearest valid in gameplay, values under 10 for weapons with an entry in the "shots per fire" field do not sync in multiplayer correctly
acceleration timerealTime taken in seconds for the weapon to transition the rounds per second value from the first value to the last value at a constant rate of value change once the weapon starts firing (rate of fire itself may not change due to invalid values but they are still used to fill time)
deacceleration timerealTime taken in seconds for the weapon to transition the rounds per second value from the last value to the first value at a constant rate of value change once the weapon stops firing (rate of fire itself may not change due to invalid values but they are still used to fill time)
barrel spin scalerealScales the "barrel_spin" function by a mutiplicative value from 0 to 1, 0 is equal to 1 as the barrel fires
blurred rate of firerealUnknown/Needs additional research
shots per fireshortThe number of shots produced when this weapon is fired, spew weapons normally use a value of 0, but the trigger type forces them to fire 2 times
fire recovery timerealValue in seconds that defines how long the weapon must wait after firing a shot before another shot can be fired, adheres to limitations based on tick rate so some values may not work and will round up to nearest correct value
soft recovery fractionrealA value from 0 to 1 that defines how much of the fire recovery time you can input a fire request and the game saves and plays it when the fire recovery ends, even if the player has stopped the fire request input
magazineindexThis selection is a dropdown that gives a selection of magazine blocks opened to be used for rounds per fire: NONE, Primary and Secondary
rounds per shotshortThe number of rounds to be expended from the associated magazine by this barrel when fired
minimum rounds loadedshortThe number of rounds needed to fire this weapon, after firing the weapon and going below this value a reload is forced, ignores firing with partial ammo flag
rounds between tracersshortValue that feeds into a projectile function called "tracer" that sets the function to zero for the duration of the number of shots of the value found here (A value here of 1 means the tracer function turns fully on and then fully off after every shot)
optional barrel marker namestringOverrides the default trigger marker name with whatever is entered here to use as the barrel marker for projectile origin (when not being fired from player or biped camera)

Weapon firerate bonus info

Pictured: An example of rate of fire and fire recovery time

When using the rate of fire field in the weapons barrel block, you are given a set of 2 bound values to enter, due to limitations implemented by 343 to retain 30 tick engine behavior you may only enter values compatible with 30 tick engines. 0.46875 is the lowest possible value allowed due to the idle_ticks timer only being a max value of 127, thus this value has the weapon fire on the 128th tick. To find all other compatible values, do 30 divided by a whole number between 1 and 64. Invalid values will round down to the nearest valid (Example: 16 will behave as 15).

When using the fire recovery time field in the weapons barrel block, you are given a single value (in seconds) to enter, this value is able to accept 60 tick engine values, there is a built- in 2 tick base delay plus a second minimum delay of 2 ticks so the fastest possible rate of fire achievable with fire recovery time is 12 rounds per second with a value of 0.

Prediction and noise

Defines network and noise properties for the current barrel.

Prediction properties effect networking for non-host players, if set up incorrectly non-host players' weapons will not work correctly

Prediction typeDescription
noneUnknown, used by the rocket launcher
continuousUnknown, mostly used for spew type weapons for automatic fire
instantUnknown, mostly used for latch type weapons for burst and semi-auto
Firing noiseDescription
silentUnknown, sound is silent to AI
mediumUnknown, sound is medium loudness to AI
loudUnknown, sound is loud to AI
shoutUnknown, sound is shout loudness to AI
quietUnknown, sound is quiet to AI

Error (spread/bloom)

Generally most players prefer their weapons to not be laser accurate, this section defines what random error properties the weapon uses when firing the current barrel.

Single weapon errorData typeDescription
acceleration timerealTime in seconds taken for the weapon to go from minimum error and min error pitch rate to maximum error and full error pitch rate when the weapon starts firing (single wield only)
deacceleration timerealTime in seconds taken for the weapon to go from maximum error and full error pitch rate to minimum error and min error pitch rate when the weapon stops firing (single wield only)
damage errorrealA set of two values that determines firing error when the model tag for this weapon is in a damage state with the flag that damages primary/secondary weapon enabled, chooses randomly between the 2 values: this is not normal weapon error, that is located further down
min error look pitch rateangleThe max rate of aiming/looking allowed when this weapon is at minimum error (130 is referenced as full power)
full error look pitch rateangleThe max rate of aiming/looking allowed when this weapon is at maximum error (130 is referenced as full power)
look pitch error powerrealUnknown, seems to partially scale the error look pitch rate change rate
Dual weapon errorData typesDescription
acceleration timerealTime in seconds taken for the weapon to go from minimum error and min error pitch rate to maximum error and full error pitch rate when the weapon starts firing (dual wield only)
deacceleration timerealTime in seconds taken for the weapon to go from maximum error and full error pitch rate to minimum error and min error pitch rate when the weapon stops firing (dual wield only)
minimum errorangleThe minimum error this weapon is allowed to have when dual wielded, will never have less than this amount of error under any condition (dual wield only)
error angleangleTwo bound values that determine weapon error, first value is upon first firing and second value is after the acceleration time has passed, will return to first value during deacceleration time (dual wield only)
dual wield damage scalerealFrom 0 to 1, determines the damage done by this weapon when being fired as part of dual wield, 0 equals 1 (0.1 equals 10% of full normal damage)
Distribution functionDescription
pointProjectile spread is offset from the exact crosshair point, around it, typical weapon spread/bloom behavior and uses projectiles per shot and error values
horizontal fanUses projectiles per shot and distribution angle to fan out projectiles in either a horizontal fan or a vertical fan, fan direction is based on where the biped is aiming
FieldsData typesDescription
projectiles per shotshortNumber of projectiles fired at the exact same moment
distribution anglerealRequires fan distribution function and projectiles per shot to be above 1, sets how wide the fans are (values above 1 tend to spray the fans so far they end up behind the biped)
minimum errorangleThe minimum error this weapon is allowed to have when dual wielded, will never have less than this amount of error under any condition (single wield only)
error angleangleTwo bound values that determine weapon error, first value is upon first firing and second value is after the acceleration time has passed, will return to first value during deacceleration time (single wield only), both values function as a "0 degrees to X degrees" rather than using both values and choosing between them at random

This has a dropdown for 3 different block entries: single wield, dual right and dual left

First person offset3 different value entries for coordinates away from the player camera in which projectiles will deviate from as their origin point
Xwith positive being forward from the camera
Ywith positive being up on the vertical axis
Zwith positive being to the left on the horizontal axis

Projectile

What good is a gun if it shoots nothing? this section defines what the weapon fires.

FieldsTags/data typesDescription
damage effect reporting typeenumDropdown selector for various weapon and vehicle types, unknown/unused effects
projectileprojectileProjectile tag fired from the weapon when the weapon is fired
optional secondary projectileprojectileProjectile tag fired from the weapon when the weapon is fired: when a spew weapon or burst fire weapon is fired, all projectiles after the first (or first two with spew) become the secondary projectile
damage effectdamage_effectThe damage created at the projectile origin point, use damage effects with an area of effect for best result, does not hurt the entity firing the weapon
crate projectilecrateCauses the weapon to fire this crate tag object when the weapon fires from a firing action, uses the velocity of the value below
crate projectile speedrealThe velocity in WU at which the crate projectile is fired out

Misc and recoil

This section contains a mix-match of properties for the current barrel, including how much heat it generates when fired and recoil.

FieldsData typesDescription
ejection port recovery timerealUnknown/Needs additional research
illumination recovery timerealHow long in seconds it takes for the "illumination" function to transition from 1 to 0 after a shot has been fired
heat generated per roundrealThe amount of heat added to the weapon when it has been fired, per shot
age generated per roundrealThe age amount deducted from a weapon when it has been fired, from 100%
campaign age generated per roundrealThe age amount deducted from a weapon when it has been fired, from 100%, for campaign only
overload timerealUnknown/needs additional research
angle shot per shotangleTwo value entries that define how much recoil the weapon experiences when it is fired, transitions from the first value to the second value through acceleration when firing and deacceleration when not firing
acceleration timerealTime taken when you begin firing the weapon to transition from min angle to max angle per shot
deacceleration timerealTime taken when you stop firing the weapon to transition from max angle to min angle per shot
angle change functionshortDropdown with variety of options that detail how the function transitions the recoil from min to max during acceleration

Firing effects

Generally when a weapon fires it produces a flash and smoke at the end of the barrel, this is where you can define those effects

Firing effectsTag/data typeDescription
shot count lower boundshortUnknown/needs additional research
shot count upper boundshortUnknown/needs additional research
firing effectsound / effectThe sound or effect played on the weapon when it is firing
misfire effectsound / effectThe sound or effect played on the weapon when it is firing
empty effectsound / effectThe sound or effect played on the weapon when it is firing but has no ammunition
optional secondary firing effectsound / effectUnknown/requires additional research
firing damagedamage_effect / damage_response_definitionThe damage or damage response played on the player firing the current weapon
misfire damagedamage_effect / damage_response_definitionUnknown/requires additional research
empty damage[damage_effect] / damage_response_definitionUnknown/requires additional research
optional secondary firing damagedamage_effect / damage_response_definitionUnknown/requires additional research
firing rider damagedamage_effect / damage_response_definitionThe damage or damage response played on other vehicle rider players when the gunner player fires the current weapon
misfire rider damagedamage_effect / damage_response_definitionUnknown/requires additional research
empty rider damagedamage_effect / damage_response_definitionUnknown/requires additional research
optional secondary firing rider damagedamage_effect / damage_response_definitionUnknown/requires additional research

First-person movement control (Misc)

Random properties for the weapon that bungie stuffed at the bottom of the tag.

FieldsTags/data typeDescription
runtime power on velocityrealUnknown and expert mode
runtime power off velocityrealUnknown and expert mode
max movement accelerationrealUnknown
max movement velocityrealUnknown
max turning accelerationrealUnknown
max turning velocityrealUnknown
deployed vehiclevehicleUnknown
tossed weaponweaponWhen a unit holding the parent weapon is killed, this weapon replaces the one they were holding and falls to the ground
age effecteffectThe effect played when a weapon becomes depleted
aged material effectsmaterial_effectsThis replaces the normal materiel effect of the weapon when it has become depleted
external aging amountrealAmount of age as a percentage applied to weapon, used for melee weapons that lack a barrel and trigger
campaign external aging amountrealSame as above but for campaign only, above applies to multiplayer
first person weapon offsetvectorA series of 3 values that determine the first person weapon offset on screen:
^ irealdepth from camera, positive is farther from the camera
^^ Irealhorizontal axis from camera, positive moves to the left
^^^ krealverticle axis from camera, positive moves upwards
first person weapon offset overridevectorSame as above but is only used for centered crosshairs
first person scope sizevectorUnknown
support third person camera rangerealRequires "support weapon" flag, prevents camera from being moved past the set values along the vertical axis in third person camera view
weapon zoom timerealTime in seconds the weapon takes to fully zoom in, the function is linear based on the time
weapon ready- for- use timerealTime in seconds the weapon is unable to be used for after being readied, used for melee weapons
unit stow anchor namestringThe name of the render model marker this weapon attaches to when stowed

Acknowledgements

Thanks to the following individuals for their research or contributions to this topic:

  • odchylanie_uderzenia (writing and research)