aircraft_laser_gun.hpp 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. class macro_new_ammo(generic_aircraft_laser_gun_red) : B_35mm_AA_Tracer_Red
  2. {
  3. aiAmmoUsageFlags = "64 + 128 + 256 + 512";
  4. allowAgainstInfantry = 1;
  5. cmImmunity = 1;
  6. soundSetBulletFly[] = {"SWOP_HEAVYBullet_FlyBy_SoundSet"};
  7. soundSetSonicCrack[] = {"SWOP_SC_blaster_SoundSet"};
  8. airLock = 1;
  9. hit = 90;
  10. indirectHit = 55;
  11. indirectHitRange = 2;
  12. caliber = 1;
  13. explosive = 0.9;
  14. cost = 1;
  15. model = "\SWOP_Main\Effects\Tracer\laserred";
  16. tracerScale = 1;
  17. brightness = 100000;
  18. tracerColor[] = {"Red"};
  19. tracerStartTime = 0;
  20. tracerEndTime = 10;
  21. timetolive = 3;
  22. nvgOnly = 0;
  23. typicalSpeed = 125;
  24. coefGravity = 0;
  25. visibleFire = 32;
  26. audibleFire = 32;
  27. visibleFireTime = 4;
  28. dangerRadiusBulletClose = 16;
  29. dangerRadiusHit = 40;
  30. suppressionRadiusBulletClose = 10;
  31. suppressionRadiusHit = 14;
  32. craterEffects = "";
  33. explosionEffects = "ExploAmmoExplosion";
  34. effectFly = "SWOP_RedLaserEffect";
  35. airFriction = 0;
  36. muzzleEffect = "";
  37. deflecting = 0;
  38. initTime = 0;
  39. gravityFactor = 0;
  40. ACE_caliber=0.1;
  41. weaponLockSystem = "1 + 2 4 + 8 + 16";
  42. class Components
  43. {
  44. class SensorsManagerComponent
  45. {
  46. class components
  47. {
  48. class IRSensorComponent: SensorTemplateIR
  49. {
  50. typeRecognitionDistance = 16000;
  51. angleRangeHorizontal = 360;
  52. angleRangeVertical = 360;
  53. groundNoiseDistanceCoef = -1;
  54. maxGroundNoiseDistance = 1600;
  55. minSpeedThreshold = 0;
  56. maxSpeedThreshold = 2000;
  57. class AirTarget
  58. {
  59. minRange = 0;
  60. maxRange = 16000;
  61. objectDistanceLimitCoef = -1;
  62. viewDistanceLimitCoef = -1;
  63. };
  64. class GroundTarget
  65. {
  66. minRange = 0;
  67. maxRange = 16000;
  68. objectDistanceLimitCoef = -1;
  69. viewDistanceLimitCoef = -1;
  70. };
  71. };
  72. class NVSensorComponent: SensorTemplateNV
  73. {
  74. typeRecognitionDistance = 16000;
  75. angleRangeHorizontal = 360;
  76. angleRangeVertical = 360;
  77. groundNoiseDistanceCoef = -1;
  78. maxGroundNoiseDistance = 1600;
  79. minSpeedThreshold = 0;
  80. maxSpeedThreshold = 2000;
  81. class AirTarget
  82. {
  83. minRange = 0;
  84. maxRange = 16000;
  85. objectDistanceLimitCoef = -1;
  86. viewDistanceLimitCoef = -1;
  87. };
  88. class GroundTarget
  89. {
  90. minRange = 0;
  91. maxRange = 16000;
  92. objectDistanceLimitCoef = -1;
  93. viewDistanceLimitCoef = -1;
  94. };
  95. };
  96. class LaserSensorComponent: SensorTemplateLaser
  97. {
  98. typeRecognitionDistance = 16000;
  99. angleRangeHorizontal = 360;
  100. angleRangeVertical = 360;
  101. groundNoiseDistanceCoef = -1;
  102. maxGroundNoiseDistance = 1600;
  103. minSpeedThreshold = 0;
  104. maxSpeedThreshold = 2000;
  105. class AirTarget
  106. {
  107. minRange = 0;
  108. maxRange = 16000;
  109. objectDistanceLimitCoef = -1;
  110. viewDistanceLimitCoef = -1;
  111. };
  112. class GroundTarget
  113. {
  114. minRange = 0;
  115. maxRange = 16000;
  116. objectDistanceLimitCoef = -1;
  117. viewDistanceLimitCoef = -1;
  118. };
  119. };
  120. class ActiveRadarSensorComponent: SensorTemplateActiveRadar
  121. {
  122. typeRecognitionDistance = 16000;
  123. angleRangeHorizontal = 360;
  124. angleRangeVertical = 360;
  125. groundNoiseDistanceCoef = -1;
  126. maxGroundNoiseDistance = 1600;
  127. minSpeedThreshold = 0;
  128. maxSpeedThreshold = 2000;
  129. class AirTarget
  130. {
  131. minRange = 0;
  132. maxRange = 16000;
  133. objectDistanceLimitCoef = -1;
  134. viewDistanceLimitCoef = -1;
  135. };
  136. class GroundTarget
  137. {
  138. minRange = 0;
  139. maxRange = 16000;
  140. objectDistanceLimitCoef = -1;
  141. viewDistanceLimitCoef = -1;
  142. };
  143. };
  144. class PassiveRadarSensorComponent: SensorTemplatePassiveRadar
  145. {
  146. typeRecognitionDistance = 16000;
  147. angleRangeHorizontal = 360;
  148. angleRangeVertical = 360;
  149. groundNoiseDistanceCoef = -1;
  150. maxGroundNoiseDistance = 1600;
  151. minSpeedThreshold = 0;
  152. maxSpeedThreshold = 2000;
  153. class AirTarget
  154. {
  155. minRange = 0;
  156. maxRange = 16000;
  157. objectDistanceLimitCoef = -1;
  158. viewDistanceLimitCoef = -1;
  159. };
  160. class GroundTarget
  161. {
  162. minRange = 0;
  163. maxRange = 16000;
  164. objectDistanceLimitCoef = -1;
  165. viewDistanceLimitCoef = -1;
  166. };
  167. };
  168. class VisualSensorComponent: SensorTemplateVisual
  169. {
  170. typeRecognitionDistance = 16000;
  171. angleRangeHorizontal = 360;
  172. angleRangeVertical = 360;
  173. groundNoiseDistanceCoef = -1;
  174. maxGroundNoiseDistance = 1600;
  175. minSpeedThreshold = 0;
  176. maxSpeedThreshold = 2000;
  177. class AirTarget
  178. {
  179. minRange = 0;
  180. maxRange = 16000;
  181. objectDistanceLimitCoef = -1;
  182. viewDistanceLimitCoef = -1;
  183. };
  184. class GroundTarget
  185. {
  186. minRange = 0;
  187. maxRange = 16000;
  188. objectDistanceLimitCoef = -1;
  189. viewDistanceLimitCoef = -1;
  190. };
  191. };
  192. class ManSensorComponent: SensorTemplateMan
  193. {
  194. typeRecognitionDistance = 16000;
  195. angleRangeHorizontal = 360;
  196. angleRangeVertical = 360;
  197. groundNoiseDistanceCoef = -1;
  198. maxGroundNoiseDistance = 1600;
  199. minSpeedThreshold = 0;
  200. maxSpeedThreshold = 2000;
  201. class AirTarget
  202. {
  203. minRange = 0;
  204. maxRange = 16000;
  205. objectDistanceLimitCoef = -1;
  206. viewDistanceLimitCoef = -1;
  207. };
  208. class GroundTarget
  209. {
  210. minRange = 0;
  211. maxRange = 16000;
  212. objectDistanceLimitCoef = -1;
  213. viewDistanceLimitCoef = -1;
  214. };
  215. };
  216. class DataLinkSensorComponent: SensorTemplateDataLink
  217. {
  218. typeRecognitionDistance = 16000;
  219. angleRangeHorizontal = 360;
  220. angleRangeVertical = 360;
  221. groundNoiseDistanceCoef = -1;
  222. maxGroundNoiseDistance = 1600;
  223. minSpeedThreshold = 0;
  224. maxSpeedThreshold = 2000;
  225. class AirTarget
  226. {
  227. minRange = 0;
  228. maxRange = 16000;
  229. objectDistanceLimitCoef = -1;
  230. viewDistanceLimitCoef = -1;
  231. };
  232. class GroundTarget
  233. {
  234. minRange = 0;
  235. maxRange = 16000;
  236. objectDistanceLimitCoef = -1;
  237. viewDistanceLimitCoef = -1;
  238. };
  239. };
  240. };
  241. };
  242. };
  243. };
  244. class macro_new_ammo(generic_aircraft_laser_gun_blue) : macro_new_ammo(generic_aircraft_laser_gun_red)
  245. {
  246. model = "\SWOP_Main\Effects\Tracer\laserblue";
  247. tracerColor[] = {"Blue"};
  248. muzzleEffect = "";
  249. effectFly = "SWOP_BlueLaserEffect";
  250. };
  251. class macro_new_ammo(generic_aircraft_laser_gun_green) : macro_new_ammo(generic_aircraft_laser_gun_red)
  252. {
  253. model = "\SWOP_Main\Effects\Tracer\LaserGreen";
  254. effectFly = "SWOP_greenLaserEffect";
  255. tracerColor[] = {"Green"};
  256. muzzleEffect = "";
  257. };
  258. class macro_new_ammo(generic_aircraft_laser_gun_purple) : macro_new_ammo(generic_aircraft_laser_gun_red)
  259. {
  260. model = "\GeonFighter\LaserGeon.p3d";
  261. effectFly = "SWOP_RedLaserEffect";
  262. tracerColor[] = {0.4,0,0.5,1};
  263. };
  264. class macro_new_ammo(generic_aircraft_laser_gun_praetorian): macro_new_ammo(generic_aircraft_laser_gun_purple)
  265. {
  266. hit = 15;
  267. indirectHit = 7;
  268. indirectHitRange = 0.5;
  269. explosive = 0.2;
  270. };
  271. class macro_new_ammo(generic_kannon) : macro_new_ammo(generic_aircraft_laser_gun_red)
  272. {
  273. hit = 6000;
  274. indirectHit = 4000;
  275. indirectHitRange = 12;
  276. caliber = 6;
  277. explosive = 1;
  278. aiAmmoUsageFlags = "64 + 128 + 256 + 512";
  279. simulation = "shotShell";
  280. CraterEffects = "ATRocketCrater";
  281. effectsFire = "CannonFire";
  282. ExplosionEffects = "MortarExplosion";
  283. explosionSoundEffect = "DefaultExplosion";
  284. tracerScale = 10;
  285. soundSetBulletFly[] = {"SWOP_HEAVYBullet_FlyBy_SoundSet"};
  286. soundHit1[] = {"A3\Sounds_F\arsenal\weapons\Launchers\Titan\Explosion_titan_missile_01",2.51189,1,2000};
  287. soundHit2[] = {"A3\Sounds_F\arsenal\weapons\Launchers\Titan\Explosion_titan_missile_02",2.51189,1,2000};
  288. soundHit3[] = {"A3\Sounds_F\arsenal\weapons\Launchers\Titan\Explosion_titan_missile_03",2.51189,1,2000};
  289. SoundSetExplosion[] = {"Shell155mm_Exp_SoundSet","Shell155mm_Tail_SoundSet","Explosion_Debris_SoundSet"};
  290. soundSetSonicCrack[] = {"bulletSonicCrack_SoundSet","bulletSonicCrackTail_SoundSet"};
  291. supersonicCrackFar[] = {"A3\Sounds_F\weapons\Explosion\supersonic_crack_50meters",0.223872,1,150};
  292. supersonicCrackNear[] = {"A3\Sounds_F\weapons\Explosion\supersonic_crack_close",0.316228,1,50};
  293. };