Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 37.77 KB | None | 0 0
  1. BP
  2.  
  3. UnitBlueprint {
  4. AI = {
  5. GuardReturnRadius = 175,
  6. GuardScanRadius = 125,
  7. RefuelingMultiplier = 50,
  8. RefuelingRepairAmount = 500,
  9. RepairConsumeEnergy = 5,
  10. RepairConsumeMass = 0.5,
  11. TargetBones = {
  12. 'UAA0310',
  13. 'Attachpoint01',
  14. 'Attachpoint02',
  15. 'Attachpoint03',
  16. 'Attachpoint04',
  17. 'Attachpoint05',
  18. 'Attachpoint06',
  19. 'Attachpoint07',
  20. 'Attachpoint08',
  21. },
  22. },
  23. Air = {
  24. BankFactor = 0,
  25. BankForward = false,
  26. CanFly = true,
  27. HoverOverAttack = true,
  28. KLift = 2,
  29. KLiftDamping = 3.5,
  30. KMove = 1,
  31. KMoveDamping = 2,
  32. KTurn = 1,
  33. KTurnDamping = 10,
  34. LiftFactor = 7,
  35. MaxAirspeed = 2,
  36. MinAirspeed = 2,
  37. StartTurnDistance = 50,
  38. },
  39. Audio = {
  40. AirUnitWaterImpact = 'SC2/SC2/Destructions/Explosions/ILLUMINATE/snd_Expl_Water_Lrg',
  41. AmbientHover = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0112/snd_UIX0112_ExpSaucer_Move_Loop_hover',
  42. AmbientMove = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0112/snd_UIX0112_ExpSaucer_Move_Loop',
  43. Destroyed = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0112/snd_UIX0112_ExpSaucer_Destroy',
  44. FallingLoop = 'SC2/SC2/Destructions/snd_Fall_Loop',
  45. Killed = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0112/snd_UIX0112_ExpSaucer_Killed',
  46. Landing = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0112/snd_UIX0112_ExpSaucer_Land',
  47. MoveSharpTurn = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0112/snd_UIX0112_ExpSaucer_Move_Thruster',
  48. OnReclaimed = 'SC2/SC2/Destructions/Explosions/UEF/snd_Destroy_Med_Land',
  49. Sinking = 'SC2/SC2/Destructions/Explosions/snd_water_death_Loop',
  50. UISelection = 'SC2/SC2/Selection/snd_GENERIC_Select_Experimentals',
  51. Unpack = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0111/snd_UIX0111_ExpBot_Charge',
  52. },
  53. Buffs = {
  54. Regen = {
  55. Level1 = 10,
  56. Level2 = 20,
  57. Level3 = 30,
  58. Level4 = 40,
  59. Level5 = 50,
  60. },
  61. },
  62. BuildIconSortPriority = 110,
  63. Categories = {
  64. 'PRODUCTSC2',
  65. 'SELECTABLE',
  66. 'ILLUMINATE',
  67. 'MOBILE',
  68. 'AIR',
  69. 'HIGHALTAIR',
  70. 'TECH1',
  71. 'AIRSTAGINGPLATFORM',
  72. 'CARRIER',
  73. 'VISIBLETORECON',
  74. 'RECLAIMABLE',
  75. 'CONSTRUCTION',
  76. 'FACTORY',
  77. 'SHOWQUEUE',
  78. 'SORTCONSTRUCTION',
  79. 'OVERLAYRADAR',
  80. 'OVERLAYMISC',
  81. 'CANNOTUSEAIRSTAGING',
  82. 'BUILDSGUNSHIP',
  83. 'EXPERIMENTAL',
  84. 'PARALLELBUILDER',
  85. },
  86. CollisionOffsetY = -1.5,
  87. Defense = {
  88. AirThreatLevel = 130,
  89. ArmorType = 'Normal',
  90. EconomyThreatLevel = 0,
  91. Health = 98000,
  92. MaxHealth = 98000,
  93. RegenRate = 2,
  94. SubThreatLevel = 30,
  95. SurfaceThreatLevel = 500,
  96. },
  97. Description = '<LOC uaa0310_desc>Experimental Aircraft Carrier',
  98. Display = {
  99. DisplayName = '<LOC UNIT_NAME_0154>CZAR',
  100. Abilities = {
  101. '<LOC ability_aa>Anti-Air',
  102. '<LOC ability_carrier>Carrier',
  103. '<LOC ability_depthcharge>Depth Charges',
  104. '<LOC ability_factory>Factory',
  105. '<LOC ability_notcap>Not Capturable',
  106. '<LOC ability_radar>Radar',
  107. '<LOC ability_sonar>Sonar',
  108. },
  109. AnimationOpen = '/units/UAA0310/UAA0310_aopen.sca',
  110. Mesh = {
  111. IconFadeInZoom = 1000030,
  112. LODs = {
  113. {
  114. LODCutoff = 10000000,
  115. MaterialSets = {
  116. {
  117. Materials = {
  118. {
  119. DiffuseName = 'UAA0310_Albedo.dds',
  120. MaskName = 'UAA0310_Mask.dds',
  121. NormalName = 'UAA0310_Normal.dds',
  122. TeamName = 'UAA0310_Team.dds',
  123. RampName = '/textures/Units/Shared/Ramps/Illuminate_Ramp01.dds',
  124. ShaderMacros = 'ambient_lighting, diffuse_lighting, specular_lighting, ambient_occlusion, team_color, environment_mapping, point_cloud, glow',
  125. },
  126. },
  127. },
  128. },
  129. },
  130. },
  131. },
  132. PlaceholderMeshName = 'UXB0000',
  133. SpawnRandomRotation = true,
  134. UniformScale = 0.04*2,
  135. },
  136. Economy = {
  137. BuildEnergyCostMultiplier = 0.25,
  138. BuildMassCostMultiplier = 0.25,
  139. BuildRate = 2,
  140. BuildTime = 300,
  141. BuildableCategory = {
  142. 'BUILTBYFACTORY ILLUMINATE AIR TECH1',
  143. },
  144. CaptureTimeMult = 0.6,
  145. EnergyValue = 20000,
  146. MassValue = 4000,
  147. SacrificeCaptureTimeMult = 0.2,
  148. BuildTime = 280,
  149. },
  150. Footprint = {
  151. MaxSlope = 0.25,
  152. SizeX = 20*2,
  153. SizeZ = 20*2,
  154. },
  155. General = {
  156. Category = 'Experimental',
  157. Classification = 'RULEUC_MilitaryAircraft',
  158. CommandCaps = {
  159. RULEUCC_Attack = true,
  160. RULEUCC_CallTransport = false,
  161. RULEUCC_Capture = false,
  162. RULEUCC_Guard = true,
  163. RULEUCC_Move = true,
  164. RULEUCC_Nuke = false,
  165. RULEUCC_Patrol = true,
  166. RULEUCC_Pause = true,
  167. RULEUCC_Reclaim = false,
  168. RULEUCC_Repair = false,
  169. RULEUCC_RetaliateToggle = true,
  170. RULEUCC_Stop = true,
  171. RULEUCC_Transport = true,
  172. },
  173. ConstructionBar = true,
  174. FactionName = 'Aeon',
  175. ExperienceTable = 'MAJOR',
  176. ExperienceValue = 4500,
  177. Icon = 'air',
  178. OrderOverrides = {
  179. RULEUCC_Transport = {
  180. bitmapId = 'deploy',
  181. helpText = 'deploy',
  182. },
  183. },
  184. TechLevel = 'RULEUTL_Secret',
  185. UnitName = '<LOC uaa0310_name>CZAR',
  186. UnitWeight = 1,
  187. },
  188. Intel = {
  189. RadarRadius = 300,
  190. SonarRadius = 250,
  191. VisionRadius = 190,
  192. },
  193. Interface = {
  194. HelpText = '<LOC uaa0310_help>Experimental Aircraft Carrier',
  195. },
  196. LifeBarHeight = 0.075,
  197. LifeBarOffset = 12,
  198. LifeBarSize = 20,
  199. Physics = {
  200. BankingSlope = 0,
  201. BuildOnLayerCaps = {
  202. LAYER_Air = true,
  203. },
  204. CollisionPushClass = 3,
  205. CollisionPushable = false,
  206. Elevation = 30,
  207. MaxAcceleration = 1.5,
  208. MaxSpeed = 1,
  209. MaxSteerForce = 100,
  210. MinSpeedPercent = 0,
  211. MotionType = 'RULEUMT_Air',
  212. TurnRate = 90,
  213. },
  214. SelectionSizeX = 13*2,
  215. SelectionSizeZ = 13*2,
  216. SelectionThickness = 0.2,
  217. SizeX = 21*2,
  218. SizeY = 3*2,
  219. SizeZ = 21*2,
  220. StrategicIconName = 'icon_experimental_generic',
  221. StrategicIconSortPriority = 55,
  222. Transport = {
  223. AirClass = true,
  224. LandingBones = {
  225. 'attachpont01',
  226. 'attachpont02',
  227. 'attachpont03',
  228. 'attachpont04',
  229. 'attachpont05',
  230. 'attachpont06',
  231. 'attachpont07',
  232. 'attachpont08',
  233. },
  234. LaunchingBones = {
  235. 'attachpont01',
  236. 'attachpont02',
  237. 'attachpont03',
  238. 'attachpont04',
  239. 'attachpont05',
  240. 'attachpont06',
  241. 'attachpont07',
  242. 'attachpont08',
  243. },
  244. StorageSlots = 100,
  245. },
  246. Veteran = {
  247. Level1 = 40,
  248. Level2 = 80,
  249. Level3 = 120,
  250. Level4 = 160,
  251. Level5 = 200,
  252. },
  253. Weapons = {
  254. {
  255. AboveWaterTargetsOnly = true,
  256. Audio = {
  257. BeamLoop = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0112/snd_UIX0112_ExpSaucer_Quantum_Beam_Loop',
  258. BeamStop = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0112/snd_UIX0112_ExpSaucer_Quantum_Beam_Stop',
  259. },
  260. AutoInitiateAttackCommand = true,
  261. BallisticArc = 'RULEUBA_None',
  262. BeamCollisionDelay = 0.05,
  263. BeamLifetime = 0,
  264. CollideFriendly = false,
  265. Damage = 400,
  266. DamageRadius = 9,
  267. DamageType = 'Normal',
  268. DisplayName = 'Quantum Beam Generator',
  269. FireTargetLayerCaps = {
  270. Air = 'Land|Water|Seabed',
  271. },
  272. FiringTolerance = 0,
  273. Label = 'QuantumBeamGeneratorWeapon',
  274. MaxRadius = 30,
  275. MaximumBeamLength = 90,
  276. MuzzleChargeDelay = 0,
  277. MuzzleSalvoDelay = 0,
  278. MuzzleSalvoSize = 1,
  279. RackBones = {
  280. {
  281. MuzzleBones = {
  282. 'Center_Muzzle',
  283. },
  284. RackBone = 'Center_Muzzle',
  285. },
  286. },
  287. RackFireTogether = true,
  288. RackRecoilDistance = 0,
  289. RackReloadTimeout = 0,
  290. RackSalvoChargeTime = 0,
  291. RackSalvoReloadTime = 0,
  292. RackSalvoSize = 1,
  293. RackSlavedToTurret = false,
  294. RateOfFire = 2,
  295. TargetCheckInterval = -1,
  296. TargetPriorities = {
  297. 'SPECIALHIGHPRI',
  298. 'STRUCTURE',
  299. 'TECH3 MOBILE',
  300. 'TECH2 MOBILE',
  301. 'TECH1 MOBILE',
  302. 'SPECIALLOWPRI',
  303. 'ALLUNITS',
  304. },
  305. TargetRestrictDisallow = 'UNTARGETABLE',
  306. Turreted = false,
  307. WeaponCategory = 'Direct Fire Experimental',
  308. WeaponRepackTimeout = 10,
  309. WeaponUnpacks = false,
  310. },
  311. {
  312. Audio = {
  313. RackSalvoBeginFire = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0103/snd_UIX0103_ExpAirDefense_AntiAir',
  314. },
  315. BallisticArc = 'RULEUBA_None',
  316. CannotAttackGround = true,
  317. CollideFriendly = false,
  318. Damage = 300,
  319. DamageType = 'Normal',
  320. DisplayName = 'Zealot AA Missile',
  321. FireTargetLayerCaps = {
  322. Air = 'Air|Land',
  323. },
  324. FiringTolerance = 10,
  325. HeadingArcCenter = 230,
  326. HeadingArcRange = 120,
  327. Label = 'SonicPulseBattery1',
  328. MaxRadius = 64,
  329. MuzzleSalvoDelay = 0.1,
  330. MuzzleSalvoSize = 1,
  331. MuzzleVelocity = 50,
  332. ProjectileId = '/projectiles/Illuminate/IAntiAir01/IAntiAir01_proj.bp',
  333. ProjectileLifetime = 4,
  334. RackBones = {
  335. {
  336. MuzzleBones = {
  337. 'Left_Turret01_Muzzle',
  338. },
  339. RackBone = 'Left_Turret01_Barrel',
  340. },
  341. },
  342. RackFireTogether = true,
  343. RackRecoilDistance = 0,
  344. RackReloadTimeout = 10,
  345. RackSalvoChargeTime = 0,
  346. RackSalvoReloadTime = 0,
  347. RackSalvoSize = 1,
  348. RackSlavedToTurret = false,
  349. RangeCategory = 'UWRC_AntiAir',
  350. RateOfFire = 0.8,
  351. TargetCheckInterval = 0.5,
  352. TargetPriorities = {
  353. 'SPECIALHIGHPRI',
  354. 'AIR MOBILE',
  355. 'AIR MOBILE -INTELLIGENCE',
  356. 'SPECIALLOWPRI',
  357. 'ALLUNITS',
  358. },
  359. TargetRestrictDisallow = 'UNTARGETABLE,LAND,STRUCTURE,NAVAL',
  360. TargetRestrictOnlyAllow = 'AIR',
  361. TrackingRadius = 1.4,
  362. TurretBoneMuzzle = 'Left_Turret01_Muzzle',
  363. TurretBonePitch = 'Left_Turret01_Barrel',
  364. TurretBoneYaw = 'Left_Turret01',
  365. TurretDualManipulators = false,
  366. TurretPitch = 0,
  367. TurretPitchRange = 180,
  368. TurretPitchSpeed = 360,
  369. TurretYaw = 0,
  370. TurretYawRange = 100,
  371. TurretYawSpeed = 360,
  372. Turreted = false,
  373. WeaponCategory = 'Anti Air',
  374. WeaponUnpacks = false,
  375. },
  376. {
  377. Audio = {
  378. RackSalvoBeginFire = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0103/snd_UIX0103_ExpAirDefense_AntiAir',
  379. },
  380. BallisticArc = 'RULEUBA_None',
  381. CannotAttackGround = true,
  382. CollideFriendly = false,
  383. Damage = 300,
  384. DamageType = 'Normal',
  385. DisplayName = 'Zealot AA Missile',
  386. FireTargetLayerCaps = {
  387. Air = 'Air|Land',
  388. },
  389. FiringTolerance = 10,
  390. HeadingArcCenter = 310,
  391. HeadingArcRange = 120,
  392. Label = 'SonicPulseBattery2',
  393. MaxRadius = 64,
  394. MuzzleSalvoDelay = 0.1,
  395. MuzzleSalvoSize = 1,
  396. MuzzleVelocity = 50,
  397. PrefersPrimaryWeaponTarget = true,
  398. ProjectileId = '/projectiles/Illuminate/IAntiAir01/IAntiAir01_proj.bp',
  399. ProjectileLifetime = 4,
  400. RackBones = {
  401. {
  402. MuzzleBones = {
  403. 'Left_Turret03_Muzzle',
  404. },
  405. RackBone = 'Left_Turret03_Barrel',
  406. },
  407. },
  408. RackFireTogether = true,
  409. RackRecoilDistance = 0,
  410. RackReloadTimeout = 10,
  411. RackSalvoChargeTime = 0,
  412. RackSalvoReloadTime = 0,
  413. RackSalvoSize = 1,
  414. RackSlavedToTurret = false,
  415. RangeCategory = 'UWRC_AntiAir',
  416. RateOfFire = 0.8,
  417. TargetCheckInterval = 0.5,
  418. TargetPriorities = {
  419. 'SPECIALHIGHPRI',
  420. 'AIR MOBILE',
  421. 'AIR MOBILE -INTELLIGENCE',
  422. 'SPECIALLOWPRI',
  423. 'ALLUNITS',
  424. },
  425. TargetRestrictDisallow = 'UNTARGETABLE,LAND,STRUCTURE,NAVAL',
  426. TargetRestrictOnlyAllow = 'AIR',
  427. TrackingRadius = 1.4,
  428. TurretBoneMuzzle = 'Left_Turret03_Muzzle',
  429. TurretBonePitch = 'Left_Turret03_Barrel',
  430. TurretBoneYaw = 'Left_Turret03',
  431. TurretDualManipulators = false,
  432. TurretPitch = 0,
  433. TurretPitchRange = 180,
  434. TurretPitchSpeed = 360,
  435. TurretYaw = 0,
  436. TurretYawRange = 100,
  437. TurretYawSpeed = 360,
  438. Turreted = false,
  439. WeaponCategory = 'Anti Air',
  440. WeaponUnpacks = false,
  441. },
  442. {
  443. Audio = {
  444. RackSalvoBeginFire = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0103/snd_UIX0103_ExpAirDefense_AntiAir',
  445. },
  446. BallisticArc = 'RULEUBA_None',
  447. CannotAttackGround = true,
  448. CollideFriendly = false,
  449. Damage = 300,
  450. DamageType = 'Normal',
  451. DisplayName = 'Zealot AA Missile',
  452. FireTargetLayerCaps = {
  453. Air = 'Air|Land',
  454. },
  455. FiringTolerance = 10,
  456. HeadingArcCenter = 130,
  457. HeadingArcRange = 120,
  458. Label = 'SonicPulseBattery3',
  459. MaxRadius = 64,
  460. MuzzleSalvoDelay = 0,
  461. MuzzleSalvoSize = 1,
  462. MuzzleVelocity = 50,
  463. PrefersPrimaryWeaponTarget = true,
  464. ProjectileId = '/projectiles/Illuminate/IAntiAir01/IAntiAir01_proj.bp',
  465. ProjectileLifetime = 4,
  466. RackBones = {
  467. {
  468. MuzzleBones = {
  469. 'Right_Turret01_Muzzle',
  470. },
  471. RackBone = 'Right_Turret01_Barrel',
  472. },
  473. },
  474. RackFireTogether = true,
  475. RackRecoilDistance = 0,
  476. RackReloadTimeout = 10,
  477. RackSalvoChargeTime = 0,
  478. RackSalvoReloadTime = 0,
  479. RackSalvoSize = 1,
  480. RackSlavedToTurret = false,
  481. RangeCategory = 'UWRC_AntiAir',
  482. RateOfFire = 0.8,
  483. TargetCheckInterval = 0.5,
  484. TargetPriorities = {
  485. 'SPECIALHIGHPRI',
  486. 'AIR MOBILE',
  487. 'AIR MOBILE -INTELLIGENCE',
  488. 'SPECIALLOWPRI',
  489. 'ALLUNITS',
  490. },
  491. TargetRestrictDisallow = 'UNTARGETABLE,LAND,STRUCTURE,NAVAL',
  492. TargetRestrictOnlyAllow = 'AIR',
  493. TrackingRadius = 1.4,
  494. TurretBoneMuzzle = 'Right_Turret01_Muzzle',
  495. TurretBonePitch = 'Right_Turret01_Barrel',
  496. TurretBoneYaw = 'Right_Turret01',
  497. TurretDualManipulators = false,
  498. TurretPitch = 0,
  499. TurretPitchRange = 180,
  500. TurretPitchSpeed = 360,
  501. TurretYaw = 0,
  502. TurretYawRange = 100,
  503. TurretYawSpeed = 360,
  504. Turreted = false,
  505. WeaponCategory = 'Anti Air',
  506. WeaponUnpacks = false,
  507. },
  508. {
  509. Audio = {
  510. RackSalvoBeginFire = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0103/snd_UIX0103_ExpAirDefense_AntiAir',
  511. },
  512. BallisticArc = 'RULEUBA_None',
  513. CannotAttackGround = true,
  514. CollideFriendly = false,
  515. Damage = 300,
  516. DamageType = 'Normal',
  517. DisplayName = 'Zealot AA Missile',
  518. FireTargetLayerCaps = {
  519. Air = 'Air|Land',
  520. },
  521. FiringTolerance = 10,
  522. HeadingArcCenter = 50,
  523. HeadingArcRange = 120,
  524. Label = 'SonicPulseBattery4',
  525. MaxRadius = 64,
  526. MuzzleSalvoDelay = 0,
  527. MuzzleSalvoSize = 1,
  528. MuzzleVelocity = 50,
  529. PrefersPrimaryWeaponTarget = true,
  530. ProjectileId = '/projectiles/Illuminate/IAntiAir01/IAntiAir01_proj.bp',
  531. ProjectileLifetime = 4,
  532. RackBones = {
  533. {
  534. MuzzleBones = {
  535. 'Right_Turret03_Muzzle',
  536. },
  537. RackBone = 'Right_Turret01_Barrel03',
  538. },
  539. },
  540. RackFireTogether = true,
  541. RackRecoilDistance = 0,
  542. RackReloadTimeout = 10,
  543. RackSalvoChargeTime = 0,
  544. RackSalvoReloadTime = 0,
  545. RackSalvoSize = 1,
  546. RackSlavedToTurret = false,
  547. RangeCategory = 'UWRC_AntiAir',
  548. RateOfFire = 0.8,
  549. TargetCheckInterval = 0.5,
  550. TargetPriorities = {
  551. 'SPECIALHIGHPRI',
  552. 'AIR MOBILE',
  553. 'AIR MOBILE -INTELLIGENCE',
  554. 'SPECIALLOWPRI',
  555. 'ALLUNITS',
  556. },
  557. TargetRestrictDisallow = 'UNTARGETABLE,LAND,STRUCTURE,NAVAL',
  558. TargetRestrictOnlyAllow = 'AIR',
  559. TrackingRadius = 1.4,
  560. TurretBoneMuzzle = 'Right_Turret03_Muzzle',
  561. TurretBonePitch = 'Right_Turret01_Barrel03',
  562. TurretBoneYaw = 'Right_Turret03',
  563. TurretDualManipulators = false,
  564. TurretPitch = 0,
  565. TurretPitchRange = 180,
  566. TurretPitchSpeed = 360,
  567. TurretYaw = 0,
  568. TurretYawRange = 100,
  569. TurretYawSpeed = 360,
  570. Turreted = false,
  571. WeaponCategory = 'Anti Air',
  572. WeaponUnpacks = false,
  573. },
  574. {
  575. Audio = {
  576. RackSalvoBeginFire = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0103/snd_UIX0103_ExpAirDefense_AntiAir',
  577. },
  578. BallisticArc = 'RULEUBA_None',
  579. CollideFriendly = false,
  580. Damage = 150,
  581. DamageRadius = 1.5,
  582. DamageType = 'Normal',
  583. DisplayName = 'Harmonic Depth Charge',
  584. FireTargetLayerCaps = {
  585. Air = 'Seabed|Sub|Water',
  586. },
  587. FiringRandomness = 1,
  588. FiringTolerance = 2,
  589. Label = 'DepthCharge01',
  590. MaxRadius = 50,
  591. MuzzleSalvoDelay = 0,
  592. MuzzleSalvoSize = 1,
  593. MuzzleVelocity = 0,
  594. ProjectileId = '/projectiles/UEF/UTorpedo02/UTorpedo02_proj.bp',
  595. RackBones = {
  596. {
  597. MuzzleBones = {
  598. 'Harmonic_Muzzle01',
  599. },
  600. RackBone = 'Harmonic_Muzzle01',
  601. },
  602. },
  603. RackFireTogether = true,
  604. RackRecoilDistance = 0,
  605. RackReloadTimeout = 10,
  606. RackSalvoChargeTime = 0,
  607. RackSalvoReloadTime = 0,
  608. RackSalvoSize = 1,
  609. RackSlavedToTurret = false,
  610. RangeCategory = 'UWRC_AntiNavy',
  611. RateOfFire = 0.25,
  612. TargetCheckInterval = 2,
  613. TargetPriorities = {
  614. 'SPECIALHIGHPRI',
  615. 'NAVAL MOBILE',
  616. 'SPECIALLOWPRI',
  617. 'ALLUNITS',
  618. },
  619. TargetRestrictDisallow = 'UNTARGETABLE',
  620. Turreted = false,
  621. WeaponCategory = 'Anti Navy',
  622. },
  623. {
  624. Audio = {
  625. RackSalvoBeginFire = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0103/snd_UIX0103_ExpAirDefense_AntiAir',
  626. },
  627. BallisticArc = 'RULEUBA_None',
  628. CollideFriendly = false,
  629. Damage = 150,
  630. DamageRadius = 1.5,
  631. DamageType = 'Normal',
  632. DisplayName = 'Harmonic Depth Charge',
  633. FireTargetLayerCaps = {
  634. Air = 'Seabed|Sub|Water',
  635. },
  636. FiringRandomness = 1,
  637. FiringTolerance = 2,
  638. Label = 'DepthCharge02',
  639. MaxRadius = 50,
  640. MuzzleSalvoDelay = 0,
  641. MuzzleSalvoSize = 1,
  642. MuzzleVelocity = 0,
  643. PrefersPrimaryWeaponTarget = true,
  644. ProjectileId = '/projectiles/UEF/UTorpedo02/UTorpedo02_proj.bp',
  645. RackBones = {
  646. {
  647. MuzzleBones = {
  648. 'Harmonic_Muzzle02',
  649. },
  650. RackBone = 'Harmonic_Muzzle02',
  651. },
  652. },
  653. RackFireTogether = true,
  654. RackRecoilDistance = 0,
  655. RackReloadTimeout = 10,
  656. RackSalvoChargeTime = 0,
  657. RackSalvoReloadTime = 0,
  658. RackSalvoSize = 1,
  659. RackSlavedToTurret = false,
  660. RangeCategory = 'UWRC_AntiNavy',
  661. RateOfFire = 0.25,
  662. TargetCheckInterval = 2,
  663. TargetPriorities = {
  664. 'SPECIALHIGHPRI',
  665. 'NAVAL MOBILE',
  666. 'SPECIALLOWPRI',
  667. 'ALLUNITS',
  668. },
  669. TargetRestrictDisallow = 'UNTARGETABLE',
  670. Turreted = false,
  671. WeaponCategory = 'Anti Navy',
  672. },
  673. {
  674. Audio = {
  675. RackSalvoBeginFire = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0103/snd_UIX0103_ExpAirDefense_AntiAir',
  676. },
  677. BallisticArc = 'RULEUBA_None',
  678. CannotAttackGround = true,
  679. CollideFriendly = false,
  680. Damage = 240,
  681. DamageFriendly = false,
  682. DamageRadius = 3,
  683. DamageType = 'Normal',
  684. DetonatesAtTargetHeight = true,
  685. DisplayName = 'Fizz Launcher',
  686. FireTargetLayerCaps = {
  687. Air = 'Air|Land',
  688. },
  689. FiringRandomness = 3,
  690. FiringTolerance = 3,
  691. HeadingArcCenter = 270,
  692. HeadingArcRange = 120,
  693. Label = 'AAFizz01',
  694. MaxRadius = 44,
  695. MuzzleSalvoDelay = 0,
  696. MuzzleSalvoSize = 1,
  697. MuzzleVelocity = 20,
  698. ProjectileId = '/projectiles/Illuminate/ICannon05/ICannon05_proj.bp',
  699. ProjectileLifetimeUsesMultiplier = 1.25,
  700. RackBones = {
  701. {
  702. MuzzleBones = {
  703. 'Left_Turret02_Muzzle01',
  704. 'Left_Turret02_Muzzle02',
  705. },
  706. RackBone = 'Left_Turret02_Barrel',
  707. },
  708. },
  709. RackFireTogether = true,
  710. RackRecoilDistance = 0,
  711. RackReloadTimeout = 10,
  712. RackSalvoChargeTime = 0,
  713. RackSalvoFiresAfterCharge = true,
  714. RackSalvoReloadTime = 0,
  715. RackSalvoSize = 1,
  716. RackSlavedToTurret = false,
  717. RangeCategory = 'UWRC_AntiAir',
  718. RateOfFire = 2,
  719. TargetCheckInterval = 0.25,
  720. TargetPriorities = {
  721. 'SPECIALHIGHPRI',
  722. 'AIR MOBILE',
  723. 'AIR MOBILE -INTELLIGENCE',
  724. 'SPECIALLOWPRI',
  725. 'ALLUNITS',
  726. },
  727. TargetRestrictDisallow = 'UNTARGETABLE,LAND,STRUCTURE,NAVAL',
  728. TargetRestrictOnlyAllow = 'AIR',
  729. TrackingRadius = 1.4,
  730. TurretBoneMuzzle = 'Left_Turret02_WepFocus',
  731. TurretBonePitch = 'Left_Turret02_Barrel',
  732. TurretBoneYaw = 'Left_Turret02',
  733. TurretDualManipulators = false,
  734. TurretPitch = 0,
  735. TurretPitchRange = 90,
  736. TurretPitchSpeed = 180,
  737. TurretYaw = 0,
  738. TurretYawRange = 90,
  739. TurretYawSpeed = 180,
  740. Turreted = true,
  741. WeaponCategory = 'Anti Air',
  742. WeaponRepackTimeout = 15,
  743. WeaponUnpackAnimation = '/units/UAB2204/UAB2204_Aactivate.sca',
  744. WeaponUnpackAnimationRate = 1,
  745. WeaponUnpacks = false,
  746. },
  747. {
  748. Audio = {
  749. RackSalvoBeginFire = 'SC2/SC2/Experimentals/ILLUMINATE/UIX0103/snd_UIX0103_ExpAirDefense_AntiAir',
  750. },
  751. BallisticArc = 'RULEUBA_None',
  752. CannotAttackGround = true,
  753. CollideFriendly = false,
  754. Damage = 240,
  755. DamageFriendly = false,
  756. DamageRadius = 3,
  757. DamageType = 'Normal',
  758. DetonatesAtTargetHeight = true,
  759. DisplayName = 'Fizz Launcher',
  760. FireTargetLayerCaps = {
  761. Air = 'Air|Land',
  762. },
  763. FiringRandomness = 3,
  764. FiringTolerance = 1,
  765. HeadingArcCenter = 90,
  766. HeadingArcRange = 120,
  767. Label = 'AAFizz02',
  768. MaxRadius = 44,
  769. MuzzleSalvoDelay = 0,
  770. MuzzleSalvoSize = 1,
  771. MuzzleVelocity = 20,
  772. PrefersPrimaryWeaponTarget = true,
  773. ProjectileId = '/projectiles/Illuminate/ICannon05/ICannon05_proj.bp',
  774. ProjectileLifetimeUsesMultiplier = 1.25,
  775. RackBones = {
  776. {
  777. MuzzleBones = {
  778. 'Right_Turret02_Muzzle01',
  779. 'Right_Turret02_Muzzle02',
  780. },
  781. RackBone = 'Right_Turret02_Barrel',
  782. },
  783. },
  784. RackFireTogether = true,
  785. RackRecoilDistance = 0,
  786. RackReloadTimeout = 10,
  787. RackSalvoChargeTime = 0,
  788. RackSalvoFiresAfterCharge = true,
  789. RackSalvoReloadTime = 0,
  790. RackSalvoSize = 1,
  791. RackSlavedToTurret = false,
  792. RangeCategory = 'UWRC_AntiAir',
  793. RateOfFire = 2,
  794. TargetCheckInterval = 0.25,
  795. TargetPriorities = {
  796. 'SPECIALHIGHPRI',
  797. 'AIR MOBILE',
  798. 'AIR MOBILE -INTELLIGENCE',
  799. 'SPECIALLOWPRI',
  800. 'ALLUNITS',
  801. },
  802. TargetRestrictDisallow = 'UNTARGETABLE,LAND,STRUCTURE,NAVAL',
  803. TargetRestrictOnlyAllow = 'AIR',
  804. TrackingRadius = 1.4,
  805. TurretBoneMuzzle = 'Right_Turret02_WepFocus',
  806. TurretBonePitch = 'Right_Turret02_Barrel',
  807. TurretBoneYaw = 'Right_Turret02',
  808. TurretDualManipulators = false,
  809. TurretPitch = 0,
  810. TurretPitchRange = 90,
  811. TurretPitchSpeed = 180,
  812. TurretYaw = 0,
  813. TurretYawRange = 90,
  814. TurretYawSpeed = 180,
  815. Turreted = true,
  816. WeaponCategory = 'Anti Air',
  817. WeaponRepackTimeout = 15,
  818. WeaponUnpackAnimation = '/units/UAB2204/UAB2204_Aactivate.sca',
  819. WeaponUnpackAnimationRate = 1,
  820. WeaponUnpacks = false,
  821. },
  822. {
  823. AboveWaterTargetsOnly = true,
  824. Damage = 15000,
  825. DamageFriendly = true,
  826. DamageRadius = 15,
  827. DamageType = 'Normal',
  828. DisplayName = 'Air Crash',
  829. DummyWeapon = true,
  830. Label = 'DeathImpact',
  831. WeaponCategory = 'Death',
  832. },
  833. },
  834. Wreckage = {
  835. Blueprint = '/props/DefaultWreckage/DefaultWreckage_prop.bp',
  836. EnergyMult = 0,
  837. HealthMult = 0.9,
  838. MassMult = 0.9,
  839. ReclaimTimeMultiplier = 1,
  840. WreckageLayers = {
  841. Air = false,
  842. Land = true,
  843. Seabed = false,
  844. Sub = false,
  845. Water = false,
  846. },
  847. },
  848. }
  849.  
  850.  
  851.  
  852.  
  853.  
  854. SCRIPT
  855.  
  856.  
  857.  
  858.  
  859.  
  860. --****************************************************************************
  861. --**
  862. --** File : /cdimage/units/UAA0310/UAA0310_script.lua
  863. --** Author(s): John Comes
  864. --**
  865. --** Summary : Aeon CZAR Script
  866. --**
  867. --** Copyright © 2006 Gas Powered Games, Inc. All rights reserved.
  868. --****************************************************************************
  869. local ExperimentalAirUnit = import('/lua/sim/ExperimentalAirUnit.lua').ExperimentalAirUnit
  870. local DefaultProjectileWeapon = import('/lua/sim/DefaultWeapons.lua').DefaultProjectileWeapon
  871. local DefaultBeamWeapon = import('/lua/sim/DefaultWeapons.lua').DefaultBeamWeapon
  872. local DarkenoidMainCollisionBeam = import('/lua/sim/defaultcollisionbeams.lua').DarkenoidMainCollisionBeam
  873. local utilities = import('/lua/system/Utilities.lua')
  874. local RandomFloat = utilities.GetRandomFloat
  875.  
  876. UAA0310 = Class(ExperimentalAirUnit) {
  877. DestroyNoFallRandomChance = 1.1,
  878. Weapons = {
  879.  
  880. QuantumBeamGeneratorWeapon = Class(DefaultBeamWeapon){
  881. BeamType = DarkenoidMainCollisionBeam,
  882. },
  883. SonicPulseBattery1 = Class(DefaultProjectileWeapon) {},
  884. SonicPulseBattery2 = Class(DefaultProjectileWeapon) {},
  885. SonicPulseBattery3 = Class(DefaultProjectileWeapon) {},
  886. SonicPulseBattery4 = Class(DefaultProjectileWeapon) {},
  887. DepthCharge01 = Class(DefaultProjectileWeapon) {},
  888. DepthCharge02 = Class(DefaultProjectileWeapon) {},
  889. AAFizz01 = Class(DefaultProjectileWeapon) {},
  890. AAFizz02 = Class(DefaultProjectileWeapon) {},
  891. },
  892.  
  893. OnCreate = function(self, createArgs)
  894. ExperimentalAirUnit.OnCreate(self, createArgs)
  895. self.UnitBeingBuilt = nil
  896.  
  897. self.EngineRotateBones = {'VTOL01', 'VTOL02', 'VTOL03', 'VTOL04', 'VTOL05', 'VTOL06', 'VTOL07', 'VTOL08' }
  898. self.EngineManipulators = {}
  899.  
  900. -- create the engine thrust manipulators
  901. for key, value in self.EngineRotateBones do
  902. table.insert(self.EngineManipulators, CreateThrustController(self, "thruster", value))
  903. end
  904.  
  905. -- set up the thursting arcs for the engines
  906. for k,v in self.EngineManipulators do
  907. -- minRoll, maxRoll, minPitch, maxPitch, minYaw, maxYaw, turnForceMult, turnSpeed
  908. v:SetThrustingParam( -0.5, 0.5, -0.5, 0.5, 0, 0, 150, 0.02 )
  909. end
  910.  
  911. for k, v in self.EngineManipulators do
  912. self.Trash:Add(v)
  913. end
  914. end,
  915.  
  916. CreateExplosionDebris = function( self, army, bone )
  917. for k, v in EffectTemplates.Units.Illuminate.Experimental.UIX0111.Death02 do
  918. CreateAttachedEmitter( self, bone, army, v ):OffsetEmitter( 0, 0, 0 )
  919. end
  920. end,
  921.  
  922. CreateUnitAirDestructionEffects = function( self, scale )
  923. local army = self:GetArmy()
  924.  
  925. for k, v in EffectTemplates.Explosions.Air.UEFDefaultDestroyEffectsAir01 do
  926. CreateAttachedEmitter( self, 'UUX0112', army, v ):OffsetEmitter( 0, 6, 0 ):ScaleEmitter( 3 )
  927. end
  928.  
  929. self:CreateExplosionDebris( army, 'VTOL01' )
  930. self:CreateExplosionDebris( army, 'VTOL03' )
  931. self:CreateExplosionDebris( army, 'VTOL05' )
  932. self:CreateExplosionDebris( army, 'VTOL07' )
  933. end,
  934.  
  935. CreateUnitWaterImpactEffect = function( self )
  936. local sx, sy, sz = self:GetUnitSizes()
  937. local vol = sx * sz
  938. for k, v in EffectTemplates.WaterSplash01 do
  939. CreateEmitterAtEntity( self, self:GetArmy(), v ):ScaleEmitter(vol/80)
  940. end
  941.  
  942. self:DestroyAllDamageEffects()
  943. self:DestroyDestroyedEffects()
  944. self:CreateUnitWaterTrailEffect( self )
  945. --self:Destroy()
  946. end,
  947.  
  948. -- ON KILLED: THIS FUNCTION PLAYS WHEN THE UNIT TAKES A MORTAL HIT. IT PLAYS ALL THE DEFAULT DEATH EFFECT
  949. -- IT ALSO SPAWNS THE WRECKAGE BASED UPON HOW MUCH IT WAS OVERKILLED. UNIT WILL SPIN OUT OF CONTROL TOWARDS
  950. -- GROUND AND WHEN IT IMPACTS IT WILL DESTROY ITSELF
  951. OnKilled = function(self, instigator, type, overkillRatio)
  952. local bp = self:GetBlueprint()
  953. if self:GetCurrentLayer() == 'Air' then
  954.  
  955. self.CreateUnitAirDestructionEffects( self, 1.0 )
  956. self:CreateUnitDestructionDebris()
  957. self.OverKillRatio = overkillRatio
  958. self:PlayUnitSound('Killed')
  959. self:PlayUnitAmbientSound('FallingLoop')
  960. self:OnKilledVO()
  961. self.Callbacks.OnKilled:Call(self, instigator, type)
  962. if instigator and IsUnit(instigator) then
  963. instigator:OnKilledUnit(self)
  964. end
  965. else
  966. self.DeathBounce = 1
  967. if instigator and IsUnit(instigator) then
  968. instigator:OnKilledUnit(self)
  969. end
  970. ExperimentalAirUnit.OnKilled(self, instigator, type, overkillRatio)
  971. end
  972. end,
  973.  
  974. OnImpact = function(self, with, other)
  975. if not self:IsDead() then
  976. return
  977. end
  978.  
  979. -- Damage the area we have impacted with.
  980. local bp = self:GetUnitWeaponBlueprint('DeathImpact')
  981. if bp then
  982. DamageArea(self, self:GetPosition(), bp.DamageRadius, bp.Damage, bp.DamageType, bp.DamageFriendly)
  983. end
  984.  
  985. -- Ground decal
  986. CreateDecal(self:GetPosition(),RandomFloat(0,2*math.pi),'/textures/Terrain/Decals/scorch_001_diffuse.dds', '', '', 20, 20, 60, 60, self:GetArmy(), 5)
  987.  
  988. self:ShakeCamera(20, 4, 2, 2.0)
  989.  
  990. self:StopUnitAmbientSound('FallingLoop')
  991.  
  992. if with == 'Water' then
  993. self:PlayUnitSound('AirUnitWaterImpact')
  994. self:PlayUnitAmbientSound('Sinking')
  995. self:ForkThread(self.CreateUnitWaterImpactEffect)
  996. else
  997. -- This is a bit of safety to keep us from calling the death thread twice in case we bounce twice quickly
  998. if not self.DeathBounce then
  999. self:StopUnitAmbientSound('Sinking')
  1000. self:ForkThread(self.DeathThread, self.OverKillRatio )
  1001. self.DeathBounce = 1
  1002. end
  1003. end
  1004. end,
  1005.  
  1006. BuildAttachBone = 'UAA0310',
  1007.  
  1008. OnStopBeingBuilt = function(self,builder,layer)
  1009. ExperimentalAirUnit.OnStopBeingBuilt(self,builder,layer)
  1010. self:DetachAll(self.BuildAttachBone)
  1011. end,
  1012.  
  1013. OnStartBuild = function(self, unitBuilding, order)
  1014. ExperimentalAirUnit.OnStartBuild(self, unitBuilding, order)
  1015.  
  1016. self.UnitBeingBuilt = unitBuilding
  1017. unitBuilding:SetDoNotTarget(true)
  1018. unitBuilding:SetCanTakeDamage(false)
  1019. unitBuilding:SetUnSelectable(true)
  1020. unitBuilding:HideMesh()
  1021. local bone = self.BuildAttachBone
  1022. self:DetachAll(bone)
  1023. unitBuilding:AttachBoneTo(-2, self, bone)
  1024. self.UnitDoneBeingBuilt = false
  1025. end,
  1026.  
  1027. OnStopBuild = function(self, unitBeingBuilt)
  1028. if not unitBeingBuilt or unitBeingBuilt:IsDead() then
  1029. return
  1030. end
  1031.  
  1032. -- Callbacks
  1033. ExperimentalAirUnit.ClassCallbacks.OnStopBuild:Call( self, unitBeingBuilt )
  1034. self.Callbacks.OnStopBuild:Call( self, unitBeingBuilt )
  1035.  
  1036. unitBeingBuilt:DetachFrom(true)
  1037. unitBeingBuilt:SetDoNotTarget(false)
  1038. unitBeingBuilt:SetCanTakeDamage(true)
  1039. unitBeingBuilt:SetUnSelectable(false)
  1040. self:DetachAll(self.BuildAttachBone)
  1041. if self:TransportHasAvailableStorage(unitBeingBuilt) then
  1042. self:TransportAddUnitToStorage(unitBeingBuilt)
  1043. else
  1044. local worldPos = self:CalculateWorldPositionFromRelative({0, 0, -20})
  1045. IssueMoveOffFactory({unitBeingBuilt}, worldPos)
  1046. unitBeingBuilt:ShowMesh()
  1047. end
  1048.  
  1049. -- If there are no available storage slots, pause the builder!
  1050. if self:GetNumberOfAvailableStorageSlots() == 0 then
  1051. self:SetBuildDisabled(true)
  1052. self:SetPaused(true)
  1053. end
  1054.  
  1055. self.UnitBeingBuilt = nil
  1056. self:RequestRefreshUI()
  1057. end,
  1058.  
  1059. OnFailedToBuild = function(self)
  1060. ExperimentalAirUnit.OnFailedToBuild(self)
  1061. self:DetachAll(self.BuildAttachBone)
  1062. end,
  1063.  
  1064. OnTransportUnloadUnit = function(self,unit)
  1065. if self:IsBuildDisabled() and self:GetNumberOfAvailableStorageSlots() > 0 then
  1066. self:SetBuildDisabled(false)
  1067. self:RequestRefreshUI()
  1068. end
  1069. end,
  1070.  
  1071. SeaFloorImpactEffects = function(self)
  1072. local sx, sy, sz = self:GetUnitSizes()
  1073. volume = sx * sz
  1074. CreateAttachedEmitter(self,-2,self:GetArmy(),'/effects/emitters/units/general/event/death/destruction_underwater_seafloordust_01_emit.bp'):ScaleEmitter(volume/80)
  1075. end,
  1076. },
  1077. }
  1078.  
  1079. TypeClass = UAA0310
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement