| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735 |
- <?xml version="1.0" encoding="utf-8"?>
- <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" xmlns:balance="uri:ea.com:eala:balance" targetNamespace="uri:ea.com:eala:asset" elementFormDefault="qualified" xmlns:XmlEdit="http://tempuri.org/XmlEdit.xsd">
- <xs:include schemaLocation="GameObject/ThingSort.xsd" />
- <xs:include schemaLocation="GameObject/RadarPriority.xsd" />
- <xs:include schemaLocation="SkirmishAI/AssetTypeArmyDefinition.xsd" />
- <xs:include schemaLocation="SkirmishAI/AIBaseSelectionCriteria.xsd" />
- <xs:complexType name="BehaviorModules">
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <!-- BEGIN: Absolutely required modules (otherwise bad things will probably happen) -->
- <xs:element name="ObjectSMCHelper" type="ObjectSMCHelperModuleData" minOccurs="1" maxOccurs="1" />
- <xs:element name="ObjectDefectionHelper" type="ObjectDefectionHelperModuleData" minOccurs="1" maxOccurs="1" />
- <!-- END: Absolutely required modules -->
- <xs:element name="AttributeModifierUpgrade" type="AttributeModifierUpgradeModuleData" />
- <xs:element name="AttackTargetSpecialPower" type="AttackTargetSpecialPowerModuleData" />
- <xs:element name="ArmorUpgrade" type="ArmorUpgradeModuleData" />
- <xs:element name="BeamTargetBehavior" type="BeamTargetModuleData" />
- <xs:element name="SlavedUpdate" type="SlavedUpdateModuleData" />
- <xs:element name="SpawnedSlaveUpdate" type="SpawnedSlaveUpdateModuleData" />
- <xs:element name="SecondaryDamageTracker" type="SecondaryDamageTrackerModuleData" />
- <xs:element name="BezierProjectile" type="BezierProjectileBehaviorModuleData" />
- <xs:element name="BuildingBehavior" type="BuildingBehaviorModuleData" />
- <xs:element name="ClusterBombUpdate" type="ClusterBombUpdateModuleData" />
- <xs:element name="Collide" type="CollideModuleData" />
- <xs:element name="CommandSetUpgrade" type="CommandSetUpgradeModuleData" />
- <xs:element name="CreateObjectDie" type="CreateObjectDieModuleData" />
- <xs:element name="CrushDie" type="CrushDieModuleData" />
- <xs:element name="DefaultProductionExit" type="DefaultProductionExitUpdateModuleData" />
- <xs:element name="DestroyDie" type="DestroyDieModuleData" />
- <xs:element name="EmotionTrackerUpdate" type="EmotionTrackerUpdateModuleData" />
- <xs:element name="DominateEnemySpecialPower" type="DominateEnemySpecialPowerModuleData" />
- <xs:element name="ReconstituteStateSpecialAbility" type="ReconstituteStateSpecialAbilityModuleData" />
- <xs:element name="EngineerContain" type="EngineerContainModuleData" />
- <xs:element name="InfiltratorContain" type="InfiltratorContainModuleData" />
- <xs:element name="InvalidTargetsDeathUpdate" type="InvalidTargetsDeathUpdateModuleData" />
- <xs:element name="FireWeaponCollide" type="FireWeaponCollideModuleData" />
- <xs:element name="DamageDynamicsCollide" type="DamageDynamicsCollideModuleData" />
- <xs:element name="EnableDynamicsCollide" type="EnableDynamicsCollideModuleData" />
- <xs:element name="AudioDynamicsCollide" type="AudioDynamicsCollideModuleData" />
- <xs:element name="FireWeaponUpdate" type="FireWeaponUpdateModuleData" />
- <xs:element name="BombardAreaUpdate" type="BombardAreaUpdateModuleData" />
- <xs:element name="LiftObjectUpdate" type="LiftObjectUpdateModuleData" />
- <xs:element name="SpecialDisguiseUpdate" type="SpecialDisguiseUpdateModuleData" />
- <xs:element name="ToppleUpdate" type="ToppleUpdateModuleData" />
- <xs:element name="DamageFieldUpdate" type="DamageFieldUpdateModuleData" />
- <!-- <xs:element name="FlammableUpdate" type="FlammableUpdateModuleData" /> -->
- <xs:element name="AutoDepositUpdate" type="AutoDepositUpdateModuleData" />
- <xs:element name="FXListBehavior" type="FXListBehaviorModuleData" />
- <xs:element name="GeometryUpgrade" type="GeometryUpgradeModuleData" />
- <xs:element name="GiveUpgradeUpdate" type="GiveUpgradeUpdateModuleData" />
- <xs:element name="GrantUpgradeCreate" type="GrantUpgradeCreateModuleData" />
- <xs:element name="HeightDieUpdate" type="HeightDieUpdateModuleData" />
- <xs:element name="MissileUpdate" type="MissileUpdateModuleData" />
- <xs:element name="SpecialPowerAssistResponseBehavior" type="SpecialPowerAssistResponseBehaviorModuleData" />
- <xs:element name="AttackAssistResponseBehavior" type="AttackAssistResponseBehaviorModuleData" />
- <xs:element name="LevelUpUpgrade" type="LevelUpUpgradeModuleData" />
- <xs:element name="LifetimeUpdate" type="LifetimeUpdateModuleData" />
- <xs:element name="GatherEjectUpdate" type="GatherEjectUpdateModuleData" />
- <xs:element name="SqueezeFlingUpdate" type="SqueezeFlingUpdateModuleData" />
- <xs:element name="LocomotorSetUpgrade" type="LocomotorSetModuleData" />
- <xs:element name="SwitchLocomotorsSpecialAbilityUpdate" type="SwitchLocomotorsSpecialAbilityUpdateModuleData" />
- <xs:element name="MaxHealthUpgrade" type="MaxHealthUpgradeModuleData" />
- <xs:element name="MinefieldBehavior" type="MinefieldBehaviorModuleData" />
- <xs:element name="ModelConditionUpgrade" type="ModelConditionUpgradeModuleData" />
- <xs:element name="RandomModelCondition" type="RandomModelConditionBehaviorModuleData" />
- <xs:element name="StrafeAreaUpdate" type="StrafeAreaUpdateModuleData" />
- <xs:element name="OCLMonitorUpdate" type="OCLMonitorUpdateModuleData" />
- <xs:element name="TeleportSpecialAbilityUpdate" type="TeleportSpecialAbilityUpdateModuleData" />
- <xs:element name="TeleportToCasterSpecialPower" type="TeleportToCasterSpecialPowerModuleData" />
- <xs:element name="ToggleStatusSpecialAbilityUpdate" type="ToggleStatusSpecialAbilityUpdateModuleData" />
- <xs:element name="ObjectCreationUpgrade" type="ObjectCreationUpgradeModuleData" />
- <xs:element name="SlaveWatcherBehavior" type="SlaveWatcherBehaviorModuleData" />
- <xs:element name="TimedOpacityUpdate" type="TimedOpacityUpdateModuleData" />
- <xs:element name="OCLSpecialPower" type="OCLSpecialPowerModuleData" />
- <xs:element name="TemporaryOwnerSpecialPower" type="TemporaryOwnerSpecialPowerModuleData" />
- <xs:element name="OCLUpdate" type="OCLUpdateModuleData" />
- <xs:element name="OpenContain" type="OpenContainModuleData" />
- <xs:element name="FreefallUpdate" type="FreefallUpdateModuleData"/>
- <xs:element name="HealContain" type="HealContainModuleData" />
- <xs:element name="Physics" type="PhysicsBehaviorModuleData" />
- <xs:element name="CombinedInfoModule" type="CombinedInfoModuleData" />
- <xs:element name="CompositeStructureInfoModule" type="CompositeStructureInfoModuleData" />
- <xs:element name="PlayerUpgradeSpecialPower" type="PlayerUpgradeSpecialPowerModuleData" />
- <xs:element name="ProductionUpdate" type="ProductionUpdateModuleData" />
- <xs:element name="ProductionUpdateInfo" type="ProductionUpdateInfoModuleData" />
- <xs:element name="QueueProductionExitUpdate" type="QueueProductionExitUpdateModuleData" />
- <xs:element name="CombineSpecialPower" type="CombineSpecialPowerModuleData" />
- <xs:element name="UncombineSpecialPower" type="UncombineSpecialPowerModuleData" />
- <xs:element name="RadarHackSpecialPower" type="RadarHackSpecialPowerModuleData" />
- <xs:element name="RadarJamSpecialPower" type="RadarJamSpecialPowerModuleData" />
- <xs:element name="RadarSpySpecialPower" type="RadarSpySpecialPowerModuleData" />
- <xs:element name="RadarFreezeSpecialPower" type="RadarFreezeSpecialPowerModuleData" />
- <xs:element name="CaptureAndGiveCommandSetSpecialPower" type="CaptureAndGiveCommandSetSpecialPowerModuleData" />
- <xs:element name="GiveOrRestoreUpgradeSpecialPower" type="GiveOrRestoreUpgradeSpecialPowerModuleData" />
- <xs:element name="RefundDie" type="RefundDieModuleData" />
- <xs:element name="RemoveUpgradeUpgrade" type="RemoveUpgradeUpgradeModuleData" />
- <xs:element name="ReplaceSelfUpgrade" type="ReplaceSelfUpgradeModuleData" />
- <xs:element name="CrateCollide" type="CrateCollideModuleData" />
- <xs:element name="SalvageCrateCollide" type="SalvageCrateCollideModuleData" />
- <xs:element name="HealCrateCollide" type="HealCrateCollideModuleData" />
- <xs:element name="MoneyCrateCollide" type="MoneyCrateCollideModuleData" />
- <xs:element name="UnitCrateCollide" type="UnitCrateCollideModuleData" />
- <xs:element name="VeterancyCrateCollide" type="VeterancyCrateCollideModuleData" />
- <xs:element name="AttributeCrateCollide" type="AttributeCrateCollideModuleData" />
- <xs:element name="RandomCrateCollide" type="RandomCrateCollideModuleData" />
- <xs:element name="SlowDeath" type="SlowDeathBehaviorModuleData" />
- <xs:element name="ShipSlowDeath" type="ShipSlowDeathBehaviorModuleData" />
- <xs:element name="SpawnBehavior" type="SpawnBehaviorModuleData" />
- <xs:element name="SpecialAbilityUpdate" type="SpecialAbilityUpdateModuleData" />
- <xs:element name="OCLMonitorSpecialAbilityUpdate" type="OCLMonitorSpecialAbilityUpdateModuleData" />
- <xs:element name="EjectPassengersSpecialAbilityUpdate" type="EjectPassengersSpecialAbilityUpdateModuleData" />
- <xs:element name="SpecialPower" type="SpecialPowerModuleData" />
- <xs:element name="AssignSlavesTargetObjectSpecialPower" type="AssignSlavesTargetObjectSpecialPowerModuleData" />
- <xs:element name="HordeDispatchSpecialPower" type="HordeDispatchSpecialPowerModuleData" />
- <xs:element name="SpecialPowerDispatchSpecialPower" type="SpecialPowerDispatchSpecialPowerModuleData" />
- <xs:element name="SpecialPowerUpdate" type="SpecialPowerUpdateModuleData" />
- <xs:element name="StealthDetectorUpdate" type="StealthDetectorUpdateModuleData" />
- <xs:element name="InitiateRepairDie" type="InitiateRepairDieModuleData" />
- <xs:element name="AttributeModifierAuraUpdate" type="AttributeModifierAuraUpdateModuleData" />
- <xs:element name="ShieldBodyUpdate" type="ShieldBodyUpdateModuleData" />
- <xs:element name="SphereModuleUpdate" type="SphereModuleUpdateModuleData" />
- <xs:element name="ShieldSphereUpdate" type="ShieldSphereUpdateModuleData" />
- <xs:element name="YurikoShieldSphereUpdate" type="YurikoShieldSphereUpdateModuleData" />
- <xs:element name="DamageSphereUpdate" type="DamageSphereUpdateModuleData" />
- <xs:element name="LureObjectsUpdate" type="LureObjectsUpdateModuleData" />
- <xs:element name="SpiderHoleUpdate" type="SpiderHoleUpdateModuleData" />
- <xs:element name="ActivateSpecialPowerOnCreate" type="ActivateSpecialPowerOnCreate" />
- <xs:element name="SubObjectsUpgrade" type="SubObjectsUpgradeModuleData" />
- <xs:element name="TerrainResource" type="TerrainResourceBehaviorModuleData" />
- <xs:element name="TransportContain" type="TransportContainModuleData" />
- <xs:element name="HordeTransportContain" type="HordeTransportContainModuleData" />
- <xs:element name="HordeContain" balance:category="HordeContain" type="HordeContainModuleData" />
- <xs:element name="UnpauseSpecialPowerUpgrade" type="UnpauseSpecialPowerUpgradeModuleData" />
- <xs:element name="Upgrade" balance:category="Upgrade" type="UpgradeModuleData" />
- <xs:element name="AudioLoopUpgrade" type="AudioLoopUpgradeModuleData" />
- <xs:element name="WeaponSetUpdate" balance:category="WeaponSetUpdate" type="WeaponSetUpdateModuleData" />
- <xs:element name="BeamSpecialAbilityUpdate" type="BeamSpecialAbilityUpdateModuleData" />
- <xs:element name="CaptureSpecialAbilityUpdate" type="CaptureSpecialAbilityUpdateModuleData" />
- <xs:element name="DieOnProducerDeathUpdate" type="DieOnProducerDeathUpdateModuleData" />
- <xs:element name="ReplaceSelfSpecialAbility" type="ReplaceSelfSpecialAbilityModuleData" />
- <xs:element name="ProjectileReplaceSelfSpecialAbility" type="ProjectileReplaceSelfSpecialAbilityModuleData" />
- <xs:element name="WeaponFireSpecialAbilityUpdate" type="WeaponFireSpecialAbilityUpdateModuleData" />
- <xs:element name="DelayedWeaponFireSpecialAbilityUpdate" type="DelayedWeaponFireSpecialAbilityUpdateModuleData" />
- <xs:element name="TiberiumThiefSpecialAbilityUpdate" type="TiberiumThiefSpecialAbilityUpdateModuleData" />
- <xs:element name="TiberiumField" type="TiberiumFieldBehaviorModuleData" />
- <xs:element name="TiberiumCrystal" type="TiberiumCrystalBehaviorModuleData" />
- <xs:element name="TiberiumGrowthModBehavior" type="TiberiumGrowthModBehaviorModuleData" />
- <xs:element name="RadarBehavior" type="RadarBehaviorModuleData" />
- <xs:element name="DockUpdate" type="DockUpdateModuleData" />
- <xs:element name="RepairUpdate" type="RepairUpdateModuleData" />
- <xs:element name="SupplyCenterDockUpdate" type="SupplyCenterDockUpdateModuleData" />
- <xs:element name="SupplyWarehouseDockUpdate" type="SupplyWarehouseDockUpdateModuleData" />
- <xs:element name="AimWeapon" type="AimWeaponBehaviorModuleData" />
- <xs:element name="DistributedMoney" type="DistributedMoneyBehaviorModuleData" />
- <xs:element name="AutoAbility" type="AutoAbilityBehaviorModuleData" />
- <xs:element name="FireWeaponWhenDamaged" type="FireWeaponWhenDamagedBehaviorModuleData" />
- <xs:element name="FireWeaponWhenDead" type="FireWeaponWhenDeadBehaviorModuleData" />
- <xs:element name="GarrisonContain" type="GarrisonContainModuleData" />
- <xs:element name="ContestableGarrisonContain" type="ContestableGarrisonContainModuleData" />
- <xs:element name="ExperienceLevelCreate" type="ExperienceLevelCreateModuleData" />
- <xs:element name="InheritUpgradeCreate" type="InheritUpgradeCreateModuleData" />
- <xs:element name="DeletionUpdate" type="DeletionUpdateModuleData" />
- <xs:element name="EMPUpdate" type="EMPUpdateModuleData" />
- <xs:element name="DelayedUpgrade" type="DelayedUpgradeModuleData" />
- <xs:element name="StatusBitsUpgrade" type="StatusBitsUpgradeModuleData" />
- <xs:element name="RadarUpdate" type="RadarUpdateModuleData" />
- <xs:element name="UpgradeDie" type="UpgradeDieModuleData" />
- <xs:element name="KeepObjectDie" type="KeepObjectDieModuleData" />
- <xs:element name="AutoHealBehavior" type="AutoHealBehaviorModuleData" />
- <xs:element name="EnergyDisablingBehavior" type="EnergyDisablingBehaviorModuleData" />
- <xs:element name="UnitVisionBehavior" type="UnitVisionBehaviorModuleData" />
- <xs:element name="ParkingPlaceBehavior" type="ParkingPlaceBehaviorModuleData" />
- <xs:element name="ExperienceScalarUpgrade" type="ExperienceScalarUpgradeModuleData" />
- <xs:element name="LevelGrantSpecialPower" type="LevelGrantSpecialPowerModuleData" />
- <xs:element name="CostModifierUpgrade" type="CostModifierUpgradeModuleData" />
- <xs:element name="SquishCollide" type="SquishCollideModuleData" />
- <xs:element name="Damage" type="DamageModuleData" />
- <xs:element name="TrackDamage" type="TrackDamageModuleData" />
- <xs:element name="ReactionFXOnDamage" type="ReactionFXOnDamageModuleData" />
- <xs:element name="Damager" type="DamagerModuleData" />
- <xs:element name="Destroy" type="DestroyModuleData" />
- <xs:element name="DamageStateList" type="DamageStateListModuleData" />
- <xs:element name="LaserUpdate" type="LaserUpdateModuleData" />
- <xs:element name="LaserState" type="LaserStateModuleData" />
- <xs:element name="SweepingLaserState" type="SweepingLaserStateModuleData" />
- <xs:element name="ConvergingLaserState" type="ConvergingLaserStateModuleData" />
- <xs:element name="StreamState" type="StreamStateModuleData" />
- <xs:element name="ActivateModuleSpecialAbilityUpdate" type="ActivateModuleSpecialAbilityUpdateModuleData" />
- <xs:element name="CaptureBehavior" type="CaptureBehaviorModuleData" />
- <xs:element name="StoreCurrentStateUpdate" type="StoreCurrentStateUpdateModuleData" />
- <xs:element name="StorePurchasedUpgradeBehavior" type="StorePurchasedUpgradeBehaviorModuleData" />
- <xs:element name="StoreObjectsSpecialPower" type="StoreObjectsSpecialPowerModuleData" />
- <xs:element name="AddObjectsToLiftUpdateSpecialPower" type="AddObjectsToLiftUpdateSpecialPowerModuleData" />
- <xs:element name="AddObjectsToLureUpdateSpecialPower" type="AddObjectsToLureUpdateSpecialPowerModuleData" />
- <xs:element name="CloneStoredObjectsSpecialPowerUpdate" type="CloneStoredObjectsSpecialPowerUpdateModuleData" />
- <xs:element name="TeleportStoredObjectsUpdate" type="TeleportStoredObjectsUpdateModuleData" />
- <xs:element name="TeleportStoredObjectsSpecialPower" type="TeleportStoredObjectsSpecialPowerModuleData" />
- <xs:element name="FlingStoredObjectsSpecialPower" type="FlingStoredObjectsSpecialPowerModuleData" />
- <xs:element name="RecallUnitsSpecialPower" type="RecallUnitsSpecialPowerModuleData" />
- <xs:element name="ReturnToProducerSpecialPower" type="ReturnToProducerSpecialPowerModuleData" />
- <xs:element name="ReturnToDockSpecialPower" type="ReturnToDockSpecialPowerModuleData" />
- <xs:element name="HordeGarrisonContain" type="HordeGarrisonContainModuleData" />
- <xs:element name="TunnelContain" type="TunnelContainModuleData" />
- <xs:element name="TunnelTeleportContain" type="TunnelTeleportContainModuleData" />
- <xs:element name="SlaughterHordeContain" type="SlaughterHordeContainModuleData" />
- <xs:element name="InvisibilityUpdate" type="InvisibilityUpdateModuleData" />
- <xs:element name="InvisibilityBroadcastUpdate" type="InvisibilityBroadcastUpdateModuleData" />
- <xs:element name="InvisibilitySpecialPower" type="InvisibilitySpecialPowerModuleData" />
- <xs:element name="InvisibilityBehavior" type="InvisibilityBehaviorModuleData" />
- <xs:element name="InvisibilityUpgrade" type="InvisibilityUpgradeModuleData" />
- <xs:element name="PowerUpdate" type="PowerUpdateModuleData" />
- <xs:element name="SupplyCenterCreate" type="SupplyCenterCreateModuleData" />
- <xs:element name="GatherSlavesUpdate" type="GatherSlavesUpdateModuleData" />
- <xs:element name="StancesBehavior" type="StancesBehaviorModuleData" />
- <xs:element name="FiringTracker" type="FiringTrackerModuleData" />
- <xs:element name="SpecialPowerTimerRefreshSpecialPower" type="SpecialPowerTimerRefreshSpecialPowerModuleData" />
- <xs:element name="BuildingDestructionBehavior" type="BuildingDestructionModuleData" />
- <xs:element name="OreNodeBehavior" type="OreNodeModuleData" />
- <xs:element name="OreMinerBehavior" type="OreMinerModuleData" />
- <xs:element name="QueueDockBehavior" type="QueueDockModuleData" />
- <xs:element name="SecondaryObjectListenerModule" type="SecondaryObjectListenerModule" />
- <xs:element name="HitReactionBehavior" type="HitReactionBehaviorModuleData" />
- <xs:element name="ReplaceObjectUpdate" type="ReplaceObjectUpdateModuleData" />
- <xs:element name="HelicopterSlowDeath" type="HelicopterSlowDeathBehaviorModuleData" />
- <xs:element name="ClearanceTestingSlowDeathBehavior" type="ClearanceTestingSlowDeathBehaviorModuleData" />
- <xs:element name="LeechTargetingAttachUpdate" type="LeechTargetingAttachUpdateModuleData" />
- <xs:element name="MoneyGainAttachUpdate" type="MoneyGainAttachUpdateModuleData" />
- <xs:element name="AttachUpdate" type="AttachUpdateModuleData" />
- <xs:element name="ParabolicCurveUpdate" type="ParabolicCurveUpdateModuleData" />
- <xs:element name="LineSegmentDamageUpdate" type="LineSegmentDamageUpdateModuleData" />
- <xs:element name="BoobyTrapUpdate" type="BoobyTrapUpdateModuleData" />
- <xs:element name="StealUnitUpdate" type="StealUnitUpdateModuleData" />
- <xs:element name="SpawnCrateUpdate" type="SpawnCrateUpdateModuleData" />
- <xs:element name="BridgeBuilder" type="BridgeBuilderModuleData" />
- <xs:element name="PassiveAreaEffectBehavior" type="PassiveAreaEffectBehaviorModuleData" />
- <xs:element name="PowerUpgrade" type="PowerUpgradeModuleData" />
- <xs:element name="CreateAndEnterObjectSpecialPower" type="CreateAndEnterObjectSpecialPowerModuleData" />
- <xs:element name="MoveToPositionAndEvacuateSpecialPower" type="MoveToPositionAndEvacuateSpecialPowerModuleData" />
- <xs:element name="MoveToPositionAndReplaceSelfSpecialPower" type="MoveToPositionAndReplaceSelfSpecialPowerModuleData" />
- <xs:element name="TechUpgrade" type="TechUpgradeModuleData" />
- <xs:element name="TechUpgradeReceiver" type="TechUpgradeReceiverModuleData" />
- <xs:element name="SubStructureBuild" type="SubStructureBuildUpgradeModuleData" />
- <xs:element name="SubStructureBehavior" type="SubStructureBehaviorModuleData" />
- <xs:element name="SubStructureStorageBehavior" type="SubStructureStorageBehaviorModuleData" />
- <xs:element name="ActivateModuleSpecialPower" type="ActivateModuleSpecialPower" />
- <xs:element name="SwitchLocomotorUpdate" type="SwitchLocomotorUpdate" />
- <xs:element name="RunOffMapBehavior" type="RunOffMapBehaviorModuleData" />
- <xs:element name="SuppressionUpdate" balance:category="SuppressionUpdate" type="SuppressionUpdateModuleData" />
- <xs:element name="AttributeModifierPoolUpdate" type="AttributeModifierPoolUpdateModuleData" />
- <xs:element name="ProjectileUpdate" type="ProjectileUpdateModuleData"/>
- <xs:element name="WallHubBehavior" type="WallHubBehaviorModuleData" />
- <xs:element name="GenericUnpackUpdate" type="GenericUnpackUpdateModuleData" />
- <xs:element name="StructureUnpackUpdate" type="StructureUnpackUpdateModuleData" />
- <xs:element name="UnitUnpackUpdate" type="UnitUnpackUpdateModuleData" />
- <xs:element name="StructureSellUpdate" type="StructureSellUpdateModuleData" />
- <xs:element name="FindCoverBehavior" type="FindCoverBehaviorModuleData" />
- <xs:element name="RepairSpecialPower" type="RepairSpecialPowerModuleData" />
- <xs:element name="RadarScanMapSpecialAbilityUpdate" type="RadarScanMapSpecialAbilityUpdateModuleData" />
- <xs:element name="RestrictSpecialPowerBehavior" type="RestrictSpecialPowerBehaviorModuleData" />
- <xs:element name="AreaRestrictSpecialPowerBehavior" type="AreaRestrictSpecialPowerBehaviorModuleData" />
- <xs:element name="MonitorConditionUpdate" type="MonitorConditionUpdateModuleData" />
- <xs:element name="MonitorSpecialPowerTimerUpdate" type="MonitorSpecialPowerTimerUpdateModuleData" />
- <xs:element name="LinearDamageUpdate" type="LinearDamageUpdateModuleData" />
- <xs:element name="CircularDamageUpdate" type="CircularDamageUpdateModuleData" />
- <xs:element name="GrantUpgradeAreaOfEffectSpecialPower" type="GrantUpgradeAreaOfEffectSpecialPowerModuleData" />
- <xs:element name="SetLocomotorSpeedUpdate" type="SetLocomotorSpeedUpdateModuleData" />
- <xs:element name="DestroyObjectsUpdate" type="DestroyObjectsUpdateModuleData" />
- <xs:element name="PlayerPowerManager" type="PlayerPowerManagerBehaviorModuleData" />
- <xs:element name="LUAEventList" type="LUAEventListBehaviorModuleData" />
- <xs:element name="AttributeModifierNaval" type="AttributeModifierNavalModuleData" />
- <xs:element name="DynamicsUpdate" type="DynamicsUpdateModuleData" />
- <xs:element name="NotifyWhenAttackingBehavior" type="NotifyWhenAttackingBehaviorModuleData" />
- <xs:element name="EncloseBehavior" type="EncloseBehaviorModuleData" />
- <xs:element name="TrackIncomingWeaponFireBehavior" type="TrackIncomingWeaponFireBehaviorModuleData" />
- <xs:element name="DestructibleEnvironmentUpdate" type="DestructibleEnvironmentUpdateModuleData" />
- <xs:element name="MagneticEffectUpdate" type="MagneticEffectUpdateModuleData" />
- <xs:element name="LoseHealthUpdate" type="LoseHealthUpdateModuleData" />
- <xs:element name="WeaponScatterEffectUpdate" type="WeaponScatterEffectUpdateModuleData" />
- <xs:element name="LaserScatterUpdate" type="LaserScatterUpdateModuleData" />
- <xs:element name="ObjectStatusSpecialAbilityUpdate" type="ObjectStatusSpecialAbilityUpdateModuleData" />
- <xs:element name="MovementSpecialPower" type="MovementSpecialPowerModuleData" />
- <xs:element name="PrematureDischargeSpecialPower" type="PrematureDischargeSpecialPowerModuleData" />
- <xs:element name="GiveProductionBonusSpecialPower" type="GiveProductionBonusSpecialPowerModuleData" />
- <xs:element name="WallBuilderBehavior" type="WallBuilderBehaviorModuleData" />
- <xs:element name="GrapplingHookUpdate" type="GrapplingHookUpdateModuleData" />
- <xs:element name="ChargeWeaponUpdate" type="ChargeWeaponUpdateModuleData" />
- <xs:element name="StrafeAreaTargetChooser" type="StrafeAreaTargetChooserModuleData" />
- <xs:element name="SuckUpObjectsUpdate" type="SuckUpObjectsUpdateModuleData" />
- <xs:element name="StoreTemplateIDBehavior" type="StoreTemplateIDBehaviorModuleData" />
- <xs:element name="RenderStoredThingTemplate" type="ReplaceDrawModuleBehaviorModuleData" />
- <xs:element name="DistributeEnergyToAlliesBehavior" type="DistributeEnergyToAlliesBehaviorModuleData" />
- <xs:element name="UnifiedControlBehavior" type="UnifiedControlBehaviorModuleData" />
- <xs:element name="UnifiedShroudRevealBehavior" type="UnifiedShroudRevealBehaviorModuleData" />
- <xs:element name="CaptureAndGiveUpgradeBehavior" type="CaptureAndGiveUpgradeBehaviorModuleData" />
- <xs:element name="AssistedPlacementBehavior" type="AssistedPlacementBehaviorModuleData" />
- <xs:element name="AssistedPlacementInfoBehavior" type="AssistedPlacementInfoBehaviorModuleData" />
- <xs:element name="SelectiveVisibilityBehavior" type="SelectiveVisibilityBehaviorModuleData" />
- <xs:element name="AssembleStructureSpecialAbilityUpdate" type="AssembleStructureSpecialAbilityUpdateModuleData" />
- <xs:element name="StructurePlacementBehavior" type="StructurePlacementBehaviorModuleData" />
- <xs:element name="GateOpenAndCloseBehavior" type="GateOpenAndCloseBehaviorModuleData" />
- <xs:element name="GateProxyBehavior" type="GateProxyBehaviorModuleData" />
- </xs:choice>
- </xs:complexType>
- <xs:complexType name="AIModule">
- <xs:choice minOccurs="0" maxOccurs="2">
- <xs:element name="AIUpdate" type="AIUpdateModuleData" />
- <xs:element name="ConstructionYardAIUpdate" type="ConstructionYardAIUpdateModuleData" />
- <xs:element name="AIGateUpdate" type="AIGateUpdateModuleData" />
- <xs:element name="DeployStyleAIUpdate" type="DeployStyleAIUpdateModuleData" />
- <xs:element name="TransportAIUpdate" type="TransportAIUpdateModuleData" />
- <xs:element name="HordeAIUpdate" type="HordeAIUpdateModuleData" />
- <xs:element name="JetAIUpdate" type="JetAIUpdateModuleData" />
- <xs:element name="SupplyTruckAIUpdate" type="SupplyTruckAIUpdateModuleData" />
- <xs:element name="WanderAIUpdate" type="WanderAIUpdateModuleData" />
- <xs:element name="AnimalAIUpdate" type="AnimalAIUpdateModuleData" />
- </xs:choice>
- </xs:complexType>
- <xs:complexType name="BodyModule">
- <xs:choice minOccurs="1" maxOccurs="1">
- <xs:element name="ActiveBody" balance:category="ActiveBody" type="ActiveBodyModuleData" />
- <xs:element name="ShieldBody" balance:category="ActiveBody" type="ShieldBodyModuleData" />
- <xs:element name="ImmortalBody" type="ImmortalBodyModuleData" />
- <xs:element name="HighlanderBody" type="HighlanderBodyModuleData" />
- <xs:element name="InactiveBody" type="InactiveBodyModuleData" />
- <xs:element name="PropBody" type="PropBodyModuleData" />
- <xs:element name="ManagerBody" type="ManagerBodyModuleData" />
- <xs:element name="ManagedActiveBody" type="ManagedActiveBodyModuleData" />
- <xs:element name="ManagedImmortalBody" type="ManagedImmortalBodyModuleData" />
- </xs:choice>
- </xs:complexType>
- <xs:complexType name="ClientUpdateModules">
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="BeaconClientUpdate" type="BeaconClientUpdateModuleData" />
- <xs:element name="EvaAnnounceClientCreate" type="EvaAnnounceClientCreateModuleData" />
- <xs:element name="EvaAnnounceSpecialPowerReadyClientUpdate" type="EvaAnnounceSpecialPowerReadyClientUpdateModuleData" />
- <xs:element name="LaserUpdate" type="LaserUpdateModuleData" />
- <xs:element name="RadarMarkerClientUpdate" type="RadarMarkerClientUpdateModuleData" />
- <xs:element name="LargeGroupAudioClientUpdate" type="LargeGroupAudioClientUpdateModuleData" />
- </xs:choice>
- </xs:complexType>
- <xs:complexType name="ClientBehaviorModules">
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="AnimationSoundClientBehavior" type="AnimationSoundClientBehaviorModuleData" />
- <xs:element name="ModelConditionAudioLoopClientBehavior" type="ModelConditionAudioLoopClientBehaviorModuleData" />
- <xs:element name="ModelConditionSoundSelectorClientBehavior" type="ModelConditionSoundSelectorClientBehaviorModuleData" />
- <xs:element name="RandomSoundSelectorClientBehavior" type="RandomSoundSelectorClientBehaviorModuleData" />
- <xs:element name="UpgradeSoundSelectorClientBehavior" type="UpgradeSoundSelectorClientBehaviorModuleData" />
- <xs:element name="ModelConditionEvaEventSelectorClientBehavior" type="ModelConditionEvaEventSelectorClientBehaviorModuleData" />
- </xs:choice>
- </xs:complexType>
- <xs:complexType name="AutoResolveInfo">
- <xs:sequence>
- </xs:sequence>
- <xs:attribute name="AutoResolveUnitType" type="xs:string" />
- <xs:attribute name="AutoResolveBody" type="Poid" xas:refType="ModuleData" />
- <xs:attribute name="AutoResolveArmor" type="ArmorRef" />
- <xs:attribute name="AutoResolveWeapon" type="WeaponRef" />
- <xs:attribute name="AutoResolveLeadership" type="xs:string" />
- <xs:attribute name="AutoResolveCombatChain" type="xs:string" />
- </xs:complexType>
- <xs:simpleType name="BuildPlacementType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="INVALID" />
- <xs:enumeration value="MAIN_STRUCTURE" />
- <xs:enumeration value="OTHER_STRUCTURE" />
- <xs:enumeration value="TIBERIUM_FIELD" />
- <xs:enumeration value="BLOCKED" />
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="BuildableStatus" xas:useEnumPrefix="false" xas:enumItemPrefix="BSTATUS_" xas:targetNamespace="">
- <xs:restriction base="xs:string">
- <xs:enumeration value="YES" />
- <xs:enumeration value="IGNORE_PREREQUISITES" />
- <xs:enumeration value="NO" />
- <xs:enumeration value="ONLY_BY_AI" />
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="BuildPlacementTypeBitFlags">
- <xs:list itemType="BuildPlacementType">
- </xs:list>
- </xs:simpleType>
- <xs:complexType name="ProjectedBuildabilityInfo">
- <xs:sequence>
- <xs:element name="AllowedObjectFilter" type="ObjectFilter" minOccurs="0" maxOccurs="1" />
- </xs:sequence>
- <xs:attribute name="Radius" balance:field="Radius" type="SageReal" default="0" />
- <xs:attribute name="RadiusY" balance:field="RadiusY" type="SageReal" use="optional" /> <!-- This is used for to specify oblong buildability areas -->
- <xs:attribute name="BuildPlacementTypes" type="BuildPlacementTypeBitFlags" default="INVALID" />
- <xs:attribute name="StatusToReject" type="ObjectStatusBitFlags" />
- <xs:attribute name="ModelConditionsToReject" type="ModelConditionBitFlags" default="STRUCTURE_UNPACKING"/> <!-- In RA3 no structures provide buildability until fully unpacked -->
- <xs:attribute name="AllowedBuildabilityHeightVariation" type="SageReal" default="50.0"/>
- <xs:attribute name="PrimaryBuidability" type="SageBool" default="true"/> <!-- This is used to find the buildability that is representative of the area, and is used by the AI. The first one with this value is considered the primary info -->
- </xs:complexType>
- <xs:complexType name="ObjectResourceInfo">
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="BuildCost" type="MoneyTransaction" minOccurs="0" maxOccurs="unbounded" />
- </xs:choice>
- </xs:complexType>
- <xs:complexType name="GameObject" xas:runtimeWrapper="::ThingTemplate" xas:typeGroup="Tokenized">
- <xs:complexContent>
- <xs:extension base="BaseInheritableAsset">
- <xs:sequence>
- <xs:element name="DisplayName" type="xs:string" minOccurs="0" maxOccurs="1" XmlEdit:Category="Design" />
- <xs:element name="DisplayNameTransformed" type="xs:string" minOccurs="0" maxOccurs="1" XmlEdit:Category="Design" />
- <xs:element name="GameDependency" type="GameDependencyType" minOccurs="0" maxOccurs="1" />
- <xs:element name="ObjectResourceInfo" type="ObjectResourceInfo" minOccurs="0" maxOccurs="1" />
- <xs:element name="ArmorSet" balance:category="Armor Sets" type="ArmorTemplateSet" minOccurs="0" maxOccurs="unbounded" XmlEdit:Category="Design" />
- <xs:element name="LocomotorSet" balance:category="Locomotor Sets" type="LocomotorSet" minOccurs="0" maxOccurs="unbounded" XmlEdit:Category="Engineering" />
- <xs:element name="Buildable" type="BuildableStatus" minOccurs="0" default="YES" XmlEdit:Category="Engineering" />
- <xs:element name="ThingClass" type="ThingClassType" minOccurs="0" default="UNSPECIFIED" XmlEdit:Category="Engineering" />
- <xs:element name="BuildFadeInOnCreateList" type="StringList" minOccurs="0" XmlEdit:Category="Engineering" />
- <xs:element name="BuildVariations" type="StringList" minOccurs="0" XmlEdit:Category="Engineering" />
- <xs:element name="EquivalentTo" type="GameObjectWeakRef" minOccurs="0" maxOccurs="unbounded" XmlEdit:Category="Engineering" />
- <xs:element name="DisplayColor" type="Color4" minOccurs="0" XmlEdit:Category="Art" />
- <xs:element name="Flammability" type="Flammability" minOccurs="0" XmlEdit:Category="Design" />
- <xs:element name="SkirmishAIInformation" type="SkirmishAIInformation" minOccurs="0" maxOccurs="1" XmlEdit:Category="Design" />
- <xs:element name="Draws" type="DrawModules" minOccurs="0" XmlEdit:Category="Art" />
- <xs:element name="Behaviors" balance:category="Behaviors" type="BehaviorModules" minOccurs="0" XmlEdit:Category="Engineering" />
- <xs:element name="AI" type="AIModule" minOccurs="0" xas:byValue="true" XmlEdit:Category="Engineering" />
- <xs:element name="Body" balance:category="Body" type="BodyModule" minOccurs="1" XmlEdit:Category="Engineering" balance:snapshot="true"/>
- <xs:element name="ClientUpdates" type="ClientUpdateModules" minOccurs="0" XmlEdit:Category="Engineering" />
- <xs:element name="ClientBehaviors" type="ClientBehaviorModules" minOccurs="0" XmlEdit:Category="Engineering" />
- <xs:element name="Geometry" type="Geometry" minOccurs="0" XmlEdit:Category="Engineering" />
- <xs:element name="ReplaceModule" type="ReplaceModule" minOccurs="0" />
- <xs:element name="InheritableModule" type="InheritableModule" minOccurs="0" XmlEdit:Category="Engineering" />
- <xs:element name="AutoResolveArmor" type="AutoResolveArmor" minOccurs="0" XmlEdit:Category="Engineering" />
- <xs:element name="AutoResolveWeapon" type="AutoResolveWeapon" minOccurs="0" XmlEdit:Category="Engineering" />
- <xs:element name="FormationPreviewDecal" type="FormationPreviewDecal" minOccurs="0" XmlEdit:Category="Art" />
- <xs:element name="FormationPreviewItemDecal" type="FormationPreviewDecal" minOccurs="0" XmlEdit:Category="Art" />
- <xs:element name="LiveCameraOffset" type="Vector3" minOccurs="0" XmlEdit:Category="Engineering" />
- <xs:element name="AudioArrayVoice" type="AudioArrayVoice" minOccurs="0" maxOccurs="1" XmlEdit:Category="Audio" />
- <xs:element name="AudioArraySound" type="AudioArraySound" minOccurs="0" maxOccurs="1" XmlEdit:Category="Audio" />
- <xs:element name="EvaEventArray" type="EvaEventArray" minOccurs="0" maxOccurs="1" XmlEdit:Category="Audio" />
- <xs:element name="UpgradeCameo" type="xs:string" minOccurs="0" maxOccurs="5" XmlEdit:Category="Engineering" />
- <xs:element name="ShadowInfo" type="ShadowInfo" minOccurs="0" maxOccurs="1" XmlEdit:Category="Engineering" />
- <xs:element name="AutoResolveInfo" type="AutoResolveInfo" minOccurs="0" maxOccurs="1" />
- <xs:element name="VisionInfo" balance:category="VisionInfo" type="VisionInfo" minOccurs="0" maxOccurs="1" XmlEdit:Category="Design" />
- <xs:element name="CrusherInfo" balance:category="CrusherInfo" type="CrusherInfo" minOccurs="0" maxOccurs="1" XmlEdit:Category="Design" />
- <xs:element name="ProjectedBuildabilityInfo" balance:category="ProjectedBuildabilityInfo" type="ProjectedBuildabilityInfo" minOccurs="0" maxOccurs="unbounded" XmlEdit:Category="Design" />
- <xs:element name="DisplayUpgrade" type="UpgradeTemplateWeakRef" minOccurs="0" maxOccurs="2" XmlEdit:Category="Design" />
- </xs:sequence>
- <xs:attribute name="KindOf" type="KindOfBitFlags" XmlEdit:Category="Engineering" />
- <xs:attribute name="Browser" type="StringList" XmlEdit:Category="Design" />
- <xs:attribute name="Description" type="xs:string" XmlEdit:Category="Design" />
- <xs:attribute name="DescriptionTransformed" type="xs:string" XmlEdit:Category="Design" />
- <xs:attribute name="TypeDescription" type="xs:string" XmlEdit:Category="Design" />
- <xs:attribute name="TypeDescriptionTransformed" type="xs:string" XmlEdit:Category="Design" />
- <xs:attribute name="RadarPriority" type="RadarPriorityType" default="INVALID" XmlEdit:Category="Design" />
- <xs:attribute name="TransportSlotCount" type="xs:unsignedByte" default="0" XmlEdit:Category="Engineering" />
- <xs:attribute name="FenceWidth" type="SageReal" default="0" XmlEdit:Category="Engineering" />
- <xs:attribute name="FenceXOffset" type="SageReal" default="0" />
- <xs:attribute name="RemoveTerrainRadius" type="SageReal" default="0.0" />
- <xs:attribute name="EmotionRange" type="SageReal" default="0" XmlEdit:Category="Engineering" />
- <xs:attribute name="PlacementViewAngle" type="Angle" default="0r" XmlEdit:Category="Art" />
- <xs:attribute name="JustBuiltTime" type="Time" default="0s" />
- <xs:attribute name="FactoryExitWidth" type="SageReal" default="0.0" />
- <xs:attribute name="FactoryExtraBibWidth" type="SageReal" default="0.0" />
- <xs:attribute name="IsTrainable" type="SageBool" default="true" XmlEdit:Category="Engineering" />
- <xs:attribute name="Side" balance:filter="Side" type="PlayerTemplateWeakRef" XmlEdit:Category="Design" balance:snapshot="true"/>
- <xs:attribute name="EditorName" balance:field="Name" type="xs:string" />
- <xs:attribute name="EditorSorting" type="EditorSortingType" default="NONE" XmlEdit:Category="Design" balance:snapshot="true"/>
- <xs:attribute name="BountyValue" type="SageInt" default="0" XmlEdit:Category="Design" />
- <xs:attribute name="BuildTime" balance:field="Build Time" type="SageReal" default="0.0" XmlEdit:Category="Design" />
- <xs:attribute name="RefundValue" type="SageUnsignedShort" default="0" XmlEdit:Category="Design" />
- <xs:attribute name="EnergyProduction" balance:field="EnergyProduction" type="SageInt" default="0" XmlEdit:Category="Design" />
- <xs:attribute name="EnergyBonus" type="SageInt" default="0" XmlEdit:Category="Design" />
- <xs:attribute name="IsForbidden" type="SageBool" default="false" XmlEdit:Category="Engineering" />
- <xs:attribute name="IsPrerequisite" type="SageBool" default="false" XmlEdit:Category="Engineering" />
- <xs:attribute name="IsGrabbable" type="SageBool" default="false" XmlEdit:Category="Engineering" />
- <xs:attribute name="IsHarvestable" type="SageBool" default="false" XmlEdit:Category="Engineering" />
- <xs:attribute name="CommandSet" type="LogicCommandSetWeakRef" default="" XmlEdit:Category="Design" />
- <xs:attribute name="SelectPortrait" type="ImageWeakRef" default="" XmlEdit:Category="Art" />
- <xs:attribute name="SelectPortraitTransformed" type="ImageWeakRef" default="" XmlEdit:Category="Art" />
- <xs:attribute name="ButtonImage" type="ImageWeakRef" default="" XmlEdit:Category="Art" />
- <xs:attribute name="ButtonImageTransformed" type="ImageWeakRef" default="" XmlEdit:Category="Art" />
- <xs:attribute name="VoicePriority" type="SageInt" XmlEdit:Category="Audio" />
- <xs:attribute name="MinZIncreaseForVoiceMoveToHigherGround" type="SageReal" default="-1" XmlEdit:Category="Audio" />
- <xs:attribute name="CrowdResponse" type="CrowdResponseTemplateRef" XmlEdit:Category="Audio" />
- <xs:attribute name="CampnessValue" type="SageUnsignedInt" default="0" XmlEdit:Category="Audio" />
- <xs:attribute name="CampnessValueRadius" type="SageReal" default="600.0" XmlEdit:Category="Audio" />
- <xs:attribute name="Scale" type="SageReal" default="1.0" XmlEdit:Category="Art" />
- <xs:attribute name="HealthBoxHeightOffset" type="SageReal" default="10.0" XmlEdit:Category="Art" />
- <xs:attribute name="LiveCameraFXPitch" type="SageReal" default="0" XmlEdit:Category="Engineering" />
- <xs:attribute name="FormationWidth" type="SageInt" default="1" XmlEdit:Category="Design" />
- <xs:attribute name="FormationDepth" type="SageInt" default="1" XmlEdit:Category="Design" />
- <xs:attribute name="InstanceScaleFuzziness" type="SageReal" />
- <xs:attribute name="StructureRubbleHeight" type="SageReal" default="0" XmlEdit:Category="Engineering" />
- <xs:attribute name="MaxSimultaneousOfType" type="SageUnsignedShort" />
- <xs:attribute name="RamPower" type="SageInt" default="0" XmlEdit:Category="Engineering" />
- <xs:attribute name="RamZMult" type="SageReal" default="1.0" XmlEdit:Category="Engineering" />
- <xs:attribute name="ShockwaveResistance" type="SageReal" default="0" XmlEdit:Category="Design" />
- <xs:attribute name="CommandPoints" type="SageInt" default="0" XmlEdit:Category="Design" />
- <xs:attribute name="CommandPointBonus" type="SageInt" default="0" XmlEdit:Category="Design" />
-
- <!-- Todo: VoiceAttackChargeTimeout should be in seconds like everything else in the world; right now it is in logic frames. -->
- <xs:attribute name="VoiceAttackChargeTimeout" type="SageUnsignedInt" default="150" XmlEdit:Category="Audio" />
-
- <xs:attribute name="VoiceMoveLandToWaterTimeout" type="Time" default="5s" XmlEdit:Category="Audio" />
- <xs:attribute name="VoiceMoveWaterToLandTimeout" type="Time" default="5s" XmlEdit:Category="Audio" />
- <xs:attribute name="VoiceSelectUnderFireTimeout" type="Time" default="20s" XmlEdit:Category="Audio" />
- <xs:attribute name="VoiceSelectUnderFireDamageTime" type="Time" default="3s" XmlEdit:Category="Audio" />
- <xs:attribute name="MaxDistanceForEngaged" type="SageReal" default="150" XmlEdit:Category="Audio" />
-
- <!-- todo: EngagedStateTimeout should be in seconds like everything else in the world; right now it is in logic frames -->
- <xs:attribute name="EngagedStateTimeout" type="SageUnsignedInt" default="30" XmlEdit:Category="Audio" />
-
- <xs:attribute name="ThreatLevel" type="SageReal" default="1.0" XmlEdit:Category="Design" />
- <xs:attribute name="ForceLuaRegistration" type="SageBool" default="false" XmlEdit:Category="Engineering" />
- <xs:attribute name="KeepSelectableWhenDead" type="SageBool" default="false" XmlEdit:Category="Engineering" />
- <xs:attribute name="IsAutoBuilt" type="SageBool" default="false" XmlEdit:Category="Engineering" />
- <xs:attribute name="CanPathThroughGates" type="SageBool" default="true" XmlEdit:Category="Engineering" />
- <xs:attribute name="SlopeLimitIndex" type="SageUnsignedInt" default="0" XmlEdit:Category="Engineering" />
- <xs:attribute name="PathfindDiameter" type="SageReal" default="-1" XmlEdit:Category="Engineering" />
- <xs:attribute name="SupplyOverride" type="SageInt" default="0" XmlEdit:Category="Engineering" />
- <xs:attribute name="ExperienceScalarTable" type="xs:string" />
- <xs:attribute name="FiringArc" type="SageReal" default="360" XmlEdit:Category="Engineering" />
- <xs:attribute name="CamouflageDetectorLevel" type="SageInt" default="1" XmlEdit:Category="Design" />
- <xs:attribute name="SelectionPriority" type="SageInt" default="2147483647" XmlEdit:Category="Engineering" />
- <xs:attribute name="PathPriority" type="xs:int" default="25" XmlEdit:Category="Design"/>
- <xs:attribute name="ProductionQueueType" type="ProductionQueueType" default="INVALID" XmlEdit:Category="Design" />
- <xs:attribute name="BuildPlacementTypeFlag" type="BuildPlacementType" default="INVALID" XmlEdit:Category="Design" />
- <xs:attribute name="BuildInProximityToSamePlayerStucture" type="SageBool" default="true" XmlEdit:Category="Design" />
- <xs:attribute name="BuildOnRequiredObjectKindOf" type="KindOfBitFlags" XmlEdit:Category="Design" />
- <xs:attribute name="UnitCategory" balance:filter="Unit" type="UnitCategory" default="NONE" XmlEdit:Category="Design" />
- <xs:attribute name="WeaponCategory" balance:filter="Weapon" type="WeaponCategory" default="NONE" XmlEdit:Category="Design" />
- <xs:attribute name="HasFiredRecentlyTime" type="Time" default="2s" XmlEdit:Category="Design" />
- <xs:attribute name="UnitTypeIcon" type="UnitTypeIconRef" XmlEdit:Category="Design" />
- <xs:attribute name="ReinvisibilityDelay" type="Time" default="0.5s" XmlEdit:Category="Design" />
- <xs:attribute name="InvisibilityOpacityMin" type="SageReal" default="0.4" XmlEdit:Category="Engineering" />
- <xs:attribute name="InvisibilityOpacityMax" type="SageReal" default="0.9" XmlEdit:Category="Engineering" />
- <xs:attribute name="HealthBar" type="HealthBarTemplateWeakRef" XmlEdit:Category="Design" />
- <xs:attribute name="SubGroupPriority" type="SageInt" default="500" XmlEdit:Category="Design" />
- <xs:attribute name="EvaEventSecondDamageFarFromFirstScanRange" type="SageReal" default="200" />
- <xs:attribute name="EvaEventSecondDamageFarFromFirstTimeoutMS" type="DurationUnsignedInt" default="31000" />
- <xs:attribute name="UnitIntro" type="UnitIntroRef" XmlEdit:Category="Design" />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:simpleType name="DamageFXRef" xas:refType="DamageFX">
- <xs:restriction base="AssetReference" />
- </xs:simpleType>
- <xs:complexType name="ArmorType">
- <xs:sequence>
- </xs:sequence>
- <xs:attribute name="Conditions" type="xs:string" />
- <xs:attribute name="DamageFX" type="DamageFXRef" />
- </xs:complexType>
- <xs:complexType name="ArmorTemplateSet">
- <xs:sequence>
- </xs:sequence>
- <xs:attribute name="id" type="Poid" xas:pipelineOnly="true" />
- <xs:attribute name="Armor" balance:field="Armor" balance:category="Armor" type="AssetReference" xas:refType="ArmorTemplate" use="required" />
- <xs:attribute name="DamageFX" type="DamageFXRef" />
- <xs:attribute name="Conditions" type="ArmorSetBitFlags" />
- </xs:complexType>
- <xs:complexType name="LocomotorSet">
- <xs:sequence>
- </xs:sequence>
- <xs:attribute name="id" type="Poid" xas:pipelineOnly="true" />
- <xs:attribute name="Speed" balance:field="Speed" type="SageReal" />
- <xs:attribute name="Condition" balance:field="Condition" type="LocomotorSetType" />
- <xs:attribute name="Locomotor" balance:field="Locomotor" type="AssetReference" xas:refType="LocomotorTemplate" />
- </xs:complexType>
- <xs:complexType name="Flammability">
- <xs:sequence>
- </xs:sequence>
- <xs:attribute name="Fuel" type="SageUnsignedInt" default="0" />
- <xs:attribute name="MaxBurnRate" type="SageUnsignedInt" default="0" />
- <xs:attribute name="Decay" type="SageUnsignedInt" default="0" />
- <xs:attribute name="Resistance" type="SageUnsignedInt" default="0" />
- </xs:complexType>
- <xs:simpleType name="SkirmishAIBaseLocation">
- <xs:restriction base="xs:string">
- <xs:enumeration value="FRONT" />
- <xs:enumeration value="SIDE" />
- <xs:enumeration value="BACK" />
- <xs:enumeration value="SPREAD" />
- <xs:enumeration value="CENTER" />
- <xs:enumeration value="DEFENSE" />
- <xs:enumeration value="NEAR_RESOURCE_NODE" /> <!-- Type of resource given by NearResourceNodeType. -->
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="SkirmishAIInformation">
- <xs:sequence>
- <xs:element name="AIContextualPower" type="AISpecialPowerInfo" minOccurs="0" maxOccurs="unbounded" />
-
- <!-- Only for structure placement. Note: For type NEAR_RESOURCE_NODE, this is used only if the refinery cannot be placed next
- to a resource node and just gets placed in a base like a normal building -->
- <xs:element name="ConstructionBaseSelectionCriteria" type="AIBaseSelectionCriteria" minOccurs="0" maxOccurs="1" />
- <!-- Only for NEAR_RESOURCE_NODE structure placement. We first place NEAR_RESOURCE_NODE buildings near resource
- nodes which are close to bases (and far from other refineries). The first base returned from this criteria
- is the one considered closest to the node, so the node closest to that base is the one that will be chosen.
- It is **HIGHLY** recommended that all NEAR_RESOURCE_NODE structures has this elements and that the SortOrder
- is always set to PREFER_CLOSEST. Otherwise very odd things will happen. -->
- <xs:element name="ResourceNodeBaseClosenessTestSelectionCriteria" type="AIBaseSelectionCriteria" minOccurs="0" maxOccurs="1" />
- <!-- Tells the MicroManager which units should try to dodge this object -->
- <xs:element name="DodgeWithUnits" type="ObjectFilter" minOccurs="0" maxOccurs="1"/>
- </xs:sequence>
- <xs:attribute name="BaseBuildingLocation" type="SkirmishAIBaseLocation" default="FRONT" />
- <xs:attribute name="AdditionalRotation" type="Angle" default="0r" />
- <xs:attribute name="BaseBuildingMaxNudges" type="SageInt" default="3" />
- <!-- BlockIfUnpackTargetBuildingCannotBeRebuilt: If the campaign UseStructureRebuild flag is on (only rebuild
- structures in the spots where the AI already had a building), AND this object is of type UNPACK_INTO_BUILDING,
- AND the BlockIfUnpackTargetBuildingCannotBeRebuilt is true, then refuse to construct this object if the
- building it unpacks into cannot be placed because no AI buildings of the appropriate type have been
- destroyed. This is mostly for the AlliedHarvester, which sets this to false so that it can be built
- even though there are no destroyed AlliedOutpost 'slots' available. -->
- <xs:attribute name="BlockIfUnpackTargetBuildingCannotBeRebuilt" type="SageBool" default="true" />
- <xs:attribute name="UnitBuilderStandardCombatUnit" type="xs:boolean" default="false" />
- <xs:attribute name="TargetDuringCrush" type="xs:boolean" default="false" />
- <xs:attribute name="CrushSpeedBonus" type="SageReal" default="0.0" />
- <!-- Used by AIMicroManager::DetermineTargetsFocusFire to worsen the score of targets out of range of their attacker.
- A higher value is a greater penalty making units prefer to not move to attack something more. Setting this
- below 1.0 would make out-of-range units appear BETTER. -->
- <xs:attribute name="OutOfRangePenalty" type="SageReal" default="1.3" />
- <xs:attribute name="ContainedMembersProvideWeapon" type="xs:boolean" default="false" />
- <xs:attribute name="ConquerMetricsOverrideDPS" type="xs:float" use="optional" />
- <xs:attribute name="ConquerMetricsOverrideDamageType" type="DamageType" default="UNDEFINED" />
- <xs:attribute name="ConquerMetricsOverrideAntiMask" type="WeaponAntiBitFlags" default="ANTI_GROUND ANTI_WATER" />
- <xs:attribute name="ConquerMetricsOverrideForbiddenAntiMask" type="WeaponAntiBitFlags" default="" />
- <xs:attribute name="ConquerMetricsOverrideDefendingAntiMask" type="WeaponAntiBitFlags" use="optional" />
- <xs:attribute name="ConquerMetricsDpsBonusAgainstDefenses" type="xs:float" default="1.0" />
- <xs:attribute name="NearResourceNodeType" type="EconomyResourceType" default="ORE" />
- <xs:attribute name="DodgeSafetyDistance" type="SageReal" default="300.0" />
- <!-- Usually, when trying to path 'to a target', we check if we can get to a circle at the min range of our weapon
- or to a circle at the max range. For some weapons, this doesn't make sense, so override the distances we use
- for the checks. For use when the weapon ranges are meaningless -->
- <xs:attribute name="OverrideInnerDistanceToTarget" type="SageReal" use="optional" />
- <xs:attribute name="OverrideOuterDistanceToTarget" type="SageReal" use="optional" />
- <xs:attribute name="CanFireUpCliffs" type="SageBool" default="false" />
- <xs:attribute name="DoesSecondaryDamage" type="SageBool" default="false" />
- <!-- Tells the MicroManager a required object status for dodging this object, used by AIMicroManager::dodgeThreats -->
- <xs:attribute name="DodgingRequiredObjectStatus" type="ObjectStatusBitFlags" use="optional"/>
- </xs:complexType>
- <xs:complexType name="ReplaceModule">
- <xs:sequence>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="InheritableModule">
- <xs:sequence>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="AutoResolveArmor">
- <xs:sequence>
- <xs:element name="RequiredUpgrade" type="UpgradeTemplateWeakRef" minOccurs="0" maxOccurs="unbounded" />
- <xs:element name="ExcludedUpgrade" type="UpgradeTemplateWeakRef" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- <xs:attribute name="Armor" type="ArmorRef" />
- </xs:complexType>
- <xs:complexType name="AutoResolveWeapon">
- <xs:sequence>
- <xs:element name="RequiredUpgrade" type="UpgradeTemplateWeakRef" minOccurs="0" maxOccurs="unbounded" />
- <xs:element name="ExcludedUpgrade" type="UpgradeTemplateWeakRef" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- <xs:attribute name="Weapon" type="WeaponRef" />
- </xs:complexType>
- <xs:complexType name="FormationPreviewDecal">
- <xs:sequence>
- </xs:sequence>
- <xs:attribute name="Texture" type="AssetId" />
- <xs:attribute name="Width" type="SageReal" default="50.0" />
- <xs:attribute name="Height" type="SageReal" default="50.0" />
- </xs:complexType>
- <xs:simpleType name="Module">
- <xs:restriction base="xs:string" />
- </xs:simpleType>
- <xs:complexType name="VisionInfo">
- <xs:sequence>
- </xs:sequence>
- <xs:attribute name="VisionRange" balance:field="VisionRange" type="SageReal" default="0.00" />
- <xs:attribute name="ShroudClearingRange" balance:field="Shroud" type="SageReal" default="0.0" />
- <xs:attribute name="ShroudClearingHeight" balance:field="Shroud" type="SageReal" default="50.0" />
- <xs:attribute name="VisionSide" balance:field="VisionSide" type="Percentage" default="100" />
- <xs:attribute name="VisionRear" balance:field="VisionRear" type="Percentage" default="100" />
- <xs:attribute name="VisionBonusTestRadius" balance:field="VisionBonusTestRadius" type="SageReal" default="100" />
- <xs:attribute name="VisionBonusTestSegments" type="SageUnsignedInt" default="8" />
- <xs:attribute name="VisionBonusPercentPerFoot" balance:field="VisionBonusPercentPerFoot" type="Percentage" default="0" />
- <xs:attribute name="MaxVisionBonusPercent" balance:field="MaxVisionBonusPercent" type="Percentage" default="50" />
- <xs:attribute name="MinVisionBonusPercent" type="Percentage" default="-50" />
- </xs:complexType>
- <xs:complexType name="CrushKillDelayForObjectFilter">
- <xs:sequence>
- <xs:element name="ObjectFilter" type="ObjectFilter"/>
- </xs:sequence>
- <xs:attribute name="CrushKillDelay" type="Time" default=".5s" />
- <xs:attribute name="CrushDecelerationPercent" type="Percentage" default="0" />
- </xs:complexType>
- <xs:complexType name="CrusherLevelModelConditionInfo">
- <xs:sequence>
- <xs:element name="ObjectFilter" type="ObjectFilter" minOccurs="0" maxOccurs="1"/>
- </xs:sequence>
- <xs:attribute name="CrusherLevel" balance:field="CrusherLevel" type="xs:byte" default="0" />
- <xs:attribute name="CrushableLevel" balance:field="CrushableLevel" type="xs:byte" default="127" />
- <xs:attribute name="CrushEqualLevelProps" type="SageBool" default="false" />
- <xs:attribute name="ModelConditionMatch" type="ModelConditionBitFlags" default="" />
- </xs:complexType>
- <xs:complexType name="CrusherInfo">
- <xs:sequence>
- <xs:element name="ExtraCrushLevels" type="CrusherLevelModelConditionInfo" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="ExtraCrushKillDelays" type="CrushKillDelayForObjectFilter" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="id" type="Poid" xas:pipelineOnly="true"/>
- <xs:attribute name="CrusherLevel" balance:field="CrusherLevel" type="xs:byte" default="0" />
- <xs:attribute name="CrushableLevel" balance:field="CrushableLevel" type="xs:byte" default="127" />
- <xs:attribute name="CrushKnockback" type="SageInt" default="0" />
- <xs:attribute name="CrushZFactor" type="SageReal" default="1" />
- <xs:attribute name="CrushEqualLevelProps" type="SageBool" default="false" />
- <xs:attribute name="UseCrushAttack" type="SageBool" default="true" />
- <xs:attribute name="CrushOnlyWhileCharging" type="SageBool" default="false" />
- <xs:attribute name="MinCrushVelocityPercent" type="Percentage" default="1" />
- <xs:attribute name="CrushDecelerationPercent" type="Percentage" default="0" />
- <xs:attribute name="CrushAllies" type="SageBool" default="false" />
- <xs:attribute name="CrushWeapon" type="WeaponRef" XmlEdit:Category="Engineering" />
- <xs:attribute name="CrushAircraftWhileStationary" type="SageBool" default="false" XmlEdit:Category="Engineering" />
- <xs:attribute name="DefaultCrushKillDelay" type="Time" default=".5s" />
- <xs:attribute name="UseDirectionCheck" type="SageBool" default="true" />
- <xs:attribute name="ShouldSquishOnCollide" type="SageBool" default="true" />
- <xs:attribute name="DecelerateForAllCollides" type="SageBool" default="false" />
- <xs:attribute name="CannotCrushTarget" type="SageBool" default="false" />
- </xs:complexType>
- <xs:complexType name="DrawModules">
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="ScriptedModelDraw" type="W3DScriptedModelDrawModuleData" />
- <xs:element name="TankDraw" type="W3DTankDrawModuleData" />
- <xs:element name="TruckDraw" type="W3DTruckDrawModuleData" />
- <xs:element name="PropDraw" type="W3DPropDrawModuleData" />
- <xs:element name="LaserDraw" type="W3DLaserDrawModuleData" />
- <xs:element name="StreamDraw" type="W3DStreamDrawModuleData" />
- <xs:element name="TracerModelDraw" type="W3DTracerDrawModuleData" />
- <xs:element name="SpotlightDraw" type="W3DSpotlightDrawModuleData" />
- <xs:element name="DynamicsDraw" type="W3DDynamicsDrawModuleData" />
- </xs:choice>
- </xs:complexType>
- </xs:schema>
|