Starbound
Weapon Retrofitting Station
Psyny  [dév.] 18 sept. 2018 à 18h24
Feedback
Please give your feedback here.
< >
Affichage des commentaires 1 à 1 sur 1
Tenet 28 déc. 2022 à 12h54 
function levelJackpot() -- determines if final weapon increases a tier
--randomly decides if final weapons's level should rise
local level = 0

-- which base weapon has higher level? use it
if weapon1.descriptor.parameters.level > weapon2.descriptor.parameters.level then
level = weapon1.descriptor.parameters.level
else
level = weapon2.descriptor.parameters.level
end

-- init the random functions
local seed = sb.makeRandomSource():randu64()
math.randomseed(seed)

-- get level difference between W1 and W2
local levelDif = math.abs(math.max(weapon1.descriptor.parameters.level,0) - math.max(weapon2.descriptor.parameters.level,0))



finalWeapon.parameters.primaryAbility.baseDps = (weapon1.descriptor.parameters.primaryAbility.baseDps + weapon2.descriptor.parameters.primaryAbility.baseDps)/2
finalWeapon.parameters.primaryAbility.fireTime = (weapon1.descriptor.parameters.primaryAbility.fireTime + weapon2.descriptor.parameters.primaryAbility.fireTime)/2
finalWeapon.parameters.primaryAbility.energyUsage = (weapon1.descriptor.parameters.primaryAbility.energyUsage + weapon2.descriptor.parameters.primaryAbility.energyUsage)/2

if math.random(0,100) < 50 then -- random number is jackpot
finalWeapon.parameters.primaryAbility.baseDps = finalWeapon.parameters.primaryAbility.baseDps*1.1
end

if math.random(0,100) < 50 then -- random number is jackpot
finalWeapon.parameters.primaryAbility.baseDps = finalWeapon.parameters.primaryAbility.baseDps*0.9
end

if math.random(0,100) < 50 then -- random number is jackpot
finalWeapon.parameters.primaryAbility.fireTime = finalWeapon.parameters.primaryAbility.fireTime*1.1
end

if math.random(0,100) < 50 then -- random number is jackpot
finalWeapon.parameters.primaryAbility.fireTime = finalWeapon.parameters.primaryAbility.fireTime*0.9
end
if math.random(0,100) < 50 then -- random number is jackpot
finalWeapon.parameters.primaryAbility.energyUsage = finalWeapon.parameters.primaryAbility.energyUsage*1.1
end

if math.random(0,100) < 50 then -- random number is jackpot
finalWeapon.parameters.primaryAbility.energyUsage = finalWeapon.parameters.primaryAbility.energyUsage*0.9
end

if math.random(0,100) < 5 then -- random number is jackpot
finalWeapon.parameters.primaryAbility.projectileCount = finalWeapon.parameters.primaryAbility.projectileCount+1
end

local chance = math.max(10 - levelDif, 1)
for i=0, 10 do
math.random()
end
if math.random(0,100) < chance then -- random number is jackpot
finalWeapon.parameters.level = level + 1
else
finalWeapon.parameters.level = level
end




end

yep. that is suggestion but idk how to make it workable
< >
Affichage des commentaires 1 à 1 sur 1
Par page : 1530 50