This commit is contained in:
2023-08-23 20:48:29 +03:00
parent b2454fd601
commit 329cf8ad7a
22 changed files with 0 additions and 0 deletions

View File

@@ -1,139 +0,0 @@
function WeaponGenerator.generateAutoCannon(rand, dps, tech, material, rarity)
local weapon = Weapon()
weapon:setProjectile()
dps = dps * 0.75
local fireDelay = rand:getFloat(1.5, 2.5)*0.5
local reach = rand:getFloat(1100, 1500)*0.7
local damage = dps * fireDelay
local speed = rand:getFloat(300, 400)*1.5
local existingTime = (reach / speed)*1.1
weapon.fireDelay = fireDelay
weapon.reach = reach
weapon.appearanceSeed = rand:getInt()
weapon.seeker = rand:test(1 / 2)
weapon.appearance = WeaponAppearance.Cannon
weapon.name = "Auto Cannon /* Weapon Name*/"%_t
weapon.prefix = "Auto Cannon /* Weapon Prefix*/"%_t
weapon.icon = "data/textures/icons/autocannon.png"
weapon.sound = "cannon"
weapon.accuracy = 0.99 - rand:getFloat(0, 0.03)
weapon.damage = damage
weapon.damageType = DamageType.Physical
weapon.impactParticles = ImpactParticles.Explosion
weapon.shieldDamageMultiplicator=1.1 + rarity.value * 0.1
weapon.impactSound = 1
weapon.impactExplosion = true
weapon.psize = rand:getFloat(0.2, 0.5)
weapon.pmaximumTime = existingTime
weapon.pvelocity = speed
weapon.pcolor = ColorHSV(rand:getFloat(10, 60), 0.7, 1)
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
-- these have to be assigned after the weapon was adjusted since the damage might be changed
weapon.recoil = weapon.damage * 20 * 0.75
weapon.explosionRadius = math.sqrt(weapon.damage * 6)
return weapon
end
generatorFunction[WeaponType.AutoCannon] = WeaponGenerator.generateAutoCannon
function WeaponGenerator.generateHeavyCannon(rand, dps, tech, material, rarity)
local weapon = Weapon()
weapon:setProjectile()
dps = dps * 1.85
local fireDelay = rand:getFloat(1.5, 2.5)*1.8
local reach = rand:getFloat(1100, 1500)*0.5
local damage = dps * fireDelay
local speed = rand:getFloat(600, 1000)
local existingTime = (reach / speed)*1.1
weapon.fireDelay = fireDelay
weapon.reach = reach
weapon.appearanceSeed = rand:getInt()
weapon.appearance = WeaponAppearance.Bolter
weapon.name = "Heavy Cannon /* Weapon Name*/"%_t
weapon.prefix = "Heavy Cannon /* Weapon Prefix*/"%_t
weapon.icon = "data/textures/icons/heavycannon.png"
weapon.sound = "cannon"
weapon.accuracy = 0.89 - rand:getFloat(0, 0.03)
weapon.damage = damage
weapon.damageType = DamageType.Physical
weapon.impactParticles = ImpactParticles.Explosion
weapon.impactSound = 1
weapon.impactExplosion = true
weapon.otherForce = dps*math.max(1, rarity.value)*89*5
weapon.psize = rand:getFloat(0.2, 0.5)
weapon.pmaximumTime = existingTime
weapon.pvelocity = speed
weapon.pcolor = ColorHSV(rand:getFloat(10, 60), 0.7, 1)
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
-- these have to be assigned after the weapon was adjusted since the damage might be changed
weapon.recoil = weapon.damage * 50
weapon.explosionRadius = math.sqrt(weapon.damage * 7)
return weapon
end
generatorFunction[WeaponType.HeavyCannon] = WeaponGenerator.generateHeavyCannon
function WeaponGenerator.generateDiffuser(rand, dps, tech, material, rarity)
local weapon = Weapon()
weapon:setBeam()
local fireDelay = rand:getFloat(1, 2.5)*1.5
local reach = rand:getFloat(950, 1400)
local damage = dps * fireDelay
weapon.fireDelay = fireDelay
weapon.appearanceSeed = rand:getInt()
weapon.reach = reach
weapon.continuousBeam = false
weapon.appearance = WeaponAppearance.Tesla
weapon.name = "Diffuser /* Weapon Name*/"%_t
weapon.prefix = "Diffuser /* Weapon Prefix*/"%_t
weapon.icon = "data/textures/icons/diffuser.png"
weapon.sound = "railgun"
weapon.accuracy = 0.99 - rand:getFloat(0, 0.02)
weapon.damage = damage
weapon.damageType = DamageType.Energy
weapon.impactParticles = ImpactParticles.Energy
weapon.shieldDamageMultiplicator = 20 + rand:getFloat(0, 4) + rarity.value * 3
weapon.stoneDamageMultiplicator = 0
weapon.hullDamageMultiplicator = 0
weapon.impactSound = 1
weapon.blength = weapon.reach
weapon.bshape = BeamShape.Lightning
weapon.bwidth = 0.5
weapon.bauraWidth = 3
weapon.banimationSpeed = 0
weapon.banimationAcceleration = 0
weapon.bshapeSize = 13
-- shades of blue
weapon.bouterColor = ColorHSV(rand:getFloat(180, 260), rand:getFloat(0.5, 1), rand:getFloat(0.1, 0.5))
weapon.binnerColor = ColorHSV(rand:getFloat(180, 260), rand:getFloat(0.1, 0.5), 1)
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
weapon.recoil = weapon.damage * 5
return weapon
end
generatorFunction[WeaponType.Diffuser] = WeaponGenerator.generateDiffuser