-- 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 . data:extend({ { type = "bool-setting", name = "rampant--useDumbProjectiles", description = "rampant--useDumbProjectiles", setting_type = "startup", default_value = true, order = "a[modifier]-a[projectiles]", per_user = false }, { type = "bool-setting", name = "rampant--disableCollidingProjectiles", setting_type = "startup", default_value = true, order = "b[modifier]-b[trigger]", per_user = false }, { type = "bool-setting", name = "rampant--unitsAffectedByTiles", setting_type = "startup", default_value = true, order = "b[modifier]-b[trigger]", per_user = false }, { type = "bool-setting", name = "rampant--oldRedEnemyMapColor", setting_type = "startup", default_value = false, order = "b[modifier]-c[trigger]", per_user = false }, { type = "int-setting", name = "rampant--attackWaveMaxSize", setting_type = "runtime-global", minimum_value = 20, maximum_value = 600, default_value = 75, order = "b[modifier]-f[wave]", per_user = false }, { type = "int-setting", name = "rampant--maxNumberOfSquads", setting_type = "runtime-global", minimum_value = 1, maximum_value = 300, default_value = 30, order = "b[modifier]-f[wave]", per_user = false }, { type = "int-setting", name = "rampant--maxNumberOfBuilders", setting_type = "runtime-global", minimum_value = 1, maximum_value = 120, default_value = 10, order = "b[modifier]-f[wave]", per_user = false }, { type = "int-setting", name = "rampant--unitAndSpawnerFadeTime", setting_type = "startup", minimum_value = 1, maximum_value = 30000000 * 60, default_value = 5 * 60, order = "b[modifier]-f[wave]", per_user = false }, { type = "bool-setting", name = "rampant--enableFadeTime", setting_type = "startup", default_value = true, order = "b[modifier]-f[wave]", per_user = false }, -- { -- type = "bool-setting", -- name = "rampant--liteMode", -- setting_type = "startup", -- default_value = false, -- order = "b[modifier]-g[ai]", -- per_user = false -- }, { type = "bool-setting", name = "rampant--enableSwarm", description = "rampant--enableSwarm", setting_type = "startup", default_value = true, order = "b[modifier]-j[unit]", per_user = false }, { type = "bool-setting", name = "rampant--enableShrinkNestsAndWorms", description = "rampant--enableShrinkNestsAndWorms", setting_type = "startup", default_value = false, order = "b[modifier]-j[unit]", per_user = false }, { type = "bool-setting", name = "rampant--safeBuildings-curvedRail", setting_type = "runtime-global", default_value = false, order = "c[modifier]-b[safe]", per_user = false }, { type = "bool-setting", name = "rampant--safeBuildings-straightRail", setting_type = "runtime-global", default_value = false, order = "c[modifier]-c[safe]", per_user = false }, { type = "bool-setting", name = "rampant--safeBuildings-bigElectricPole", setting_type = "runtime-global", default_value = false, order = "c[modifier]-d[safe]", per_user = false }, { type = "bool-setting", name = "rampant--safeBuildings-railSignals", setting_type = "runtime-global", default_value = false, order = "c[modifier]-e[safe]", per_user = false }, { type = "bool-setting", name = "rampant--safeBuildings-railChainSignals", setting_type = "runtime-global", default_value = false, order = "c[modifier]-f[safe]", per_user = false }, { type = "bool-setting", name = "rampant--safeBuildings-trainStops", setting_type = "runtime-global", default_value = false, order = "c[modifier]-g[safe]", per_user = false }, { type = "bool-setting", name = "rampant--safeBuildings-lamps", setting_type = "runtime-global", default_value = false, order = "c[modifier]-h[safe]", per_user = false }, { type = "bool-setting", name = "rampant--addWallResistanceAcid", description = "rampant--addWallResistanceAcid", setting_type = "startup", default_value = false, order = "c[modifier]-j[damage]", per_user = false }, { type = "bool-setting", name = "rampant--disallowFriendlyFire", setting_type = "startup", default_value = true, order = "c[modifier]-k[trigger]", per_user = false }, { type = "int-setting", name = "rampant--max-evo-dist", setting_type = "startup", default_value = 300, minimum_value = 0, maximum_value = 100000, order = "c[max]-k[evolution]", per_user = false }, { type = "double-setting", name = "rampant--adaptationModifier", setting_type = "runtime-global", default_value = 1, minimum_value = 0.001, maximum_value = 100.0, order = "m[total]-b[ai]", per_user = false }, { type = "int-setting", name = "rampant--max-base-mutations", setting_type = "runtime-global", minimum_value = 0, maximum_value = 9999999999, default_value = 2, order = "d[modifier]-a[ai]", per_user = false }, { type = "int-setting", name = "rampant--maxBaseAlignmentHistory", setting_type = "runtime-global", minimum_value = 0, maximum_value = 16, default_value = 16, order = "d[modifier]-a[ai]", per_user = false }, { type = "int-setting", name = "rampant--initialPeaceTime", setting_type = "runtime-global", minimum_value = 0, default_value = 20, maximum_value = 9999999999, order = "d[modifier]-a[ai]", per_user = false }, { type = "bool-setting", name = "rampant--printAwakenMessage", setting_type = "runtime-global", default_value = true, order = "d[modifier]-a[ai]", per_user = false }, { type = "bool-setting", name = "rampant--newEnemies", description = "rampant--newEnemies", setting_type = "startup", default_value = true, order = "e[modifier]-a[unit]", per_user = false }, { type = "int-setting", name = "rampant--enemySeed", description = "rampant--enemySeed", setting_type = "startup", minimum_value = 1, default_value = 1024567, maximum_value = 4294967295, order = "l[modifer]-b[unit]", per_user = false }, { type = "int-setting", name = "rampant--newEnemyVariations", description = "rampant--newEnemyVariations", setting_type = "startup", minimum_value = 1, maximum_value = 7, default_value = 1, order = "l[modifier]-h[unit]", per_user = false }, { type = "int-setting", name = "rampant--tierStart", setting_type = "startup", default_value = 1, minimum_value = 1, maximum_value = 10, order = "l[modifier]-l[unit]", per_user = false }, { type = "int-setting", name = "rampant--tierEnd", setting_type = "startup", minimum_value = 1, maximum_value = 10, default_value = 6, order = "l[modifier]-m[unit]", per_user = false }, { type = "bool-setting", name = "rampant--acidEnemy", setting_type = "startup", default_value = true, order = "l[modifier]-n[unit]", per_user = false }, { type = "bool-setting", name = "rampant--physicalEnemy", setting_type = "startup", default_value = true, order = "l[modifier]-o[unit]", per_user = false }, { type = "bool-setting", name = "rampant--suicideEnemy", setting_type = "startup", default_value = true, order = "l[modifier]-p[unit]", per_user = false }, { type = "bool-setting", name = "rampant--fireEnemy", setting_type = "startup", default_value = true, order = "l[modifier]-q[unit]", per_user = false }, { type = "bool-setting", name = "rampant--electricEnemy", setting_type = "startup", default_value = true, order = "l[modifier]-r[unit]", per_user = false }, { type = "bool-setting", name = "rampant--nuclearEnemy", setting_type = "startup", default_value = true, order = "l[modifier]-s[unit]", per_user = false }, { type = "bool-setting", name = "rampant--infernoEnemy", setting_type = "startup", default_value = true, order = "l[modifier]-t[unit]", per_user = false }, { type = "bool-setting", name = "rampant--fastEnemy", setting_type = "startup", default_value = true, order = "l[modifier]-u[unit]", per_user = false }, { type = "bool-setting", name = "rampant--trollEnemy", setting_type = "startup", default_value = true, order = "l[modifier]-v[unit]", per_user = false }, { type = "bool-setting", name = "rampant--spawnerEnemy", setting_type = "startup", default_value = true, order = "l[modifier]-w[unit]", per_user = false }, { type = "bool-setting", name = "rampant--waspEnemy", setting_type = "startup", default_value = true, order = "l[modifier]-x[unit]", per_user = false }, { type = "bool-setting", name = "rampant--laserEnemy", setting_type = "startup", default_value = true, order = "l[modifier]-y[unit]", per_user = false }, { type = "bool-setting", name = "rampant--energyThiefEnemy", setting_type = "startup", default_value = true, order = "l[modifier]-z[unit]", per_user = false }, { type = "bool-setting", name = "rampant--poisonEnemy", setting_type = "startup", default_value = true, order = "l[modifier]-za[unit]", per_user = false }, { type = "bool-setting", name = "rampant--unitSpawnerBreath", setting_type = "startup", default_value = true, order = "l[modifier]-zb[unit]", per_user = false }, -- { -- type = "bool-setting", -- name = "rampant--disableVanillaAI", -- description = "rampant--disableVanillaAI", -- setting_type = 'runtime-global', -- default_value = true, -- order = "m[total]-a[ai]", -- per_user = false -- }, { type = "bool-setting", name = "rampant--enableMigration", description = "rampant--enableMigration", setting_type = 'runtime-global', default_value = true, order = "m[total]-c[ai]", per_user = false }, { type = "bool-setting", name = "rampant--raidAIToggle", setting_type = "runtime-global", default_value = true, order = "m[total]-c[ai]", per_user = false }, { type = "bool-setting", name = "rampant--siegeAIToggle", setting_type = "runtime-global", default_value = true, order = "m[total]-c[ai]", per_user = false }, { type = "bool-setting", name = "rampant--enabledPurpleSettlerCloud", setting_type = "runtime-global", default_value = true, order = "d[modifier]-a[ai]", per_user = false }, { type = "bool-setting", name = "rampant--peacefulAIToggle", setting_type = "runtime-global", default_value = true, order = "m[total]-c[ai]", per_user = false }, { type = "bool-setting", name = "rampant--printAIStateChanges", setting_type = "runtime-global", default_value = false, order = "m[total]-c[ai]z", per_user = false }, { type = "bool-setting", name = "rampant--printBaseAdaptation", setting_type = "runtime-global", default_value = false, order = "m[total]-c[ai]z", per_user = false }, { type = "bool-setting", name = "rampant--printBaseUpgrades", setting_type = "runtime-global", default_value = false, order = "m[total]-c[ai]z", per_user = false }, { type = "bool-setting", name = "rampant--printBaseSettling", setting_type = "runtime-global", default_value = false, order = "m[total]-c[ai]z", per_user = false }, { type = "bool-setting", name = "rampant--debugTemperament", setting_type = "runtime-global", default_value = false, order = "m[total]-c[ai]zz", per_user = false }, { type = "bool-setting", name = "rampant--permanentNocturnal", description = "rampant--permanentNocturnal", setting_type = "runtime-global", default_value = false, order = "m[total]-a[ai]", per_user = false }, { type = "double-setting", name = "rampant--aiPointsScaler", description = "rampant--aiPointsScaler", setting_type = "runtime-global", default_value = 1.0, minimum_value = 0.0, maximum_value = 100.0, order = "m[total]-b[ai]1", per_user = false }, { type = "bool-setting", name = "rampant--legacyChunkScanning", description = "rampant--legacyChunkScanning", setting_type = "runtime-global", default_value = false, order = "d[modifier]-a[ai]z", per_user = false }, { type = "int-setting", name = "rampant--squadCompressionThreshold", description = "rampant--squadCompressionThreshold", setting_type = "runtime-global", minimum_value = -1, default_value = 60, maximum_value = 600, order = "d[modifier]-a[ai]z", per_user = false }, { type = "double-setting", name = "rampant--minimumAdaptationEvolution", description = "rampant--minimumAdaptationEvolution", setting_type = "runtime-global", default_value = 0.2, minimum_value = 0.0, maximum_value = 1.0, order = "m[total]-b[ai]1", per_user = false }, { type = "bool-setting", name = "rampant--aiPointsPrintSpendingToChat", description = "rampant--aiPointsPrintSpendingToChat", setting_type = "runtime-global", default_value = false, order = "m[total]-c[ai]z", per_user = false }, { type = "bool-setting", name = "rampant--aiPointsPrintGainsToChat", description = "rampant--aiPointsPrintGainsToChat", setting_type = "runtime-global", default_value = false, order = "m[total]-c[ai]z", per_user = false }, { type = "double-setting", name = "rampant--temperamentRateModifier", setting_type = "runtime-global", default_value = 1, minimum_value = 0.001, maximum_value = 100.0, order = "m[total]-b[ai]", per_user = false }, { type = "double-setting", name = "rampant--baseDistanceModifier", setting_type = "runtime-global", default_value = 1, minimum_value = 0.001, maximum_value = 100.0, order = "m[total]-b[ai]", per_user = false }, { type = "bool-setting", name = "rampant--removeBloodParticles", description = "rampant--reduceBloodParticles", setting_type = "startup", default_value = false, order = "n[modifier]-a[optimize]", per_user = false }, { type = "double-setting", name = "rampant--scaleParticleCount", description = "rampant--scaleParticleCount", setting_type = "startup", default_value = 1, minimum_value = 0.01, maximum_value = 5.0, order = "n[modifier]-a[optimize]", per_user = false }, { type = "bool-setting", name = "rampant--enableLandfillOnDeath", description = "rampant--reduceBloodParticles", setting_type = "startup", default_value = true, order = "n[modifier]-a[optimize]", per_user = false }, { type = "bool-setting", name = "rampant--unkillableLogisticRobots", setting_type = "startup", default_value = false, order = "n[modifier]-b[optimize]", per_user = false }, { type = "bool-setting", name = "rampant--unkillableConstructionRobots", setting_type = "startup", default_value = false, order = "n[modifier]-c[optimize]", per_user = false }, { type = "double-setting", name = "rampant--unitBiterHealthScaler", description = "rampant--unitBiterHealthScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-a[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitBiterHealingScaler", description = "rampant--unitBiterHealingScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-a[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitBiterSpeedScaler", description = "rampant--unitBiterSpeedScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-b[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitBiterDamageScaler", description = "rampant--unitBiterDamageScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-c[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitBiterRangeScaler", description = "rampant--unitBiterRangeScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-d[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitSpitterHealthScaler", description = "rampant--unitSpitterHealthScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-e[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitSpitterHealingScaler", description = "rampant--unitSpitterHealingScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-e[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitSpitterSpeedScaler", description = "rampant--unitSpitterSpeedScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-f[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitSpitterDamageScaler", description = "rampant--unitSpitterDamageScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-g[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitSpitterRangeScaler", description = "rampant--unitSpitterRangeScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-h[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitDroneHealthScaler", description = "rampant--unitDroneHealthScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-i[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitDroneHealingScaler", description = "rampant--unitDroneHealingScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-i[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitDroneSpeedScaler", description = "rampant--unitDroneSpeedScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-j[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitDroneDamageScaler", description = "rampant--unitDroneDamageScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-k[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitDroneRangeScaler", description = "rampant--unitDroneRangeScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-l[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitWormHealthScaler", description = "rampant--unitWormHealthScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-m[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitWormHealingScaler", description = "rampant--unitWormHealingScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-m[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitWormDamageScaler", description = "rampant--unitWormDamageScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-n[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitWormRangeScaler", description = "rampant--unitWormRangeScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-o[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitSpawnerHealthScaler", description = "rampant--unitSpawnerHealthScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-p[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitSpawnerHealingScaler", description = "rampant--unitSpawnerHealingScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-p[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitSpawnerOwnedScaler", description = "rampant--unitSpawnerOwnedScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-q[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitSpawnerSpawnScaler", description = "rampant--unitSpawnerSpawnScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-r[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitSpawnerRespawnScaler", description = "rampant--unitSpawnerRespawnScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-r[unit]", per_user = false }, { type = "double-setting", name = "rampant--unitHiveRespawnScaler", description = "rampant--unitHiveRespawnScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-r[zunit]", per_user = false }, { type = "double-setting", name = "rampant--unitHiveHealthScaler", description = "rampant--unitHiveHealthScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-r[zunit]", per_user = false }, { type = "double-setting", name = "rampant--unitHiveHealingScaler", description = "rampant--unitHiveHealingScaler", setting_type = "startup", default_value = 1.0, minimum_value = 0.0001, maximum_value = 100000.0, order = "p[modifier]-r[zunit]", per_user = false }, { type = "bool-setting", name = "rampant--attackWaveGenerationUsePlayerProximity", setting_type = "runtime-global", default_value = true, order = "b[modifier]-b[trigger]", per_user = false }, { type = "double-setting", name = "rampant--attackPlayerThreshold", setting_type = "runtime-global", minimum_value = 0, default_value = 20, order = "b[modifier]-c[threshold]", per_user = false } }) -- Converts the RGBA struct to Hexadecimal discarding the alpha value. -- Since the RGBA struct stores values as percent (0-1) and not actual RGB (0-255) there might be precision errors when converting. local function rgbaToHex(rgba) local r = string.format("%x", rgba.r * 255) local g = string.format("%x", rgba.g * 255) local b = string.format("%x", rgba.b * 255) local a = string.format("%x", rgba.a * 255) if #r == 1 then r = "0"..r end if #g == 1 then g = "0"..g end if #b == 1 then b = "0"..b end if #a == 1 then a = "0"..a end return r..g..b..a end -- Sets the default value of the faction tint settings. -- Change this function if the formating of the tint settings changes. local function setDefaultValue(tint, tint2, tint3) return rgbaToHex(tint) .. " " .. rgbaToHex(tint2) .. " " .. rgbaToHex(tint3) end local FACTIONS = { { -- Neutral faction type = "neutral", tint = {r = 0.90, g = 0.90, b = 0.90, a = 1.00}, tint2 = {r = 1.00, g = 1.00, b = 1.00, a = 1.00}, tint3 = {r = 0.50, g = 0.50, b = 0.50, a = 0.20} }, { -- Acidic faction type = "acid", tint = {r = 1.00, g = 1.00, b = 1.00, a = 1.00}, tint2 = {r = 0.40, g = 0.90, b = 0.40, a = 1.00}, tint3 = {r = 0.40, g = 0.60, b = 0.40, a = 0.20} }, { -- Laser faction type = "laser", tint = {r = 0.60, g = 0.60, b = 0.84, a = 1.00}, tint2 = {r = 0.60, g = 0.60, b = 0.84, a = 1.00}, tint3 = {r = 0.30, g = 0.30, b = 0.70, a = 0.20} }, { -- Fire faction type = "fire", tint = {r = 1.00, g = 1.00, b = 1.00, a = 1.00}, tint2 = {r = 0.90, g = 0.20, b = 0.20, a = 1.00}, tint3 = {r = 0.90, g = 0.70, b = 0.70, a = 0.20} }, { -- Inferno faction type = "inferno", tint = {r = 0.90, g = 0.75, b = 0.75, a = 1.00}, tint2 = {r = 0.70, g = 0.30, b = 0.30, a = 1.00}, tint3 = {r = 0.50, g = 0.00, b = 0.00, a = 0.20} }, { -- Wasp faction type = "wasp", tint = {r = 1.00, g = 1.00, b = 0.70, a = 1.00}, tint2 = {r = 0.50, g = 0.50, b = 0.00, a = 1.00}, tint3 = {r = 0.80, g = 0.80, b = 0.00, a = 0.20} }, { -- Spawner faction type = "spawner", tint = {r = 1.00, g = 0.80, b = 1.00, a = 1.00}, tint2 = {r = 0.90, g = 0.30, b = 0.90, a = 1.00}, tint3 = {r = 0.60, g = 0.10, b = 0.60, a = 0.20} }, { -- Electric faction type = "electric", tint = {r = 0.80, g = 0.80, b = 1.00, a = 1.00}, tint2 = {r = 0.30, g = 0.30, b = 1.00, a = 1.00}, tint3 = {r = 0.10, g = 0.10, b = 0.70, a = 0.20} }, { -- Brutal faction type = "physical", tint = {r = 0.90, g = 0.90, b = 0.90, a = 1.00}, tint2 = {r = 0.80, g = 0.80, b = 0.80, a = 1.00}, tint3 = {r = 0.20, g = 0.20, b = 0.20, a = 0.20} }, { -- Regenerative faction type = "troll", tint = {r = 0.55, g = 0.55, b = 0.55, a = 1.00}, tint2 = {r = 1.00, g = 0.30, b = 0.30, a = 1.00}, tint3 = {r = 0.30, g = 0.10, b = 0.10, a = 0.20} }, { -- Poison faction type = "poison", tint = {r = 0.50, g = 0.70, b = 0.60, a = 1.00}, tint2 = {r = 0.30, g = 0.90, b = 0.30, a = 1.00}, tint3 = {r = 0.05, g = 0.30, b = 0.05, a = 0.20} }, { -- Suicide faction type = "suicide", tint = {r = 0.80, g = 0.80, b = 0.80, a = 1.00}, tint2 = {r = 1.00, g = 0.50, b = 0.00, a = 1.00}, tint3 = {r = 0.55, g = 0.30, b = 0.15, a = 0.20} }, { -- Nuclear faction type = "nuclear", tint = {r = 0.10, g = 0.95, b = 0.10, a = 1.00}, tint2 = {r = 1.00, g = 0.50, b = 0.00, a = 1.00}, tint3 = {r = 0.50, g = 0.75, b = 0.00, a = 0.20} }, { -- Sapper faction type = "energyThief", tint = {r = 0.50, g = 0.50, b = 0.70, a = 1.00}, tint2 = {r = 0.40, g = 0.40, b = 0.40, a = 1.00}, tint3 = {r = 0.10, g = 0.10, b = 0.40, a = 0.20} }, { -- Fast faction type = "fast", tint = {r = 0.90, g = 0.90, b = 0.90, a = 1.00}, tint2 = {r = 1.00, g = 1.00, b = 0.10, a = 1.00}, tint3 = {r = 0.50, g = 0.50, b = 0.00, a = 0.20} } } for i = 1, #FACTIONS do local entry = FACTIONS[i] local setting = "rampant--" .. entry.type .. "Tints" data:extend({ { type = "string-setting", name = setting, description = setting, setting_type = "startup", default_value = setDefaultValue(entry.tint, entry.tint2, entry.tint3), order = "p[modifier]-r[zzunit]", }, }) end