BaseRepairDrone.xml 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <?xml version="1.0" encoding="us-ascii"?>
  2. <AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xai="uri:ea.com:eala:asset:instance">
  3. <Tags></Tags>
  4. <Includes>
  5. <Include type="all" source="DATA:GlobalData/GlobalDefines.xml" />
  6. <Include
  7. type="instance"
  8. source="BaseObject.xml" />
  9. </Includes>
  10. <GameObject
  11. id="BaseRepairDrone"
  12. inheritFrom="BaseObject"
  13. EditorSorting="SYSTEM"
  14. ShockwaveResistance="120.0"
  15. KindOf="=$BASE_REPAIR_DRONE_KINDOF"
  16. VoicePriority="5">
  17. <DisplayName>NAME:RepairDrone</DisplayName>
  18. <LocomotorSet
  19. Locomotor="BaseRepairDroneLocomotor"
  20. Condition="NORMAL"
  21. Speed="150.0" />
  22. <ArmorSet
  23. Armor="NoArmor" />
  24. <Draws>
  25. </Draws>
  26. <Behaviors>
  27. <SlavedUpdate
  28. id="ModuleTag_SlavedUpdate"
  29. LeashRange="=$REPAIR_DRONE_LEASH_DISTANCE"
  30. GuardMaxRange="=$REPAIR_DRONE_LEASH_DISTANCE"
  31. GuardWanderRange="50"
  32. AttackRange="0"
  33. UseSlaverAsControlForEvaObjectSightedEvents="false" />
  34. <PassiveAreaEffectBehavior
  35. id="ModuleTag_PassiveAreaEffect"
  36. EffectRadius="0"
  37. HealingPointsPerSecond="20"
  38. AffectAttached="true"
  39. AttachModuleId="ModuleTag_Attach"
  40. AffectUnderAttack="true"
  41. NonStackable="false"
  42. HealFX="FX_Repair" >
  43. <AllowFilter
  44. Rule="ANY"
  45. Include="VEHICLE AIRCRAFT HUGE_VEHICLE"
  46. StatusBitFlagsExclude="NOT_IN_WORLD"
  47. Relationship="ALLIES" />
  48. </PassiveAreaEffectBehavior>
  49. <PassiveAreaEffectBehavior
  50. id="ModuleTag_PassiveAreaEffectGunship"
  51. EffectRadius="0"
  52. HealingPointsPerSecond="50"
  53. AffectAttached="true"
  54. AttachModuleId="ModuleTag_AttachGunship"
  55. AffectUnderAttack="true"
  56. NonStackable="false"
  57. HealFX="FX_Repair" >
  58. <AllowFilter
  59. Rule="ANY"
  60. Include="AIRCRAFT"
  61. StatusBitFlagsExclude="NOT_IN_WORLD"
  62. Relationship="ALLIES">
  63. <IncludeThing>AlliedGunshipAircraft</IncludeThing>
  64. </AllowFilter>
  65. </PassiveAreaEffectBehavior>
  66. <SlowDeath
  67. id="ModuleTag_Death"
  68. DestructionDelay="3s"
  69. Fade="true"
  70. FadeTime="3s">
  71. <DieMuxData
  72. DeathTypes="ALL" />
  73. </SlowDeath>
  74. <AttachUpdate
  75. id="ModuleTag_Attach"
  76. Range="=$REPAIR_DRONE_LEASH_DISTANCE"
  77. CloseEnoughRange="20.0"
  78. InitialAttachDelay="0.25s"
  79. ParentStatusToPrefer="BOOBY_TRAPPED"
  80. ParentStatus="TARGETED_FOR_REPAIR"
  81. ParentStatusAttached="UNDERGOING_REPAIR"
  82. ForbiddenParentStatus="NOT_IN_WORLD"
  83. Flags="STICK_TO_PARENT DETACH_WHEN_PARENT_OUT_OF_SLAVE_RANGE PARENT_MUST_BE_FULL_HEALTH_TO_DETACH SCAN_FOR_NEW_PARENT_WHEN_DETACHED FIND_BEST_PARENT UNCONTAINED_ONLY ONE_ATTACH_PER_PARENT USE_GEOMETRY DETACH_WHEN_PARENT_HEALED"
  84. >
  85. <ObjectFilter
  86. Rule="ANY"
  87. Include="VEHICLE AIRCRAFT HUGE_VEHICLE"
  88. StatusBitFlagsExclude="NOT_IN_WORLD"
  89. Relationship="ALLIES">
  90. <ExcludeThing>AlliedGunshipAircraft</ExcludeThing>
  91. </ObjectFilter>
  92. </AttachUpdate>
  93. <!-- The allied gunship circles at a radius that is larger than the base range, so it needs a larger range -->
  94. <AttachUpdate
  95. id="ModuleTag_AttachGunship"
  96. Range="400"
  97. CloseEnoughRange="20.0"
  98. InitialAttachDelay="0.25s"
  99. ParentStatusToPrefer="BOOBY_TRAPPED"
  100. ParentStatus="TARGETED_FOR_REPAIR"
  101. ParentStatusAttached="UNDERGOING_REPAIR"
  102. ForbiddenParentStatus="NOT_IN_WORLD"
  103. Flags="STICK_TO_PARENT DETACH_WHEN_PARENT_OUT_OF_SLAVE_RANGE PARENT_MUST_BE_FULL_HEALTH_TO_DETACH SCAN_FOR_NEW_PARENT_WHEN_DETACHED FIND_BEST_PARENT UNCONTAINED_ONLY ONE_ATTACH_PER_PARENT USE_GEOMETRY DETACH_WHEN_PARENT_HEALED"
  104. >
  105. <ObjectFilter
  106. Rule="NONE"
  107. StatusBitFlagsExclude="NOT_IN_WORLD"
  108. Relationship="ALLIES">
  109. <IncludeThing>AlliedGunshipAircraft</IncludeThing>
  110. </ObjectFilter>
  111. </AttachUpdate>
  112. <Physics
  113. id="ModuleTag_Physics" />
  114. </Behaviors>
  115. <AI>
  116. <AIUpdate
  117. id="ModuleTag_JetAIUpdate"
  118. AutoAcquireEnemiesWhenIdle="NO"
  119. StateMachine="UnitAIStateMachine" />
  120. </AI>
  121. <Body>
  122. <ActiveBody
  123. id="ModuleTag_Body"
  124. MaxHealth="200.0"/>
  125. </Body>
  126. <Geometry
  127. IsSmall="true">
  128. <Shape
  129. Type="CYLINDER"
  130. MajorRadius="5.0"
  131. Height="5.0"></Shape>
  132. </Geometry>
  133. <VisionInfo
  134. VisionRange="150"
  135. ShroudClearingRange="20" />
  136. </GameObject>
  137. </AssetDeclaration>