config.cpp 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498
  1. #include "../../config_macros.hpp"
  2. #include "../../../RD501_main/config_macros.hpp"
  3. #include "../../../RD501_main/config_macros.hpp"
  4. #define unit_addon B2
  5. #define patch_name MODNAME##unit_addon##_Patches
  6. #define unit_classname MODNAME##_##unit_addon
  7. class CfgPatches
  8. {
  9. class macro_patch_name(b2_units)
  10. {
  11. addonRootClass=macro_patch_name(units);
  12. requiredAddons[]=
  13. {
  14. macro_patch_name(units)
  15. };
  16. requiredVersion=0.1;
  17. units[]={
  18. macro_new_unit_class(opfor,B2_droid_Standard),
  19. macro_new_unit_class(opfor,B2_droid_Super)
  20. };
  21. weapons[]=
  22. {
  23. };
  24. };
  25. };
  26. class Extended_Init_EventHandlers
  27. {
  28. class macro_new_unit_class(opfor,B2_droid_Standard)
  29. {
  30. class ForceWalk
  31. {
  32. init = [_this select 0] call rd501_fnc_force_b2_walk;
  33. };
  34. };
  35. }
  36. class CfgVehicles
  37. {
  38. class SWOP_B2_superdroid;
  39. class macro_new_unit_class(opfor,B2_droid_Standard): SWOP_B2_superdroid
  40. {
  41. faction=macro_cis_faction
  42. editorSubcategory=macro_editor_cat(B2)
  43. displayname = "B2";
  44. scope=2;
  45. class HitPoints
  46. {
  47. class HitFace
  48. {
  49. armor=6;
  50. material=-1;
  51. name="face_hub";
  52. passThrough=0.013;
  53. radius=0.079999998;
  54. explosionShielding=1;
  55. minimalHit=0.0099999998;
  56. };
  57. class HitNeck: HitFace
  58. {
  59. armor=6;
  60. material=-1;
  61. name="neck";
  62. passThrough=0.013;
  63. radius=0.1;
  64. explosionShielding=1;
  65. minimalHit=0.0099999998;
  66. };
  67. class HitHead: HitNeck
  68. {
  69. armor=6;
  70. material=-1;
  71. name="head";
  72. passThrough=0.13;
  73. radius=0.2;
  74. explosionShielding=1;
  75. minimalHit=0.0099999998;
  76. depends="HitFace max HitNeck";
  77. };
  78. class HitPelvis: HitHead
  79. {
  80. armor=8;
  81. material=-1;
  82. name="pelvis";
  83. passThrough=0.44;
  84. radius=0.23999999;
  85. explosionShielding=1;
  86. visual="injury_body";
  87. minimalHit=0.0099999998;
  88. depends="0";
  89. };
  90. class HitAbdomen: HitPelvis
  91. {
  92. armor=8;
  93. material=-1;
  94. name="spine1";
  95. passThrough=0.44;
  96. radius=0.16;
  97. explosionShielding=1;
  98. visual="injury_body";
  99. minimalHit=0.0099999998;
  100. };
  101. class HitDiaphragm: HitAbdomen
  102. {
  103. armor=8;
  104. material=-1;
  105. name="spine2";
  106. passThrough=0.44;
  107. radius=0.18000001;
  108. explosionShielding=1.5;
  109. visual="injury_body";
  110. minimalHit=0.0099999998;
  111. };
  112. class HitChest: HitDiaphragm
  113. {
  114. armor=8;
  115. material=-1;
  116. name="spine3";
  117. passThrough=0.44;
  118. radius=0.18000001;
  119. explosionShielding=1.5;
  120. visual="injury_body";
  121. minimalHit=0.0099999998;
  122. };
  123. class HitBody: HitChest
  124. {
  125. armor=1000;
  126. material=-1;
  127. name="body";
  128. passThrough=1;
  129. radius=0;
  130. explosionShielding=1.5;
  131. visual="injury_body";
  132. minimalHit=0.0099999998;
  133. depends="HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
  134. };
  135. class HitArms: HitBody
  136. {
  137. armor=6;
  138. material=-1;
  139. name="arms";
  140. passThrough=0.13;
  141. radius=0.1;
  142. explosionShielding=0.4;
  143. visual="injury_hands";
  144. minimalHit=0.0099999998;
  145. depends="0";
  146. };
  147. class HitRightHand :HitArms
  148. {
  149. armor = 8;
  150. explosionShielding = 0.25;
  151. material = -1;
  152. minimalHit = 0.01;
  153. name = "hand_r";
  154. passThrough = 0.1;
  155. radius = 0.1;
  156. visual = "injury_hands";
  157. };
  158. class HitLeftHand :HitArms
  159. {
  160. armor = 8;
  161. explosionShielding = 0.25;
  162. material = -1;
  163. minimalHit = 0.01;
  164. name = "hand_l";
  165. passThrough = 0.1;
  166. radius = 0.1;
  167. visual = "injury_hands";
  168. };
  169. class HitHands: HitArms
  170. {
  171. armor=6;
  172. material=-1;
  173. name="hands";
  174. passThrough=0.13;
  175. radius=0.1;
  176. explosionShielding=0.30000001;
  177. visual="injury_hands";
  178. minimalHit=0.0099999998;
  179. depends="HitArms";
  180. };
  181. class HitLegs: HitHands
  182. {
  183. armor=6;
  184. material=-1;
  185. name="legs";
  186. passThrough=0.13;
  187. radius=0.1;
  188. explosionShielding=0.30000001;
  189. visual="injury_legs";
  190. minimalHit=0.0099999998;
  191. depends="0";
  192. };
  193. class HitLeftLeg :HitLegs
  194. {
  195. armor = 8;
  196. explosionShielding = 0.25;
  197. material = -1;
  198. minimalHit = 0.01;
  199. name = "leg_l";
  200. passThrough = 0.1;
  201. radius = 0.1;
  202. visual = "injury_legs";
  203. };
  204. class HitRightLeg :HitLegs
  205. {
  206. armor = 8;
  207. explosionShielding = 0.25;
  208. material = -1;
  209. minimalHit = 0.01;
  210. name = "leg_r";
  211. passThrough = 0.1;
  212. radius = 0.1;
  213. visual = "injury_leg";
  214. };
  215. class Incapacitated: HitLegs
  216. {
  217. armor=1000;
  218. material=-1;
  219. name="body";
  220. passThrough=1;
  221. radius=0;
  222. explosionShielding=1;
  223. visual="";
  224. minimalHit=0;
  225. depends="(((Total - 0.25) max 0) + ((HitHead - 0.25) max 0) + ((HitBody - 0.25) max 0)) * 2";
  226. };
  227. };
  228. armor=15;
  229. armorStructural=1;
  230. explosionShielding=0.40000001;
  231. uniformClass=macro_new_uniform_class(opfor,B2_Armor)
  232. class EventHandlers;
  233. hiddenSelections[]=
  234. {
  235. "Camo1","Camo2","Camo3"
  236. };
  237. hiddenSelectionsTextures[]=
  238. {
  239. "RD501_Units\textures\CIS\B2\rocket\Reskinb2_chest.paa",
  240. "RD501_Units\textures\CIS\B2\rocket\ReskinB2_waist.paa",
  241. "RD501_Units\textures\CIS\B2\rocket\ReskinB2_legs.paa"
  242. };
  243. respawnWeapons[] = {"SWOP_B2gun","Throw","Put"};
  244. magazines[] = {"SWOP_b2gun_Mag","SWOP_b2gun_Mag","SWOP_b2gun_Mag","SWOP_b2gun_Mag"};
  245. weapons[] = {"SWOP_B2gun","Throw","Put"};
  246. linkedItems[] = {"ItemMap","ItemCompass","ItemWatch","ItemRadio","NVGoggles"};
  247. };
  248. class macro_new_unit_class(opfor,B2_droid_Super) : macro_new_unit_class(opfor,B2_droid_Standard)
  249. {
  250. displayname = "Super B2";
  251. armor=30;
  252. armorStructural=1;
  253. uniformClass=macro_new_uniform_class(opfor,B2_SuperArmor)
  254. hiddenSelections[]=
  255. {
  256. "Camo1","Camo2","Camo3"
  257. };
  258. hiddenSelectionsTextures[]=
  259. {
  260. "RD501_Units\textures\CIS\B2\super\super_b2_chest.paa",
  261. "RD501_Units\textures\CIS\B2\super\super_b2_waist.paa",
  262. "RD501_Units\textures\CIS\B2\super\super_b2_legs.paa"
  263. };
  264. /*class HitPoints
  265. {
  266. class HitFace
  267. {
  268. armor=10;
  269. material=-1;
  270. name="face_hub";
  271. passThrough=0.1;
  272. radius=0.079999998;
  273. explosionShielding=1;
  274. minimalHit=0.0099999998;
  275. };
  276. class HitNeck: HitFace
  277. {
  278. armor=15;
  279. material=-1;
  280. name="neck";
  281. passThrough=0.1;
  282. radius=0.1;
  283. explosionShielding=1;
  284. minimalHit=0.0099999998;
  285. };
  286. class HitHead: HitNeck
  287. {
  288. armor=10;
  289. material=-1;
  290. name="head";
  291. passThrough=0.1;
  292. radius=0.2;
  293. explosionShielding=1;
  294. minimalHit=0.0099999998;
  295. depends="HitFace max HitNeck";
  296. };
  297. class HitPelvis: HitHead
  298. {
  299. armor=15;
  300. material=-1;
  301. name="pelvis";
  302. passThrough=0.1;
  303. radius=0.23999999;
  304. explosionShielding=1;
  305. visual="injury_body";
  306. minimalHit=0.0099999998;
  307. depends="0";
  308. };
  309. class HitAbdomen: HitPelvis
  310. {
  311. armor=15;
  312. material=-1;
  313. name="spine1";
  314. passThrough=0.1;
  315. radius=0.16;
  316. explosionShielding=1;
  317. visual="injury_body";
  318. minimalHit=0.0099999998;
  319. };
  320. class HitDiaphragm: HitAbdomen
  321. {
  322. armor=20;
  323. material=-1;
  324. name="spine2";
  325. passThrough=0.1;
  326. radius=0.18000001;
  327. explosionShielding=1.5;
  328. visual="injury_body";
  329. minimalHit=0.0099999998;
  330. };
  331. class HitChest: HitDiaphragm
  332. {
  333. armor=25;
  334. material=-1;
  335. name="spine3";
  336. passThrough=0.1;
  337. radius=0.18000001;
  338. explosionShielding=1.5;
  339. visual="injury_body";
  340. minimalHit=0.0099999998;
  341. };
  342. class HitBody: HitChest
  343. {
  344. armor=1000;
  345. material=-1;
  346. name="body";
  347. passThrough=0.1;
  348. radius=0;
  349. explosionShielding=1.5;
  350. visual="injury_body";
  351. minimalHit=0.0099999998;
  352. depends="HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
  353. };
  354. class HitArms: HitBody
  355. {
  356. armor=25;
  357. material=-1;
  358. name="arms";
  359. passThrough=0.13;
  360. radius=0.1;
  361. explosionShielding=0.4;
  362. visual="injury_hands";
  363. minimalHit=0.0099999998;
  364. depends="0";
  365. };
  366. class HitRightHand :HitArms
  367. {
  368. armor = 8;
  369. explosionShielding = 0.25;
  370. material = -1;
  371. minimalHit = 0.01;
  372. name = "hand_r";
  373. passThrough = 0.1;
  374. radius = 0.1;
  375. visual = "injury_hands";
  376. };
  377. class HitLeftHand :HitArms
  378. {
  379. armor = 8;
  380. explosionShielding = 0.25;
  381. material = -1;
  382. minimalHit = 0.01;
  383. name = "hand_l";
  384. passThrough = 0.1;
  385. radius = 0.1;
  386. visual = "injury_hands";
  387. };
  388. class HitHands: HitArms
  389. {
  390. armor=6;
  391. material=-1;
  392. name="hands";
  393. passThrough=0.13;
  394. radius=0.1;
  395. explosionShielding=0.30000001;
  396. visual="injury_hands";
  397. minimalHit=0.0099999998;
  398. depends="HitArms";
  399. };
  400. class HitLegs: HitHands
  401. {
  402. armor=20;
  403. material=-1;
  404. name="legs";
  405. passThrough=0.13;
  406. radius=0.1;
  407. explosionShielding=0.30000001;
  408. visual="injury_legs";
  409. minimalHit=0.0099999998;
  410. depends="0";
  411. };
  412. class HitLeftLeg :HitLegs
  413. {
  414. armor = 8;
  415. explosionShielding = 0.25;
  416. material = -1;
  417. minimalHit = 0.01;
  418. name = "leg_l";
  419. passThrough = 0.1;
  420. radius = 0.1;
  421. visual = "injury_legs";
  422. };
  423. class HitRightLeg :HitLegs
  424. {
  425. armor = 8;
  426. explosionShielding = 0.25;
  427. material = -1;
  428. minimalHit = 0.01;
  429. name = "leg_r";
  430. passThrough = 0.1;
  431. radius = 0.1;
  432. visual = "injury_leg";
  433. };
  434. class Incapacitated: HitLegs
  435. {
  436. armor=1000;
  437. material=-1;
  438. name="body";
  439. passThrough=1;
  440. radius=0;
  441. explosionShielding=1;
  442. visual="";
  443. minimalHit=0;
  444. depends="(((Total - 0.25) max 0) + ((HitHead - 0.25) max 0) + ((HitBody - 0.25) max 0)) * 2";
  445. };
  446. };*/
  447. };
  448. };
  449. class CfgWeapons
  450. {
  451. class DefaultEventhandlers;
  452. class SWOP_B2_superdroid_F_Spec;
  453. class UniformItem;
  454. class macro_new_uniform_class(opfor,B2_Armor): SWOP_B2_superdroid_F_Spec
  455. {
  456. scope=2;
  457. displayName="RD501 B2";
  458. picture = "\SWOP_droids\data\ico\B2ico.paa"
  459. model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";
  460. class ItemInfo: UniformItem
  461. {
  462. uniformModel="-";
  463. uniformClass=macro_new_unit_class(opfor,B2_droid_Standard)
  464. containerClass="Supply40";
  465. mass=80;
  466. };
  467. JLTS_isDroid = 1;
  468. JLTS_hasEMPProtection = 0;
  469. JLTS_deathSounds = "DeathDroid";
  470. class EventHandlers : DefaultEventhandlers {};
  471. };
  472. class macro_new_uniform_class(opfor,B2_SuperArmor): SWOP_B2_superdroid_F_Spec
  473. {
  474. scope=2;
  475. displayName="RD501 Super B2";
  476. picture = "\SWOP_droids\data\ico\B2ico.paa"
  477. model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";
  478. class ItemInfo: UniformItem
  479. {
  480. uniformModel="-";
  481. uniformClass=macro_new_unit_class(opfor,B2_droid_Super);
  482. containerClass="Supply40";
  483. mass=80;
  484. };
  485. JLTS_isDroid = 1;
  486. JLTS_hasEMPProtection = 0;
  487. JLTS_deathSounds = "DeathDroid";
  488. class EventHandlers : DefaultEventhandlers {};
  489. };
  490. };