Statistics: Posted by Uveso — 12 Feb 2019, 22:13
Statistics: Posted by ExavierMacbeth — 12 Feb 2019, 19:17
Statistics: Posted by Uveso — 04 Feb 2019, 00:22
Statistics: Posted by CybranLord — 03 Feb 2019, 22:55
Statistics: Posted by Uveso — 01 Feb 2019, 12:45
Statistics: Posted by CybranLord — 27 Jan 2019, 18:49
Statistics: Posted by Uveso — 21 Jan 2019, 23:23
Aeon Phason Beam :
Damage : 20 (initial), 140 (upgrade 1), 630 (final upgrade)
ROF : 10
Max Range : 35 (initial), 40 (upgrade 1 and final upgrade)
DamageRadius = 1 (initial and upgrade 1), 2 (final upgrade)
-> 6300 DPS when full upgraded
Aeon Phason Beam :
Damage : 20 (initial), 70 (upgrade 1), 280-350 (final upgrade)
ROF : 10
Max Range : 35 (initial), 40 (upgrade 1 and final upgrade)
DamageRadius = 1 (initial and upgrade 1), 2 (final upgrade)
-> 2800-3500 DPS when full upgraded
Aeon :
BuildCostEnergy = 525000 -> 900000
BuildCostMass = 4500 -> 6300
BuildTime = 18000 -> 21600
Statistics: Posted by CybranLord — 07 Jan 2019, 21:46
Statistics: Posted by Uveso — 06 Jan 2019, 20:33
BuildCostEnergy = 5000000,
BuildCostMass = 18000,
BuildRate = 10,
BuildTime = 60000,
Statistics: Posted by CybranLord — 01 Jan 2019, 16:52
Statistics: Posted by Uveso — 31 Dec 2018, 23:14
function GetWeaponDPS(bp,weapon)
local DPS = {}
DPS.Damage = 0
DPS.RateOfFire = 0
DPS.DPS = 0
-- enable debug text
local bugtext = false
local WeaponEco = __blueprints[weapon.ProjectileId].Economy or nil
if WeaponEco and bp.Economy.BuildRate > 1 and WeaponEco.BuildTime > 1 and (WeaponEco.BuildCostEnergy > 1 or WeaponEco.BuildCostMass > 1) then
if bugtext == true then
LOG(' BuildTime')
end
local MuzzleSalvoSize = weapon.MuzzleSalvoSize or 1
DPS.RateOfFire = 1 / (__blueprints[weapon.ProjectileId].Economy.BuildTime / bp.Economy.BuildRate)
if weapon.NukeInnerRingDamage > 0 then
DPS.Damage = weapon.NukeInnerRingDamage + weapon.NukeOuterRingDamage
else
DPS.Damage = weapon.Damage * MuzzleSalvoSize
end
elseif weapon.DoTPulses then
if bugtext == true then
LOG(' DoTPulses')
end
DPS.RateOfFire = 1 / (math.round(10/weapon.RateOfFire) / 10)
DPS.Damage = weapon.Damage * weapon.MuzzleSalvoSize * weapon.DoTPulses
elseif weapon.ContinuousBeam then
-- ual0401
if bugtext == true then
LOG(' Continuous Beam')
end
--LOG(' weapon.BeamCollisionDelay='..weapon.BeamCollisionDelay)
local temp = weapon.BeamCollisionDelay == 0 and 1 or weapon.BeamCollisionDelay
--LOG(' temp='..temp)
DPS.RateOfFire = 1 / (weapon.BeamCollisionDelay == 0 and 1 or weapon.BeamCollisionDelay)
DPS.Damage = weapon.Damage * 10
elseif (weapon.BeamLifetime and weapon.BeamLifetime > 0) then
-- xsb2301 xea0002
if bugtext == true then
LOG(' Pulse Beam')
end
local BeamCollisionDelay = weapon.BeamCollisionDelay or 0
local BeamLifetime = weapon.BeamLifetime or 1
if BeamLifetime > 5 then
BeamLifetime = 5
end
DPS.RateOfFire = 1 / (math.round(10/weapon.RateOfFire) / 10)
DPS.Damage = weapon.Damage * BeamLifetime * 10
elseif (weapon.RackSalvoReloadTime and weapon.RackSalvoReloadTime > 0) and not weapon.RackSalvoFiresAfterCharge then
if bugtext == true then
LOG(' Salvos')
end
-- Salvos don't use weapon.RateOfFire
DPS.RateOfFire = 1 / ((weapon.MuzzleSalvoSize * weapon.MuzzleSalvoDelay + weapon.RackSalvoReloadTime))
DPS.Damage = weapon.Damage * weapon.MuzzleSalvoSize
else
-- ueb2101
if bugtext == true then
LOG(' One Shot')
end
local ProjectilesPerOnFire = weapon.ProjectilesPerOnFire or 1
local AttackGroundTries = weapon.AttackGroundTries or 1
local MuzzleSalvoSize = weapon.MuzzleSalvoSize or 1
-- don't use ProjectilesPerOnFire if MuzzleSalvoSize is present.
if MuzzleSalvoSize > 1 and ProjectilesPerOnFire > 1 then
if MuzzleSalvoSize ~= ProjectilesPerOnFire then
WARN('unit ['..bp.BlueprintId..'] has wrong ProjectilesPerOnFire in Weapon ['..weapon.DisplayName..']')
end
ProjectilesPerOnFire = 1
end
DPS.RateOfFire = 1 / (math.round(10/weapon.RateOfFire) / 10)
DPS.Damage = weapon.Damage * MuzzleSalvoSize * ProjectilesPerOnFire
end
if DPS.RateOfFire == 0 then DPS.RateOfFire = 1 end
--LOG(' Damage: '..DPS.Damage..' - RateOfFire: '..DPS.RateOfFire..' - new DPS: '..(DPS.Damage*DPS.RateOfFire))
DPS.DPS = DPS.Damage*DPS.RateOfFire
return DPS
end
Statistics: Posted by Uveso — 30 Dec 2018, 19:49