-- Artillery - Light Howitzers -- Howitzer Base Class local HowitzerClass = Weapon:New{ collisionSize = 4, edgeEffectiveness = 0.15, explosionGenerator = [[custom:HE_Large]], explosionSpeed = 30, gravityAffected = true, impulseFactor = 0, intensity = 0.1, leadLimit = 0.05, myGravity = 1/3, noSelfDamage = true, rgbColor = [[0.5 0.5 0.0]], separation = 2, size = 1, soundStart = [[GEN_105mm]], soundHit = [[GEN_Explo_4]], stages = 50, targetMoveError = 0.75, tolerance = 3000, turret = true, weaponType = [[Cannon]], weaponVelocity = 1200, customparams = { damagetype = [[explosive]], howitzer = 1, }, } -- HE Round Class local HowitzerHEClass = HowitzerClass:New{ name = [[HE Shell]], customparams = { fearaoe = 210, fearid = 501, }, } -- Smoke Round Class local HowitzerSmokeClass = HowitzerClass:New{ areaOfEffect = 30, name = [[Smoke Shell]], customparams = { smokeradius = 250, smokeduration = 40, smokeceg = [[SMOKESHELL_Medium]], }, damage = { default = 100, } , } -- Implementations -- QF 25pdr Gun (GBR) local QF25Pdr = HowitzerClass:New{ accuracy = 720, areaOfEffect = 94, edgeEffectiveness = 0.2, -- overrides default name = [[Ordnance QF 25pdr Gun Mk. II]], range = 7780, reloadtime = 7.2, damage = { default = 1088, }, } local QF25PdrHE = QF25Pdr:Inherit(HowitzerHEClass) local QF25PdrSmoke = QF25Pdr:Inherit(HowitzerSmokeClass) -- 10.5cm LeFH 18/40 (GER) local LeFH18 = HowitzerClass:New{ accuracy = 1050, areaOfEffect = 129, name = [[10.5cm LeFH 18/40]], range = 7200, reloadtime = 11.25, damage = { default = 4200, }, } local LeFH18HE = LeFH18:Inherit(HowitzerHEClass) local LeFH18Smoke = LeFH18:Inherit(HowitzerSmokeClass) -- M2 105mm Howitzer (USA) local M2 = HowitzerClass:New{ accuracy = 1050, areaOfEffect = 131, name = [[10.5cm LeFH 18/40]], range = 7200, reloadtime = 11.25, damage = { default = 4360, }, } local M2HE = M2:Inherit(HowitzerHEClass) local M2Smoke = M2:Inherit(HowitzerSmokeClass) -- M-30 122mm Howitzer (RUS) local M30122mm = HowitzerClass:New{ accuracy = 1150, areaOfEffect = 154, name = [[M-30 122mm Howitzer]], range = 6965, reloadtime = 15, damage = { default = 7200, }, } local M30122mmHE = M30122mm:Inherit(HowitzerHEClass):New{ customparams = { fearaoe = 250, } } local M30122mmSmoke = M30122mm:Inherit(HowitzerSmokeClass) -- Return only the full weapons return lowerkeys({ QF25PdrHE = QF25PdrHE, QF25PdrSmoke = QF25PdrSmoke, LeFH18HE = LeFH18HE, LeFH18Smoke = LeFH18Smoke, M2HE = M2HE, M2Smoke = M2Smoke, M30122mmHE = M30122mmHE, M30122mmSmoke = M30122mmSmoke, })