Advertisement
Guest User

Untitled

a guest
Aug 13th, 2011
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 6.57 KB | None | 0 0
  1. -- Smallarms - Machineguns
  2.  
  3. -- MachineGun Base Class
  4. local MGClass = Weapon:New{
  5.   areaOfEffect       = 1,
  6.   avoidFeature       = true,
  7.   avoidFriendly      = false,
  8.   burnblow           = true, -- used?
  9.   collideFeature     = true,
  10.   collideFriendly    = false,
  11.   collisionSize      = 2.5,
  12.   collisionVolumeTest= 1,
  13.   explosionGenerator = [[custom:Bullet]],
  14.   fireStarter        = 1,
  15.   impactonly         = 1,
  16.   interceptedByShieldType = 8,
  17.   noSelfDamage       = true,
  18.   size               = 1e-10,
  19.   soundTrigger       = true, -- some seem to be false?
  20.   sprayAngle         = 350,
  21.   tolerance          = 600,
  22.   turret             = true,
  23.   weaponType         = [[Cannon]], -- intended? :o
  24.   weaponVelocity     = 1500,
  25.   customparams = {
  26.     damagetype         = [[smallarm]],
  27.     fearaoe            = 45,
  28.     fearid             = 301,
  29.   },
  30.   damage = {
  31.     default            = 33,
  32.   },
  33. }
  34.  
  35. local HeavyMGClass = MGClass:New{
  36.   burst              = 8,
  37.   burstRate          = 0.1,
  38.   interceptedByShieldType = 16,
  39.   movingAccuracy     = 500,
  40.   targetMoveError    = 0.25,
  41.   tolerance          = 3000, -- needed?
  42.   weaponVelocity     = 3000,
  43.   customparams = {
  44.     fearid             = 401,
  45.   },
  46.   damage = {
  47.     default            = 50,
  48.   },
  49. }
  50.  
  51. -- Implementations
  52. -- Rifle Calibre (~8mm) MG's
  53. -- BESA
  54. local BESA = MGClass:New{
  55.   burst              = 8,
  56.   burstRate          = 0.109,
  57.   movingAccuracy     = 7111,
  58.   name               = [[BESA]],
  59.   range              = 900,
  60.   reloadTime         = 2.8,
  61.   soundStart         = [[GBR_BREN]],
  62.   soundTrigger       = false, -- overrides default
  63.   sprayAngle         = 410, --?
  64. }
  65.  
  66. -- Bren Mk. 2 (GBR)
  67. local Bren = MGClass:New{
  68.   burst              = 5,
  69.   burstRate          = 0.109,
  70.   movingAccuracy     = 7111,
  71.   name               = [[Bren Gun]],
  72.   range              = 735,
  73.   reloadTime         = 2.5,
  74.   soundStart         = [[GBR_BREN]],
  75.   soundTrigger       = false, -- overrides default
  76. }
  77.  
  78. -- MG34 (GER)
  79. local MG34 = MGClass:New{
  80.   accuracy           = 100, --?
  81.   burst              = 10,
  82.   burstRate          = 0.069,
  83.   movingAccuracy     = 2666,
  84.   name               = [[Maschinengewehr 34]],
  85.   range              = 945,
  86.   reloadTime         = 2.55,
  87.   soundStart         = [[GER_MG34]],
  88.   sprayAngle         = 300, -- ?
  89. }
  90.  
  91. -- MG42 (GER)
  92. local MG42 = MGClass:New{
  93.   accuracy           = 100, --?
  94.   burst              = 11,
  95.   burstRate          = 0.0175,
  96.   movingAccuracy     = 7111,
  97.   name               = [[Maschinengewehr 42]],
  98.   range              = 850,
  99.   reloadTime         = 2.55,
  100.   soundStart         = [[GER_MG42]],
  101.   sprayAngle         = 530,
  102. }
  103. -- Deployed MG42
  104. local MG42_Deployed = MG42:New{
  105.   range              = 1040,
  106.   sprayAngle         = 360,
  107. }
  108. -- Anti Air MG42
  109. local MG42AA = MG42:New{
  110.   canAttackGround    = false,
  111.   range              = 1170,
  112.   sprayAngle         = 460,
  113.   customparams = { -- don't cause fear, should cause Aircraft fear?
  114.     fearaoe            = nil,
  115.     fearid             = nil,
  116.   }
  117. }
  118.  
  119. -- DP (RUS)
  120. local DP = MGClass:New{
  121.   burst              = 5,
  122.   burstRate          = 0.12,
  123.   movingAccuracy     = 1777, -- this looks like backwards 7111?
  124.   name               = [[DP]],
  125.   range              = 700,
  126.   reloadTime         = 2.25,
  127.   soundStart         = [[RUS_DP]],
  128. }
  129. -- DT
  130. local DT = DP:new{
  131.   movingAccuracy     = 300,
  132.   range              = 910,
  133.   reloadTime         = 3,
  134.   sprayAngle         = 250,
  135. }
  136.  
  137. -- Maxim (RUS)
  138. local Maxim = MGClass:New{
  139.   burst              = 14,
  140.   burstRate          = 0.05,
  141.   name               = [[M1910 Maxim]],
  142.   range              = 1270,
  143.   reloadTime         = 2.7,
  144.   soundStart         = [[RUS_Maxim]],
  145. }
  146. -- Maxim AA
  147. local MaximAA = Maxim:New{
  148.   burst              = 7,
  149.   burstRate          = 0.103,
  150.   canAttackGround    = false,
  151.   movingAccuracy     = 400,
  152.   predictBoost       = 0.75,
  153.   range              = 1050,
  154.   customParams = {
  155.     fearaoe            = 1,
  156.     fearid             = 701,
  157.   }
  158. }
  159. -- Vickers (GBR)
  160. local Vickers = Maxim:New{
  161.   name               = [[Vickers, .303 Mark 1]],
  162.   sprayAngle         = 300, -- ?
  163. }
  164.  
  165. -- M1919 Browning (USA)
  166. local M1919A4Browning = MGClass:New{
  167.   burst              = 7,
  168.   burstRate          = 0.14,
  169.   movingAccuracy     = 6222,
  170.   name               = [[M1919A4 Browning .30 caliber machinegun]],
  171.   range              = 820,
  172.   reloadTime         = 3,
  173.   soundStart         = [[US_30Cal]],
  174.   sprayAngle         = 460,
  175. }
  176. -- Deployed Browning
  177. local M1919A4Browning_Deployed = M1919A4Browning:New{
  178.   range              = 1020,
  179.   sprayAngle         = 400,
  180. }
  181.  
  182. -- Large calibre (12.7mm) MG's
  183. -- Vickers 50 cal (GBR)
  184. local Twin05CalVickers = HeavyMGClass:New{
  185.   name               = [[Twin Vickers .50 Caliber Heavy Machine Gun]],
  186.   range              = 875,
  187.   reloadTime         = 2.2,
  188.   soundStart         = [[US_50CAL]],
  189. }
  190.  
  191. -- DShK (RUS)
  192. local DShK = HeavyMGClass:New{
  193.   name               = [[DShK 12.7mm Heavy Machine Gun]],
  194.   range              = 1300,
  195.   reloadTime         = 3,
  196.   soundStart         = [[RUS_DShK]],
  197. }
  198. -- Twin DShK
  199. local Twin_DShK = DShK:New{
  200.   reloadTime         = 1.4, -- why not 1.5?
  201. }
  202.  
  203. -- M2 Browning  (USA)
  204. local M2Browning = HeavyMGClass:New{
  205.   name               = [[M2 Browning .50 Caliber Heavy Machine Gun]],
  206.   range              = 880,
  207.   reloadTime         = 4,
  208.   soundStart         = [[US_50CAL]],
  209. }
  210. -- M2 Browning AA
  211. local M2BrowningAA = M2Browning:New{
  212.   burst              = 6,
  213.   canAttackGround    = false,
  214.   movingAccuracy     = 200,
  215.   range              = 1170,
  216.   reloadTime         = 1.5,
  217.   sprayAngle         = 250, --?
  218.   customParams = {
  219.     fearaoe            = 1,
  220.     fearid             = 701,
  221.   }  
  222. }
  223. -- M2 Browning Aircraft
  224. local M2BrowningAMG = M2Browning:New{{
  225.   burst             = 6,
  226.   burstRate         = 0.085,
  227.   interceptedByShieldType = 8, --??
  228.   predictBoost      = 0.75,
  229.   range             = 900,
  230.   reloadTime        = 0.6,
  231.   soundStart        = [[US_50CALAir]],
  232.   sprayAngle        = 250,
  233.   tolerance         = 600,, --?
  234. }
  235.  
  236. -- Return only the full weapons
  237. return lowerkeys({
  238.   -- 8mm
  239.   BESA = BESA,
  240.   Bren = Bren,
  241.   Vickers = vickers,
  242.   MG34 = MG34,
  243.   MG42 = MG42,
  244.   MG42_Deployed = MG42_Deployed,
  245.   MG42AA = MG42AA,
  246.   DP = DP,
  247.   DT = DT,
  248.   Maxim = Maxim,
  249.   MaximAA = MaximAA,
  250.   M1919A4Browning = M1919A4Browning,
  251.   M1919A4Browning_Deployed = M1919A4Browning_Deployed,
  252.   -- 13mm
  253.   Twin05CalVickers = Twin05CalVickers,
  254.   DShK = DShK,
  255.   Twin_DShK = Twin_DShK,
  256.   M2Browning = M2Browning,
  257.   M2BrowningAA = M2BrowningAA,
  258.   M2BrowningAMG = M2BrowningAMG,
  259. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement