config.cpp 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556
  1. #include "../../RD501_main/config_macros.hpp"
  2. class CfgPatches
  3. {
  4. class macro_patch_name(B1)
  5. {
  6. addonRootClass=macro_patch_name(droids_config);
  7. requiredAddons[] = {
  8. macro_patch_name(droids_config),
  9. "JLTS_characters_DroidArmor"
  10. };
  11. requiredVersion = 0.1;
  12. units[] = {
  13. macro_new_unit_class(opfor,B1),
  14. macro_new_unit_class(opfor,B1_marine),
  15. macro_new_unit_class(opfor,B1_security),
  16. macro_new_unit_class(opfor,B1_commander),
  17. macro_new_unit_class(opfor,B1_pilot),
  18. macro_new_unit_class(opfor,B1_crew),
  19. macro_new_unit_class(opfor,B1_prototype),
  20. macro_new_unit_class(opfor,B1_heavy),
  21. macro_new_unit_class(opfor,B1_AT),
  22. macro_new_unit_class(opfor,B1_marksmen),
  23. macro_new_unit_class(opfor,B1_shotgun)
  24. };
  25. };
  26. };
  27. class CfgVehicles
  28. {
  29. class JLTS_Droid_B1_E5;
  30. //basic unit
  31. class macro_new_unit_class(opfor,B1): JLTS_Droid_B1_E5
  32. {
  33. JLTS_isDroid = 1;
  34. JLTS_hasEMPProtection = 0;
  35. JLTS_deathSounds = "DeathDroid";
  36. author = "RD501";
  37. scope = 2;
  38. displayName = "B1 Battle Droid";
  39. faction = macro_cis_faction
  40. editorSubcategory = macro_editor_cat(B1)
  41. uniformClass=JLTS_DroidB1;
  42. linkeditems[]=
  43. {
  44. "ItemGPS",
  45. "ItemMap",
  46. "ItemCompass",
  47. "ItemWatch",
  48. "JLTS_droid_comlink"
  49. };
  50. respawnlinkeditems[]=
  51. {
  52. "ItemGPS",
  53. "ItemMap",
  54. "ItemCompass",
  55. "ItemWatch",
  56. "JLTS_droid_comlink"
  57. };
  58. weapons[]=
  59. {
  60. "JLTS_E5"
  61. };
  62. respawnWeapons[]=
  63. {
  64. "JLTS_E5"
  65. };
  66. magazines[]=
  67. {
  68. "JLTS_E5_mag",
  69. "JLTS_E5_mag",
  70. "JLTS_E5_mag",
  71. "JLTS_E5_mag",
  72. "JLTS_E5_mag",
  73. "JLTS_E5_mag",
  74. "JLTS_E5_mag",
  75. "JLTS_E5_mag"
  76. };
  77. respawnMagazines[]=
  78. {
  79. "JLTS_E5_mag",
  80. "JLTS_E5_mag",
  81. "JLTS_E5_mag",
  82. "JLTS_E5_mag",
  83. "JLTS_E5_mag",
  84. "JLTS_E5_mag",
  85. "JLTS_E5_mag",
  86. "JLTS_E5_mag"
  87. };
  88. cost=600000;
  89. genericNames="NATOMen";
  90. ISmaxTurn=20;
  91. class HitPoints
  92. {
  93. class HitAbdomen
  94. {
  95. armor=15;
  96. explosionShielding=0.25;
  97. material=-1;
  98. minimalHit=0.0099999998;
  99. name="spine1";
  100. passThrough=0.5;
  101. radius=0.15000001;
  102. visual="injury_body";
  103. };
  104. class HitArms
  105. {
  106. armor=15;
  107. explosionShielding=0.25;
  108. material=-1;
  109. minimalHit=0.0099999998;
  110. name="arms";
  111. passThrough=1;
  112. radius=0.1;
  113. visual="injury_hands";
  114. };
  115. class HitBody
  116. {
  117. armor=1000;
  118. depends="HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
  119. explosionShielding=2;
  120. material=-1;
  121. minimalHit=0.0099999998;
  122. name="body";
  123. passThrough=0.5;
  124. radius=0.16;
  125. visual="injury_body";
  126. };
  127. class HitChest
  128. {
  129. armor=15;
  130. explosionShielding=2;
  131. material=-1;
  132. minimalHit=0.0099999998;
  133. name="spine3";
  134. passThrough=0.5;
  135. radius=0.15000001;
  136. visual="injury_body";
  137. };
  138. class HitDiaphragm
  139. {
  140. armor=15;
  141. explosionShielding=2;
  142. material=-1;
  143. minimalHit=0.0099999998;
  144. name="spine2";
  145. passThrough=0.5;
  146. radius=0.15000001;
  147. visual="injury_body";
  148. };
  149. class HitFace
  150. {
  151. armor=2;
  152. explosionShielding=0.1;
  153. material=-1;
  154. minimalHit=0.0099999998;
  155. name="face_hub";
  156. passThrough=0.5;
  157. radius=0.079999998;
  158. };
  159. class HitHands
  160. {
  161. armor=15;
  162. depends="HitArms";
  163. explosionShielding=0.25;
  164. material=-1;
  165. minimalHit=0.0099999998;
  166. name="hands";
  167. passThrough=1;
  168. radius=0.1;
  169. visual="injury_hands";
  170. };
  171. class HitHead
  172. {
  173. armor=2;
  174. depends="HitFace max HitNeck";
  175. explosionShielding=0.1;
  176. material=-1;
  177. minimalHit=0.0099999998;
  178. name="head";
  179. passThrough=0.5;
  180. radius=0.2;
  181. };
  182. class HitLeftArm
  183. {
  184. armor=1;
  185. explosionShielding=0.25;
  186. material=-1;
  187. minimalHit=0.0099999998;
  188. name="hand_l";
  189. passThrough=0.1;
  190. radius=0.1;
  191. visual="injury_hands";
  192. };
  193. class HitLeftLeg
  194. {
  195. armor=1;
  196. explosionShielding=0.25;
  197. material=-1;
  198. minimalHit=0.0099999998;
  199. name="leg_l";
  200. passThrough=0.1;
  201. radius=0.1;
  202. visual="injury_hands";
  203. };
  204. class HitLegs
  205. {
  206. armor=15;
  207. explosionShielding=0.25;
  208. material=-1;
  209. minimalHit=0.0099999998;
  210. name="legs";
  211. passThrough=1;
  212. radius=0.12;
  213. visual="injury_legs";
  214. };
  215. class HitNeck
  216. {
  217. armor=5;
  218. explosionShielding=0.1;
  219. material=-1;
  220. minimalHit=0.0099999998;
  221. name="neck";
  222. passThrough=0.5;
  223. radius=0.1;
  224. };
  225. class HitPelvis
  226. {
  227. armor=15;
  228. explosionShielding=0.25;
  229. material=-1;
  230. minimalHit=0.0099999998;
  231. name="pelvis";
  232. passThrough=0.25;
  233. radius=0.2;
  234. visual="injury_body";
  235. };
  236. class HitRightArm
  237. {
  238. armor=1;
  239. explosionShielding=0.25;
  240. material=-1;
  241. minimalHit=0.0099999998;
  242. name="hand_r";
  243. passThrough=0.1;
  244. radius=0.1;
  245. visual="injury_hands";
  246. };
  247. class HitRightLeg
  248. {
  249. armor=1;
  250. explosionShielding=0.25;
  251. material=-1;
  252. minimalHit=0.0099999998;
  253. name="leg_r";
  254. passThrough=0.1;
  255. radius=0.1;
  256. visual="injury_hands";
  257. };
  258. class Incapacitated
  259. {
  260. armor=1000;
  261. depends="(((Total - 0.25) max 0) + ((HitHead - 0.25) max 0) + ((HitBody - 0.25) max 0)) * 2";
  262. explosionShielding=1;
  263. material=-1;
  264. minimalHit=0;
  265. name="body";
  266. passThrough=1;
  267. radius=0;
  268. visual="";
  269. };
  270. };
  271. };
  272. class macro_new_unit_class(opfor,B1_marine): macro_new_unit_class(opfor,B1)
  273. {
  274. displayName="B1 Battledroid Marine";
  275. hiddenSelectionsTextures[] = {
  276. macro_b1_textures\b1_marine_co.paa
  277. };
  278. uniformClass=JLTS_DroidB1_Marine;
  279. };
  280. class macro_new_unit_class(opfor,B1_security): macro_new_unit_class(opfor,B1)
  281. {
  282. displayName="B1 Battledroid Security";
  283. hiddenSelectionsTextures[] = {
  284. macro_b1_textures\b1_security_co.paa
  285. };
  286. uniformClass=JLTS_DroidB1_Security;
  287. backpack="";
  288. };
  289. class macro_new_unit_class(opfor,B1_commander): macro_new_unit_class(opfor,B1)
  290. {
  291. displayName="B1 Battledroid Commander";
  292. hiddenSelectionsTextures[] = {
  293. macro_b1_textures\b1_commander_co.paa
  294. };
  295. uniformClass=JLTS_DroidB1_Commander;
  296. backpack="JLTS_B1_antenna";
  297. weapons[]=
  298. {
  299. "JLTS_RG4D"
  300. };
  301. respawnWeapons[]=
  302. {
  303. "JLTS_RG4D"
  304. };
  305. magazines[]=
  306. {
  307. "JLTS_RG4D_mag",
  308. "JLTS_RG4D_mag",
  309. "JLTS_RG4D_mag",
  310. "JLTS_RG4D_mag",
  311. "JLTS_RG4D_mag",
  312. "JLTS_RG4D_mag",
  313. "JLTS_RG4D_mag",
  314. "SWOP_BCCKtermimploder_G",
  315. "SWOP_BCCKtermimploder_G"
  316. };
  317. respawnMagazines[]=
  318. {
  319. "JLTS_RG4D_mag",
  320. "JLTS_RG4D_mag",
  321. "JLTS_RG4D_mag",
  322. "JLTS_RG4D_mag",
  323. "JLTS_RG4D_mag",
  324. "JLTS_RG4D_mag",
  325. "SWOP_BCCKtermimploder_G",
  326. "SWOP_BCCKtermimploder_G"
  327. };
  328. };
  329. class macro_new_unit_class(opfor,B1_pilot): macro_new_unit_class(opfor,B1)
  330. {
  331. displayName="B1 Battledroid Pilot";
  332. hiddenSelectionsTextures[] = {
  333. macro_b1_textures\b1_pilot_co.paa
  334. };
  335. uniformClass=JLTS_DroidB1_Pilot;
  336. backpack="";
  337. weapons[]=
  338. {
  339. "JLTS_RG4D"
  340. };
  341. respawnWeapons[]=
  342. {
  343. "JLTS_RG4D"
  344. };
  345. magazines[]=
  346. {
  347. "JLTS_RG4D_mag",
  348. "JLTS_RG4D_mag",
  349. "JLTS_RG4D_mag",
  350. "JLTS_RG4D_mag",
  351. "JLTS_RG4D_mag",
  352. "JLTS_RG4D_mag",
  353. "JLTS_RG4D_mag",
  354. "FirstAidKit",
  355. "FirstAidKit",
  356. "FirstAidKit"
  357. };
  358. respawnMagazines[]=
  359. {
  360. "JLTS_RG4D_mag",
  361. "JLTS_RG4D_mag",
  362. "JLTS_RG4D_mag",
  363. "JLTS_RG4D_mag",
  364. "JLTS_RG4D_mag",
  365. "JLTS_RG4D_mag",
  366. "JLTS_RG4D_mag",
  367. "FirstAidKit",
  368. "FirstAidKit",
  369. "FirstAidKit"
  370. };
  371. };
  372. class macro_new_unit_class(opfor,B1_crew): macro_new_unit_class(opfor,B1)
  373. {
  374. displayName="B1 Battledroid Crew";
  375. hiddenSelectionsTextures[] = {
  376. macro_b1_textures\b1_crew_co.paa
  377. };
  378. uniformClass=JLTS_DroidB1_Crew;
  379. };
  380. class macro_new_unit_class(opfor,B1_prototype): macro_new_unit_class(opfor,B1)
  381. {
  382. displayName="B1 Battledroid Prototype";
  383. hiddenSelectionsTextures[] = {
  384. macro_b1_textures\b1_prototype_co.paa
  385. };
  386. uniformClass=JLTS_DroidB1_Prototype;
  387. backpack="JLTS_B1_backpack_prototype";
  388. };
  389. //fancy units
  390. class macro_new_unit_class(opfor,B1_heavy): macro_new_unit_class(opfor,B1_security)
  391. {
  392. displayName="B1 Battledroid (Heavy)";
  393. backpack="JLTS_B1_backpack";
  394. weapons[]=
  395. {
  396. "SWOP_E5C"
  397. };
  398. respawnWeapons[]=
  399. {
  400. "SWOP_E5C"
  401. };
  402. magazines[]=
  403. {
  404. "SWOP_E5C_Mag",
  405. "SWOP_E5C_Mag",
  406. "SWOP_E5C_Mag",
  407. "SWOP_E5C_Mag",
  408. "SWOP_E5C_Mag",
  409. "SWOP_E5C_Mag",
  410. "SWOP_E5C_Mag",
  411. "SWOP_E5C_Mag"
  412. };
  413. respawnMagazines[]=
  414. {
  415. "SWOP_E5C_Mag",
  416. "SWOP_E5C_Mag",
  417. "SWOP_E5C_Mag",
  418. "SWOP_E5C_Mag",
  419. "SWOP_E5C_Mag",
  420. "SWOP_E5C_Mag",
  421. "SWOP_E5C_Mag",
  422. "SWOP_E5C_Mag"
  423. };
  424. };
  425. class macro_new_unit_class(opfor,B1_AT): macro_new_unit_class(opfor,B1_security)
  426. {
  427. displayName="B1 Battledroid (AT)";
  428. backpack="JLTS_B1_backpack";
  429. weapons[]=
  430. {
  431. "JLTS_E5",
  432. "JLTS_E60R_AT"
  433. };
  434. respawnWeapons[]=
  435. {
  436. "JLTS_E5",
  437. "JLTS_E60R_AT"
  438. };
  439. magazines[]=
  440. {
  441. "JLTS_E5_mag",
  442. "JLTS_E5_mag",
  443. "JLTS_E5_mag",
  444. "JLTS_E5_mag",
  445. "JLTS_E5_mag",
  446. "JLTS_E5_mag",
  447. "JLTS_E5_mag",
  448. "JLTS_E5_mag",
  449. "JLTS_E60R_AT_mag",
  450. "JLTS_E60R_AT_mag",
  451. "JLTS_E60R_AT_mag",
  452. "JLTS_E60R_AT_mag"
  453. };
  454. respawnMagazines[]=
  455. {
  456. "JLTS_E5_mag",
  457. "JLTS_E5_mag",
  458. "JLTS_E5_mag",
  459. "JLTS_E5_mag",
  460. "JLTS_E5_mag",
  461. "JLTS_E5_mag",
  462. "JLTS_E5_mag",
  463. "JLTS_E5_mag",
  464. "JLTS_E60R_AT_mag",
  465. "JLTS_E60R_AT_mag",
  466. "JLTS_E60R_AT_mag",
  467. "JLTS_E60R_AT_mag"
  468. };
  469. backpack=""
  470. };
  471. class macro_new_unit_class(opfor,B1_marksmen): macro_new_unit_class(opfor,B1)
  472. {
  473. displayName="B1 Battledroid (Marksman)";
  474. weapons[]=
  475. {
  476. "JLTS_E5S"
  477. };
  478. respawnWeapons[]=
  479. {
  480. "JLTS_E5S"
  481. };
  482. magazines[]=
  483. {
  484. "JLTS_E5S_mag",
  485. "JLTS_E5S_mag",
  486. "JLTS_E5S_mag",
  487. "JLTS_E5S_mag",
  488. "JLTS_E5S_mag",
  489. "JLTS_E5S_mag",
  490. "JLTS_E5S_mag",
  491. "JLTS_E5S_mag",
  492. "JLTS_E5S_mag",
  493. "JLTS_E5S_mag"
  494. };
  495. respawnMagazines[]=
  496. {
  497. "JLTS_E5S_mag",
  498. "JLTS_E5S_mag",
  499. "JLTS_E5S_mag",
  500. "JLTS_E5S_mag",
  501. "JLTS_E5S_mag",
  502. "JLTS_E5S_mag",
  503. "JLTS_E5S_mag",
  504. "JLTS_E5S_mag",
  505. "JLTS_E5S_mag",
  506. "JLTS_E5S_mag"
  507. };
  508. };
  509. class macro_new_unit_class(opfor,B1_shotgun): macro_new_unit_class(opfor,B1_security)
  510. {
  511. displayName="B1 Battledroid (Shotgun)";
  512. backpack="JLTS_B1_backpack";
  513. weapons[]=
  514. {
  515. "swop_CISShotgun"
  516. };
  517. respawnWeapons[]=
  518. {
  519. "swop_CISShotgun"
  520. };
  521. magazines[]=
  522. {
  523. "swop_CISShotgun_Mag",
  524. "swop_CISShotgun_Mag",
  525. "swop_CISShotgun_Mag",
  526. "swop_CISShotgun_Mag",
  527. "swop_CISShotgun_Mag",
  528. "swop_termDetDT_G",
  529. "swop_termDetDT_G"
  530. };
  531. respawnMagazines[]=
  532. {
  533. "swop_CISShotgun_Mag",
  534. "swop_CISShotgun_Mag",
  535. "swop_CISShotgun_Mag",
  536. "swop_CISShotgun_Mag",
  537. "swop_CISShotgun_Mag",
  538. "swop_termDetDT_G",
  539. "swop_termDetDT_G"
  540. };
  541. };
  542. };