mirror of
https://github.com/veden/Rampant.git
synced 2024-12-26 20:54:12 +02:00
158 lines
7.4 KiB
Lua
158 lines
7.4 KiB
Lua
-- Copyright (C) 2022 veden
|
|
|
|
-- This program is free software: you can redistribute it and/or modify
|
|
-- it under the terms of the GNU General Public License as published by
|
|
-- the Free Software Foundation, either version 3 of the License, or
|
|
-- (at your option) any later version.
|
|
|
|
-- This program is distributed in the hope that it will be useful,
|
|
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
-- GNU General Public License for more details.
|
|
|
|
-- You should have received a copy of the GNU General Public License
|
|
-- along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
|
|
-- import
|
|
|
|
local colorUtils = require("prototypes/utils/ColorUtils")
|
|
local smokeUtils = require("prototypes/utils/SmokeUtils")
|
|
local swarmUtils = require("prototypes/SwarmUtils")
|
|
local constants = require("libs/Constants")
|
|
local collision_mask_util = require("collision-mask-util")
|
|
|
|
-- imported functions
|
|
|
|
local makeSmokeSoft = smokeUtils.makeSmokeSoft
|
|
local makeSmokeWithGlow = smokeUtils.makeSmokeWithGlow
|
|
local makeSmokeWithoutGlow = smokeUtils.makeSmokeWithoutGlow
|
|
local makeSmokeAddingFuel = smokeUtils.makeSmokeAddingFuel
|
|
|
|
local makeColor = colorUtils.makeColor
|
|
|
|
-- module code
|
|
|
|
makeSmokeSoft({name="the", softSmokeTint=makeColor(0.3, 0.75, 0.3, 0.1)})
|
|
makeSmokeWithGlow({name="the", smokeWithGlowTint=makeColor(0.3, 0.75, 0.3, 0.1)})
|
|
makeSmokeWithoutGlow({name="the", smokeWithoutGlowTint=makeColor(0.3, 0.75, 0.3, 0.1)})
|
|
makeSmokeAddingFuel({name="the"})
|
|
|
|
require("prototypes/buildings/ChunkScanner")
|
|
|
|
RampantGlobalVariables = {}
|
|
RampantGlobalVariables.projectileCollisionLayer = collision_mask_util.get_first_unused_layer()
|
|
|
|
if not data.raw["corpse"]["acid-splash-purple"] then
|
|
local attributes = {}
|
|
|
|
data:extend({
|
|
{
|
|
type = "corpse",
|
|
name = "acid-splash-purple",
|
|
flags = {"not-on-map"},
|
|
time_before_removed = 60 * 30,
|
|
final_render_layer = "corpse",
|
|
splash =
|
|
{
|
|
{
|
|
filename = "__base__/graphics/entity/acid-splash/acid-splash-1.png",
|
|
line_length = 8,
|
|
direction_count = 1,
|
|
width = 106,
|
|
height = 116,
|
|
frame_count = 26,
|
|
shift = util.mul_shift(util.by_pixel(-12, -10), attributes.scale or 1),
|
|
tint = attributes.tint,
|
|
scale = (attributes.scale or 1),
|
|
hr_version = {
|
|
filename = "__base__/graphics/entity/acid-splash/hr-acid-splash-1.png",
|
|
line_length = 8,
|
|
direction_count = 1,
|
|
width = 210,
|
|
height = 224,
|
|
frame_count = 26,
|
|
shift = util.mul_shift(util.by_pixel(-12, -8), attributes.scale or 1),
|
|
tint = attributes.tint,
|
|
scale = 0.5 * (attributes.scale or 1),
|
|
}
|
|
},
|
|
{
|
|
filename = "__base__/graphics/entity/acid-splash/acid-splash-2.png",
|
|
line_length = 8,
|
|
direction_count = 1,
|
|
width = 88,
|
|
height = 76,
|
|
frame_count = 29,
|
|
shift = util.mul_shift(util.by_pixel(-10, -18), attributes.scale or 1),
|
|
tint = attributes.tint,
|
|
scale = (attributes.scale or 1),
|
|
hr_version = {
|
|
filename = "__base__/graphics/entity/acid-splash/hr-acid-splash-2.png",
|
|
line_length = 8,
|
|
direction_count = 1,
|
|
width = 174,
|
|
height = 150,
|
|
frame_count = 29,
|
|
shift = util.mul_shift(util.by_pixel(-9, -17), attributes.scale or 1),
|
|
tint = attributes.tint,
|
|
scale = 0.5 * (attributes.scale or 1),
|
|
}
|
|
},
|
|
{
|
|
filename = "__base__/graphics/entity/acid-splash/acid-splash-3.png",
|
|
line_length = 8,
|
|
direction_count = 1,
|
|
width = 118,
|
|
height = 104,
|
|
frame_count = 29,
|
|
shift = util.mul_shift(util.by_pixel(22, -16), attributes.scale or 1),
|
|
tint = attributes.tint,
|
|
scale = (attributes.scale or 1),
|
|
hr_version = {
|
|
filename = "__base__/graphics/entity/acid-splash/hr-acid-splash-3.png",
|
|
line_length = 8,
|
|
direction_count = 1,
|
|
width = 236,
|
|
height = 208,
|
|
frame_count = 29,
|
|
shift = util.mul_shift(util.by_pixel(22, -16), attributes.scale or 1),
|
|
tint = attributes.tint,
|
|
scale = 0.5 * (attributes.scale or 1),
|
|
}
|
|
},
|
|
{
|
|
filename = "__base__/graphics/entity/acid-splash/acid-splash-4.png",
|
|
line_length = 8,
|
|
direction_count = 1,
|
|
width = 128,
|
|
height = 80,
|
|
frame_count = 24,
|
|
shift = util.mul_shift(util.by_pixel(16, -20), attributes.scale or 1),
|
|
tint = attributes.tint,
|
|
scale = (attributes.scale or 1),
|
|
hr_version = {
|
|
filename = "__base__/graphics/entity/acid-splash/hr-acid-splash-4.png",
|
|
line_length = 8,
|
|
direction_count = 1,
|
|
width = 252,
|
|
height = 154,
|
|
frame_count = 24,
|
|
shift = util.mul_shift(util.by_pixel(17, -19), attributes.scale or 1),
|
|
tint = attributes.tint,
|
|
scale = 0.5 * (attributes.scale or 1),
|
|
}
|
|
}
|
|
},
|
|
splash_speed = 0.03
|
|
}
|
|
})
|
|
end
|
|
|
|
if settings.startup["rampant--newEnemies"].value then
|
|
swarmUtils.processFactions()
|
|
swarmUtils.generateSpawnerProxy(data.raw["unit-spawner"]["neutral-biter-spawner-v1-t"..constants.TIERS.."-rampant"].result_units)
|
|
else
|
|
swarmUtils.generateSpawnerProxy(data.raw["unit-spawner"]["biter-spawner"].result_units)
|
|
end
|