Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Real-time editor
Hide unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
Syntax highlighting
Choose syntax
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
Untitled diff
Created
9 years ago
Diff never expires
Clear
Export
Share
Explain
2 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
142 lines
Copy
3 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
142 lines
Copy
package.path = package.path .. ";data/scripts/systems/?.lua"
package.path = package.path .. ";data/scripts/systems/?.lua"
package.path = package.path .. ";data/scripts/lib/?.lua"
package.path = package.path .. ";data/scripts/lib/?.lua"
require ("basesystem")
require ("basesystem")
require ("utility")
require ("utility")
require ("randomext")
require ("randomext")
materialLevel = 0
materialLevel = 0
range = 0
range = 0
amount = 0
amount = 0
function getBonuses(seed, rarity)
function getBonuses(seed, rarity)
math.randomseed(seed)
math.randomseed(seed)
local range = 200 -- base value
local range = 200 -- base value
-- add flat range based on rarity
-- add flat range based on rarity
Copy
Copied
Copy
Copied
range = range + (rarity.value + 1) * 40
-- add 0 (worst rarity) to +240 (best rarity)
range = range + (rarity.value + 1) * 40
0
-- add 0 (worst rarity) to +240 (best rarity)
-- add randomized range, span is based on rarity
-- add randomized range, span is based on rarity
range = range + math.random() * ((rarity.value + 1) * 20) -- add random value between 0 (worst rarity) and 120 (best rarity)
range = range + math.random() * ((rarity.value + 1) * 20) -- add random value between 0 (worst rarity) and 120 (best rarity)
local material = rarity.value + 1
local material = rarity.value + 1
if math.random() < 0.25 then
if math.random() < 0.25 then
material = material + 1
material = material + 1
end
end
local amount = 3
local amount = 3
-- add flat amount based on rarity
-- add flat amount based on rarity
amount = amount + (rarity.value + 1) * 2 -- add 0 (worst rarity) to +120 (best rarity)
amount = amount + (rarity.value + 1) * 2 -- add 0 (worst rarity) to +120 (best rarity)
-- add randomized amount, span is based on rarity
-- add randomized amount, span is based on rarity
amount = amount + math.random() * ((rarity.value + 1) * 5) -- add random value between 0 (worst rarity) and 60 (best rarity)
amount = amount + math.random() * ((rarity.value + 1) * 5) -- add random value between 0 (worst rarity) and 60 (best rarity)
return material, range, amount
return material, range, amount
end
end
function onInstalled(seed, rarity)
function onInstalled(seed, rarity)
if onClient() then
if onClient() then
Player():registerCallback("onPreRenderHud", "onPreRenderHud")
Player():registerCallback("onPreRenderHud", "onPreRenderHud")
end
end
materialLevel, range, amount = getBonuses(seed, rarity)
materialLevel, range, amount = getBonuses(seed, rarity)
end
end
function onUninstalled(seed, rarity)
function onUninstalled(seed, rarity)
end
end
function sort(a, b)
function sort(a, b)
return a.distance < b.distance
return a.distance < b.distance
end
end
function onPreRenderHud()
function onPreRenderHud()
local ship = Entity()
local ship = Entity()
local shipPos = ship.translationf
local shipPos = ship.translationf
Copy
Copied
Copy
Copied
local sphere = Sphere(shipPos,
500
)
local sphere = Sphere(shipPos,
2600
)
local nearby = {Sector():getEntitiesByLocation(sphere)}
local nearby = {Sector():getEntitiesByLocation(sphere)}
local displayed = {}
local displayed = {}
-- detect all asteroids in range
-- detect all asteroids in range
for _, entity in pairs(nearby) do
for _, entity in pairs(nearby) do
if entity.type == EntityType.Asteroid then
if entity.type == EntityType.Asteroid then
local resources = entity:getMineableResources()
local resources = entity:getMineableResources()
if resources ~= nil and resources > 0 then
if resources ~= nil and resources > 0 then
local material = entity:getMineableMaterial()
local material = entity:getMineableMaterial()
if material.value <= materialLevel then
if material.value <= materialLevel then
local d = distance2(entity.translationf, shipPos)
local d = distance2(entity.translationf, shipPos)
table.insert(displayed, {material = material, asteroid = entity, distance = d})
table.insert(displayed, {material = material, asteroid = entity, distance = d})
end
end
end
end
end
end
end
end
-- sort by distance
-- sort by distance
table.sort(displayed, sort)
table.sort(displayed, sort)
-- display nearest x
-- display nearest x
local renderer = UIRenderer()
local renderer = UIRenderer()
for i = 1, math.min(#displayed, amount) do
for i = 1, math.min(#displayed, amount) do
local tuple = displayed[i]
local tuple = displayed[i]
renderer:renderEntityTargeter(tuple.asteroid, tuple.material.color);
renderer:renderEntityTargeter(tuple.asteroid, tuple.material.color);
renderer:renderEntityArrow(tuple.asteroid, 30, 10, 250, tuple.material.color, 0);
renderer:renderEntityArrow(tuple.asteroid, 30, 10, 250, tuple.material.color, 0);
end
end
renderer:display()
renderer:display()
end
end
function getName(seed, rarity)
function getName(seed, rarity)
return "Mining System"%_t
return "Mining System"%_t
end
end
function getIcon(seed, rarity)
function getIcon(seed, rarity)
return "data/textures/icons/mining.png"
return "data/textures/icons/mining.png"
end
end
function getEnergy(seed, rarity)
function getEnergy(seed, rarity)
local materialLevel, range, amount = getBonuses(seed, rarity)
local materialLevel, range, amount = getBonuses(seed, rarity)
Copy
Copied
Copy
Copied
return (range * 0.
0005 * materialLevel * 1000 * 1000 * 1000) + (amount * 5 * 1000 * 1000)
return (range * 0.
0
0005 * materialLevel * 1000 * 1000 * 1000) + (amount * 5 * 1000 * 1000)
end
end
function getPrice(seed, rarity)
function getPrice(seed, rarity)
local materialLevel, range, amount = getBonuses(seed, rarity)
local materialLevel, range, amount = getBonuses(seed, rarity)
Copy
Copied
Copy
Copied
local price = materialLevel * 5000 + amount * 750 + range *
1
.5;
local price = materialLevel * 5000 + amount * 750 + range *
.5;
return price * 2.5 ^ rarity.value
return price * 2.5 ^ rarity.value
end
end
function getTooltipLines(seed, rarity)
function getTooltipLines(seed, rarity)
local texts = {}
local texts = {}
local materialLevel, range, amount = getBonuses(seed, rarity)
local materialLevel, range, amount = getBonuses(seed, rarity)
materialLevel = math.max(0, math.min(materialLevel, NumMaterials() - 1))
materialLevel = math.max(0, math.min(materialLevel, NumMaterials() - 1))
local material = Material(materialLevel)
local material = Material(materialLevel)
table.insert(texts, {ltext = "Material"%_t, rtext = material.name%_t, rcolor = material.color, icon = "data/textures/icons/metal-bar.png"})
table.insert(texts, {ltext = "Material"%_t, rtext = material.name%_t, rcolor = material.color, icon = "data/textures/icons/metal-bar.png"})
table.insert(texts, {ltext = "Range"%_t, rtext = string.format("%g", round(range / 100, 2)), icon = "data/textures/icons/rss.png"})
table.insert(texts, {ltext = "Range"%_t, rtext = string.format("%g", round(range / 100, 2)), icon = "data/textures/icons/rss.png"})
table.insert(texts, {ltext = "Asteroids"%_t, rtext = string.format("%i", amount), icon = "data/textures/icons/rock.png"})
table.insert(texts, {ltext = "Asteroids"%_t, rtext = string.format("%i", amount), icon = "data/textures/icons/rock.png"})
return texts
return texts
end
end
function getDescriptionLines(seed, rarity)
function getDescriptionLines(seed, rarity)
local texts = {}
local texts = {}
local materialLevel, range, amount = getBonuses(seed, rarity)
local materialLevel, range, amount = getBonuses(seed, rarity)
materialLevel = math.max(0, math.min(materialLevel, NumMaterials() - 1))
materialLevel = math.max(0, math.min(materialLevel, NumMaterials() - 1))
local material = Material(materialLevel)
local material = Material(materialLevel)
table.insert(texts, {ltext = "Highlights nearby asteroids"%_t})
table.insert(texts, {ltext = "Highlights nearby asteroids"%_t})
return texts
return texts
end
end
Saved diffs
Original text
Open file
package.path = package.path .. ";data/scripts/systems/?.lua" package.path = package.path .. ";data/scripts/lib/?.lua" require ("basesystem") require ("utility") require ("randomext") materialLevel = 0 range = 0 amount = 0 function getBonuses(seed, rarity) math.randomseed(seed) local range = 200 -- base value -- add flat range based on rarity range = range + (rarity.value + 1) * 40 -- add 0 (worst rarity) to +240 (best rarity) -- add randomized range, span is based on rarity range = range + math.random() * ((rarity.value + 1) * 20) -- add random value between 0 (worst rarity) and 120 (best rarity) local material = rarity.value + 1 if math.random() < 0.25 then material = material + 1 end local amount = 3 -- add flat amount based on rarity amount = amount + (rarity.value + 1) * 2 -- add 0 (worst rarity) to +120 (best rarity) -- add randomized amount, span is based on rarity amount = amount + math.random() * ((rarity.value + 1) * 5) -- add random value between 0 (worst rarity) and 60 (best rarity) return material, range, amount end function onInstalled(seed, rarity) if onClient() then Player():registerCallback("onPreRenderHud", "onPreRenderHud") end materialLevel, range, amount = getBonuses(seed, rarity) end function onUninstalled(seed, rarity) end function sort(a, b) return a.distance < b.distance end function onPreRenderHud() local ship = Entity() local shipPos = ship.translationf local sphere = Sphere(shipPos, 500) local nearby = {Sector():getEntitiesByLocation(sphere)} local displayed = {} -- detect all asteroids in range for _, entity in pairs(nearby) do if entity.type == EntityType.Asteroid then local resources = entity:getMineableResources() if resources ~= nil and resources > 0 then local material = entity:getMineableMaterial() if material.value <= materialLevel then local d = distance2(entity.translationf, shipPos) table.insert(displayed, {material = material, asteroid = entity, distance = d}) end end end end -- sort by distance table.sort(displayed, sort) -- display nearest x local renderer = UIRenderer() for i = 1, math.min(#displayed, amount) do local tuple = displayed[i] renderer:renderEntityTargeter(tuple.asteroid, tuple.material.color); renderer:renderEntityArrow(tuple.asteroid, 30, 10, 250, tuple.material.color, 0); end renderer:display() end function getName(seed, rarity) return "Mining System"%_t end function getIcon(seed, rarity) return "data/textures/icons/mining.png" end function getEnergy(seed, rarity) local materialLevel, range, amount = getBonuses(seed, rarity) return (range * 0.0005 * materialLevel * 1000 * 1000 * 1000) + (amount * 5 * 1000 * 1000) end function getPrice(seed, rarity) local materialLevel, range, amount = getBonuses(seed, rarity) local price = materialLevel * 5000 + amount * 750 + range * 1.5; return price * 2.5 ^ rarity.value end function getTooltipLines(seed, rarity) local texts = {} local materialLevel, range, amount = getBonuses(seed, rarity) materialLevel = math.max(0, math.min(materialLevel, NumMaterials() - 1)) local material = Material(materialLevel) table.insert(texts, {ltext = "Material"%_t, rtext = material.name%_t, rcolor = material.color, icon = "data/textures/icons/metal-bar.png"}) table.insert(texts, {ltext = "Range"%_t, rtext = string.format("%g", round(range / 100, 2)), icon = "data/textures/icons/rss.png"}) table.insert(texts, {ltext = "Asteroids"%_t, rtext = string.format("%i", amount), icon = "data/textures/icons/rock.png"}) return texts end function getDescriptionLines(seed, rarity) local texts = {} local materialLevel, range, amount = getBonuses(seed, rarity) materialLevel = math.max(0, math.min(materialLevel, NumMaterials() - 1)) local material = Material(materialLevel) table.insert(texts, {ltext = "Highlights nearby asteroids"%_t}) return texts end
Changed text
Open file
package.path = package.path .. ";data/scripts/systems/?.lua" package.path = package.path .. ";data/scripts/lib/?.lua" require ("basesystem") require ("utility") require ("randomext") materialLevel = 0 range = 0 amount = 0 function getBonuses(seed, rarity) math.randomseed(seed) local range = 200 -- base value -- add flat range based on rarity range = range + (rarity.value + 1) * 400 -- add 0 (worst rarity) to +240 (best rarity) -- add randomized range, span is based on rarity range = range + math.random() * ((rarity.value + 1) * 20) -- add random value between 0 (worst rarity) and 120 (best rarity) local material = rarity.value + 1 if math.random() < 0.25 then material = material + 1 end local amount = 3 -- add flat amount based on rarity amount = amount + (rarity.value + 1) * 2 -- add 0 (worst rarity) to +120 (best rarity) -- add randomized amount, span is based on rarity amount = amount + math.random() * ((rarity.value + 1) * 5) -- add random value between 0 (worst rarity) and 60 (best rarity) return material, range, amount end function onInstalled(seed, rarity) if onClient() then Player():registerCallback("onPreRenderHud", "onPreRenderHud") end materialLevel, range, amount = getBonuses(seed, rarity) end function onUninstalled(seed, rarity) end function sort(a, b) return a.distance < b.distance end function onPreRenderHud() local ship = Entity() local shipPos = ship.translationf local sphere = Sphere(shipPos, 2600) local nearby = {Sector():getEntitiesByLocation(sphere)} local displayed = {} -- detect all asteroids in range for _, entity in pairs(nearby) do if entity.type == EntityType.Asteroid then local resources = entity:getMineableResources() if resources ~= nil and resources > 0 then local material = entity:getMineableMaterial() if material.value <= materialLevel then local d = distance2(entity.translationf, shipPos) table.insert(displayed, {material = material, asteroid = entity, distance = d}) end end end end -- sort by distance table.sort(displayed, sort) -- display nearest x local renderer = UIRenderer() for i = 1, math.min(#displayed, amount) do local tuple = displayed[i] renderer:renderEntityTargeter(tuple.asteroid, tuple.material.color); renderer:renderEntityArrow(tuple.asteroid, 30, 10, 250, tuple.material.color, 0); end renderer:display() end function getName(seed, rarity) return "Mining System"%_t end function getIcon(seed, rarity) return "data/textures/icons/mining.png" end function getEnergy(seed, rarity) local materialLevel, range, amount = getBonuses(seed, rarity) return (range * 0.00005 * materialLevel * 1000 * 1000 * 1000) + (amount * 5 * 1000 * 1000) end function getPrice(seed, rarity) local materialLevel, range, amount = getBonuses(seed, rarity) local price = materialLevel * 5000 + amount * 750 + range * .5; return price * 2.5 ^ rarity.value end function getTooltipLines(seed, rarity) local texts = {} local materialLevel, range, amount = getBonuses(seed, rarity) materialLevel = math.max(0, math.min(materialLevel, NumMaterials() - 1)) local material = Material(materialLevel) table.insert(texts, {ltext = "Material"%_t, rtext = material.name%_t, rcolor = material.color, icon = "data/textures/icons/metal-bar.png"}) table.insert(texts, {ltext = "Range"%_t, rtext = string.format("%g", round(range / 100, 2)), icon = "data/textures/icons/rss.png"}) table.insert(texts, {ltext = "Asteroids"%_t, rtext = string.format("%i", amount), icon = "data/textures/icons/rock.png"}) return texts end function getDescriptionLines(seed, rarity) local texts = {} local materialLevel, range, amount = getBonuses(seed, rarity) materialLevel = math.max(0, math.min(materialLevel, NumMaterials() - 1)) local material = Material(materialLevel) table.insert(texts, {ltext = "Highlights nearby asteroids"%_t}) return texts end
Find difference