User Tools

Site Tools


modding:xml:weapon

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
modding:xml:weapon [2017/02/05 18:03] – Move weapon_devices to weapon 0xabcdefmodding:xml:weapon [2018/07/09 08:39] (current) – Blast was missing from one of the tables. assumedpseudonym
Line 293: Line 293:
   * **fragmentInterval=** The number of ticks between each detonation. Sets fragmentation to be periodic and disables proximity detonation.   * **fragmentInterval=** The number of ticks between each detonation. Sets fragmentation to be periodic and disables proximity detonation.
 =====Standard Stats===== =====Standard Stats=====
-^ Level |  Damage | Power |  Cost |  Ammo Cost | Over | Under |+^ Level |  Damage (per 180 ticks) | Power |  Cost |  Ammo Cost | Over | Under |
 ^1 | 4 |10 |350 |0.6 | 0 | 0 | ^1 | 4 |10 |350 |0.6 | 0 | 0 |
 ^2 | 5 |20 |800 |1.2 | 0 | -20 | ^2 | 5 |20 |800 |1.2 | 0 | -20 |
Line 329: Line 329:
 ^kinetic | 1 | ^kinetic | 1 |
 ^particle | 4 | ^particle | 4 |
-^ion | 4 |+^blast | 4
 +^ion | 7 |
 ^thermo | 7 | ^thermo | 7 |
-^positron | 7 |+^positron | 10 |
 ^plasma | 10 | ^plasma | 10 |
-^antimatter | 10 |+^antimatter | 13 |
 ^nano | 13 | ^nano | 13 |
 ^graviton | 16 | ^graviton | 16 |
Line 422: Line 423:
 =====Events===== =====Events=====
 Weapon items support the following events (which can be added in the <Events> element for an <ItemType>). Weapon items support the following events (which can be added in the <Events> element for an <ItemType>).
- +===<OnCreateShot>=== 
-===<OnDamageArmor>=== +  * **gSource** The shot 
-This event is called when a projectile from this weapon hits the armor of a ship. If the event returns an integer, the value is interpreted as the amount of damage to do to armor (before adjustments for damage type). If the event returns Nil, the original damage amount is unchanged. +  * **aTargetObj** 
-  * **gSource** is the object that was hit by the projectile. +  * **aAttacker** 
-  * **aArmorSeg** is the armor segment on the object that was hit. +  * **aOrderGiver** 
-  * **aAttacker** is the object that fired the projectile. +  * **aWeaponType**
-  * **aCause** is the projectile object. +
-  * **aDamageHP** is the adjusted damage (in hit points) that reached the armor. +
-  * **aDamageType** is the type of damage. +
-  * **aHitDir** is the absolute direction that the projectile came from. +
-  * **aHitPos** is the vector position where the shot hit. +
-  * **aOrderGiver** is the object that ordered the attacker. +
-  * **aWeaponType** is the UNID of the weapon (for missile weapons, this is the UNID of the missile).+
 ===<OnDamageOverlay>=== ===<OnDamageOverlay>===
 This event is called when a projectile from this weapon hits an overlay on a ship. If the event returns an integer, the value is interpreted as the amount of damage to pass to shields (before adjustments for damage type). If the event returns Nil, the original damage amount is unchanged. This event is called when a projectile from this weapon hits an overlay on a ship. If the event returns an integer, the value is interpreted as the amount of damage to pass to shields (before adjustments for damage type). If the event returns Nil, the original damage amount is unchanged.
Line 442: Line 436:
   * **aDamageHP** is the adjusted damage (in hit points) that reached the armor.   * **aDamageHP** is the adjusted damage (in hit points) that reached the armor.
   * **aDamageType** is the type of damage.   * **aDamageType** is the type of damage.
-  * **aArmorSeg** is the armor segment that would be hit if it penetrates overlay and shields.+  * **aArmorSeg** is the armor segment number on the object that was hit (not the actual armor item itself).
   * **aHitDir** is the absolute direction that the projectile came from.   * **aHitDir** is the absolute direction that the projectile came from.
   * **aHitPos** is the vector position where the shot hit.   * **aHitPos** is the vector position where the shot hit.
Line 465: Line 459:
   * **aDamageType** is the type of damage.   * **aDamageType** is the type of damage.
   * **aDeviceItem** is the shield item.   * **aDeviceItem** is the shield item.
-  * **aArmorSeg** is the armor segment that would be hit if it penetrates shields.+  * **aArmorSeg** is the armor segment number on the object that was hit (not the actual armor item itself).
   * **aHitDir** is the absolute direction that the projectile came from.   * **aHitDir** is the absolute direction that the projectile came from.
   * **aHitPos** is the vector position where the shot hit.   * **aHitPos** is the vector position where the shot hit.
Line 475: Line 469:
   * **aShieldReflect** is the string "reflect" is the shield will reflect this projectile. Otherwise, its value is Nil.   * **aShieldReflect** is the string "reflect" is the shield will reflect this projectile. Otherwise, its value is Nil.
   * **aWeaponType** is the UNID of the weapon (for missile weapons, this is the UNID of the missile).   * **aWeaponType** is the UNID of the weapon (for missile weapons, this is the UNID of the missile).
 +===<OnDamageArmor>===
 +This event is called when a projectile from this weapon hits the armor of a ship. If the event returns an integer, the value is interpreted as the amount of damage to do to armor (before adjustments for damage type). If the event returns Nil, the original damage amount is unchanged.
 +  * **gSource** is the object that was hit by the projectile.
 +  * **aArmorSeg** is the armor segment number on the object that was hit (not the actual armor item itself).
 +  * **aAttacker** is the object that fired the projectile.
 +  * **aCause** is the projectile object.
 +  * **aDamageHP** is the adjusted damage (in hit points) that reached the armor.
 +  * **aDamageType** is the type of damage.
 +  * **aHitDir** is the absolute direction that the projectile came from.
 +  * **aHitPos** is the vector position where the shot hit.
 +  * **aOrderGiver** is the object that ordered the attacker.
 +  * **aWeaponType** is the UNID of the weapon (for missile weapons, this is the UNID of the missile).
 +===<OnDamageAbandoned>===
 +  * **gSource**
 +  * **aCause**
 +  * **aAttacker**
 +  * **aOrderGiver**
 +  * **aHitPos**
 +  * **aHitDir**
 +  * **aDamageHP**
 +  * **aDamageType**
 +  * **aWeaponType**
 +
 +===<OnDestroyShot>===
 +  * **gSource** The shot
 +  * **aWeaponType**
 +  * **aAttacker**
 +  * **aOrderGiver**
 ===<OnFireWeapon>=== ===<OnFireWeapon>===
 This event is called on weapon items when the weapon fires. For weapons with multi-projectile configurations or for repeating weapons, the event is called once per projectile. The event may use sysCreateWeaponFire to create projectiles. If the event returns Nil, then the normal projectile is created. This event is called on weapon items when the weapon fires. For weapons with multi-projectile configurations or for repeating weapons, the event is called once per projectile. The event may use sysCreateWeaponFire to create projectiles. If the event returns Nil, then the normal projectile is created.
modding/xml/weapon.1486317830.txt.gz · Last modified: 2017/02/05 18:03 by 0xabcdef