AssetTypePlayerTemplate.xsd 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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. <!-- During the conversion from INI to XML, there were a lot of parameters discovered
  4. which are no longer in use, but which are not slated for removal from the code base.
  5. To make sure that these parameters are not misused or used by accident without anybody
  6. knowing what's going on, these are not available in XSD.
  7. Contact an engineer for investigation, I would say that some of these items probably do
  8. not belong directly on the Player anymore. - asc 4/19/07
  9. List pruned - 5/24/07
  10. Items:
  11. SpecialPowerShortcutCommandSet
  12. SpecialPowerShortcutWinName
  13. SpecialPowerShortcutButtonCount
  14. InitialUpgrades
  15. Now, there were items removed completely, because they were implemented in
  16. an unnecessarily complex way, imho:
  17. ProductionModifiers: That functionality would fit nicely as an attribute modifier
  18. that is hooked to the faction upgrade. Its own system directly
  19. on the Player is a bit overkill.
  20. Evil: This should be driven by faction type, NOT its own boolean
  21. -->
  22. <xs:include schemaLocation="Includes/AIBeaconType.xsd"/>
  23. <xs:simpleType name="PlayerTemplateType">
  24. <xs:restriction base="xs:string">
  25. <xs:enumeration value="NONPLAYABLE"/>
  26. <xs:enumeration value="PLAYABLE"/>
  27. <xs:enumeration value="OBSERVER"/>
  28. <xs:enumeration value="RANDOM"/>
  29. <xs:enumeration value="COMMENTATOR"/>
  30. <xs:enumeration value="PLAYABLE_SP_ONLY"/> <!-- single player only; not available in skirmish -->
  31. <xs:enumeration value="NULL"/> <!-- Glue for UI, do NOT use with other options, and ONLY use for ONE template -->
  32. </xs:restriction>
  33. </xs:simpleType>
  34. <xs:complexType name="StartingUnitInfoType">
  35. <xs:sequence>
  36. <xs:element name="Object" type="GameObjectRef" minOccurs="1" maxOccurs="1"/>
  37. <xs:element name="Position" type="Vector3" minOccurs="1" maxOccurs="1"/>
  38. </xs:sequence>
  39. </xs:complexType>
  40. <xs:complexType name="PlayerTemplateAIBeaconSettings">
  41. <xs:attribute name="BeaconType" type="AIBeaconType" use="required"/>
  42. <xs:attribute name="UnattachedTemplate" type="GameObjectWeakRef"/>
  43. <xs:attribute name="AttachedTemplate" type="GameObjectWeakRef"/>
  44. </xs:complexType>
  45. <xs:complexType name="TechProductionBonusInfo">
  46. <xs:attribute name="RequiredTech" type="PlayerTechRef" use="required"/>
  47. <xs:attribute name="BuildCostBonus" type="Percentage" default="0"/>
  48. <xs:attribute name="BuildCostBonusAllies" type="Percentage" default="0"/>
  49. <xs:attribute name="BuildTimeBonus" type="Percentage" default="0"/>
  50. <xs:attribute name="BuildTimeBonusAllies" type="Percentage" default="0"/>
  51. <xs:attribute name="HarvesterBonus" type="Percentage" default="0"/>
  52. <xs:attribute name="HarvesterBonusAllies" type="Percentage" default="0"/>
  53. </xs:complexType>
  54. <xs:complexType name="PlayerTemplate" xas:runtimeWrapper="::PlayerTemplate" xas:typeGroup="Xml">
  55. <xs:complexContent>
  56. <xs:extension base="BaseInheritableAsset">
  57. <xs:sequence>
  58. <xs:element name="RedAlertTemplate" type="RedAlertTemplateWeakRef" minOccurs="0" maxOccurs="1"/>
  59. <xs:element name="PreferredColor" type="Color3" minOccurs="1" maxOccurs="1" />
  60. <xs:element name="PreferredCampaignRadarColor" type="Color3" minOccurs="1" maxOccurs="1" />
  61. <xs:element name="InitialUpgrade" type="UpgradeTemplateRef" minOccurs="0" maxOccurs="unbounded"/>
  62. <xs:element name="StartingUnitInfo" type="StartingUnitInfoType" minOccurs="0" maxOccurs="unbounded"/>
  63. <xs:element name="ResourceModifierObjectFilter" type="ObjectFilter" minOccurs="0" maxOccurs="1"/>
  64. <xs:element name="StartingMoney" type="MoneyTransaction" minOccurs="0" maxOccurs="unbounded" />
  65. <xs:element name="MoneyCap" type="MoneyTransaction" minOccurs="0" maxOccurs="unbounded" />
  66. <xs:element name="AIBeaconSettings" type="PlayerTemplateAIBeaconSettings" minOccurs="0" maxOccurs="unbounded"/>
  67. <xs:element name="TechRank" type="PlayerTechRankRef" minOccurs="0" maxOccurs="unbounded"/>
  68. <xs:element name="TechProductionBonuses" type="TechProductionBonusInfo" minOccurs="0" maxOccurs="unbounded"/>
  69. </xs:sequence>
  70. <xs:attribute name="Type" type="PlayerTemplateType" default="NONPLAYABLE"/>
  71. <!-- UI Options -->
  72. <xs:attribute name="DisplayNameToken" type="xs:string" />
  73. <xs:attribute name="FactionIconImageName" type="xs:string" />
  74. <!-- Audio Options -->
  75. <xs:attribute name="LoadScreenMusic" type="AudioEventInfoRef"/>
  76. <xs:attribute name="SkirmishMPVictoryMusic" type="AudioEventInfoRef"/>
  77. <xs:attribute name="SkirmishMPDefeatMusic" type="AudioEventInfoRef"/>
  78. <xs:attribute name="FactionDataPathMusicEvent" type="PathMusicEventRef"/>
  79. <xs:attribute name="MatchVictoryPathMusicEvent" type="PathMusicEventRef"/>
  80. <xs:attribute name="MatchDefeatPathMusicEvent" type="PathMusicEventRef"/>
  81. <!-- Logic Options -->
  82. <xs:attribute name="Side" type="FactionType" default="Neutral" />
  83. <xs:attribute name="StartingBuilding" type="GameObjectWeakRef"/>
  84. <xs:attribute name="SpellBookSP" type="GameObjectWeakRef"/>
  85. <xs:attribute name="SpellBookMP" type="GameObjectWeakRef"/>
  86. <xs:attribute name="UnattachedMpBeaconTemplate" type="GameObjectWeakRef"/>
  87. <xs:attribute name="AttachedMpBeaconTemplate" type="GameObjectWeakRef"/>
  88. <xs:attribute name="MaxMpBeacons" type="SageUnsignedInt" default="0"/>
  89. <xs:attribute name="ResourceModifierValueList" type="SageUnsignedIntList" />
  90. <xs:attribute name="NumberOfResourceAccounts" type="SageUnsignedInt" default="1"/>
  91. <xs:attribute name="ScriptedHuntTactic" type="AssetReference" xas:refType="AIStrategicStateDefinition" default="" />
  92. <xs:attribute name="ParachuteOCL" type="ObjectCreationListRef"/>
  93. <xs:attribute name="DefaultTech" type="PlayerTechRef"/>
  94. <xs:attribute name="PlayerTechUpgradeBinding" type="PlayerTechUpgradeBindingRef"/>
  95. <xs:attribute name="TechRankPointsPerSecond" type="SageUnsignedInt" default="0"/>
  96. <xs:attribute name="InitialTechPoints" type="SageUnsignedInt" default="0"/>
  97. <xs:attribute name="PowerOutageTurnsOffRadar" type="SageBool" default="true"/>
  98. </xs:extension>
  99. </xs:complexContent>
  100. </xs:complexType>
  101. </xs:schema>