BaseModules.xsd 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  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: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:complexType name="AnimAndDuration">
  4. <xs:sequence></xs:sequence>
  5. <xs:attribute name="AnimState" type="ModelConditionFlagType" />
  6. <xs:attribute name="Frames" type="SageUnsignedInt" default="0" />
  7. <xs:attribute name="Trigger" type="SageUnsignedInt" default="0" />
  8. </xs:complexType>
  9. <xs:simpleType name="ParseCondStateType">
  10. <xs:restriction base="xs:string">
  11. <xs:enumeration value="PARSE_NORMAL" />
  12. <xs:enumeration value="PARSE_DEFAULT" />
  13. <xs:enumeration value="PARSE_TRANSITION" />
  14. </xs:restriction>
  15. </xs:simpleType>
  16. <xs:complexType name="ModuleData" xas:isPolymorphic="true">
  17. <xs:attribute name="id" type="Poid" xas:refType="ModuleData" />
  18. </xs:complexType>
  19. <xs:complexType name="ClientBehaviorModuleData">
  20. <xs:complexContent>
  21. <xs:extension base="ModuleData">
  22. <xs:sequence></xs:sequence>
  23. </xs:extension>
  24. </xs:complexContent>
  25. </xs:complexType>
  26. <xs:complexType name="DrawModuleData">
  27. <xs:complexContent>
  28. <xs:extension base="ModuleData">
  29. </xs:extension>
  30. </xs:complexContent>
  31. </xs:complexType>
  32. <xs:complexType name="BehaviorModuleData">
  33. <xs:complexContent>
  34. <xs:extension base="ModuleData">
  35. <xs:sequence></xs:sequence>
  36. </xs:extension>
  37. </xs:complexContent>
  38. </xs:complexType>
  39. <xs:complexType name="ContainModuleData">
  40. <xs:complexContent>
  41. <xs:extension base="BehaviorModuleData">
  42. <xs:sequence></xs:sequence>
  43. </xs:extension>
  44. </xs:complexContent>
  45. </xs:complexType>
  46. <xs:complexType name="ClientUpdateModuleData">
  47. <xs:complexContent>
  48. <xs:extension base="BehaviorModuleData">
  49. <xs:sequence></xs:sequence>
  50. </xs:extension>
  51. </xs:complexContent>
  52. </xs:complexType>
  53. <xs:complexType name="UpdateModuleData">
  54. <xs:complexContent>
  55. <!-- A little "hack" so that having multiple containers is easier, since
  56. some containers use UpdateModule and we can't use multiple inheretance.
  57. It was either this or rewriting half the contain modules... -->
  58. <xs:extension base="ContainModuleData">
  59. <xs:sequence></xs:sequence>
  60. </xs:extension>
  61. </xs:complexContent>
  62. </xs:complexType>
  63. <xs:complexType name="ModelConditionStateTurret">
  64. <xs:sequence></xs:sequence>
  65. <xs:attribute name="TurretNameKey" type="xs:string" />
  66. <xs:attribute name="TurretArtAngle" type="Angle" />
  67. <xs:attribute name="TurretPitch" type="xs:string" />
  68. <xs:attribute name="TurretArtPitch" type="Angle" />
  69. <xs:attribute name="TurretID" type="SageInt" default="-1" />
  70. </xs:complexType>
  71. <xs:complexType name="FXEvent">
  72. <xs:sequence></xs:sequence>
  73. <xs:attribute name="Frame" type="SageInt" />
  74. <xs:attribute name="FrameStep" type="SageInt" />
  75. <xs:attribute name="FrameStop" type="SageInt" />
  76. <xs:attribute name="FireWhenSkipped" type="SageBool" default="false" />
  77. <xs:attribute name="Effect" type="FXListRef" />
  78. <xs:attribute name="Bone" type="xs:string" />
  79. </xs:complexType>
  80. <xs:simpleType name="LuaEventTriggerType">
  81. <xs:restriction base="xs:string">
  82. <xs:enumeration value="TRIGGER_ONFRAME" />
  83. <xs:enumeration value="TRIGGER_ONSTATEENTER" />
  84. <xs:enumeration value="TRIGGER_ONSTATELEAVE" />
  85. </xs:restriction>
  86. </xs:simpleType>
  87. <xs:complexType name="LuaEvent">
  88. <xs:sequence></xs:sequence>
  89. <xs:attribute name="Frame" type="SageInt" />
  90. <xs:attribute name="Data" type="xs:string" />
  91. <xs:attribute name="Trigger" type="LuaEventTriggerType" default="TRIGGER_ONFRAME" />
  92. </xs:complexType>
  93. <xs:simpleType name="FXTriggerType">
  94. <xs:restriction base="xs:string">
  95. <xs:enumeration value="NONE" />
  96. <xs:enumeration value="CATAPULT_ROCK" />
  97. <xs:enumeration value="TREBUCHET_ROCK" />
  98. </xs:restriction>
  99. </xs:simpleType>
  100. <xs:simpleType name="FXActionType">
  101. <xs:restriction base="xs:string">
  102. <xs:enumeration value="NONE" />
  103. <xs:enumeration value="HOLD" />
  104. <xs:enumeration value="KILL" />
  105. <xs:enumeration value="SPAWN" />
  106. </xs:restriction>
  107. </xs:simpleType>
  108. <xs:complexType name="ParticleSysBone">
  109. <xs:sequence></xs:sequence>
  110. <xs:attribute name="BoneName" type="xs:string" />
  111. <xs:attribute name="FXParticleSystemTemplate" type="FXParticleSystemRef" />
  112. <xs:attribute name="FollowBone" type="SageBool" default="false" />
  113. <xs:attribute name="FXTrigger" type="FXTriggerType" default="NONE" />
  114. <xs:attribute name="FXAction" type="FXActionType" default="NONE" />
  115. <xs:attribute name="PersistID" type="SageInt" default="0" />
  116. <xs:attribute name="OnlyIfOnWater" type="SageBool" default="false" />
  117. <xs:attribute name="OnlyIfOnLand" type="SageBool" default="false" />
  118. <xs:attribute name="id" type="AssetId" />
  119. </xs:complexType>
  120. <xs:complexType name="ScriptedModelDrawModel">
  121. <xs:sequence></xs:sequence>
  122. <xs:attribute name="Name" type="RenderObjectRef" use="optional" xas:byValue="true" />
  123. <xs:attribute name="ExtraMesh" type="SageBool" default="false" />
  124. </xs:complexType>
  125. <xs:complexType name="BoneAttachPoint">
  126. <xs:sequence></xs:sequence>
  127. <xs:attribute name="WeaponSlotID" type="SageInt" default="1" />
  128. <xs:attribute name="WeaponSlotType" type="WeaponSlotType" default="PRIMARY_WEAPON" />
  129. <xs:attribute name="BoneName" type="xs:string" />
  130. </xs:complexType>
  131. <xs:complexType name="ModelConditionState">
  132. <xs:sequence>
  133. <xs:element name="Model" type="ScriptedModelDrawModel" minOccurs="0" maxOccurs="unbounded" />
  134. <xs:element name="Material" type="FXShaderMaterial" minOccurs="0" maxOccurs="1" />
  135. <xs:element name="Texture" type="ReplaceTexture" minOccurs="0" maxOccurs="unbounded" />
  136. <xs:element name="WeaponFireFXBone" type="BoneAttachPoint" minOccurs="0" maxOccurs="unbounded" />
  137. <xs:element name="WeaponRecoilBone" type="BoneAttachPoint" minOccurs="0" maxOccurs="unbounded" />
  138. <xs:element name="WeaponMuzzleFlash" type="BoneAttachPoint" minOccurs="0" maxOccurs="unbounded" />
  139. <xs:element name="WeaponLaunchBone" type="BoneAttachPoint" minOccurs="0" maxOccurs="unbounded" />
  140. <xs:element name="ParticleSysBone" type="ParticleSysBone" minOccurs="0" maxOccurs="unbounded" />
  141. <xs:element name="FXEvent" type="FXEvent" minOccurs="0" maxOccurs="unbounded" />
  142. <xs:element name="ShadowInfo" type="ShadowInfo" minOccurs="0" maxOccurs="1" XmlEdit:Category="Engineering" />
  143. <xs:element name="Turret" type="ModelConditionStateTurret" minOccurs="0" maxOccurs="unbounded" />
  144. <xs:element name="SubObject" type="Poid" xas:refType="SubObject" minOccurs="0" maxOccurs="unbounded" />
  145. </xs:sequence>
  146. <xs:attribute name="ParseCondStateType" type="ParseCondStateType" use="required" />
  147. <xs:attribute name="Name" type="xs:string" />
  148. <xs:attribute name="ConditionsYes" type="ModelConditionBitFlags" />
  149. <xs:attribute name="Skeleton" type="AssetId" />
  150. <xs:attribute name="PortraitImage" type="ImageRef" />
  151. <xs:attribute name="ButtonImage" type="ImageRef" />
  152. <xs:attribute name="OverrideTooltip" type="xs:string" />
  153. <xs:attribute name="RetainSubObjects" type="SageBool" default="false" />
  154. <xs:attribute name="id" type="AssetId" />
  155. </xs:complexType>
  156. <xs:complexType name="AttachModelStruct">
  157. <xs:sequence></xs:sequence>
  158. <xs:attribute name="Object" type="AssetId" />
  159. <xs:attribute name="Probability" type="SageInt" default="-1" />
  160. </xs:complexType>
  161. <xs:complexType name="ScriptedModelDrawAttachModel">
  162. <xs:sequence>
  163. <xs:element name="Model" type="AttachModelStruct" minOccurs="1" maxOccurs="1" />
  164. </xs:sequence>
  165. <xs:attribute name="FlagMask" type="ModelConditionBitFlags" />
  166. <xs:attribute name="Bone" type="xs:string" />
  167. </xs:complexType>
  168. <xs:complexType name="ScriptedModelDrawEmbedPortal">
  169. <xs:sequence></xs:sequence>
  170. <xs:attribute name="PortalType" type="WaypointPortalType" />
  171. <xs:attribute name="BonePrefix" type="xs:string" />
  172. </xs:complexType>
  173. <xs:simpleType name="BodyDamageType">
  174. <xs:restriction base="xs:string">
  175. <xs:enumeration value="PRISTINE" />
  176. <xs:enumeration value="DAMAGED" />
  177. <xs:enumeration value="REALLY_DAMAGED" />
  178. <xs:enumeration value="RUBBLE" />
  179. </xs:restriction>
  180. </xs:simpleType>
  181. <xs:simpleType name="MaxHealthChangeType">
  182. <xs:restriction base="xs:string">
  183. <xs:enumeration value="SAME_CURRENTHEALTH" />
  184. <xs:enumeration value="PRESERVE_RATIO" />
  185. <xs:enumeration value="ADD_CURRENT_HEALTH_TOO" />
  186. </xs:restriction>
  187. </xs:simpleType>
  188. <xs:complexType name="WeatherTexture">
  189. <xs:sequence></xs:sequence>
  190. <xs:attribute name="Weather" type="WeatherType" default="NORMAL" />
  191. <xs:attribute name="Texture" type="TextureRef" default="" />
  192. </xs:complexType>
  193. <xs:complexType name="InvisibilityNuggetType">
  194. <xs:sequence>
  195. <xs:element name="IgnoreTreeCheckUpgrade" type="UpgradeTemplateWeakRef" minOccurs="0" maxOccurs="unbounded" />
  196. </xs:sequence>
  197. <xs:attribute name="ForbiddenConditions" type="ModelConditionBitFlags" default="PREATTACK_A FIRING_A FIRING_OR_PREATTACK_A RELOADING_A USING_WEAPON_A PREATTACK_B FIRING_B FIRING_OR_PREATTACK_B RELOADING_B USING_WEAPON_B PREATTACK_C FIRING_C FIRING_OR_PREATTACK_C RELOADING_C USING_WEAPON_C"/>
  198. <xs:attribute name="ForbiddenConditionExceptions" type="ModelConditionBitFlags" default=""/>
  199. <xs:attribute name="ForbiddenStatus" type="ObjectStatusBitFlags" default="IS_FIRING_WEAPON IS_AIMING_WEAPON SPECIAL_ABILITY_PACKING_UNPACKING_OR_USING USING_ABILITY"/>
  200. <xs:attribute name="CamouflageLevel" type="SageUnsignedInt" />
  201. <xs:attribute name="InvisibilityType" type="InvisibilityType" default="STEALTH"/>
  202. <xs:attribute name="Options" type="InvisibilityNuggetOptionsBitFlags" />
  203. <xs:attribute name="EnteringStealthFX" type="FXListRef" />
  204. <xs:attribute name="LeavingStealthFX" type="FXListRef" />
  205. <xs:attribute name="HintDetectableStates" type="ObjectStatusBitFlags" default="IS_ATTACKING" />
  206. <xs:attribute name="NoStealthForAttackWindow" type="Time" default="0s" />
  207. </xs:complexType>
  208. <xs:complexType name="ObjectStatusValidationDataType">
  209. <xs:sequence></xs:sequence>
  210. <xs:attribute name="ForbiddenStatus" type="ObjectStatusBitFlags" />
  211. <xs:attribute name="RequiredStatus" type="ObjectStatusBitFlags" />
  212. </xs:complexType>
  213. </xs:schema>