RegisteredObjectSets.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <AssetDeclaration xmlns="uri:ea.com:eala:asset">
  3. <Includes>
  4. <Include
  5. type="all"
  6. source="DATA:GlobalData/GlobalDefines.xml" />
  7. </Includes>
  8. <RegisteredObjectSet
  9. id="PlayerEverythingROS"
  10. SetId="PLAYER_EVERYTHING"
  11. Type="PLAYER">
  12. <ObjectFilter
  13. Rule="ALL"
  14. Relationship="SAME_PLAYER"
  15. Exclude="INERT">
  16. </ObjectFilter>
  17. </RegisteredObjectSet>
  18. <RegisteredObjectSet
  19. id="GarrisonsROS"
  20. SetId="GARRISONS"
  21. Type="GLOBAL">
  22. <ObjectFilter
  23. Rule="ANY"
  24. Include="GARRISON">
  25. </ObjectFilter>
  26. </RegisteredObjectSet>
  27. <RegisteredObjectSet
  28. id="TechBuildingsROS"
  29. SetId="NEUTRAL_TECH"
  30. Type="GLOBAL">
  31. <ObjectFilter
  32. Rule="ANY"
  33. Include="CAPTUREFLAG NEUTRAL_TECH"/>
  34. </RegisteredObjectSet>
  35. <RegisteredObjectSet
  36. id="PlayerTechBuildingsROS"
  37. SetId="PLAYER_NEUTRAL_TECH"
  38. Type="PLAYER">
  39. <ObjectFilter
  40. Rule="ANY"
  41. Include="CAPTUREFLAG NEUTRAL_TECH"
  42. Relationship="SAME_PLAYER" />
  43. </RegisteredObjectSet>
  44. <RegisteredObjectSet
  45. id="StructuresROS"
  46. SetId="STRUCTURES"
  47. Type="PLAYER">
  48. <ObjectFilter
  49. Rule="ANY"
  50. Include="STRUCTURE BEACON"
  51. Relationship="SAME_PLAYER" />
  52. </RegisteredObjectSet>
  53. <RegisteredObjectSet
  54. id="FactionStructuresROS"
  55. SetId="FACTION_STRUCTURES"
  56. Type="PLAYER">
  57. <ObjectFilter
  58. Rule="ANY"
  59. Include="STRUCTURE"
  60. Exclude="GARRISON NEUTRAL_TECH"
  61. Relationship="SAME_PLAYER" />
  62. </RegisteredObjectSet>
  63. <!-- Things the SkirmishAI cares about defending -->
  64. <RegisteredObjectSet
  65. id="SkirmishAIDefenseTargetsROS"
  66. SetId="SKIRMISH_AI_DEFENSE_TARGETS"
  67. Type="PLAYER">
  68. <ObjectFilter
  69. Rule="ANY"
  70. Include="STRUCTURE HARVESTER UNPACKS_INTO_BUILDING"
  71. Exclude="GARRISON"
  72. Relationship="SAME_PLAYER" />
  73. </RegisteredObjectSet>
  74. <RegisteredObjectSet
  75. id="SkirmishAIThreatsToDodgeROS"
  76. SetId="SKIRMISH_AI_THREATS_TO_DODGE"
  77. Type="GLOBAL">
  78. <ObjectFilter
  79. Rule="NONE"
  80. Include="SKIRMISH_AI_ATTEMPT_TO_DODGE"/>
  81. </RegisteredObjectSet>
  82. <!-- These are units that the AI can pretty much recruit onto any team and have them move and shoot as normal with competent behavior.
  83. Units like aircraft that have to reload have more unusual behavior and tend to not work well when mixed with "normal" units. -->
  84. <RegisteredObjectSet
  85. id="SkirmishAINormalCombatUnitsROS"
  86. SetId="SKIRMISH_AI_NORMAL_COMBAT_UNITS"
  87. Type="PLAYER">
  88. <ObjectFilter
  89. Rule="NONE"
  90. Include="CAN_ATTACK SELECTABLE"
  91. Exclude="STRUCTURE IGNORES_SELECT_ALL HARVESTER ENGINEER UNPACKS_INTO_BUILDING"
  92. Relationship="SAME_PLAYER">
  93. <ExcludeThing>AlliedFighterAircraft</ExcludeThing>
  94. <ExcludeThing>AlliedAntiGroundAircraft</ExcludeThing>
  95. <ExcludeThing>AlliedBomberAircraft</ExcludeThing>
  96. <ExcludeThing>SovietFighterAircraft</ExcludeThing>
  97. </ObjectFilter>
  98. </RegisteredObjectSet>
  99. <RegisteredObjectSet
  100. id="BeaconsROS"
  101. SetId="BEACONS"
  102. Type="PLAYER">
  103. <ObjectFilter
  104. Rule="ANY"
  105. Include="BEACON"
  106. Relationship="ALLIES" />
  107. </RegisteredObjectSet>
  108. <RegisteredObjectSet
  109. id="UnitsROS"
  110. SetId="UNITS"
  111. Type="PLAYER">
  112. <ObjectFilter
  113. Rule="ANY"
  114. Include="SELECTABLE"
  115. Exclude="STRUCTURE"
  116. Relationship="SAME_PLAYER" />
  117. </RegisteredObjectSet>
  118. <RegisteredObjectSet
  119. id="UnitsAndStructuresROS"
  120. SetId="UNITS_AND_STRUCTURES"
  121. Type="PLAYER">
  122. <ObjectFilter
  123. Rule="ANY"
  124. Include="SELECTABLE STRUCTURE BEACON"
  125. Relationship="SAME_PLAYER" />
  126. </RegisteredObjectSet>
  127. <RegisteredObjectSet
  128. id="VictoryConditionStructuresROS"
  129. SetId="VICTORY_CONDITION_STRUCTURES"
  130. Type="PLAYER">
  131. <ObjectFilter
  132. Rule="ANY"
  133. Include="STRUCTURE"
  134. Exclude="FS_BASE_DEFENSE NEUTRAL_TECH GARRISON BEACON CIVILIAN_BUILDING IGNORE_FOR_VICTORY"
  135. Relationship="SAME_PLAYER" />
  136. </RegisteredObjectSet>
  137. <RegisteredObjectSet
  138. id="HarvestersROS"
  139. SetId="HARVESTERS"
  140. Type="PLAYER">
  141. <ObjectFilter
  142. Rule="ANY"
  143. Include="HARVESTER"
  144. Relationship="SAME_PLAYER" />
  145. </RegisteredObjectSet>
  146. <RegisteredObjectSet
  147. id="SurveyorROS"
  148. SetId="SURVEYORS"
  149. Type="PLAYER">
  150. <ObjectFilter
  151. Rule="ANY"
  152. Include="EXPANSION_UNIT"
  153. Relationship="SAME_PLAYER" />
  154. </RegisteredObjectSet>
  155. <RegisteredObjectSet
  156. id="OutpostROS"
  157. SetId="OUTPOSTS"
  158. Type="PLAYER">
  159. <ObjectFilter
  160. Rule="ANY"
  161. Include="OUTPOST"
  162. Relationship="SAME_PLAYER" />
  163. </RegisteredObjectSet>
  164. <RegisteredObjectSet
  165. id="GlobalHarvestersROS"
  166. SetId="GLOBAL_HARVESTERS"
  167. Type="GLOBAL">
  168. <ObjectFilter
  169. Rule="ANY"
  170. Include="HARVESTER" />
  171. </RegisteredObjectSet>
  172. <RegisteredObjectSet
  173. id="TiberiumFieldROS"
  174. SetId="TIBERIUM_FIELDS"
  175. Type="GLOBAL">
  176. <ObjectFilter
  177. Rule="NONE"/>
  178. </RegisteredObjectSet>
  179. <RegisteredObjectSet
  180. id="OreMineROS"
  181. SetId="ORE_MINES"
  182. Type="GLOBAL">
  183. <ObjectFilter
  184. Rule="ANY"
  185. Include="ORE_NODE">
  186. </ObjectFilter>
  187. </RegisteredObjectSet>
  188. <RegisteredObjectSet
  189. id="SigmaFieldROS"
  190. SetId="SIGMA_FIELDS"
  191. Type="GLOBAL">
  192. <ObjectFilter
  193. Rule="NONE"/>
  194. </RegisteredObjectSet>
  195. <RegisteredObjectSet
  196. id="InfantryROS"
  197. SetId="INFANTRY"
  198. Type="PLAYER">
  199. <ObjectFilter
  200. Rule="ANY"
  201. Include="INFANTRY"
  202. Relationship="SAME_PLAYER" />
  203. </RegisteredObjectSet>
  204. <RegisteredObjectSet
  205. id="VehiclesROS"
  206. SetId="VEHICLES"
  207. Type="PLAYER">
  208. <ObjectFilter
  209. Rule="ANY"
  210. Include="VEHICLE"
  211. Relationship="SAME_PLAYER" />
  212. </RegisteredObjectSet>
  213. <RegisteredObjectSet
  214. id="ShipsROS"
  215. SetId="SHIPS"
  216. Type="PLAYER">
  217. <ObjectFilter
  218. Rule="ANY"
  219. Include="SHIP"
  220. Exclude="UNATTACKABLE STRUCTURE"
  221. Relationship="SAME_PLAYER" />
  222. </RegisteredObjectSet>
  223. <RegisteredObjectSet
  224. id="AircraftROS"
  225. SetId="AIRCRAFT"
  226. Type="PLAYER">
  227. <ObjectFilter
  228. Rule="ANY"
  229. Include="AIRCRAFT"
  230. Relationship="SAME_PLAYER" />
  231. </RegisteredObjectSet>
  232. <RegisteredObjectSet
  233. id="DozersROS"
  234. SetId="DOZERS"
  235. Type="PLAYER">
  236. <ObjectFilter
  237. Rule="ANY"
  238. Include="DOZER"
  239. Relationship="SAME_PLAYER" />
  240. </RegisteredObjectSet>
  241. <RegisteredObjectSet
  242. id="HordesROS"
  243. SetId="HORDES"
  244. Type="PLAYER">
  245. <ObjectFilter
  246. Rule="ANY"
  247. Include="HORDE"
  248. Relationship="SAME_PLAYER" />
  249. </RegisteredObjectSet>
  250. <RegisteredObjectSet
  251. id="HordeMembersROS"
  252. SetId="HORDE_MEMBERS"
  253. Type="PLAYER">
  254. <ObjectFilter
  255. Rule="ANY"
  256. Include="CAN_ATTACK INFANTRY VEHICLE"
  257. Exclude="UNATTACKABLE STRUCTURE IMMOBILE SHIP"
  258. StatusBitFlags="HORDE_MEMBER"
  259. Relationship="SAME_PLAYER" />
  260. </RegisteredObjectSet>
  261. <RegisteredObjectSet
  262. id="UnpacksIntoBuildingUnitsROS"
  263. SetId="UNPACKS_INTO_BUILDING_UNITS"
  264. Type="PLAYER">
  265. <ObjectFilter
  266. Rule="ANY"
  267. Include="UNPACKS_INTO_BUILDING"
  268. Relationship="SAME_PLAYER" />
  269. </RegisteredObjectSet>
  270. <RegisteredObjectSet
  271. id="RefineriesROS"
  272. SetId="REFINERIES"
  273. Type="PLAYER">
  274. <ObjectFilter
  275. Rule="ANY"
  276. Include="SUPPLY_GATHERING_CENTER"
  277. Relationship="SAME_PLAYER" />
  278. </RegisteredObjectSet>
  279. <RegisteredObjectSet
  280. id="RefineriesAndRefineryEggsROS"
  281. SetId="REFINERIES_AND_REFINERY_EGGS"
  282. Type="PLAYER">
  283. <ObjectFilter
  284. Rule="ANY"
  285. Include="SUPPLY_GATHERING_CENTER"
  286. Relationship="SAME_PLAYER" >
  287. <IncludeThing>JapanRefineryEgg</IncludeThing>
  288. </ObjectFilter>
  289. </RegisteredObjectSet>
  290. <RegisteredObjectSet
  291. id="TiberiumRefineriesROS"
  292. SetId="TIBERIUM_REFINERIES"
  293. Type="PLAYER">
  294. <ObjectFilter
  295. Rule="NONE" >
  296. </ObjectFilter>
  297. </RegisteredObjectSet>
  298. <RegisteredObjectSet
  299. id="GlobalTiberiumRefineriesROS"
  300. SetId="GLOBAL_TIBERIUM_REFINERIES"
  301. Type="GLOBAL">
  302. <ObjectFilter
  303. Rule="NONE" >
  304. </ObjectFilter>
  305. </RegisteredObjectSet>
  306. <RegisteredObjectSet
  307. id="OreRefineriesROS"
  308. SetId="ORE_REFINERIES"
  309. Type="PLAYER">
  310. <ObjectFilter
  311. Rule="ANY"
  312. Relationship="SAME_PLAYER" >
  313. <IncludeThing>AlliedRefinery</IncludeThing>
  314. <IncludeThing>SovietRefinery</IncludeThing>
  315. <IncludeThing>JapanRefinery</IncludeThing>
  316. </ObjectFilter>
  317. </RegisteredObjectSet>
  318. <RegisteredObjectSet
  319. id="GlobalOreRefineriesROS"
  320. SetId="GLOBAL_ORE_REFINERIES"
  321. Type="GLOBAL">
  322. <ObjectFilter
  323. Rule="ANY" >
  324. <IncludeThing>AlliedRefinery</IncludeThing>
  325. <IncludeThing>SovietRefinery</IncludeThing>
  326. <IncludeThing>JapanRefinery</IncludeThing>
  327. </ObjectFilter>
  328. </RegisteredObjectSet>
  329. <RegisteredObjectSet
  330. id="SigmaRefineriesROS"
  331. SetId="SIGMA_REFINERIES"
  332. Type="PLAYER">
  333. <ObjectFilter
  334. Rule="NONE" >
  335. </ObjectFilter>
  336. </RegisteredObjectSet>
  337. <RegisteredObjectSet
  338. id="GlobalSigmaRefineriesROS"
  339. SetId="GLOBAL_SIGMA_REFINERIES"
  340. Type="GLOBAL">
  341. <ObjectFilter
  342. Rule="NONE" >
  343. </ObjectFilter>
  344. </RegisteredObjectSet>
  345. <RegisteredObjectSet
  346. id="SilosROS"
  347. SetId="SILOS"
  348. Type="PLAYER">
  349. <ObjectFilter
  350. Rule="ANY"
  351. Include="FS_MONEY_STORAGE"
  352. Relationship="SAME_PLAYER" />
  353. </RegisteredObjectSet>
  354. <RegisteredObjectSet
  355. id="FarmsROS"
  356. SetId="FARMS"
  357. Type="PLAYER">
  358. <ObjectFilter
  359. Rule="ANY"
  360. Include=""
  361. Relationship="SAME_PLAYER" />
  362. </RegisteredObjectSet>
  363. <RegisteredObjectSet
  364. id="PowerPlantsROS"
  365. SetId="POWER_PLANTS"
  366. Type="PLAYER">
  367. <ObjectFilter
  368. Rule="ANY"
  369. Include="FS_POWER"
  370. Relationship="SAME_PLAYER" />
  371. </RegisteredObjectSet>
  372. <RegisteredObjectSet
  373. id="FactoriesROS"
  374. SetId="FACTORIES"
  375. Type="PLAYER">
  376. <ObjectFilter
  377. Rule="ANY"
  378. Include="FS_FACTORY"
  379. Relationship="SAME_PLAYER" />
  380. </RegisteredObjectSet>
  381. <RegisteredObjectSet
  382. id="UnitFactoriesROS"
  383. SetId="UNIT_FACTORIES"
  384. Type="PLAYER">
  385. <ObjectFilter
  386. Rule="ANY"
  387. Include="FS_BARRACKS FS_WAR_FACTORY FS_AIR_FIELD"
  388. Relationship="SAME_PLAYER" />
  389. </RegisteredObjectSet>
  390. <RegisteredObjectSet
  391. id="TechCentersROS"
  392. SetId="TECH_CENTERS"
  393. Type="PLAYER">
  394. <ObjectFilter
  395. Rule="ANY"
  396. Include="FS_TECH_CENTER FS_TECHNOLOGY"
  397. Relationship="SAME_PLAYER" />
  398. </RegisteredObjectSet>
  399. <RegisteredObjectSet
  400. id="RadarsROS"
  401. SetId="RADARS"
  402. Type="PLAYER">
  403. <ObjectFilter
  404. Rule="ANY"
  405. Include="FS_RADAR"
  406. Relationship="SAME_PLAYER" />
  407. </RegisteredObjectSet>
  408. <RegisteredObjectSet
  409. id="ConyardsROS"
  410. SetId="CONYARDS"
  411. Type="PLAYER">
  412. <ObjectFilter
  413. Rule="ANY"
  414. Include="CONSTRUCTION_YARD"
  415. Relationship="SAME_PLAYER" />
  416. </RegisteredObjectSet>
  417. <RegisteredObjectSet
  418. id="MCVsROS"
  419. SetId="MCVS"
  420. Type="PLAYER">
  421. <ObjectFilter
  422. Rule="ANY"
  423. Include="MCV"
  424. Relationship="SAME_PLAYER" />
  425. </RegisteredObjectSet>
  426. <RegisteredObjectSet
  427. id="BaseDefensesROS"
  428. SetId="BASE_DEFENSES"
  429. Type="PLAYER">
  430. <ObjectFilter
  431. Rule="ANY"
  432. Include="FS_BASE_DEFENSE"
  433. Exclude="UNPACKS_INTO_BUILDING"
  434. Relationship="SAME_PLAYER" />
  435. </RegisteredObjectSet>
  436. <!-- Basically everything that is immobile and can potentially attack -->
  437. <RegisteredObjectSet
  438. id="BaseDefensesAndGarrisonROS"
  439. SetId="BASE_DEFENSES_AND_GARRISONS"
  440. Type="PLAYER">
  441. <ObjectFilter
  442. Rule="ANY"
  443. Include="FS_BASE_DEFENSE GARRISON"
  444. Exclude="UNPACKS_INTO_BUILDING"
  445. Relationship="SAME_PLAYER" />
  446. </RegisteredObjectSet>
  447. <RegisteredObjectSet
  448. id="EnemyBaseDefensesROS"
  449. SetId="ENEMY_BASE_DEFENSES"
  450. Type="PLAYER">
  451. <ObjectFilter
  452. Rule="ANY"
  453. Include="FS_BASE_DEFENSE"
  454. Exclude="UNPACKS_INTO_BUILDING"
  455. Relationship="ENEMIES" />
  456. </RegisteredObjectSet>
  457. <RegisteredObjectSet
  458. id="EngineersROS"
  459. SetId="ENGINEERS"
  460. Type="PLAYER">
  461. <ObjectFilter
  462. Rule="ANY"
  463. Include="ENGINEER"
  464. Relationship="SAME_PLAYER" />
  465. </RegisteredObjectSet>
  466. <RegisteredObjectSet
  467. id="EnemyEngineersROS"
  468. SetId="ENEMY_ENGINEERS"
  469. Type="PLAYER">
  470. <ObjectFilter
  471. Rule="ANY"
  472. Include="ENGINEER"
  473. Relationship="ENEMIES" />
  474. </RegisteredObjectSet>
  475. <RegisteredObjectSet
  476. id="MobileGroundUnitROS"
  477. SetId="MOBILE_GROUND_UNITS"
  478. Type="PLAYER">
  479. <ObjectFilter
  480. Rule="ANY"
  481. Include="SELECTABLE"
  482. Exclude="STRUCTURE IMMOBILE AIRCRAFT"
  483. Relationship="SAME_PLAYER" />
  484. </RegisteredObjectSet>
  485. <RegisteredObjectSet
  486. id="PlayerPowerUpdatableROS"
  487. SetId="AI_PLAYER_POWER_UPDATABLE"
  488. Type="PLAYER">
  489. <ObjectFilter
  490. Rule="ANY"
  491. Include="AI_NEEDS_PLAYER_POWER_UPDATE"
  492. Relationship="SAME_PLAYER" />
  493. </RegisteredObjectSet>
  494. <!--
  495. <RegisteredObjectSet
  496. id="ROS"
  497. SetId=""
  498. Type="PLAYER">
  499. <ObjectFilter
  500. Rule="ANY"
  501. Include=""
  502. Relationship="SAME_PLAYER" />
  503. </RegisteredObjectSet>
  504. -->
  505. <!-- this is somewhat of a hack for RA3 NanoSwarmHives, but it is at least a data-driven hack that is replacing a code-hack -->
  506. <RegisteredObjectSet
  507. id="EnclosureROS"
  508. SetId="ENCLOSURES"
  509. Type="GLOBAL">
  510. <ObjectFilter
  511. Rule="NONE"
  512. Include="ENCLOSURE"/>
  513. </RegisteredObjectSet>
  514. </AssetDeclaration>