Weapon Defs
Here we provide a list of engine defined weapondefs:
Name | Description | Values |
---|---|---|
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 |