WeaponModuleTemplates.csv: Difference between revisions

From Ashes of the Singularity - Official Wiki
Jump to navigation Jump to search
(Added information for WeaponModuleTemplates)
No edit summary
Line 9: Line 9:
'''Description:''' Refers to a line in the Asset/UIText/ModuleText.csv file, determining the in-game tooltip of the weapon when hovering over the icon.
'''Description:''' Refers to a line in the Asset/UIText/ModuleText.csv file, determining the in-game tooltip of the weapon when hovering over the icon.


'''UpdateFunction''': Determines the type of weapon, being drawn from game code. Certain weapon types have different profiles and requirements that need to be configured in a certain way. This changes the meaning of certain values in this file.  
'''UpdateFunction''': Determines the type of weapon, being drawn from game code. Certain weapon types have different profiles and requirements that need to be configured in a certain way. This changes the meaning of certain values in this file.  It can have the following values.
 
OmniTarget4000WeaponUpdate - most basic update function, handles things like guns that fire projectiles
 
OmniTarget4000PodWeaponUpdate -  this is a weapon with multiple launchers (tubes, barrels, etc.) that can be placed on any unit or building for attacking anything (with prioritization specified in the CSV file)
 
these shots will cycle through the tubes one per interpulse duration
 
OmniTarget4000SequenceWeaponUpdate -  this is a weapon with multiple launchers (tubes, barrels, etc.) that can be placed on any unit or building for attacking anything (with prioritization specified in the CSV file) these shots will cycle through the tubes one per volley.  (in contrast to the OmniTargetPodWeaponUpdate that cycles barrels each shot)
 
OmniTarget4000BeamWeaponUpdate - this is a Beam weapon like a sustained laser as opposed to a projectile
 
OmniTarget4000LinkedWeaponUpdate - this is a weapon with multiple launchers (tubes, barrels, etc.) THAT ALL FIRE TOGETHER that can be placed on any unit or building for attacking anything (with prioritization specified in the CSV file) only use this if you have more than 2 barrels/tubes/whatever
 
OmniTarget4000LinkedBeamWeaponUpdate - this is a weapon with multiple launchers (tubes, barrels, etc.) THAT ALL FIRE TOGETHER that can be placed on any unit or building for attacking anything (with prioritization specified in the CSV file) only use this if you have more than 2 barrels/tubes/whatever
 
OmniTarget4000MasterTargetUpdate - this is a weapon that does not fire, but merely finds a target and aims.  Slave weapon modules are required to actually fire projectiles.
 
OmniTarget4000SlavedWeaponUpdate - this is a weapon that shares a barrel/aiming mechanism with another master weapon module.  It is not responsible for finding targets, only firing at them.


'''Rate of Fire - Cooldown:''' How often the weapon fires.
'''Rate of Fire - Cooldown:''' How often the weapon fires.
Line 27: Line 45:
'''Impact Type''': How the damage is applied. this needs to match the corresponding Weapon Type and UpdateFunction or the weapon can be broken
'''Impact Type''': How the damage is applied. this needs to match the corresponding Weapon Type and UpdateFunction or the weapon can be broken


