-- 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 . -- import local colorUtils = require("prototypes/utils/ColorUtils") local smokeUtils = require("prototypes/utils/SmokeUtils") local swarmUtils = require("prototypes/SwarmUtils") 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() end