mirror of
https://github.com/veden/Rampant.git
synced 2025-01-14 02:23:01 +02:00
see changelog
This commit is contained in:
parent
dbd2d92e55
commit
97d7595e42
@ -217,10 +217,10 @@ function upgrade.attempt(natives)
|
|||||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.16.22")
|
game.surfaces[natives.activeSurface].print("Rampant - Version 0.16.22")
|
||||||
global.version = constants.VERSION_57
|
global.version = constants.VERSION_57
|
||||||
end
|
end
|
||||||
if (global.version < constants.VERSION_69) then
|
if (global.version < constants.VERSION_70) then
|
||||||
|
|
||||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.16.34")
|
game.surfaces[natives.activeSurface].print("Rampant - Version 0.16.35")
|
||||||
global.version = constants.VERSION_69
|
global.version = constants.VERSION_70
|
||||||
end
|
end
|
||||||
|
|
||||||
return starting ~= global.version, natives
|
return starting ~= global.version, natives
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
---------------------------------------------------------------------------------------------------
|
||||||
|
Version: 0.16.35
|
||||||
|
Date: 2. 1. 2019
|
||||||
|
Improvements:
|
||||||
|
- Added options to toggle new enemy factions
|
||||||
|
- Randomized base alignment array with map seed so faction distribution changes from map to map
|
||||||
|
- Added a setting to disable seige ai state, which may have been causing extra non pollution biter movements
|
||||||
|
Tweaks:
|
||||||
|
- Added upgrade path for neutral faction to laser resist faction
|
||||||
|
- Removed upgrade path from electric biters to laser resist faction
|
||||||
|
- Increased nest upgrade chance from 0.05% to 1.5%
|
||||||
|
Bugfixes:
|
||||||
|
- Fix for base upgrade framework to leveling nests correctly due to rounding errors in floating percision for lookup
|
||||||
|
- Fix for migration toggle setting not preventing the ai migration state
|
||||||
|
- Fix for entity upgrades allowing for a evolution decrease instead of start from current evolution requirement
|
||||||
|
|
||||||
---------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------
|
||||||
Version: 0.16.34
|
Version: 0.16.34
|
||||||
Date: 10. 19. 2018
|
Date: 10. 19. 2018
|
||||||
@ -10,9 +26,9 @@ Date: 10. 19. 2018
|
|||||||
- Reduced Retreat pheromone max level from 20000 to 17000
|
- Reduced Retreat pheromone max level from 20000 to 17000
|
||||||
- Reduced Retreat pheromone min level from 1500 to 1000
|
- Reduced Retreat pheromone min level from 1500 to 1000
|
||||||
- Increased death generator from 75 to 125
|
- Increased death generator from 75 to 125
|
||||||
- Increased movement persistance from 0.875 to 0.975
|
- Increased movement persistence from 0.875 to 0.975
|
||||||
- Increased player persistance from 0.98 to 0.97
|
- Increased player persistence from 0.98 to 0.97
|
||||||
- Increased resource persistance from 0.99 to 0.97
|
- Increased resource persistence from 0.99 to 0.97
|
||||||
Bugfixes:
|
Bugfixes:
|
||||||
- Fix for unit groups not being able to move off of impassable terrain
|
- Fix for unit groups not being able to move off of impassable terrain
|
||||||
- Fix for incorrect variable name in interop
|
- Fix for incorrect variable name in interop
|
||||||
|
@ -296,6 +296,7 @@ local function onModSettingsChange(event)
|
|||||||
|
|
||||||
upgrade.compareTable(natives, "deadZoneFrequency", settings.global["rampant-deadZoneFrequency"].value)
|
upgrade.compareTable(natives, "deadZoneFrequency", settings.global["rampant-deadZoneFrequency"].value)
|
||||||
upgrade.compareTable(natives, "raidAIToggle", settings.global["rampant-raidAIToggle"].value)
|
upgrade.compareTable(natives, "raidAIToggle", settings.global["rampant-raidAIToggle"].value)
|
||||||
|
upgrade.compareTable(natives, "seigeAIToggle", settings.global["rampant-seigeAIToggle"].value)
|
||||||
|
|
||||||
upgrade.compareTable(natives, "attackThresholdMin", settings.global["rampant-attackWaveGenerationThresholdMin"].value)
|
upgrade.compareTable(natives, "attackThresholdMin", settings.global["rampant-attackWaveGenerationThresholdMin"].value)
|
||||||
upgrade.compareTable(natives, "attackThresholdMax", settings.global["rampant-attackWaveGenerationThresholdMax"].value)
|
upgrade.compareTable(natives, "attackThresholdMax", settings.global["rampant-attackWaveGenerationThresholdMax"].value)
|
||||||
|
@ -21,21 +21,45 @@ local laser = require("prototypes/Laser")
|
|||||||
if settings.startup["rampant-newEnemies"].value then
|
if settings.startup["rampant-newEnemies"].value then
|
||||||
|
|
||||||
neutral.addFaction()
|
neutral.addFaction()
|
||||||
|
if settings.startup["rampant-acidEnemy"].value then
|
||||||
acid.addFaction()
|
acid.addFaction()
|
||||||
|
end
|
||||||
|
if settings.startup["rampant-physicalEnemy"].value then
|
||||||
physical.addFaction()
|
physical.addFaction()
|
||||||
|
end
|
||||||
|
if settings.startup["rampant-suicideEnemy"].value then
|
||||||
suicide.addFaction()
|
suicide.addFaction()
|
||||||
|
end
|
||||||
|
if settings.startup["rampant-fireEnemy"].value then
|
||||||
fire.addFaction()
|
fire.addFaction()
|
||||||
|
end
|
||||||
|
if settings.startup["rampant-electricEnemy"].value then
|
||||||
electric.addFaction()
|
electric.addFaction()
|
||||||
|
end
|
||||||
|
if settings.startup["rampant-nuclearEnemy"].value then
|
||||||
nuclear.addFaction()
|
nuclear.addFaction()
|
||||||
|
end
|
||||||
|
if settings.startup["rampant-infernoEnemy"].value then
|
||||||
inferno.addFaction()
|
inferno.addFaction()
|
||||||
|
end
|
||||||
|
if settings.startup["rampant-fastEnemy"].value then
|
||||||
fast.addFaction()
|
fast.addFaction()
|
||||||
|
end
|
||||||
|
if settings.startup["rampant-trollEnemy"].value then
|
||||||
troll.addFaction()
|
troll.addFaction()
|
||||||
|
end
|
||||||
|
if settings.startup["rampant-spawnerEnemy"].value then
|
||||||
|
spawner.addFaction()
|
||||||
|
end
|
||||||
|
if settings.startup["rampant-waspEnemy"].value then
|
||||||
|
wasp.addFaction()
|
||||||
|
end
|
||||||
|
if settings.startup["rampant-laserEnemy"].value then
|
||||||
|
laser.addFaction()
|
||||||
|
end
|
||||||
-- require("prototypes/Decaying")
|
-- require("prototypes/Decaying")
|
||||||
-- require("prototypes/Poison")
|
-- require("prototypes/Poison")
|
||||||
-- require("prototypes/Undying")
|
-- require("prototypes/Undying")
|
||||||
spawner.addFaction()
|
|
||||||
wasp.addFaction()
|
|
||||||
laser.addFaction()
|
|
||||||
-- energyThief.addFaction()
|
-- energyThief.addFaction()
|
||||||
|
|
||||||
for _, unitSpawner in pairs(data.raw["unit-spawner"]) do
|
for _, unitSpawner in pairs(data.raw["unit-spawner"]) do
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name" : "Rampant",
|
"name" : "Rampant",
|
||||||
"factorio_version" : "0.16",
|
"factorio_version" : "0.16",
|
||||||
"version" : "0.16.34",
|
"version" : "0.16.35",
|
||||||
"title" : "Rampant",
|
"title" : "Rampant",
|
||||||
"author" : "Veden",
|
"author" : "Veden",
|
||||||
"homepage" : "https://forums.factorio.com/viewtopic.php?f=94&t=31445",
|
"homepage" : "https://forums.factorio.com/viewtopic.php?f=94&t=31445",
|
||||||
|
@ -111,9 +111,9 @@ function aiPlanning.planning(natives, evolution_factor, tick, surface, connected
|
|||||||
roll = mRandom()
|
roll = mRandom()
|
||||||
if (roll < 0.70) then
|
if (roll < 0.70) then
|
||||||
natives.state = AI_STATE_AGGRESSIVE
|
natives.state = AI_STATE_AGGRESSIVE
|
||||||
elseif (roll < 0.75) then
|
elseif ((natives.enabledMigration) and (roll < 0.75)) then
|
||||||
natives.state = AI_STATE_MIGRATING
|
natives.state = AI_STATE_MIGRATING
|
||||||
elseif (roll < 0.80) then
|
elseif ((natives.seigeAIToggle) and (roll < 0.80)) then
|
||||||
natives.state = AI_STATE_SIEGE
|
natives.state = AI_STATE_SIEGE
|
||||||
elseif ((natives.raidAIToggle) and (evolution_factor >= 0.04)) then
|
elseif ((natives.raidAIToggle) and (evolution_factor >= 0.04)) then
|
||||||
natives.state = AI_STATE_RAIDING
|
natives.state = AI_STATE_RAIDING
|
||||||
|
@ -25,7 +25,7 @@ end
|
|||||||
function aiPredicates.canMigrate(natives, surface)
|
function aiPredicates.canMigrate(natives, surface)
|
||||||
return ((natives.state == AI_STATE_MIGRATING) or
|
return ((natives.state == AI_STATE_MIGRATING) or
|
||||||
(natives.state == AI_STATE_SIEGE) or
|
(natives.state == AI_STATE_SIEGE) or
|
||||||
aiPredicates.canAttackDark(natives, surface)) and natives.expansion
|
aiPredicates.canAttackDark(natives, surface)) and natives.expansion and natives.enabledMigration
|
||||||
end
|
end
|
||||||
|
|
||||||
function aiPredicates.isDark(surface)
|
function aiPredicates.isDark(surface)
|
||||||
|
@ -206,7 +206,7 @@ function baseUtils.findNearbyBase(map, chunk, natives)
|
|||||||
return foundBase
|
return foundBase
|
||||||
end
|
end
|
||||||
|
|
||||||
local function findEntityUpgrade(baseAlignment, evoIndex, natives, evolutionTable)
|
local function findEntityUpgrade(baseAlignment, currentEvo, evoIndex, natives, evolutionTable)
|
||||||
|
|
||||||
local alignments = evolutionTable[baseAlignment]
|
local alignments = evolutionTable[baseAlignment]
|
||||||
|
|
||||||
@ -216,11 +216,10 @@ local function findEntityUpgrade(baseAlignment, evoIndex, natives, evolutionTabl
|
|||||||
|
|
||||||
local entity = nil
|
local entity = nil
|
||||||
|
|
||||||
for evo=evoIndex, 0, -EVOLUTION_INCREMENTS do
|
for evo,entitySet in pairs(alignments) do
|
||||||
local entitySet = alignments[roundToFloor(evo, EVOLUTION_INCREMENTS)]
|
if (currentEvo <= evo) and (evo <= evoIndex) and entitySet and (#entitySet > 0) then
|
||||||
if entitySet and (#entitySet > 0) then
|
|
||||||
entity = entitySet[mRandom(#entitySet)]
|
entity = entitySet[mRandom(#entitySet)]
|
||||||
if (mRandom() > 0.35) then
|
if (mRandom() < 0.1) then
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -231,16 +230,41 @@ end
|
|||||||
|
|
||||||
local function findBaseInitialAlignment(evoIndex, natives, evolutionTable)
|
local function findBaseInitialAlignment(evoIndex, natives, evolutionTable)
|
||||||
|
|
||||||
local evoTop = roundToFloor(gaussianRandomRange(evoIndex, evoIndex * 0.3, 0, evoIndex), EVOLUTION_INCREMENTS)
|
local evoTop = gaussianRandomRange(evoIndex, evoIndex * 0.3, 0, evoIndex)
|
||||||
|
|
||||||
|
local pickedEvo
|
||||||
local alignment
|
local alignment
|
||||||
for evo=evoTop, 0, -EVOLUTION_INCREMENTS do
|
for _,evo in pairs(natives.evolutionTableAlignmentOrder) do
|
||||||
local entitySet = evolutionTable[roundToFloor(evo, EVOLUTION_INCREMENTS)]
|
|
||||||
if entitySet and (#entitySet > 0) then
|
local entitySet = evolutionTable[evo]
|
||||||
|
if (evo <= evoTop) and entitySet and (#entitySet > 0) then
|
||||||
|
if not pickedEvo then
|
||||||
|
alignment = entitySet[mRandom(#entitySet)]
|
||||||
|
pickedEvo = evo
|
||||||
|
else
|
||||||
|
local diff = pickedEvo - evo
|
||||||
|
if (diff > 0.2) then
|
||||||
|
if (mRandom() < 0.10) then
|
||||||
alignment = entitySet[mRandom(#entitySet)]
|
alignment = entitySet[mRandom(#entitySet)]
|
||||||
if (mRandom() > 0.35) then
|
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
|
elseif (diff >= 0) then
|
||||||
|
if (mRandom() < 0.15)then
|
||||||
|
alignment = entitySet[mRandom(#entitySet)]
|
||||||
|
break
|
||||||
|
end
|
||||||
|
elseif (diff <= -0.2) then
|
||||||
|
if (mRandom() < 0.35)then
|
||||||
|
alignment = entitySet[mRandom(#entitySet)]
|
||||||
|
break
|
||||||
|
end
|
||||||
|
elseif (diff < 0) then
|
||||||
|
if (mRandom() < 0.25)then
|
||||||
|
alignment = entitySet[mRandom(#entitySet)]
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -276,6 +300,7 @@ end
|
|||||||
function baseUtils.upgradeEntity(entity, surface, baseAlignment, natives, evolutionFactor)
|
function baseUtils.upgradeEntity(entity, surface, baseAlignment, natives, evolutionFactor)
|
||||||
local position = entity.position
|
local position = entity.position
|
||||||
local entityType = entity.type
|
local entityType = entity.type
|
||||||
|
local currentEvo = entity.prototype.build_base_evolution_requirement or 0
|
||||||
entity.destroy()
|
entity.destroy()
|
||||||
|
|
||||||
if not baseAlignment or (baseAlignment == BASE_ALIGNMENT_DEADZONE) then
|
if not baseAlignment or (baseAlignment == BASE_ALIGNMENT_DEADZONE) then
|
||||||
@ -285,9 +310,9 @@ function baseUtils.upgradeEntity(entity, surface, baseAlignment, natives, evolut
|
|||||||
local distance = roundToFloor(mMin(1,
|
local distance = roundToFloor(mMin(1,
|
||||||
euclideanDistancePoints(position.x, position.y, 0, 0) * BASE_DISTANCE_TO_EVO_INDEX),
|
euclideanDistancePoints(position.x, position.y, 0, 0) * BASE_DISTANCE_TO_EVO_INDEX),
|
||||||
EVOLUTION_INCREMENTS)
|
EVOLUTION_INCREMENTS)
|
||||||
local evoIndex = mMax(distance, roundToFloor(evolutionFactor, EVOLUTION_INCREMENTS))
|
local evoIndex = mMax(distance, evolutionFactor)
|
||||||
|
|
||||||
local spawnerName = findEntityUpgrade(baseAlignment, evoIndex, natives, ((entityType == "unit-spawner") and natives.evolutionTableUnitSpawner) or natives.evolutionTableWorm)
|
local spawnerName = findEntityUpgrade(baseAlignment, currentEvo, evoIndex, natives, ((entityType == "unit-spawner") and natives.evolutionTableUnitSpawner) or natives.evolutionTableWorm)
|
||||||
if spawnerName then
|
if spawnerName then
|
||||||
local newPosition = surface.find_non_colliding_position(spawnerName, position, CHUNK_SIZE, 4)
|
local newPosition = surface.find_non_colliding_position(spawnerName, position, CHUNK_SIZE, 4)
|
||||||
if newPosition then
|
if newPosition then
|
||||||
@ -330,7 +355,7 @@ function baseUtils.processBase(map, chunk, surface, natives, tick, base, evoluti
|
|||||||
entity = surface.find_entities_filtered(map.filteredEntitiesWormQueryLimited)
|
entity = surface.find_entities_filtered(map.filteredEntitiesWormQueryLimited)
|
||||||
cost = BASE_WORM_UPGRADE
|
cost = BASE_WORM_UPGRADE
|
||||||
end
|
end
|
||||||
elseif (choice >= 0.995) then
|
elseif (choice >= 0.985) then
|
||||||
if (base.points >= BASE_UPGRADE) then
|
if (base.points >= BASE_UPGRADE) then
|
||||||
if upgradeBase(base) then
|
if upgradeBase(base) then
|
||||||
base.points = base.points - BASE_UPGRADE
|
base.points = base.points - BASE_UPGRADE
|
||||||
@ -355,8 +380,8 @@ function baseUtils.createBase(map, natives, evolutionFactor, chunk, surface, tic
|
|||||||
|
|
||||||
local meanLevel = mFloor(distance / 200)
|
local meanLevel = mFloor(distance / 200)
|
||||||
|
|
||||||
local distanceIndex = roundToFloor(mMin(1, distance * BASE_DISTANCE_TO_EVO_INDEX), EVOLUTION_INCREMENTS)
|
local distanceIndex = mMin(1, distance * BASE_DISTANCE_TO_EVO_INDEX)
|
||||||
local evoIndex = mMax(distanceIndex, roundToFloor(evolutionFactor, EVOLUTION_INCREMENTS))
|
local evoIndex = mMax(distanceIndex, evolutionFactor)
|
||||||
|
|
||||||
|
|
||||||
local alignment
|
local alignment
|
||||||
@ -393,7 +418,7 @@ function baseUtils.createBase(map, natives, evolutionFactor, chunk, surface, tic
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function fileEntity(baseAlignment, entity, evolutionTable)
|
local function fileEntity(baseAlignment, entity, evolutionTable)
|
||||||
local evoRequirement = mFloor(entity.prototype.build_base_evolution_requirement/EVOLUTION_INCREMENTS) * EVOLUTION_INCREMENTS
|
local evoRequirement = mMin(entity.prototype.build_base_evolution_requirement, 1)
|
||||||
local eTable = evolutionTable[baseAlignment]
|
local eTable = evolutionTable[baseAlignment]
|
||||||
if not eTable then
|
if not eTable then
|
||||||
eTable = {}
|
eTable = {}
|
||||||
@ -408,8 +433,8 @@ local function fileEntity(baseAlignment, entity, evolutionTable)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function fileAlignment(baseAlignment, evolution, evolutionTable)
|
local function fileAlignment(baseAlignment, evolution, evolutionTable)
|
||||||
local evoRequirement = mFloor(evolution/EVOLUTION_INCREMENTS) * EVOLUTION_INCREMENTS
|
local evoRequirement = mMin(evolution, 1)
|
||||||
local eTable = evolutionTable[evoRequirement]
|
local eTable = evolutionTable[evolution]
|
||||||
if not eTable then
|
if not eTable then
|
||||||
eTable = {}
|
eTable = {}
|
||||||
evolutionTable[evoRequirement] = eTable
|
evolutionTable[evoRequirement] = eTable
|
||||||
@ -417,6 +442,20 @@ local function fileAlignment(baseAlignment, evolution, evolutionTable)
|
|||||||
eTable[#eTable+1] = baseAlignment
|
eTable[#eTable+1] = baseAlignment
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function nonRepeatingRandom(evoTable, rg)
|
||||||
|
local ordering = {}
|
||||||
|
for evo in pairs(evoTable) do
|
||||||
|
ordering[#ordering+1] = evo
|
||||||
|
end
|
||||||
|
for i=#ordering,1,-1 do
|
||||||
|
local s = rg(i)
|
||||||
|
local t = ordering[i]
|
||||||
|
ordering[i] = ordering[s]
|
||||||
|
ordering[s] = t
|
||||||
|
end
|
||||||
|
return ordering
|
||||||
|
end
|
||||||
|
|
||||||
local function processUnitClass(biterVariation, biterTier, spitterVariation, spitterTier, wormVariation, wormTier, surface, natives, baseAlignment, baseAlignmentString)
|
local function processUnitClass(biterVariation, biterTier, spitterVariation, spitterTier, wormVariation, wormTier, surface, natives, baseAlignment, baseAlignmentString)
|
||||||
local position = { x = 0, y = 0 }
|
local position = { x = 0, y = 0 }
|
||||||
|
|
||||||
@ -467,6 +506,8 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
|||||||
natives.evolutionTableAlignment)
|
natives.evolutionTableAlignment)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
natives.evolutionTableAlignmentOrder = nonRepeatingRandom(natives.evolutionTableAlignment, natives.randomGenerator)
|
||||||
|
|
||||||
if ENABLED_NE_UNITS then
|
if ENABLED_NE_UNITS then
|
||||||
processNEUnitClass(natives, surface)
|
processNEUnitClass(natives, surface)
|
||||||
end
|
end
|
||||||
@ -486,6 +527,7 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
|||||||
BASE_ALIGNMENT_NEUTRAL,
|
BASE_ALIGNMENT_NEUTRAL,
|
||||||
"neutral")
|
"neutral")
|
||||||
|
|
||||||
|
if settings.startup["rampant-acidEnemy"].value then
|
||||||
processUnitClass(ACID_NEST_VARIATIONS,
|
processUnitClass(ACID_NEST_VARIATIONS,
|
||||||
ACID_NEST_TIERS,
|
ACID_NEST_TIERS,
|
||||||
ACID_NEST_VARIATIONS,
|
ACID_NEST_VARIATIONS,
|
||||||
@ -496,7 +538,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
|||||||
natives,
|
natives,
|
||||||
BASE_ALIGNMENT_ACID,
|
BASE_ALIGNMENT_ACID,
|
||||||
"acid")
|
"acid")
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-physicalEnemy"].value then
|
||||||
processUnitClass(PHYSICAL_NEST_VARIATIONS,
|
processUnitClass(PHYSICAL_NEST_VARIATIONS,
|
||||||
PHYSICAL_NEST_TIERS,
|
PHYSICAL_NEST_TIERS,
|
||||||
0,
|
0,
|
||||||
@ -507,7 +551,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
|||||||
natives,
|
natives,
|
||||||
BASE_ALIGNMENT_PHYSICAL,
|
BASE_ALIGNMENT_PHYSICAL,
|
||||||
"physical")
|
"physical")
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-fireEnemy"].value then
|
||||||
processUnitClass(FIRE_NEST_VARIATIONS,
|
processUnitClass(FIRE_NEST_VARIATIONS,
|
||||||
FIRE_NEST_TIERS,
|
FIRE_NEST_TIERS,
|
||||||
FIRE_NEST_VARIATIONS,
|
FIRE_NEST_VARIATIONS,
|
||||||
@ -518,7 +564,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
|||||||
natives,
|
natives,
|
||||||
BASE_ALIGNMENT_FIRE,
|
BASE_ALIGNMENT_FIRE,
|
||||||
"fire")
|
"fire")
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-electricEnemy"].value then
|
||||||
processUnitClass(ELECTRIC_NEST_VARIATIONS,
|
processUnitClass(ELECTRIC_NEST_VARIATIONS,
|
||||||
ELECTRIC_NEST_TIERS,
|
ELECTRIC_NEST_TIERS,
|
||||||
0,
|
0,
|
||||||
@ -529,7 +577,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
|||||||
natives,
|
natives,
|
||||||
BASE_ALIGNMENT_ELECTRIC,
|
BASE_ALIGNMENT_ELECTRIC,
|
||||||
"electric")
|
"electric")
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-suicideEnemy"].value then
|
||||||
processUnitClass(SUICIDE_NEST_VARIATIONS,
|
processUnitClass(SUICIDE_NEST_VARIATIONS,
|
||||||
SUICIDE_NEST_TIERS,
|
SUICIDE_NEST_TIERS,
|
||||||
0,
|
0,
|
||||||
@ -540,7 +590,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
|||||||
natives,
|
natives,
|
||||||
BASE_ALIGNMENT_SUICIDE,
|
BASE_ALIGNMENT_SUICIDE,
|
||||||
"suicide")
|
"suicide")
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-nuclearEnemy"].value then
|
||||||
processUnitClass(NUCLEAR_NEST_VARIATIONS,
|
processUnitClass(NUCLEAR_NEST_VARIATIONS,
|
||||||
NUCLEAR_NEST_TIERS,
|
NUCLEAR_NEST_TIERS,
|
||||||
0,
|
0,
|
||||||
@ -551,7 +603,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
|||||||
natives,
|
natives,
|
||||||
BASE_ALIGNMENT_NUCLEAR,
|
BASE_ALIGNMENT_NUCLEAR,
|
||||||
"nuclear")
|
"nuclear")
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-trollEnemy"].value then
|
||||||
processUnitClass(TROLL_NEST_VARIATIONS,
|
processUnitClass(TROLL_NEST_VARIATIONS,
|
||||||
TROLL_NEST_TIERS,
|
TROLL_NEST_TIERS,
|
||||||
TROLL_NEST_VARIATIONS,
|
TROLL_NEST_VARIATIONS,
|
||||||
@ -562,7 +616,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
|||||||
natives,
|
natives,
|
||||||
BASE_ALIGNMENT_TROLL,
|
BASE_ALIGNMENT_TROLL,
|
||||||
"troll")
|
"troll")
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-infernoEnemy"].value then
|
||||||
processUnitClass(0,
|
processUnitClass(0,
|
||||||
0,
|
0,
|
||||||
INFERNO_NEST_VARIATIONS,
|
INFERNO_NEST_VARIATIONS,
|
||||||
@ -573,7 +629,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
|||||||
natives,
|
natives,
|
||||||
BASE_ALIGNMENT_INFERNO,
|
BASE_ALIGNMENT_INFERNO,
|
||||||
"inferno")
|
"inferno")
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-fastEnemy"].value then
|
||||||
processUnitClass(FAST_NEST_VARIATIONS,
|
processUnitClass(FAST_NEST_VARIATIONS,
|
||||||
FAST_NEST_TIERS,
|
FAST_NEST_TIERS,
|
||||||
FAST_NEST_VARIATIONS,
|
FAST_NEST_VARIATIONS,
|
||||||
@ -584,6 +642,7 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
|||||||
natives,
|
natives,
|
||||||
BASE_ALIGNMENT_FAST,
|
BASE_ALIGNMENT_FAST,
|
||||||
"fast")
|
"fast")
|
||||||
|
end
|
||||||
|
|
||||||
-- processUnitClass(DECAYING_NEST_VARIATIONS,
|
-- processUnitClass(DECAYING_NEST_VARIATIONS,
|
||||||
-- DECAYING_NEST_TIERS,
|
-- DECAYING_NEST_TIERS,
|
||||||
@ -618,6 +677,8 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
|||||||
-- BASE_ALIGNMENT_POSION,
|
-- BASE_ALIGNMENT_POSION,
|
||||||
-- "posion")
|
-- "posion")
|
||||||
|
|
||||||
|
|
||||||
|
if settings.startup["rampant-laserEnemy"].value then
|
||||||
processUnitClass(LASER_NEST_VARIATIONS,
|
processUnitClass(LASER_NEST_VARIATIONS,
|
||||||
LASER_NEST_TIERS,
|
LASER_NEST_TIERS,
|
||||||
LASER_NEST_VARIATIONS,
|
LASER_NEST_VARIATIONS,
|
||||||
@ -628,7 +689,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
|||||||
natives,
|
natives,
|
||||||
BASE_ALIGNMENT_LASER,
|
BASE_ALIGNMENT_LASER,
|
||||||
"laser")
|
"laser")
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-waspEnemy"].value then
|
||||||
processUnitClass(0,
|
processUnitClass(0,
|
||||||
0,
|
0,
|
||||||
WASP_NEST_VARIATIONS,
|
WASP_NEST_VARIATIONS,
|
||||||
@ -639,7 +702,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
|||||||
natives,
|
natives,
|
||||||
BASE_ALIGNMENT_WASP,
|
BASE_ALIGNMENT_WASP,
|
||||||
"wasp")
|
"wasp")
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-spawnerEnemy"].value then
|
||||||
processUnitClass(0,
|
processUnitClass(0,
|
||||||
0,
|
0,
|
||||||
SPAWNER_NEST_VARIATIONS,
|
SPAWNER_NEST_VARIATIONS,
|
||||||
@ -650,10 +715,10 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
|||||||
natives,
|
natives,
|
||||||
BASE_ALIGNMENT_SPAWNER,
|
BASE_ALIGNMENT_SPAWNER,
|
||||||
"spawner")
|
"spawner")
|
||||||
|
end
|
||||||
|
|
||||||
natives.evolutionTableUnitSpawner = normalizeProbabilities(natives.evolutionTableUnitSpawner)
|
natives.evolutionTableUnitSpawner = normalizeProbabilities(natives.evolutionTableUnitSpawner)
|
||||||
natives.evolutionTableWorm = normalizeProbabilities(natives.evolutionTableWorm)
|
natives.evolutionTableWorm = normalizeProbabilities(natives.evolutionTableWorm)
|
||||||
end
|
end
|
||||||
|
|
||||||
return baseUtils
|
return baseUtils
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ constants.VERSION_41 = 41
|
|||||||
constants.VERSION_44 = 44
|
constants.VERSION_44 = 44
|
||||||
constants.VERSION_51 = 51
|
constants.VERSION_51 = 51
|
||||||
constants.VERSION_57 = 57
|
constants.VERSION_57 = 57
|
||||||
constants.VERSION_69 = 69
|
constants.VERSION_70 = 70
|
||||||
|
|
||||||
-- misc
|
-- misc
|
||||||
|
|
||||||
@ -168,44 +168,127 @@ constants.BASE_PROCESS_INTERVAL = constants.TICKS_A_SECOND * 2
|
|||||||
-- local decayingPath = {}
|
-- local decayingPath = {}
|
||||||
-- decayingPath[constants.BASE_ALIGNMENT_UNDYING] = true
|
-- decayingPath[constants.BASE_ALIGNMENT_UNDYING] = true
|
||||||
|
|
||||||
local electricPath = {
|
constants.BASE_ALIGNMENT_EVOLUTION_BASELINE = {
|
||||||
-- constants.BASE_ALIGNMENT_ENERGY_THIEF,
|
[constants.BASE_ALIGNMENT_NEUTRAL] = 0
|
||||||
constants.BASE_ALIGNMENT_LASER
|
|
||||||
}
|
}
|
||||||
|
|
||||||
constants.BASE_ALIGNMENT_PATHS = {}
|
constants.BASE_ALIGNMENT_PATHS = {}
|
||||||
constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_NEUTRAL] = {
|
-- constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_NEUTRAL] = {
|
||||||
constants.BASE_ALIGNMENT_ACID,
|
-- constants.BASE_ALIGNMENT_ACID,
|
||||||
constants.BASE_ALIGNMENT_FIRE,
|
-- constants.BASE_ALIGNMENT_FIRE,
|
||||||
constants.BASE_ALIGNMENT_WASP,
|
-- constants.BASE_ALIGNMENT_WASP,
|
||||||
constants.BASE_ALIGNMENT_PHYSICAL,
|
-- constants.BASE_ALIGNMENT_PHYSICAL,
|
||||||
constants.BASE_ALIGNMENT_ELECTRIC,
|
-- constants.BASE_ALIGNMENT_ELECTRIC,
|
||||||
constants.BASE_ALIGNMENT_SUICIDE,
|
-- constants.BASE_ALIGNMENT_SUICIDE,
|
||||||
constants.BASE_ALIGNMENT_TROLL,
|
-- constants.BASE_ALIGNMENT_TROLL,
|
||||||
constants.BASE_ALIGNMENT_FAST
|
-- constants.BASE_ALIGNMENT_FAST
|
||||||
}
|
-- }
|
||||||
constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_FIRE] = { constants.BASE_ALIGNMENT_INFERNO }
|
|
||||||
constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_SUICIDE] = { constants.BASE_ALIGNMENT_NUCLEAR }
|
local function pushBasePath(x)
|
||||||
constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_WASP] = { constants.BASE_ALIGNMENT_SPAWNER }
|
local tbl = constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_NEUTRAL]
|
||||||
|
if not tbl then
|
||||||
|
tbl = {}
|
||||||
|
constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_NEUTRAL] = tbl
|
||||||
|
end
|
||||||
|
tbl[#tbl+1] = x
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-acidEnemy"].value then
|
||||||
|
pushBasePath(constants.BASE_ALIGNMENT_ACID)
|
||||||
|
local tbl = constants.BASE_ALIGNMENT_EVOLUTION_BASELINE
|
||||||
|
tbl[constants.BASE_ALIGNMENT_ACID] = 0.1
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-physicalEnemy"].value then
|
||||||
|
pushBasePath(constants.BASE_ALIGNMENT_PHYSICAL)
|
||||||
|
local tbl = constants.BASE_ALIGNMENT_EVOLUTION_BASELINE
|
||||||
|
tbl[constants.BASE_ALIGNMENT_PHYSICAL] = 0.4
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-suicideEnemy"].value then
|
||||||
|
pushBasePath(constants.BASE_ALIGNMENT_SUICIDE)
|
||||||
|
local tbl = constants.BASE_ALIGNMENT_EVOLUTION_BASELINE
|
||||||
|
tbl[constants.BASE_ALIGNMENT_SUICIDE] = 0.3
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-fireEnemy"].value then
|
||||||
|
pushBasePath(constants.BASE_ALIGNMENT_FIRE)
|
||||||
|
local tbl = constants.BASE_ALIGNMENT_EVOLUTION_BASELINE
|
||||||
|
tbl[constants.BASE_ALIGNMENT_FIRE] = 0.4
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-electricEnemy"].value then
|
||||||
|
pushBasePath(constants.BASE_ALIGNMENT_ELECTRIC)
|
||||||
|
local tbl = constants.BASE_ALIGNMENT_EVOLUTION_BASELINE
|
||||||
|
tbl[constants.BASE_ALIGNMENT_ELECTRIC] = 0.2
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-nuclearEnemy"].value then
|
||||||
|
if settings.startup["rampant-suicideEnemy"].value then
|
||||||
|
constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_SUICIDE] = { constants.BASE_ALIGNMENT_NUCLEAR }
|
||||||
|
end
|
||||||
|
|
||||||
|
local tbl = constants.BASE_ALIGNMENT_EVOLUTION_BASELINE
|
||||||
|
tbl[constants.BASE_ALIGNMENT_NUCLEAR] = 0.7
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-fastEnemy"].value then
|
||||||
|
pushBasePath(constants.BASE_ALIGNMENT_FAST)
|
||||||
|
local tbl = constants.BASE_ALIGNMENT_EVOLUTION_BASELINE
|
||||||
|
tbl[constants.BASE_ALIGNMENT_FAST] = 0.5
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-trollEnemy"].value then
|
||||||
|
pushBasePath(constants.BASE_ALIGNMENT_TROLL)
|
||||||
|
local tbl = constants.BASE_ALIGNMENT_EVOLUTION_BASELINE
|
||||||
|
tbl[constants.BASE_ALIGNMENT_TROLL] = 0.5
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-laserEnemy"].value then
|
||||||
|
pushBasePath(constants.BASE_ALIGNMENT_LASER)
|
||||||
|
|
||||||
|
local tbl = constants.BASE_ALIGNMENT_EVOLUTION_BASELINE
|
||||||
|
tbl[constants.BASE_ALIGNMENT_LASER] = 0.4
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-waspEnemy"].value then
|
||||||
|
pushBasePath(constants.BASE_ALIGNMENT_WASP)
|
||||||
|
|
||||||
|
local tbl = constants.BASE_ALIGNMENT_EVOLUTION_BASELINE
|
||||||
|
tbl[constants.BASE_ALIGNMENT_WASP] = 0.5
|
||||||
|
end
|
||||||
|
|
||||||
|
-- constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_FIRE] = { constants.BASE_ALIGNMENT_INFERNO }
|
||||||
|
-- constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_SUICIDE] = { constants.BASE_ALIGNMENT_NUCLEAR }
|
||||||
|
-- constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_WASP] = { constants.BASE_ALIGNMENT_SPAWNER }
|
||||||
-- constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_ACID] = acidPath
|
-- constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_ACID] = acidPath
|
||||||
-- constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_DECAYING] = decayingPath
|
-- constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_DECAYING] = decayingPath
|
||||||
constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_ELECTRIC] = electricPath
|
-- constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_ELECTRIC] = { constants.BASE_ALIGNMENT_LASER }
|
||||||
|
|
||||||
|
-- [constants.BASE_ALIGNMENT_WASP] = 0.5,
|
||||||
|
-- [constants.BASE_ALIGNMENT_SPAWNER] = 0.7,
|
||||||
|
-- [constants.BASE_ALIGNMENT_INFERNO] = 0.6,
|
||||||
|
|
||||||
|
if settings.startup["rampant-infernoEnemy"].value then
|
||||||
|
if settings.startup["rampant-fireEnemy"].value then
|
||||||
|
constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_FIRE] = { constants.BASE_ALIGNMENT_INFERNO }
|
||||||
|
end
|
||||||
|
|
||||||
|
local tbl = constants.BASE_ALIGNMENT_EVOLUTION_BASELINE
|
||||||
|
tbl[constants.BASE_ALIGNMENT_INFERNO] = 0.6
|
||||||
|
end
|
||||||
|
|
||||||
|
if settings.startup["rampant-spawnerEnemy"].value then
|
||||||
|
if settings.startup["rampant-waspEnemy"].value then
|
||||||
|
constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_WASP] = { constants.BASE_ALIGNMENT_SPAWNER }
|
||||||
|
end
|
||||||
|
|
||||||
|
local tbl = constants.BASE_ALIGNMENT_EVOLUTION_BASELINE
|
||||||
|
tbl[constants.BASE_ALIGNMENT_SPAWNER] = 0.7
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
constants.BASE_ALIGNMENT_EVOLUTION_BASELINE = {
|
|
||||||
[constants.BASE_ALIGNMENT_NEUTRAL] = 0,
|
|
||||||
[constants.BASE_ALIGNMENT_ACID] = 0.1,
|
|
||||||
[constants.BASE_ALIGNMENT_ELECTRIC] = 0.2,
|
|
||||||
[constants.BASE_ALIGNMENT_SUICIDE] = 0.3,
|
|
||||||
[constants.BASE_ALIGNMENT_PHYSICAL] = 0.4,
|
|
||||||
[constants.BASE_ALIGNMENT_LASER] = 0.4,
|
|
||||||
[constants.BASE_ALIGNMENT_WASP] = 0.5,
|
|
||||||
[constants.BASE_ALIGNMENT_FIRE] = 0.4,
|
|
||||||
[constants.BASE_ALIGNMENT_FAST] = 0.5,
|
|
||||||
[constants.BASE_ALIGNMENT_TROLL] = 0.5,
|
|
||||||
[constants.BASE_ALIGNMENT_SPAWNER] = 0.7,
|
|
||||||
[constants.BASE_ALIGNMENT_INFERNO] = 0.6,
|
|
||||||
[constants.BASE_ALIGNMENT_NUCLEAR] = 0.7
|
|
||||||
}
|
|
||||||
|
|
||||||
constants.ENABLED_NE_UNITS = settings.startup["rampant-enableNEUnits"].value and (settings.startup["NE_Difficulty"] ~= nil)
|
constants.ENABLED_NE_UNITS = settings.startup["rampant-enableNEUnits"].value and (settings.startup["NE_Difficulty"] ~= nil)
|
||||||
|
|
||||||
|
@ -125,7 +125,7 @@ function mapProcessor.processMap(map, surface, natives, tick, evolutionFactor)
|
|||||||
if squads then
|
if squads then
|
||||||
squads = formSquads(map, surface, natives, chunk, AI_SQUAD_COST)
|
squads = formSquads(map, surface, natives, chunk, AI_SQUAD_COST)
|
||||||
end
|
end
|
||||||
if natives.enabledMigration and settlers then
|
if settlers then
|
||||||
settlers = formSettlers(map, surface, natives, chunk, AI_SETTLER_COST, tick)
|
settlers = formSettlers(map, surface, natives, chunk, AI_SETTLER_COST, tick)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -11266,6 +11266,20 @@ rampant-unitSpawnerSpawnScaler=Unit Spawner Spawn Count Scaler
|
|||||||
rampant-unitSpawnerRespawnScaler=Unit Spawner Respawn Rate Scaler
|
rampant-unitSpawnerRespawnScaler=Unit Spawner Respawn Rate Scaler
|
||||||
|
|
||||||
rampant-raidAIToggle=AI: Enable Raiding AI
|
rampant-raidAIToggle=AI: Enable Raiding AI
|
||||||
|
rampant-seigeAIToggle=AI: Enable Seige AI
|
||||||
|
|
||||||
|
rampant-laserEnemy=Laser Biter Faction
|
||||||
|
rampant-waspEnemy=Wasp Biter Faction
|
||||||
|
rampant-spawnerEnemy=Spawner Biter Faction
|
||||||
|
rampant-trollEnemy=Troll Biter Faction
|
||||||
|
rampant-fastEnemy=Fast Biter Faction
|
||||||
|
rampant-infernoEnemy=Inferno Biter Faction
|
||||||
|
rampant-nuclearEnemy=Nuclear Biter Faction
|
||||||
|
rampant-electricEnemy=Electric Biter Faction
|
||||||
|
rampant-fireEnemy=Fire Biter Faction
|
||||||
|
rampant-suicideEnemy=Suicide Biter Faction
|
||||||
|
rampant-physicalEnemy=Physical Biter Faction
|
||||||
|
rampant-acidEnemy=Acid Biter Faction
|
||||||
|
|
||||||
[mod-setting-description]
|
[mod-setting-description]
|
||||||
rampant-useDumbProjectiles=Turns off homing projectiles for worms and spitters
|
rampant-useDumbProjectiles=Turns off homing projectiles for worms and spitters
|
||||||
@ -11331,3 +11345,17 @@ rampant-unitSpawnerSpawnScaler=Scales by a percentage all new enemy nest number
|
|||||||
rampant-unitSpawnerRespawnScaler=Scales by a percentage all new enemy nest time to spawn new units
|
rampant-unitSpawnerRespawnScaler=Scales by a percentage all new enemy nest time to spawn new units
|
||||||
|
|
||||||
rampant-raidAIToggle=Toggles the ai raiding parties from outside your pollution cloud
|
rampant-raidAIToggle=Toggles the ai raiding parties from outside your pollution cloud
|
||||||
|
rampant-seigeAIToggle=Toggles the ai seige parties from outside your pollution cloud that attack or nest
|
||||||
|
|
||||||
|
rampant-laserEnemy=Laser Biter Faction
|
||||||
|
rampant-waspEnemy=Wasp Biter Faction
|
||||||
|
rampant-spawnerEnemy=Spawner Biter Faction
|
||||||
|
rampant-trollEnemy=Troll Biter Faction
|
||||||
|
rampant-fastEnemy=Fast Biter Faction
|
||||||
|
rampant-infernoEnemy=Inferno Biter Faction
|
||||||
|
rampant-nuclearEnemy=Nuclear Biter Faction
|
||||||
|
rampant-electricEnemy=Electric Biter Faction
|
||||||
|
rampant-fireEnemy=Fire Biter Faction
|
||||||
|
rampant-suicideEnemy=Suicide Biter Faction
|
||||||
|
rampant-physicalEnemy=Physical Biter Faction
|
||||||
|
rampant-acidEnemy=Acid Biter Faction
|
||||||
|
4
make.rkt
4
make.rkt
@ -86,7 +86,7 @@
|
|||||||
(makeZip modFolder))
|
(makeZip modFolder))
|
||||||
|
|
||||||
(define (run)
|
(define (run)
|
||||||
(copyFiles modFolder)
|
;; (copyFiles modFolder)
|
||||||
;;(copyFiles zipModFolder)
|
;;(copyFiles zipModFolder)
|
||||||
;; (makeZip modFolder)
|
(makeZip modFolder)
|
||||||
(system*/exit-code "/data/games/factorio/bin/x64/factorio")))
|
(system*/exit-code "/data/games/factorio/bin/x64/factorio")))
|
||||||
|
117
settings.lua
117
settings.lua
@ -355,6 +355,114 @@ data:extend({
|
|||||||
per_user = false
|
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",
|
type = "bool-setting",
|
||||||
name = "rampant-disableVanillaAI",
|
name = "rampant-disableVanillaAI",
|
||||||
@ -384,6 +492,15 @@ data:extend({
|
|||||||
per_user = false
|
per_user = false
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
type = "bool-setting",
|
||||||
|
name = "rampant-seigeAIToggle",
|
||||||
|
setting_type = "runtime-global",
|
||||||
|
default_value = true,
|
||||||
|
order = "m[total]-d[ai]",
|
||||||
|
per_user = false
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
type = "bool-setting",
|
type = "bool-setting",
|
||||||
name = "rampant-removeBloodParticles",
|
name = "rampant-removeBloodParticles",
|
||||||
|
Loading…
Reference in New Issue
Block a user