Weapon Defs

Here we provide a list of engine defined weapondefs:

NameDescriptionValues
name std::string The descriptive name of the weapon, for GUI purposes. Default: Weapon
weaponType std::string Sets weapon type, which is a bundle of behaviours and visuals (check other tags). Available types (sorted from the most general): Cannon - ballistic projectile, defaults to 'plasma ball' visuals LaserCannon - non-ballistic projectile, defaults to 'slow laser' visuals (think stormtroopers) BeamLaser - hitscan weapon, laser visuals MissileLauncher - potentially homing projectile, leaves a smoke trail TorpedoLauncher - missile that can't exit water by default StarburstLauncher - missile with a vertical ascent phase at the beginning AircraftBomb - resolves into Torpedo or Cannon, but has support for being dropped by a bomber plane Flame - non-ballistic projectile, has a sprite which expands LightningCannon - hitscan weapon, lightning visuals Melee - just applies damage. No frontswing though DGun - deprecated, a fiery ball projectile. Has a lot of hardcoded visuals but does NOT convey 'dgun' mechanics. Prefer Cannon instead EmgCannon - deprecated, a version of Laser or Flame with crappy visuals Rifle - deprecated, more or less equivalent to invisible Lightning Default: Cannon
id int Default: 0
customParams table A table of arbitrary string key-value pairs, for use by Lua gadgets (no engine meaning)
avoidFriendly bool Does the weapon avoid shooting if there's allies in the way? Note that an ally can run into the projectile and it will still explode - use `collideFriendly` to avoid that Default: 1
avoidFeature bool Does the weapon avoid shooting if there's features in the way? See remarks at `avoidFriendly` Default: 1
avoidNeutral bool Does the weapon avoid shooting if there's neutrals in the way? Note this does not mean Gaia! See also remarks at `avoidFriendly` Default: 0
avoidGround bool Does the weapon avoid shooting if terrain would block it? See remarks at `avoidFriendly` Default: 1
avoidCloaked bool Does the weapon avoid shooting if there's cloaked (incl. revealed, but not decloaked) units in the way? See remarks at `avoidFriendly` Default: 0
collideEnemy bool Does the projectile collide with enemies? Use to make sure it hits the ground, or for buffs targeting allies. Note that targeting will always target enemies anyway, and never allies. Also note there is no corresponding `avoidEnemy` Default: 1
collideFriendly bool Does the projectile collide with allies? Note that the unit will still shoot if there are allies in the way, which is controlled separately via `avoidFriendly`. Default: 1
collideFeature bool Does the projectile collide with features? See remarks at `collideFriendly` Default: 1
collideNeutral bool Does the projectile collide with neutrals? Note this does not mean Gaia! See also remarks at `collideFriendly` Default: 1
collideFireBase bool Does the projectile collide with its firebase, i.e. a transport holding the unit? Put it on marines' weapons to let them shoot out of a bunker while remaining in its colvol. There is no corresponding `avoidFirebase`. Default: 0
collideNonTarget bool Does the projectile ghost through everything that isn't its target (incl. other enemies)? Combine with `tracks` and `impactOnly` for 'starcraft' style weapons that are largely just graphics. There is no corresponding `avoidNonTarget`. Default: 1
collideGround bool Does the projectile collide with terrain? See remarks at `collideFriendly` Default: 1
collideCloaked bool Does the projectile collide with cloaked (includes revealed but not decloaked) units? See remarks at `collideFriendly` Default: 1
damage table Damage table, indexed by armor class name
damage.default float The default damage used in absence of explicit per-armorclass value Default: 1
explosionSpeed float How fast does the shockwave propagate? Note that units cannot actually dodge the shockwave (they are tagged immediately and just damaged after a delay)
impactOnly bool Does the projectile only damage a single thing it hits? Mostly equivalent to having 0 AoE without the issues with 0. Also removes cratering. Default: 0
noSelfDamage bool Is the unit unable to damage itself with the weapon? Default: 0
noExplode bool The projectile will not be removed when exploding and instead continue on. It will keep exploding every sim frame while inside a collision volume, massively multiplying nominal damage. Default: 0
burnblow bool For LaserCannon, expire when reaching the target (at max range otherwise). For Cannon, explode when reaching the target (keep falling otherwise). For Missile/Starburst/TorpedoLauncher, explode when running out of fuel (fall down otherwise). Default: 0
damageAreaOfEffect float The diameter (not radius!) for damage. Cratering controlled separately. Also the collision radius for projectile-based interceptors. Fallback: areaOfEffect
Default: 8
Scale Value: 0.5
Scale String: 0.5f
edgeEffectiveness float Exponent for a magic formula describing splash damage falloff. The damage always drops down to 0, this tag just controls how large the 'core' is. Can be negative for a very core-centric explosion. 0 is linear falloff with radius. 1 is no falloff. Default: 0
Max: 1
collisionSize float Width for hitscan interceptors. Supposed to be collision radius for others but it's broken at the moment Default: 0.05
weaponVelocity float Maximum speed in elmo/s (won't accelerate further on its own) Fallback: maxVelocity
Default: 0
Min: 0.01
Scale Value: 0.0333333
Scale String: 1.0f / GAME_SPEED
startvelocity float Initial projectile speed in elmo/s Default: 0
Min: 0.01
Scale Value: 0.0333333
Scale String: 1.0f / GAME_SPEED
weaponacceleration float Acceleration in elmo/s^2 Fallback: acceleration
Default: 0
Scale Value: 0.00111111
Scale String: 1.0f / (GAME_SPEED * GAME_SPEED)
reloadTime float Reload time between bursts, in seconds. Note that reloadTime starts to count down from the first round fired, not the last, so if (reloadTime < burst * burstRate) the weapon will fire continuously. Default: 1
burstRate float Delay between shots within a burst, in seconds Default: 0.1
burst int Shots per burst. Cannot be used by #BeamLaser unless `beamburst` is used which comes with caveats. Default: 1
projectiles int Projectiles per shot. Best used in conjunction with `sprayAngle` or changing the firing piece in script using ShotX as otherwise they'll all be clumped up in one blob. Default: 1
waterBounce bool Bounces when hitting the water surface? Default: 0
groundBounce bool Bounces when hitting terrain? Default: 0
bounceSlip float Horizontal velocity multiplier on bounce Default: 1
bounceRebound float Vertical velocity multiplier on bounce Default: 1
numBounce int How many bounces can the weapon do? Explodes on impact when cannot bounce anymore Default: -1
impulseFactor float A multiplier to base impulse (knockback). For most weapons, base impulse is equal to applied damage. For #Melee weapons the base impulse is the hitting unit's mass. Default: 1
impulseBoost float A flat bonus to impulse. Default: 0
craterMult float A multiplier to cratering strength. Applies after all other modifiers. Fallback: impulseFactor
Default: 1
craterBoost float A flat modifier to cratering strength, applies second-last (after reduction due to altitude). Default: 0
craterAreaOfEffect float Diameter of terrain deformation. Damage to units controlled separately. Keep in mind about the inner half of this is the hole, and the outer half is the raised (!) rim Fallback: areaOfEffect
Default: 8
Scale Value: 0.5
Scale String: 0.5f
waterweapon bool Can the projectile travel underwater? Ability to fire underwater controlled separately via `fireSubmersed` Default: 0
submissile bool Torpedo only. Lets torpedoes exit the water and be a missile. Lets underwater launchers shoot out-of-water targets (out-of-water launchers still cannot - use Missile instead of Torpedo for that). Default: 0
fireSubmersed bool Can the weapon fire underwater? Requires `waterweapon`. Fallback: waterweapon
Default: 0
commandfire bool Does the weapon respond to the manual fire command instead of regular attack? Default: 0
range float Maximum targeting range. Ballistic weapons can resolve lower due to physics. Some weapons can also fly past that range if they miss. Default: 10
heightmod float Multiplies height difference to target, for targeting purposes. When lower than 1, the targeting volume becomes elongated vertically and the unit can target further high than normal (useful to make terrain and aircraft less punishing). At 0, the height difference component becomes completely ignored. Default: 0.2
targetBorder float 1/-1 will target the close/far edge of the colvol (instead of center). Matters for huge colvols and/or small ranges Default: 0
Min: -1
Max: 1
cylinderTargeting float Makes targeting happen in a cylinder. The height is range times this value. Zero means use the usual range (spherical or ballistic) Fallback: cylinderTargetting
Default: 0
Min: 0
Max: 128
turret bool Does the unit aim within an arc (up-to and including full 360° turret traverse) or always aim along the owner's heading? Default: 0
fixedLauncher bool Missile/Torpedo/Starburst only. The projectile will start aimed at the direction of the aiming piece, which is not necessarily towards the target Default: 0
tolerance float For `turret = false` only. Firing cone width, in the 16-bit legacy angular unit. Default: 3000
Scale Value: 9.58738e-05
Scale String: TAANG2RAD
firetolerance float Angle above which reaim (script `AimWeapon`) is forced outside the usual time-based reaim. In the legacy 16-bit angular units. Default: 3640
Scale Value: 9.58738e-05
Scale String: TAANG2RAD
highTrajectory int 0: low trajectory, 1: high trajectory, 2: the unit will have a state toggle for the player to pick Default: 2
trajectoryHeight float Missile/Torpedo only. Causes the missile to fly in an arc. The value is the fraction of target distance as extra arc height (e.g. at 1.0 the arc is as tall as it is long). Default: 0
tracks bool Missile/Torpedo/Starburst only. Does the projectile track its target (i.e. homing)? Requires a positive `turnRate`. Default: 0
wobble float Missile only. Missiles will turn towards random directions (new direction rolled every 16 sim frames). In legacy angular units per second. Default: 0
Scale Value: 3.19579e-06
Scale String: float(TAANG2RAD) / GAME_SPEED
dance float Missile only. Missiles will randomly shift up to this many elmos, perpendicular to their movement direction. Movement period is hardcoded to 8 sim frames Default: 0
Scale Value: 0.0333333
Scale String: 1.0f / GAME_SPEED
gravityAffected bool #DGun weapon type only. Is the dgun projectile affected by gravity? Aiming won't take this into account. Default: 0
myGravity float Overrides the map gravity for ballistic weapons. The default of 0.0 disables the tag in favour of map gravity. Default: 0
canAttackGround bool Can the unit target ground? Only units otherwise. Note, features are not directly targetable either way. Default: 1
weaponTimer float StarburstLauncher only. Seconds of vertical ascent Default: 0
flighttime float Lifetime of the projectile, in seconds. Missile/Torpedo/Starburst projectiles 'lose fuel' and fall down; Cannons explode; others fade away Default: 0
Scale Value: 30
Scale String: GAME_SPEED
turnrate float For projectiles with `tracks`, in COB angular units (65536 is tau) per second. Also the turn rate for Starburst when they stop ascending and turn towards target (regardless of homing). Default: 0
Scale Value: 3.19579e-06
Scale String: float(TAANG2RAD) / GAME_SPEED
heightBoostFactor float #Cannon weapon type only. Controls the ballistic range gain/loss for height difference; larger means higher effect of range difference. -1 is derived some magic formula. Hard to tell how this stacks with `heightMod`. Default: -1
proximityPriority float Importance of distance when picking targets. Higher means closer units are preferred more; negative values make weapons prefer distant targets. Default: 1
allowNonBlockingAim bool When false, the weapon is blocked from firing until AimWeapon() returns. Default: 0
accuracy float How INaccurate are entire bursts? Larger is worse, 0 is perfect accuracy. This is an angle, so long range shots are always less likely to hit than close range given same target and inaccuracy. Can improve with unit XP. Default: 0
sprayAngle float How inaccurate are individual projectiles in a burst? Default: 0
movingAccuracy float Same as `accuracy` but applies when the unit is moving. Fallback: accuracy
Default: 0
targetMoveError float Fraction of target speed per second added as a random error. E.g. if target moves at 50 elmo/s and targetMoveError is 0.5 then a random vector of length up to 25 will be added to the target position Default: 0
leadLimit float Maximum distance in elmos the unit will lead a moving target. Less than zero is unlimited. Default: -1
leadBonus float If `leadLimit` is not unlimited, add this value multiplied by raw unit XP (not limXP) to the limit. Default: 0
predictBoost float How well the unit leads its targets. Between 0 and 1. At pb=0 it will over- or under-estimate target speed by between 0-2x its actual value. At pb=1 it will estimate speed perfectly. Keep in mind `leadLimit` can still make it undershoot. Default: 0
ownerExpAccWeight float How much does accuracy (but not sprayAngle!) improve with unit limXP? Multiplier for limXP which is then subtracted as a fraction (for example at limXP=0.4 and ownerExpAccWeight=2, the weapon only has 1-(0.4*2) = 20% of original inaccuracy.
minIntensity float BeamLaser only. The minimum percentage the weapon's damage can fall-off to over its range. Setting to 1.0 will disable fall off entirely. Unrelated to the visual-only `intensity`. Largely a duplicate of `dynDamageExp`. Default: 0
duration float #LaserCannon only. The visual-only length of the projectile as a fraction of the per-second projectile speed. Default: 0.05
beamtime float #BeamLaser only. The laser maintains it beam for this many seconds, spreading its damage over that time. Default: 1
beamburst bool #BeamLaser only. Lets a laser use burst mechanics, but sets `beamtime` to the duration of 1 sim frame. Default: 0
beamTTL int BeamLaser and LightningCannon only. Linger time of the visual sprite, in sim frames. Default: 0
sweepFire bool Makes BeamLasers continue firing while aiming for a new target, 'sweeping' across the terrain. Default: 0
largeBeamLaser bool BeamLaser only. Enables some extra fancy texturing (NOT size). Check other Beamlaser tags for 'large'. Default: 0
sizeGrowth float #Flamethrower only. Visual-only radius growth in elmos per sim frame. Default: 0.5
flameGfxTime float #Flamethrower only. Multiplier of the total range for visuals purposes. For example at 1.2, the visual will extend 20% further than max range. Should be >= 1. Exposed back to WeaponDefs as `duration` (same as the unrelated #LaserCannon tag)
metalPerShot float Metal cost per shot. For stockpile weapons this is consumed over time, immediately on shot otherwise.
energyPerShot float Energy cost per shot. For stockpile weapons this is consumed over time, immediately on shot otherwise.
fireStarter float The percentage chance of the weapon setting fire to static map features on impact. Default: 0
Min: 0
Scale Value: 0.01
Scale String: 0.01f
paralyzer bool Is the weapon a paralyzer? If true the weapon only stuns enemy units and does not cause damage in the form of lost hit-points. Default: 0
paralyzeTime int Determines the maximum length of time in seconds that the target will be paralyzed. The timer is restarted every time the target is hit by the weapon. Cannot be less than 0. Default: 10
Min: 0
stockpile bool Does each round of the weapon have to be built and stockpiled by the player? Will only correctly function for the first of each stockpiled weapons a unit has. Default: 0
stockpileTime float The time in seconds taken to stockpile one round of the weapon. Fallback: reload
Default: 1
Scale Value: 30
Scale String: GAME_SPEED
targetable int Bitmask representing the types of weapon that can intercept this weapon. Each digit of binary that is set to one means that a weapon with the corresponding digit in its interceptor tag will intercept this weapon. Instant-hitting weapons such as [#BeamLaser], [#LightningCannon] and [#Rifle] cannot be targeted. Default: 0
interceptor int Bitmask representing the types of weapons that this weapon can intercept. Each digit of binary that is set to one means that a weapon with the corresponding digit in its targetable tag will be intercepted by this weapon. Default: 0
interceptedByShieldType unsigned int Bitmask representing the types of shields that this weapon can intercept. Each digit of binary that is set to one means that a shield with the corresponding digit in its shieldInterceptType tag will be hit by this weapon.
coverage float The radius in elmos within which an interceptor weapon will fire on targetable weapons. Default: 0
interceptSolo bool If true no other interceptors may target the same projectile. Default: 1
dynDamageInverted bool If true the damage curve is inverted i.e. the weapon does more damage at greater ranges as opposed to less. Default: 0
dynDamageExp float Exponent of the range-dependent damage formula, the default of 0.0 disables dynamic damage, 1.0 means linear scaling, 2.0 quadratic and so on. Default: 0
dynDamageMin float The minimum floor value that range-dependent damage can drop to. Default: 0
dynDamageRange float If set to non-zero values the weapon will use this value in the range-dependant damage formula instead of the actual range. Default: 0
shield.repulser bool Does the shield repulse (deflect) projectiles or absorb them? Fallback: shieldRepulser
Default: 0
shield.smart bool Determines whether or not projectiles fired by allied units can pass through the shield (true) or are intercepted as enemy weapons are (false). Fallback: smartShield
Default: 0
shield.exterior bool Determines whether or not projectiles fired within the shield's radius can pass through the shield (true) or are intercepted (false). Fallback: exteriorShield
Default: 0
shield.maxSpeed float The maximum speed the repulsor will impart to deflected projectiles. Fallback: shieldMaxSpeed
Default: 0
shield.force float The force applied by the repulsor to the weapon - higher values will deflect weapons away at higher velocities. Fallback: shieldForce
Default: 0
shield.radius float The radius of the circular area the shield covers. Fallback: shieldRadius
Default: 0
shield.power float Essentially the maximum allowed hit-points of the shield - reduced by the damage of a weapon upon impact. Fallback: shieldPower
Default: 0
shield.startingPower float How many hit-points the shield starts with - otherwise the shield must regenerate from 0 until it reaches maximum power. Fallback: shieldStartingPower
Default: 0
shield.powerRegen float How many hit-points the shield regenerates each second. Fallback: shieldPowerRegen
Default: 0
shield.powerRegenEnergy float How much energy resource is consumed to regenerate each hit-point. Fallback: shieldPowerRegenEnergy
Default: 0
shield.energyUse float The amount of the energy resource consumed by the shield to absorb or repulse weapons, continually drained by a repulsor as long as the projectile is in range. Fallback: shieldEnergyUse
Default: 0
rechargeDelay float The delay in seconds before a shield begins to regenerate after it is hit. Fallback: shieldRechargeDelay
Default: 0
Scale Value: 30
Scale String: GAME_SPEED
shield.interceptType unsigned int Bitmask representing the types of weapons that this shield can intercept. Each digit of binary that is set to one means that a weapon with the corresponding digit in its interceptedByShieldType will be intercepted by this shield (See [[Shield Interception Tag]] Use). Fallback: shieldInterceptType
Default: 0
shield.visible bool Is the shield visible or not? Fallback: visibleShield
Default: 0
shield.visibleRepulse bool Is the (hard-coded) repulse effect rendered or not? Fallback: visibleShieldRepulse
Default: 0
shield.visibleHitFrames int The number of frames a shield becomes visible for when hit. Fallback: visibleShieldHitFrames
Default: 0
shield.badColor float4 The RGBA colour the shield transitions to as its hit-points are reduced towards 0. Fallback: shieldBadColor
Default: 1, 0.5, 0.5
shield.goodColor float4 The RGBA colour the shield transitions to as its hit-points are regenerated towards its maximum power. Fallback: shieldGoodColor
Default: 0.5, 0.5, 1
shield.alpha float The alpha transparency of the shield whilst it is visible. Fallback: shieldAlpha
Default: 0.2
shield.armorType std::string Specifies the armorclass of the shield; you can input either an armorclass name OR a unitdef name to share that unit's armorclass Fallback: shieldArmorType
Default: default
model std::string Name of a 3D model. Otherwise uses 2D sprites Default:
size float Size of the 2D visual sprite, if the weapon has no 'model' set.
scarGlowColorMap std::string A colormap (set of RGBA tuples) for the scar decal. Will smoothly fade between these colours over its lifetime. Default:
scarIndices table A table of indices to the scar table in resources.lua
explosionScar bool Does the explosion leave a scar decal on the ground? Default: 1
scarDiameter float Diameter of the scar decal Default: -1
scarAlpha float Initial opacity of the scar decal (0-1) Default: 0
scarGlow float Initial glow intensity of the scar decal (0-1) Default: 0
scarTtl float Duration of the scar decal, in seconds Default: 0
scarGlowTtl float Duration of the glow of the scar, in seconds Default: 0
scarDotElimination float Specifies the exponent of dot product of projection vector and current terrain normal vector, this is used to remove to remove scar projection from surfaces that usually should not receive the ground scar effect, the exponent controls the degree of elimination. The default 0.0 means there will be no elimination at all. Default: 0
scarProjVector float4 Forced direction of a ground scar projection (you can think of this technique as if the scar image was projected onto the ground from the cinema projector at certain world-space vector). If all zeroes, it will use ground normals. Realistically this should either be left at default, or set to {0, 1, 0} for orbital-type weapons Default: 0, 0, 0
scarColorTint float4 Color tint for explosion scar decal. Scaled so that 0.5 is no change, 1.0 is twice as bright. Default: 0.5, 0.5, 0.5
alwaysVisible bool Is the projectile visible regardless of sight? Default: 0
cameraShake float Passed to the wupget:ShockFront callin as the first argument, intended for shaking the camera on particularly strong hits. Same scale as damage. Fallback: damage.default
Default: 0
Min: 0
smokeTrail bool MissileLauncher only. Does it leave a smoke trail ribbon? Default: 0
smokeTrailCastShadow bool Does the smoke trail cast shadow? Default: 1
smokePeriod int Smoke trail update rate - the trail ribbon will make a new vertex this many sim frames. Use for high turn-rate homing missiles to prevent jagged edges. Smaller is smoother but more performance-heavy. Default: 8
smokeTime int Smoke trail linger duration, in sim frames Default: 60
smokeSize float Smoke trail size multiplier Default: 7
smokeColor float Smoke trail brightness multiplier Default: 0.65
castShadow bool Does the projectile itself cast shadow? Default: 1
sizeDecay float #Cannon only. See `stages`. Size reduction per stage, as a fraction of the first stage Default: 0
alphaDecay float #Cannon only. See `stages`. Alpha reduction for the last stage (interpolated linearly for the others). Default: 1
separation float #Cannon only. See `stages`. Multiplier for the default distance between stages Default: 1
noGap bool #Cannon only. Makes `separation` adjust to take `sizeDecay` into account so `stages` stay adjacent. Default: 1
stages int #Cannon only. If `model` is not set then draw this many 2D sprites to simulate a sort of motion blur. Default: 5
lodDistance int LaserCannon only. Distance at which rendering is simplified, without the rounded ends Default: 1000
thickness float LaserCannon, BeamLaser and Lightning only. How thicc is the laser? Default: 2
coreThickness float BeamLaser and LaserCannon only. Thickness of the inner core as a fraction of full thickness (0-1). Just to get a secondary color via `rgbColor2`. Default: 0.25
laserFlareSize float BeamLaser only. Size of the flare visual effect at emit point, in elmos Default: 15
tileLength float 'Large' BeamLaser only. Length in elmos of a repeated texture tile for the beam. Regular BeamLaser just has a single stretched tile. Default: 200
scrollSpeed float 'Large' BeamLaser only. Speed in elmo/s at which the tiled beam texture shifts. Default: 5
pulseSpeed float 'Large' BeamLaser only. Frequency of beam pulsation (fade to zero alpha and back) in hertz Default: 1
beamDecay float BeamLaser only. Controls the fadeout (multiplier for alpha per sim frame) Default: 1
falloffRate float LaserCannon with `hardStop = false` only. How much, as a fraction, the laser fades per sim frame beyond max range. Capped to be 0.2 or above (ie. will never take more than 5 sim frames to fade completely) Default: 0.5
hardstop bool LaserCannon only. If true, lasers get 'eaten up' at max range. Otherwise they continue on and fade away according to `intensityFalloff` (but can't collide anymore). Default: 0
rgbColor float3 Color of the sprite, when not using a model. #EmgCannon has a different default of 0.9/0.9/0.2. Default: 1, 0.5, 0
rgbColor2 float3 BeamLaser and LaserCannon only. The color of the inner core of the sprite, see `coreThickness`. Default: 1, 1, 1
intensity float Alpha transparency for non-model projectiles. Lower values are more opaque, but 0.0 will cause the projectile to disappear entirely. Default: 0.9
colormap std::string A series of RGBA tuples. If the projectile is a sprite then it will shift over these colours over its lifetime Default:
textures.1 std::string When not using a model, sprite texture for AircraftBomb, Cannon, EMG, Flame; main beam texture for LaserCannon, BeamLaser, Lightning; flare texture for Missile, Starburst; dome for Shield. Note that DGun has a hardcoded texture. Fallback: texture1
Default:
textures.2 std::string The end-of-beam texture for LaserCannon and BeamLaser (half of texture for each end); smoketrail for Missile and Starburst. Note that Torpedo has a hardcoded trail. Fallback: texture2
Default:
textures.3 std::string Flare for non-'large' BeamLaser, or directional muzzle exhaust for 'large'; flame exhaust for Starburst. Fallback: texture3
Default:
textures.4 std::string Flare for 'large' BeamLaser. Fallback: texture4
Default:
cegTag std::string The name, without prefixes, of a CEG to be emitted by the projectile each frame. Default:
explosionGenerator std::string The name, with prefix, of a CEG to be emitted on impact Default:
bounceExplosionGenerator std::string The name, with prefix, of a CEG to be emitted when bouncing Default:
soundTrigger bool Does the weapon produce the shooting sound only once for the whole burst? If false, for each shot in a burst.
soundStart std::string The sound emitted when shooting the weapon. Default:
soundHitDry std::string The sound emitted when hitting outside water. Note that a #BeamLaser will play this once per sim frame. Fallback: soundHit
Default:
soundHitWet std::string The sound emitted when hitting in water. Note that a #BeamLaser will play this once per sim frame. Fallback: soundHit
Default:
soundStartVolume float Sound volume of the shot. -1 means autogenerated from damage. Default: -1
soundHitDryVolume float Sound volume of the impact, outside water. -1 means autogenerate from damage. Fallback: soundHitVolume
Default: -1
soundHitWetVolume float Sound volume of the impact, inside water. -1 means autogenerate from damage. Fallback: soundHitVolume
Default: -1