'''Motion Path Type''': The type of projectile/animation used  by the weapon. The number references a hard coded value. This needs to match corresponding weapon types and update functions or the weapon can be broken.
'''Motion Path Type''': Determines what code is run to control the movement/behavior of the projectile.  This needs to match corresponding weapon types and update functions or the weapon can be broken. It can have the following values.
 
    DirectFire = 13,
 
    BasicGuidedMissile = 14,
 
    BasicBeam = 15,
 
    FlakMk2 = 17,
 
    Tracer = 18,
 
    SpiralTracer = 20,
 
    TrivialGuidedMissile = 21,
 
    Rocket = 22,
 
    SimpleSpark = 23,
 
    AATracer = 25,
 
    TrueTracer = 26,
 
    GravitySpark = 27,
 
    NovaBomb = 28,
 
    Arty = 29,
 
    CuttingBeam = 30,
 
    DroneSwarm = 31,
 
    DSDS = 32,
 
    CaptureRay = 33,
 
    PlasmaWhip = 34,
 
    DeathRay = 35,
 
    HealZone = 36,
 
    EMPZone = 37,
 
    SpiralBeam = 38,
 
    PlasmaBall = 39,
 
    DeathBlossom = 40,
 
    BigArty = 41,
 
    ForceBubble = 42,
 
    GroundHugger = 43,
 
    LowArty = 44,
 
    Railgun = 45,
 
    OverloadedShot = 46,
 
    GroundHugger2 = 47,
 
    HybridGuidedArty = 48,
 
    BuildRay = 49,
 
    EffectShot = 50,
 
    BallLightning = 51, // NYI
 
    MRV = 52,
 
    MRVFrag = 53,
 
    NewImprovedSmarty = 54,
 
    OrbitalStrikeFrag = 55,
 
    OrbitalStrikePrimary = 56,
 
    NullProjectile = 57,
 
    EffectShotFlak = 58,
 
    HavokProjectile = 59,
 
    MirvArtyProjectile = 60,
 
    MirvArtySubmunitionProjectile = 61,
 
    EradicatorProjectile = 62,
 
    DroneCanister = 63,
 
    AOEBeam = 64,
 
    DisruptorWhip = 65,
 
'''SpecificMagicNum & SpecificMagicNum2'''
 
These are both generic parameters that mean different things based on the update function used.


'''Required Energy or Quanta''': Quanta used per cast if it's an Orbital Ability, or energy drained from unit when weapon is fired.  
'''Required Energy or Quanta''': Quanta used per cast if it's an Orbital Ability, or energy drained from unit when weapon is fired.  

Revision as of 00:43, 16 February 2018

The Assets/GameCore/ModuleTemplates/WeaponModuleTemplates.csv file controls rate of fire, range, targeting priority, damage, and everything else for all weapons. Orbital Abilities and healing weapons are also included here. There are a number of fields in this file, many of which are unintuitive, which I will be explaining here.

To check what weapon a unit or structure has, refer to the relevant .Module file. This is advised as many of the internal reference names for weapons are vague and unclear as to what they are for.

InternalName: The internal reference named in the UnitModule or BuildingModule files which determines which units/buildings have what weapons.

DisplayName: Refers to a line in the Asset/UIText/ModuleText.csv file, determining the in-game name of the weapon when hovering over the unit.

Description: Refers to a line in the Asset/UIText/ModuleText.csv file, determining the in-game tooltip of the weapon when hovering over the icon.

UpdateFunction: Determines the type of weapon, being drawn from game code. Certain weapon types have different profiles and requirements that need to be configured in a certain way. This changes the meaning of certain values in this file. It can have the following values.

OmniTarget4000WeaponUpdate - most basic update function, handles things like guns that fire projectiles

OmniTarget4000PodWeaponUpdate -  this is a weapon with multiple launchers (tubes, barrels, etc.) that can be placed on any unit or building for attacking anything (with prioritization specified in the CSV file)

these shots will cycle through the tubes one per interpulse duration

OmniTarget4000SequenceWeaponUpdate -  this is a weapon with multiple launchers (tubes, barrels, etc.) that can be placed on any unit or building for attacking anything (with prioritization specified in the CSV file) these shots will cycle through the tubes one per volley.  (in contrast to the OmniTargetPodWeaponUpdate that cycles barrels each shot)

OmniTarget4000BeamWeaponUpdate - this is a Beam weapon like a sustained laser as opposed to a projectile

OmniTarget4000LinkedWeaponUpdate - this is a weapon with multiple launchers (tubes, barrels, etc.) THAT ALL FIRE TOGETHER that can be placed on any unit or building for attacking anything (with prioritization specified in the CSV file) only use this if you have more than 2 barrels/tubes/whatever

OmniTarget4000LinkedBeamWeaponUpdate - this is a weapon with multiple launchers (tubes, barrels, etc.) THAT ALL FIRE TOGETHER that can be placed on any unit or building for attacking anything (with prioritization specified in the CSV file) only use this if you have more than 2 barrels/tubes/whatever

