WeaponSetUpdate.xsd 4.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="uri:ea.com:eala:asset" xmlns:balance="uri:ea.com:eala:balance" xmlns:at="uri:ea.com:eala:asset:type" xmlns:xas="uri:ea.com:eala:asset:schema" targetNamespace="uri:ea.com:eala:asset" elementFormDefault="qualified" xmlns:XmlEdit="http://tempuri.org/XmlEdit.xsd">
  3. <xs:simpleType name="WeaponChoiceCriteria">
  4. <xs:restriction base="xs:string">
  5. <!-- choose the weapon that will do the most damage -->
  6. <xs:enumeration value="PREFER_MOST_DAMAGE" />
  7. <!-- choose the weapon with the longest range (that will do nonzero damage) -->
  8. <xs:enumeration value="PREFER_LONGEST_RANGE" />
  9. <!-- choose the weapon that has a grab nugget, or failing that, the one with the most damage -->
  10. <xs:enumeration value="PREFER_GRAB_OVER_DAMAGE" />
  11. <!-- choose the weapon that results in having to move the least to get in range (ie, longest range weapon when far away, melee weapon when close) -->
  12. <xs:enumeration value="PREFER_LEAST_MOVEMENT" />
  13. <!-- choose a weapon randomly from all weapons in the set that can currently be used -->
  14. <xs:enumeration value="SELECT_AT_RANDOM" />
  15. <!-- use default weapon choice critera set in the WeaponSet -->
  16. <xs:enumeration value="USE_WEAPONSET_DEFAULT_CRITERIA" />
  17. </xs:restriction>
  18. </xs:simpleType>
  19. <xs:complexType name="WeaponSlot_WeaponData">
  20. <xs:sequence></xs:sequence>
  21. <xs:attribute name="Ordering" type="WeaponSlotType" />
  22. <xs:attribute name="Template" balance:field="Template" balance:category="Template" type="WeaponRef" />
  23. <xs:attribute name="Upgrade" type="UpgradeTemplateRef" />
  24. <xs:attribute name="ObjectStatus" type="ObjectStatusBitFlags" default=""/>
  25. <xs:attribute name="ForbiddenObjectStatus" type="ObjectStatusBitFlags" default=""/>
  26. <xs:attribute name="IsPlayerUpgradePermanent" type="SageBool" default="false" />
  27. <!-- Tells the SkirmishAI to always count this weapon's damage in the template calculation regardless of any upgrades or object status requirements -->
  28. <xs:attribute name="ConquerMetricsAlwaysCount" type="SageBool" default="false" />
  29. </xs:complexType>
  30. <xs:simpleType name="WeaponSlotInterleavedStyleType">
  31. <xs:restriction base="xs:string">
  32. <xs:enumeration value="INTERLEAVE_FIRST_AVAILABLE" />
  33. <xs:enumeration value="INTERLEAVE_RANDOM" />
  34. </xs:restriction>
  35. </xs:simpleType>
  36. <xs:complexType name="WeaponSlot_Hardpoint" xas:isPolymorphic="true">
  37. <xs:sequence>
  38. <xs:element name="Weapon" balance:category="Weapon" type="WeaponSlot_WeaponData" minOccurs="0" maxOccurs="unbounded" xas:sortBy="Ordering"/> <!-- WeaponSlot expects this to be sorted -->
  39. </xs:sequence>
  40. <xs:attribute name="ID" type="SageUnsignedInt" />
  41. <xs:attribute name="AllowInterleavedFiring" type="SageBool" default="false" />
  42. <xs:attribute name="InterleavedStyle" type="WeaponSlotInterleavedStyleType" default="INTERLEAVE_RANDOM" />
  43. <xs:attribute name="WeaponChoiceCriteria" type="WeaponChoiceCriteria" default="PREFER_MOST_DAMAGE" />
  44. <xs:attribute name="AutoChooseWeapon" type="SageBool" default="true" />
  45. </xs:complexType>
  46. <xs:complexType name="WeaponSlot_Turret">
  47. <xs:complexContent>
  48. <xs:extension base="WeaponSlot_Hardpoint">
  49. <xs:sequence>
  50. <xs:element name="TurretSettings" balance:category="TurretSettings" type="TurretAIData" minOccurs="1" maxOccurs="1" />
  51. </xs:sequence>
  52. </xs:extension>
  53. </xs:complexContent>
  54. </xs:complexType>
  55. <xs:complexType name="WeaponSlot_HierarchicalTurret">
  56. <xs:complexContent>
  57. <xs:extension base="WeaponSlot_Turret">
  58. <xs:sequence>
  59. </xs:sequence>
  60. <xs:attribute name="ParentID" type="SageUnsignedInt" default="0" />
  61. </xs:extension>
  62. </xs:complexContent>
  63. </xs:complexType>
  64. <xs:complexType name="WeaponSlot_Contained">
  65. <xs:complexContent>
  66. <xs:extension base="WeaponSlot_Hardpoint">
  67. <xs:sequence>
  68. </xs:sequence>
  69. </xs:extension>
  70. </xs:complexContent>
  71. </xs:complexType>
  72. <xs:complexType name="WeaponSetUpdateModuleData">
  73. <xs:complexContent>
  74. <xs:extension base="UpdateModuleData">
  75. <xs:sequence>
  76. <xs:element balance:category="WeaponSlot" name="WeaponSlotHardpoint" type="WeaponSlot_Hardpoint" minOccurs="0" maxOccurs="unbounded" />
  77. <xs:element balance:category="WeaponSlot" name="WeaponSlotTurret" type="WeaponSlot_Turret" minOccurs="0" maxOccurs="unbounded" />
  78. <xs:element balance:category="WeaponSlot" name="WeaponSlotHierarchicalTurret" type="WeaponSlot_HierarchicalTurret" minOccurs="0" maxOccurs="unbounded" />
  79. <xs:element balance:category="WeaponSlot" name="WeaponSlotContained" type="WeaponSlot_Contained" minOccurs="0" maxOccurs="unbounded" />
  80. </xs:sequence>
  81. </xs:extension>
  82. </xs:complexContent>
  83. </xs:complexType>
  84. </xs:schema>