config.cpp 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771
  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. };
  10. requiredVersion = 0.1;
  11. units[] = {
  12. macro_new_unit_class(opfor,B1),
  13. macro_new_unit_class(opfor,B1_green),
  14. macro_new_unit_class(opfor,B1_red),
  15. macro_new_unit_class(opfor,B1_yellow),
  16. macro_new_unit_class(opfor,B1_heavy),
  17. macro_new_unit_class(opfor,B1_maaws),
  18. macro_new_unit_class(opfor,B1_marksmen),
  19. };
  20. weapons[] = {
  21. macro_new_uniform_class(opfor,B1),
  22. macro_new_uniform_class(opfor,B1_red),
  23. macro_new_uniform_class(opfor,B1_yellow),
  24. macro_new_uniform_class(opfor,B1_green)
  25. };
  26. };
  27. };
  28. class cfgWeapons
  29. {
  30. class ItemCore;
  31. class InventoryItem_Base_F;
  32. class HeadgearItem;
  33. class Vest_NoCamo_Base;
  34. class VestItem;
  35. class UniformItem;
  36. class Uniform_Base;
  37. class macro_new_uniform_class(opfor,B1): Uniform_Base
  38. {
  39. scope=2;
  40. author="Mr.Clock";
  41. displayName="B1 Battledroid";
  42. model="\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";
  43. class ItemInfo: UniformItem
  44. {
  45. uniformModel="-";
  46. uniformClass=macro_new_unit_class(opfor,B1);
  47. containerClass="Supply500";
  48. mass=60;
  49. };
  50. };
  51. class macro_new_uniform_class(opfor,B1_red): Uniform_Base
  52. {
  53. scope=2;
  54. author="Mr.Clock";
  55. displayName="B1 Battledroid Red";
  56. model="\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";
  57. class ItemInfo: UniformItem
  58. {
  59. uniformModel="-";
  60. uniformClass=macro_new_unit_class(opfor,B1_red)
  61. containerClass="Supply500";
  62. mass=60;
  63. };
  64. };
  65. class macro_new_uniform_class(opfor,B1_yellow): Uniform_Base
  66. {
  67. scope=2;
  68. author="Mr.Clock";
  69. displayName="B1 Battledroid Yellow";
  70. model="\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";
  71. class ItemInfo: UniformItem
  72. {
  73. uniformModel="-";
  74. uniformClass=macro_new_unit_class(opfor,B1_yellow);
  75. containerClass="Supply500";
  76. mass=60;
  77. };
  78. };
  79. class macro_new_uniform_class(opfor,B1_green): Uniform_Base
  80. {
  81. scope=2;
  82. author="Mr.Clock";
  83. displayName="B1 Battledroid Green";
  84. model="\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";
  85. class ItemInfo: UniformItem
  86. {
  87. uniformModel="-";
  88. uniformClass=macro_new_unit_class(opfor,B1_green);
  89. containerClass="Supply500";
  90. mass=60;
  91. };
  92. };
  93. };
  94. class CfgVehicles
  95. {
  96. class Man;
  97. class CAManBase: Man
  98. {
  99. class HitPoints
  100. {
  101. class HitHead;
  102. class HitBody;
  103. class HitHands;
  104. class HitLegs;
  105. class HitAbdomen;
  106. class HitArms;
  107. class HitChest;
  108. class HitDiaphragm;
  109. class HitFace;
  110. class HitLeftArm;
  111. class HitLeftLeg;
  112. class HitNeck;
  113. class HitPelvis;
  114. class HitRightArm;
  115. class HitRightLeg;
  116. class Incapacitated;
  117. };
  118. };
  119. class SoldierEB: CAManBase
  120. {
  121. //threat[]={1,0.1,0.1};
  122. };
  123. //basic unit
  124. class macro_new_unit_class(opfor,B1): SoldierEB
  125. {
  126. JLTS_isDroid = 1;
  127. JLTS_hasEMPProtection = 0;
  128. JLTS_deathSounds = "DeathDroid";
  129. author = "MrClock";
  130. scope = 2;
  131. displayName = "B1 Battle droid";
  132. picture = "\MRC\JLTS\characters\DroidArmor\data\ui\b1_uniform_ui_ca.paa";
  133. model = "\MRC\JLTS\characters\DroidArmor\DroidUniformB1.p3d";
  134. faction = macro_cis_faction
  135. editorSubcategory = macro_editor_cat(B1)
  136. uniformClass=macro_new_uniform_class(opfor,B1);
  137. backpack = "\MRC\JLTS\characters\DroidArmor\DroidBackpackB1.p3d";
  138. //linkeditems[] = {"ItemGPS", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
  139. linkeditems[]=
  140. {
  141. "ItemGPS",
  142. "ItemMap",
  143. "ItemCompass",
  144. "ItemWatch",
  145. "JLTS_droid_comlink"
  146. };
  147. respawnlinkeditems[]=
  148. {
  149. "ItemGPS",
  150. "ItemMap",
  151. "ItemCompass",
  152. "ItemWatch",
  153. "JLTS_droid_comlink"
  154. };
  155. weapons[]=
  156. {
  157. "JLTS_E5"
  158. };
  159. respawnWeapons[]=
  160. {
  161. "JLTS_E5"
  162. };
  163. magazines[]=
  164. {
  165. "JLTS_E5_mag",
  166. "JLTS_E5_mag",
  167. "JLTS_E5_mag",
  168. "JLTS_E5_mag",
  169. "JLTS_E5_mag",
  170. "JLTS_E5_mag",
  171. "JLTS_E5_mag",
  172. "JLTS_E5_mag"
  173. };
  174. respawnMagazines[]=
  175. {
  176. "JLTS_E5_mag",
  177. "JLTS_E5_mag",
  178. "JLTS_E5_mag",
  179. "JLTS_E5_mag",
  180. "JLTS_E5_mag",
  181. "JLTS_E5_mag",
  182. "JLTS_E5_mag",
  183. "JLTS_E5_mag"
  184. };
  185. cost=600000;
  186. genericNames="NATOMen";
  187. ISmaxTurn=20;
  188. class HitPoints
  189. {
  190. class HitAbdomen
  191. {
  192. armor=15;
  193. explosionShielding=0.25;
  194. material=-1;
  195. minimalHit=0.0099999998;
  196. name="spine1";
  197. passThrough=0.5;
  198. radius=0.15000001;
  199. visual="injury_body";
  200. };
  201. class HitArms
  202. {
  203. armor=15;
  204. explosionShielding=0.25;
  205. material=-1;
  206. minimalHit=0.0099999998;
  207. name="arms";
  208. passThrough=1;
  209. radius=0.1;
  210. visual="injury_hands";
  211. };
  212. class HitBody
  213. {
  214. armor=1000;
  215. depends="HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
  216. explosionShielding=2;
  217. material=-1;
  218. minimalHit=0.0099999998;
  219. name="body";
  220. passThrough=0.5;
  221. radius=0.16;
  222. visual="injury_body";
  223. };
  224. class HitChest
  225. {
  226. armor=15;
  227. explosionShielding=2;
  228. material=-1;
  229. minimalHit=0.0099999998;
  230. name="spine3";
  231. passThrough=0.5;
  232. radius=0.15000001;
  233. visual="injury_body";
  234. };
  235. class HitDiaphragm
  236. {
  237. armor=15;
  238. explosionShielding=2;
  239. material=-1;
  240. minimalHit=0.0099999998;
  241. name="spine2";
  242. passThrough=0.5;
  243. radius=0.15000001;
  244. visual="injury_body";
  245. };
  246. class HitFace
  247. {
  248. armor=2;
  249. explosionShielding=0.1;
  250. material=-1;
  251. minimalHit=0.0099999998;
  252. name="face_hub";
  253. passThrough=0.5;
  254. radius=0.079999998;
  255. };
  256. class HitHands
  257. {
  258. armor=15;
  259. depends="HitArms";
  260. explosionShielding=0.25;
  261. material=-1;
  262. minimalHit=0.0099999998;
  263. name="hands";
  264. passThrough=1;
  265. radius=0.1;
  266. visual="injury_hands";
  267. };
  268. class HitHead
  269. {
  270. armor=2;
  271. depends="HitFace max HitNeck";
  272. explosionShielding=0.1;
  273. material=-1;
  274. minimalHit=0.0099999998;
  275. name="head";
  276. passThrough=0.5;
  277. radius=0.2;
  278. };
  279. class HitLeftArm
  280. {
  281. armor=1;
  282. explosionShielding=0.25;
  283. material=-1;
  284. minimalHit=0.0099999998;
  285. name="hand_l";
  286. passThrough=0.1;
  287. radius=0.1;
  288. visual="injury_hands";
  289. };
  290. class HitLeftLeg
  291. {
  292. armor=1;
  293. explosionShielding=0.25;
  294. material=-1;
  295. minimalHit=0.0099999998;
  296. name="leg_l";
  297. passThrough=0.1;
  298. radius=0.1;
  299. visual="injury_hands";
  300. };
  301. class HitLegs
  302. {
  303. armor=15;
  304. explosionShielding=0.25;
  305. material=-1;
  306. minimalHit=0.0099999998;
  307. name="legs";
  308. passThrough=1;
  309. radius=0.12;
  310. visual="injury_legs";
  311. };
  312. class HitNeck
  313. {
  314. armor=5;
  315. explosionShielding=0.1;
  316. material=-1;
  317. minimalHit=0.0099999998;
  318. name="neck";
  319. passThrough=0.5;
  320. radius=0.1;
  321. };
  322. class HitPelvis
  323. {
  324. armor=15;
  325. explosionShielding=0.25;
  326. material=-1;
  327. minimalHit=0.0099999998;
  328. name="pelvis";
  329. passThrough=0.25;
  330. radius=0.2;
  331. visual="injury_body";
  332. };
  333. class HitRightArm
  334. {
  335. armor=1;
  336. explosionShielding=0.25;
  337. material=-1;
  338. minimalHit=0.0099999998;
  339. name="hand_r";
  340. passThrough=0.1;
  341. radius=0.1;
  342. visual="injury_hands";
  343. };
  344. class HitRightLeg
  345. {
  346. armor=1;
  347. explosionShielding=0.25;
  348. material=-1;
  349. minimalHit=0.0099999998;
  350. name="leg_r";
  351. passThrough=0.1;
  352. radius=0.1;
  353. visual="injury_hands";
  354. };
  355. class Incapacitated
  356. {
  357. armor=1000;
  358. depends="(((Total - 0.25) max 0) + ((HitHead - 0.25) max 0) + ((HitBody - 0.25) max 0)) * 2";
  359. explosionShielding=1;
  360. material=-1;
  361. minimalHit=0;
  362. name="body";
  363. passThrough=1;
  364. radius=0;
  365. visual="";
  366. };
  367. };
  368. class SoundEnvironExt
  369. {
  370. virtual[]=
  371. {
  372. {
  373. "walk",
  374. {
  375. "JPB_sfx\Droid\walk1.ogg",
  376. 4,
  377. 1,
  378. 50
  379. }
  380. },
  381. {
  382. "walk",
  383. {
  384. "JPB_sfx\Droid\walk2.ogg",
  385. 4,
  386. 1,
  387. 50
  388. }
  389. },
  390. {
  391. "walk",
  392. {
  393. "JPB_sfx\Droid\walk3.ogg",
  394. 4,
  395. 1,
  396. 50
  397. }
  398. },
  399. {
  400. "walk",
  401. {
  402. "JPB_sfx\Droid\walk4.ogg",
  403. 4,
  404. 1,
  405. 50
  406. }
  407. },
  408. {
  409. "run",
  410. {
  411. "JPB_sfx\Droid\walk1.ogg",
  412. 4,
  413. 1,
  414. 50
  415. }
  416. },
  417. {
  418. "run",
  419. {
  420. "JPB_sfx\Droid\walk2.ogg",
  421. 4,
  422. 1,
  423. 50
  424. }
  425. },
  426. {
  427. "run",
  428. {
  429. "JPB_sfx\Droid\walk3.ogg",
  430. 4,
  431. 1,
  432. 50
  433. }
  434. },
  435. {
  436. "run",
  437. {
  438. "JPB_sfx\Droid\walk4.ogg",
  439. 4,
  440. 1,
  441. 50
  442. }
  443. },
  444. {
  445. "sprint",
  446. {
  447. "JPB_sfx\Droid\walk1.ogg",
  448. 4,
  449. 1,
  450. 50
  451. }
  452. },
  453. {
  454. "sprint",
  455. {
  456. "JPB_sfx\Droid\walk2.ogg",
  457. 4,
  458. 1,
  459. 50
  460. }
  461. },
  462. {
  463. "sprint",
  464. {
  465. "JPB_sfx\Droid\walk3.ogg",
  466. 4,
  467. 1,
  468. 50
  469. }
  470. },
  471. {
  472. "sprint",
  473. {
  474. "JPB_sfx\Droid\walk4.ogg",
  475. 4,
  476. 1,
  477. 50
  478. }
  479. }
  480. };
  481. };
  482. class SoundEquipment
  483. {
  484. };
  485. class SoundGear
  486. {
  487. };
  488. };
  489. class macro_new_unit_class(opfor,B1_green): macro_new_unit_class(opfor,B1)
  490. {
  491. displayName="B1 Battledroid Green";
  492. hiddenSelectionsTextures[] = {
  493. macro_b1_textures\Green.paa
  494. };
  495. uniformClass=macro_new_uniform_class(opfor,B1_green);
  496. };
  497. class macro_new_unit_class(opfor,B1_red): macro_new_unit_class(opfor,B1)
  498. {
  499. displayName="B1 Battledroid Red";
  500. hiddenSelectionsTextures[] = {
  501. macro_b1_textures\Red.paa
  502. };
  503. uniformClass=macro_new_uniform_class(opfor,B1_red);
  504. };
  505. class macro_new_unit_class(opfor,B1_yellow): macro_new_unit_class(opfor,B1)
  506. {
  507. displayName="B1 Battledroid Yellow";
  508. hiddenSelectionsTextures[] = {
  509. macro_b1_textures\Yellow.paa
  510. };
  511. uniformClass=macro_new_uniform_class(opfor,B1_yellow);
  512. };
  513. //fancy units
  514. class macro_new_unit_class(opfor,B1_heavy): macro_new_unit_class(opfor,B1_red)
  515. {
  516. displayName="B1 Battledroid (Heavy)";
  517. weapons[]=
  518. {
  519. "SWOP_E5C"
  520. };
  521. respawnWeapons[]=
  522. {
  523. "SWOP_E5C"
  524. };
  525. magazines[]=
  526. {
  527. "SWOP_E5C_Mag",
  528. "SWOP_E5C_Mag",
  529. "SWOP_E5C_Mag",
  530. "SWOP_E5C_Mag",
  531. "SWOP_E5C_Mag",
  532. "SWOP_E5C_Mag",
  533. "SWOP_E5C_Mag",
  534. "SWOP_E5C_Mag"
  535. };
  536. respawnMagazines[]=
  537. {
  538. "SWOP_E5C_Mag",
  539. "SWOP_E5C_Mag",
  540. "SWOP_E5C_Mag",
  541. "SWOP_E5C_Mag",
  542. "SWOP_E5C_Mag",
  543. "SWOP_E5C_Mag",
  544. "SWOP_E5C_Mag",
  545. "SWOP_E5C_Mag"
  546. };
  547. };
  548. class macro_new_unit_class(opfor,B1_AT): macro_new_unit_class(opfor,B1_red)
  549. {
  550. displayName="B1 Battledroid AT";
  551. weapons[]=
  552. {
  553. "SWOP_E5",
  554. "JLTS_E60R_AT"
  555. };
  556. respawnWeapons[]=
  557. {
  558. "SWOP_E5",
  559. "JLTS_E60R_AT"
  560. };
  561. magazines[]=
  562. {
  563. "JLTS_E5_mag",
  564. "JLTS_E5_mag",
  565. "JLTS_E5_mag",
  566. "JLTS_E5_mag",
  567. "JLTS_E5_mag",
  568. "JLTS_E5_mag",
  569. "JLTS_E5_mag",
  570. "JLTS_E5_mag",
  571. "JLTS_E60R_AT_mag",
  572. "JLTS_E60R_AT_mag",
  573. "JLTS_E60R_AT_mag",
  574. "JLTS_E60R_AT_mag"
  575. };
  576. respawnMagazines[]=
  577. {
  578. "JLTS_E5_mag",
  579. "JLTS_E5_mag",
  580. "JLTS_E5_mag",
  581. "JLTS_E5_mag",
  582. "JLTS_E5_mag",
  583. "JLTS_E5_mag",
  584. "JLTS_E5_mag",
  585. "JLTS_E5_mag",
  586. "JLTS_E60R_AT_mag",
  587. "JLTS_E60R_AT_mag",
  588. "JLTS_E60R_AT_mag",
  589. "JLTS_E60R_AT_mag"
  590. };
  591. backpack="\MRC\JLTS\characters\DroidArmor\DroidBackpackB1.p3d"
  592. };
  593. class macro_new_unit_class(opfor,B1_marksmen): macro_new_unit_class(opfor,B1_red)
  594. {
  595. displayName="B1 Battledroid (Marksman)";
  596. weapons[]=
  597. {
  598. "JLTS_E5S"
  599. };
  600. respawnWeapons[]=
  601. {
  602. "JLTS_E5S"
  603. };
  604. magazines[]=
  605. {
  606. "JLTS_E5S_mag",
  607. "JLTS_E5S_mag",
  608. "JLTS_E5S_mag",
  609. "JLTS_E5S_mag",
  610. "JLTS_E5S_mag",
  611. "JLTS_E5S_mag",
  612. "JLTS_E5S_mag",
  613. "JLTS_E5S_mag",
  614. "JLTS_E5S_mag",
  615. "JLTS_E5S_mag"
  616. };
  617. respawnMagazines[]=
  618. {
  619. "JLTS_E5S_mag",
  620. "JLTS_E5S_mag",
  621. "JLTS_E5S_mag",
  622. "JLTS_E5S_mag",
  623. "JLTS_E5S_mag",
  624. "JLTS_E5S_mag",
  625. "JLTS_E5S_mag",
  626. "JLTS_E5S_mag",
  627. "JLTS_E5S_mag",
  628. "JLTS_E5S_mag"
  629. };
  630. };
  631. class macro_new_unit_class(opfor,B1_team_leader): macro_new_unit_class(opfor,B1)
  632. {
  633. displayName="B1 Battledroid Team Lead";
  634. weapons[]=
  635. {
  636. "swop_CISShotgun"
  637. };
  638. respawnWeapons[]=
  639. {
  640. "swop_CISShotgun"
  641. };
  642. magazines[]=
  643. {
  644. "swop_CISShotgun_Mag",
  645. "swop_CISShotgun_Mag",
  646. "swop_CISShotgun_Mag",
  647. "swop_CISShotgun_Mag",
  648. "swop_CISShotgun_Mag",
  649. "swop_termDetDT_G",
  650. "swop_termDetDT_G"
  651. };
  652. respawnMagazines[]=
  653. {
  654. "swop_CISShotgun_Mag",
  655. "swop_CISShotgun_Mag",
  656. "swop_CISShotgun_Mag",
  657. "swop_CISShotgun_Mag",
  658. "swop_CISShotgun_Mag",
  659. "swop_termDetDT_G",
  660. "swop_termDetDT_G"
  661. };
  662. };
  663. class macro_new_unit_class(opfor,B1_leader): macro_new_unit_class(opfor,B1_yellow)
  664. {
  665. displayName="B1 Battledroid Squad Lead";
  666. weapons[]=
  667. {
  668. "JLTS_RG4D"
  669. };
  670. respawnWeapons[]=
  671. {
  672. "JLTS_RG4D"
  673. };
  674. magazines[]=
  675. {
  676. "JLTS_E5_mag",
  677. "JLTS_E5_mag",
  678. "JLTS_E5_mag",
  679. "JLTS_E5_mag",
  680. "JLTS_E5_mag",
  681. "JLTS_E5_mag",
  682. "SWOP_BCCKtermimploder_G",
  683. "SWOP_BCCKtermimploder_G"
  684. };
  685. respawnMagazines[]=
  686. {
  687. "JLTS_E5_mag",
  688. "JLTS_E5_mag",
  689. "JLTS_E5_mag",
  690. "JLTS_E5_mag",
  691. "JLTS_E5_mag",
  692. "JLTS_E5_mag",
  693. "SWOP_BCCKtermimploder_G",
  694. "SWOP_BCCKtermimploder_G"
  695. };
  696. uniformClass=macro_new_uniform_class(opfor, B1_yellow);
  697. };
  698. class macro_new_unit_class(opfor,B1_Medic): macro_new_unit_class(opfor,B1_green)
  699. {
  700. displayName="B1 Battledroid Squad Lead";
  701. weapons[]=
  702. {
  703. "JLTS_RG4D"
  704. };
  705. respawnWeapons[]=
  706. {
  707. "JLTS_RG4D"
  708. };
  709. magazines[]=
  710. {
  711. "JLTS_E5_mag",
  712. "JLTS_E5_mag",
  713. "JLTS_E5_mag",
  714. "JLTS_E5_mag",
  715. "JLTS_E5_mag",
  716. "JLTS_E5_mag",
  717. "FirstAidKit",
  718. "FirstAidKit",
  719. "FirstAidKit"
  720. };
  721. respawnMagazines[]=
  722. {
  723. "JLTS_E5_mag",
  724. "JLTS_E5_mag",
  725. "JLTS_E5_mag",
  726. "JLTS_E5_mag",
  727. "JLTS_E5_mag",
  728. "JLTS_E5_mag",
  729. "FirstAidKit",
  730. "FirstAidKit",
  731. "FirstAidKit"
  732. };
  733. uniformClass=macro_new_uniform_class(opfor, B1_green);
  734. };
  735. };