OmniTarget4000MasterTargetUpdate - this is a weapon that does not fire, but merely finds a target and aims.  Slave weapon modules are required to actually fire projectiles.

OmniTarget4000SlavedWeaponUpdate - this is a weapon that shares a barrel/aiming mechanism with another master weapon module.  It is not responsible for finding targets, only firing at them.

Rate of Fire - Cooldown: How often the weapon fires.

Shots per Volley: How many shots are fired before the Cooldown applies.

Duration or Interpulse Cooldown: This field has differing affects depending on what weapon type it is. Duration is how long the continuous beam weapon fires for, Interpulse Cooldown is delay inbetween the shots that make up a volley.

Targetting Priority: Determines which unit types the weapon will prioritise. 1 is the highest priority, 5 is the lowest, 0 means can't target that unit type. Tier 0 is drones. Unless it's a turreted weapon, the weapon priority needs to match the priority of that unit in the SteeringModuleTemplates.csv. Don't leave a gap in priority numbers such as "1,2,4,5" .

Firing Arc & Swivel Clamp: Determines the firing arc of a weapon, most weapons will have minimal firing arc, requiring the unit to rotate to face a target, but turrets will have wide arcs as they rotate.

AP Rating: The amount of armor-piercing a weapon has. 1 represents 5% armor piercing, so a target with 20% damage reduction will be negated by 4 armor.

Weapon Type: Determines the weapon type, this needs to match the corresponding UpdateFunction or the weapon can be broken.

Impact Type: How the damage is applied. this needs to match the corresponding Weapon Type and UpdateFunction or the weapon can be broken

Motion Path Type: Determines what code is run to control the movement/behavior of the projectile.  This needs to match corresponding weapon types and update functions or the weapon can be broken. It can have the following values.

    DirectFire = 13,

    BasicGuidedMissile = 14,

    BasicBeam = 15,

    FlakMk2 = 17,

    Tracer = 18,

    SpiralTracer = 20,

    TrivialGuidedMissile = 21,

    Rocket = 22,

    SimpleSpark = 23,

    AATracer = 25,

    TrueTracer = 26,

    GravitySpark = 27,

    NovaBomb = 28,

    Arty = 29,

    CuttingBeam = 30,

    DroneSwarm = 31,

    DSDS = 32,

    CaptureRay = 33,

    PlasmaWhip = 34,

    DeathRay = 35,

    HealZone = 36,

    EMPZone = 37,

    SpiralBeam = 38,

    PlasmaBall = 39,

    DeathBlossom = 40,

    BigArty = 41,

    ForceBubble = 42,

    GroundHugger = 43,

    LowArty = 44,

    Railgun = 45,

    OverloadedShot = 46,

    GroundHugger2 = 47,

    HybridGuidedArty = 48,

    BuildRay = 49,

    EffectShot = 50,

    BallLightning = 51, // NYI

    MRV = 52,

    MRVFrag = 53,

    NewImprovedSmarty = 54,

    OrbitalStrikeFrag = 55,

    OrbitalStrikePrimary = 56,

    NullProjectile = 57,

    EffectShotFlak = 58,

    HavokProjectile = 59,

    MirvArtyProjectile = 60,

    MirvArtySubmunitionProjectile = 61,

    EradicatorProjectile = 62,

    DroneCanister = 63,

    AOEBeam = 64,

    DisruptorWhip = 65,

SpecificMagicNum & SpecificMagicNum2

These are both generic parameters that mean different things based on the update function used.

Required Energy or Quanta: Quanta used per cast if it's an Orbital Ability, or energy drained from unit when weapon is fired.

WeaponVisual: References a line in the \GameCore\WeaponVisual.csv file, which determines the visual effect and alignment used.

MissileLocation: References a line in the \GameCore\MissileLocations.csv file which determines the alignment of each missile is fired from in a missile or multi-barrelled weapon.

Quanta Per Cast: How much an Orbital Ability ramps up in price each time it is used. 0.25 means the ability will cost +25% when it used each time.

Note, there will be multiple weapons for an Orbital Ability. For example, the cast ability "weapon" and the weapon then used by that Orbital Ability. Have a look for which one has a Quanta cost if you are unsure.