armor_unit.hpp 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. armor = 1; // unit health
  2. armorStructural = 1.0; // damage to total divided by this
  3. explosionShielding = 1.0; // explosion damage to total multiplied by this
  4. minTotalDamageThreshold = 0.001; // minimal registered damage
  5. impactDamageMultiplier = 1.0; // fall damage multiplier
  6. class HitPoints
  7. {
  8. class HitFace
  9. {
  10. armor = 1; // multiplier to unit health
  11. material = -1;
  12. name = "face_hub";
  13. passThrough = 1.0;
  14. radius = 0.08;
  15. explosionShielding = 0.1;
  16. minimalHit = 0.01;
  17. };
  18. class HitNeck: HitFace
  19. {
  20. armor = 1;
  21. material = -1;
  22. name = "neck";
  23. passThrough = 1.0;
  24. radius = 0.1;
  25. explosionShielding = 0.1;
  26. minimalHit = 0.01;
  27. };
  28. class HitHead: HitNeck
  29. {
  30. armor = 350; // unused
  31. material = -1;
  32. name = "head";
  33. passThrough = 1.0;
  34. radius = 0.2;
  35. explosionShielding = 0.5;
  36. minimalHit = 0.01;
  37. depends = "HitFace max HitNeck";
  38. }
  39. class HitPelvis
  40. {
  41. armor = 1;
  42. material = -1;
  43. name = "pelvis";
  44. passThrough = 1.0;
  45. radius = 0.2;
  46. explosionShielding = 0.25;
  47. visual = "injury_body";
  48. minimalHit = 0.01;
  49. };
  50. class HitAbdomen: HitPelvis
  51. {
  52. armor = 1;
  53. material = -1;
  54. name = "spine1";
  55. passThrough = 1.0;
  56. radius = 0.1;
  57. explosionShielding = 0.25;
  58. visual = "injury_body";
  59. minimalHit = 0.01;
  60. };
  61. class HitDiaphragm: HitAbdomen
  62. {
  63. armor = 1;
  64. material = -1;
  65. name = "spine2";
  66. passThrough = 1.0;
  67. radius = 0.1;
  68. explosionShielding = 2;
  69. visual = "injury_body";
  70. minimalHit = 0.01;
  71. };
  72. class HitChest: HitDiaphragm
  73. {
  74. armor = 1;
  75. material = -1;
  76. name = "spine3";
  77. passThrough = 1.0;
  78. radius = 0.1;
  79. explosionShielding = 2;
  80. visual = "injury_body";
  81. minimalHit = 0.01;
  82. };
  83. class HitBody: HitChest
  84. {
  85. armor = 20;
  86. material = -1;
  87. name = "body";
  88. passThrough = 1.0;
  89. radius = 0.1;
  90. explosionShielding = 6;
  91. visual = "injury_body";
  92. minimalHit = 0.01;
  93. depends = "HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
  94. };
  95. class HitArms
  96. {
  97. armor = 1;
  98. material = -1;
  99. name = "arms";
  100. passThrough = 1.0;
  101. radius = 0.1;
  102. explosionShielding = 0.25;
  103. visual = "injury_hands";
  104. minimalHit = 0.01;
  105. };
  106. class HitHands: HitArms
  107. {
  108. armor = 1;
  109. material = -1;
  110. name = "hands";
  111. passThrough = 1.0;
  112. radius = 0.1;
  113. explosionShielding = 0.25;
  114. visual = "injury_hands";
  115. minimalHit = 0.01;
  116. depends = "HitArms";
  117. };
  118. class HitLegs
  119. {
  120. armor = 1;
  121. material = -1;
  122. name = "legs";
  123. passThrough = 1.0;
  124. radius = 0.12;
  125. explosionShielding = 0.25;
  126. visual = "injury_legs";
  127. minimalHit = 0.01;
  128. };
  129. class HitLeftArm
  130. {
  131. armor = 1;
  132. material = -1;
  133. name = "hand_l";
  134. passThrough = 1.0;
  135. radius = 0.1;
  136. explosionShielding = 0.25;
  137. visual = "injury_hands";
  138. minimalHit = 0.01;
  139. };
  140. class HitRightArm: HitLeftArm
  141. {
  142. name = "hand_r";
  143. };
  144. class HitLeftLeg
  145. {
  146. armor = 1;
  147. material = -1;
  148. name = "leg_l";
  149. passThrough = 1.0;
  150. radius = 0.1;
  151. explosionShielding = 0.25;
  152. visual = "injury_hands";
  153. minimalHit = 0.01;
  154. };
  155. class HitRightLeg: HitLeftLeg
  156. {
  157. name = "leg_r";
  158. };
  159. };