1
0
mirror of https://github.com/veden/Rampant.git synced 2025-02-05 13:14:51 +02:00

see changelog

This commit is contained in:
Aaron Veden 2021-04-16 13:47:43 -07:00
parent 2b1b005892
commit 0e7932b70e
No known key found for this signature in database
GPG Key ID: FF5990B1C6DD3F84
9 changed files with 190 additions and 170 deletions

View File

@ -370,8 +370,9 @@ function upgrade.attempt(universe)
universe.settlerWaveSize = 0
universe.enabledMigration = universe.expansion and settings.global["rampant--enableMigration"].value
universe.peacefulAIToggle = not universe.enabledMigration or settings.global["rampant--peacefulAIToggle"].value
universe.peacefulAIToggle = settings.global["rampant--peacefulAIToggle"].value
universe.printAIStateChanges = settings.global["rampant--printAIStateChanges"].value
universe.debugTemperament = settings.global["rampant--debugTemperament"].value
universe.enemyAlignmentLookup = {}
@ -397,7 +398,7 @@ function upgrade.attempt(universe)
addCommandSet(universe)
game.print("Rampant - Version 1.0.3")
game.print("Rampant - Version 1.0.8")
end
return (starting ~= global.version) and global.version

View File

@ -1,3 +1,18 @@
---------------------------------------------------------------------------------------------------
Version: 1.0.8
Date: 16. 04. 2021
Contributions:
- Dagathor has added a mod settings option for disabled the peaceful AI states of Rampant
- Dagathor has added a mod settings option for displaying the Rampant state information on state change
- Astorin has provided a corrected RU locale
Improvements:
- Added a debug map setting for AI temperament
Tweaks:
- Increased form group chance minimum by 100% and maximum by 75%
- Changed nest processing for siege state to work across all spawners not just active nests
Bugfixes:
- Fixed temperament not starting at 0.5
---------------------------------------------------------------------------------------------------
Version: 1.0.7
Date: 03. 04. 2021

View File

@ -233,8 +233,9 @@ local function onModSettingsChange(event)
settings.global["rampant--aiPointsScaler"].value)
universe.enabledMigration = universe.expansion and settings.global["rampant--enableMigration"].value
universe.peacefulAIToggle = not universe.enabledMigration or settings.global["rampant--peacefulAIToggle"].value
universe.peacefulAIToggle = settings.global["rampant--peacefulAIToggle"].value
universe.printAIStateChanges = settings.global["rampant--printAIStateChanges"].value
universe.debugTemperament = settings.global["rampant--debugTemperament"].value
upgrade.compareTable(universe,
"AI_MAX_SQUAD_COUNT",

View File

@ -1,7 +1,7 @@
{
"name" : "Rampant",
"factorio_version" : "1.1",
"version" : "1.0.7",
"version" : "1.0.8",
"title" : "Rampant",
"author" : "Veden",
"homepage" : "https://forums.factorio.com/viewtopic.php?f=94&t=31445",

View File

@ -71,7 +71,7 @@ function aiPlanning.planning(map, evolution_factor, tick)
RETREAT_MOVEMENT_PHEROMONE_LEVEL_MIN,
RETREAT_MOVEMENT_PHEROMONE_LEVEL_MAX)
universe.rallyThreshold = BASE_RALLY_CHANCE + (evolution_factor * BONUS_RALLY_CHANCE)
universe.formSquadThreshold = mMax((0.20 * evolution_factor), 0.05)
universe.formSquadThreshold = mMax((0.35 * evolution_factor), 0.1)
universe.attackWaveSize = attackWaveMaxSize * (evolution_factor ^ 1.4)
universe.attackWaveDeviation = (universe.attackWaveSize * 0.333)
@ -115,8 +115,6 @@ function aiPlanning.planning(map, evolution_factor, tick)
end
if (map.stateTick <= tick) then
-- local roll = mRandom() * mMax(1 - evolution_factor, 0.15) * map.aiAggressiveness
local roll = mRandom()
if (map.temperament < 0.05) then -- 0 - 0.05
if universe.enabledMigration then
@ -160,21 +158,31 @@ function aiPlanning.planning(map, evolution_factor, tick)
map.state = AI_STATE_AGGRESSIVE
elseif (roll < 0.8) then
map.state = AI_STATE_MIGRATING
else
elseif universe.peacefulAIToggle then
map.state = AI_STATE_PEACEFUL
else
map.state = AI_STATE_MIGRATING
end
else
if (roll < 0.6) then
map.state = AI_STATE_AGGRESSIVE
else
elseif universe.peacefulAIToggle then
map.state = AI_STATE_PEACEFUL
else
map.state = AI_STATE_AGGRESSIVE
end
end
elseif (map.temperament < 0.6) then -- 0.4 - 0.6
if (roll < 0.4) then
map.state = AI_STATE_AGGRESSIVE
else
elseif universe.peacefulAIToggle then
map.state = AI_STATE_PEACEFUL
else
if universe.enabledMigration then
map.state = AI_STATE_MIGRATING
else
map.state = AI_STATE_AGGRESSIVE
end
end
elseif (map.temperament < 0.8) then -- 0.6 - 0.8
if (roll < 0.4) then
@ -183,8 +191,10 @@ function aiPlanning.planning(map, evolution_factor, tick)
map.state = AI_STATE_ONSLAUGHT
elseif (roll < 0.8) then
map.state = AI_STATE_RAIDING
else
elseif universe.peacefulAIToggle then
map.state = AI_STATE_PEACEFUL
else
map.state = AI_STATE_AGGRESSIVE
end
elseif (map.temperament < 0.95) then -- 0.8 - 0.95
if (universe.enabledMigration and universe.raidAIToggle) then
@ -246,8 +256,6 @@ function aiPlanning.planning(map, evolution_factor, tick)
end
end
-- print("changing state", map.state)
map.destroyPlayerBuildings = 0
map.lostEnemyUnits = 0
map.lostEnemyBuilding = 0
@ -255,20 +263,12 @@ function aiPlanning.planning(map, evolution_factor, tick)
map.builtEnemyBuilding = 0
map.ionCannonBlasts = 0
map.artilleryBlasts = 0
if map.state == AI_STATE_PEACEFUL and (not universe.peacefulAIToggle) then
if universe.printAIStateChanges then
game.print("Forcing AI_STATE_PEACEFUL to AI_STATE_MIGRATING")
end
map.state = AI_STATE_MIGRATING
end
map.stateTick = randomTickEvent(tick, AI_MIN_STATE_DURATION, AI_MAX_STATE_DURATION)
if universe.printAIStateChanges then
game.print(map.surface.name .. ": AI state is now: " .. map.state .. " " .. constants.stateEnglish[map.state] .. " Next state change is in " .. (map.stateTick - tick) / 60 .. " seconds")
game.print(map.surface.name .. ": AI state is now: " .. constants.stateEnglish[map.state] .. ", Next state change is in " .. (map.stateTick - tick) / 60 .. " seconds")
end
end
end
@ -368,26 +368,22 @@ function aiPlanning.temperamentPlanner(map)
delta = delta + val
end
delta = delta * map.universe.temperamentRateModifier
local universe = map.universe
delta = delta * universe.temperamentRateModifier
map.temperamentScore = mMin(10000, mMax(-10000, currentTemperament + delta))
map.temperament = ((map.temperamentScore + 10000) * 0.00005)
-- map.destroyPlayerBuildings = 0
-- map.lostEnemyUnits = 0
-- map.lostEnemyBuilding = 0
-- map.rocketLaunched = 0
-- map.builtEnemyBuilding = 0
-- map.ionCannonBlasts = 0
-- map.artilleryBlasts = 0
-- if game.tick % 240 == 0 then
-- print("temperament", map.activeNests, map.activeRaidNests, map.destroyPlayerBuildings,
-- map.lostEnemyUnits, map.lostEnemyBuilding, map.rocketLaunched, map.builtEnemyBuilding,
-- map.ionCannonBlasts, map.artilleryBlasts)
-- print("tempResult", map.temperament, map.temperamentScore, map.points, map.state, map.surface.index)
-- print("--")
-- end
if universe.debugTemperament then
if game.tick % 240 == 0 then
game.print("Rampant Stats:")
game.print("aN:" .. map.activeNests .. ", aRN:" .. map.activeRaidNests .. ", dPB:" .. map.destroyPlayerBuildings ..
", lEU:" .. map.lostEnemyUnits .. ", lEB:" .. map.lostEnemyBuilding .. ", rL:" .. map.rocketLaunched .. ", bEB:" .. map.builtEnemyBuilding ..
", iCB:" .. map.ionCannonBlasts .. ", aB:" .. map.artilleryBlasts)
game.print("temp: " .. map.temperament .. ", tempScore:" .. map.temperamentScore .. ", points:" .. map.points .. ", state:" .. constants.stateEnglish[map.state] .. ", surface:" .. map.surface.index)
game.print("aS:" .. universe.squadCount .. ", aB:" .. universe.builderCount .. ", atkSize:" .. universe.attackWaveSize .. ", stlSize:" .. universe.settlerWaveSize .. ", formGroup:" .. universe.formSquadThreshold)
end
end
end
aiPlanningG = aiPlanning

View File

@ -236,7 +236,7 @@ function mapProcessor.processPlayers(players, map, tick)
local vengence = allowingAttacks and
(map.points >= AI_VENGENCE_SQUAD_COST) and
((getEnemyStructureCount(map, playerChunk) > 0) or
(-getDeathGenerator(map, playerChunk) < -universe.retreatThreshold))
(-getDeathGenerator(map, playerChunk) < -universe.retreatThreshold))
for x=playerChunk.x - PROCESS_PLAYER_BOUND, playerChunk.x + PROCESS_PLAYER_BOUND, 32 do
for y=playerChunk.y - PROCESS_PLAYER_BOUND, playerChunk.y + PROCESS_PLAYER_BOUND, 32 do
@ -523,29 +523,38 @@ end
function mapProcessor.processSpawners(map, tick)
if (map.state ~= AI_STATE_PEACEFUL) then
if (map.state == AI_STATE_MIGRATING) or
((map.state == AI_STATE_SIEGE) and map.temperament <= 0.5)
then
if (map.state == AI_STATE_MIGRATING) then
processSpawners(map,
tick,
"processMigrationIterator",
map.chunkToNests)
elseif (map.state == AI_STATE_AGGRESSIVE) then
processSpawners(map,
tick,
"processActiveSpawnerIterator",
map.chunkToActiveNest)
elseif (map.state == AI_STATE_SIEGE) then
processSpawners(map,
tick,
"processMigrationIterator",
map.chunkToNests)
processSpawners(map,
tick,
"processActiveSpawnerIterator",
map.chunkToActiveNest)
processSpawners(map,
tick,
"processActiveRaidSpawnerIterator",
map.chunkToActiveRaidNest)
else
if (map.state ~= AI_STATE_AGGRESSIVE) then
processSpawners(map,
tick,
"processActiveSpawnerIterator",
map.chunkToActiveNest)
processSpawners(map,
tick,
"processActiveRaidSpawnerIterator",
map.chunkToActiveRaidNest)
else
processSpawners(map,
tick,
"processActiveSpawnerIterator",
map.chunkToActiveNest)
end
processSpawners(map,
tick,
"processActiveSpawnerIterator",
map.chunkToActiveNest)
processSpawners(map,
tick,
"processActiveRaidSpawnerIterator",
map.chunkToActiveRaidNest)
end
end
end

View File

@ -18824,7 +18824,7 @@ rampant--tierEnd=World: Ending enemy level
rampant--enableMigration=AI: Enable Migration
rampant--peacefulAIToggle=AI: Enable Peaceful
rampant--printAIStateChanges=AI: Print State Changes to Chat
# rampant--liteMode=Optimization: Lite mode
rampant--debugTemperament=DEBUG: Print Temperament Changes to Chat
rampant--attackWaveGenerationUsePlayerProximity=Attack Wave: Use Player Proximity as attack trigger
rampant--attackPlayerThreshold=Attack Wave: Player score contribution threshold
@ -18861,15 +18861,10 @@ rampant--unitHiveHealthScaler=Modifier: Hive Health Scaler
rampant--unitHiveHealingScaler=Modifier: Hive Healing Scaler
rampant--unitHiveRespawnScaler=Modifier: Hive Respawn Scaler
# rampant--suppress-surface-change-warnings=Suppress all surface change warnings
# rampant--aiAggressiveness=AI:AI Aggressiveness
rampant--enableShrinkNestsAndWorms=Attack Wave: Shrink Nests and Worms
rampant--raidAIToggle=AI: Enable Raiding AI
rampant--siegeAIToggle=AI: Enable Siege AI
# rampant--onslaughtAIToggle=AI: Enable Onslaught AI
rampant--laserEnemy=World: Laser Biter Faction
rampant--waspEnemy=World: Wasp Biter Faction
@ -18923,8 +18918,9 @@ rampant--disallowFriendlyFire=Prevents enemy spitters and worms from damaging un
rampant--tierStart=This is the starting level of the enemy that will be used when generating the set of enemies for the specified number of tiers and increases linearly to the end tier for as many tiers selected. Roughly healthwise each tier is a follows (1-15,2-75,3-150,4-250,5-1000,6-2000,7-3500,8-7500,9-15000,10-30000). min 1, max 10
rampant--tierEnd=This is the ending tier level that is reached after increasing linearly from the start tier for as many tiers selected. Roughly healthwise each tier is as follows (1-15,2-75,3-150,4-250,5-1000,6-2000,7-3500,8-7500,9-15000,10-30000). min 1, max 10
rampant--enableMigration=This will allow the ai to expand its worms and nests. Respects the map settings for biter expansion.
rampant--peacefulAIToggle=The Rampant AI can roll the peaceful state. If this is disabled and the biters roll the peaceful state, they are instead changed to the migration state. Requires AI: Enable Migration to be enabled for this setting to have any effect. This does not relate to whether your map has Factorio's Peaceful Mode enabled or disabled. Disable for the hardest Rampant experience.
rampant--peacefulAIToggle=The Rampant AI can roll the peaceful state. If this is disabled and the biters roll the peaceful state, they are instead changed to aggressive or migrating state depending on AI: Enabled Migration setting. This does not relate to whether your map has Factorio's Peaceful Mode enabled or disabled. Disable for the hardest Rampant experience.
rampant--printAIStateChanges=Gives you information in the game chat about Rampant's AI state. Messages are displayed for each surface. Disable for the hardest Rampant experience.
rampant--debugTemperament=Prints to chat AI temperament information that controls AI state rolls. This is used for debugging.
rampant--enableShrinkNestsAndWorms=Reduce the collision box size of nests and worms by 50%. May cause overlapping entities due to the collision box being smaller than the entity graphic.
rampant--attackWaveGenerationUsePlayerProximity=Include player pheromones amount for threshold on chunks with biter nests that will generate a Rampant attack wave. DOES NOT affect vanilla biters waves
@ -18933,8 +18929,6 @@ rampant--attackPlayerThreshold=The score that a chunk must reach for it to contr
rampant--unkillableLogisticRobots=This will make logistic bots immune to all damage
rampant--unkillableConstructionRobots=This will make construction bots immune to all damage
# rampant--aiAggressiveness=This setting directly affects how often the ai enters a peaceful state. Less than one will cause biters to be more aggressive, greater than one the biters will be more peaceful. Settings this to zero will cause the AI to never be at peace. 0 - 2
rampant--unitBiterHealthScaler=Scales by a percentage all new enemy biter health
rampant--unitBiterSpeedScaler=Scales by a percentage all new enemy biter speed
rampant--unitBiterDamageScaler=Scales by a percentage all new enemy biter damage
@ -18963,10 +18957,8 @@ rampant--unitHiveHealthScaler=Scales by a percentage all new enemy unit hive hea
rampant--unitHiveHealingScaler=Scales by a percentage all new enemy unit hive healing
rampant--unitHiveRespawnScaler=Scales by a percentage all new enemy unit hive time to spawn new units
rampant--raidAIToggle=Toggles the ai raiding parties from outside your pollution cloud
rampant--siegeAIToggle=Toggles the ai siege parties from outside your pollution cloud that attack or nest
# rampant--onslaughtAIToggle=Toggles the ai onslaught state where the AI gets 2x credits per logic cycle
rampant--laserEnemy=Laser Biter Faction, Laser is major resistance, electric is a minor resistance. Has Biters and Spitter unit types.
rampant--waspEnemy=Wasp Biter Faction, Spitter only units and each spitter spits small drones.
@ -18984,11 +18976,8 @@ rampant--energyThiefEnemy=Sapper Biter Faction, Major resistance to Electric, Mi
rampant--poisonEnemy=Poison Biter Faction, Only Biters. On death creates a cloud that heals biters and hurts player objects. Major resistance to Poison, Minor weakness to Electric, Minor weakness to Explosive, Minor weakness to Laser, Minor resistance to Fire.
rampant--disableCollidingProjectiles=Biter projectiles no longer collide with other biters, worms or nests. Everything else still collides with biter projectiles.
# rampant--liteMode=AI is still fully functional but the map scanning and processing is slowed, which will cause pheromones to remain longer, reduce the number of attacks spawned, and pheromones will spread slower.
rampant--enableFullMapScan=This setting causes the game map to slowly be scanned for entities created or destroyed outside of the factorio event system. (If a mod isnt using script_raised_built or script_raised_destroyed this will cause Rampant to still eventually be consistent with the game map)
# rampant--suppress-surface-change-warnings=Turn off the warnings you get when you change surfaces, warnings should only appear the first time you visit a new surface.
rampant--enableFadeTime=Enable the fade time to reduce or increase biter, spitter, worm, spawner, and hive. If disabled, no alterations are made to corpse times.
rampant--maxNumberOfBuilders=More builders requires more UPS.

View File

@ -98,19 +98,19 @@ function generateLocal()
for t = 1, 10 do
for i=1,#HIVE_BUILDINGS_TYPES do
print("entity-proxy-" .. HIVE_BUILDINGS_TYPES[i] .. "-t" .. t .. "-rampant=" .. HIVE_BUILDINGS_NAMES[i] .. ": " .. sizes[t] .. " class")
print("entity-proxy-" .. HIVE_BUILDINGS_TYPES[i] .. "-t" .. t .. "-rampant=" .. HIVE_BUILDINGS_NAMES[i] .. ": " .. "t" .. t .. " " .. sizes[t] .. " class")
end
local size = sizes[t]
for v = 1, 20 do
print("neutral-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. size .. " class")
print("neutral-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. size .. " class")
print("neutral-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. size .. " class")
print("neutral-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. size .. " class")
print("neutral-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. size .. " class")
print("neutral-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. size .. " class")
print("neutral-spitter-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
print("neutral-worm-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
print("neutral-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. "t" .. t .. " " .. size .. " class")
print("neutral-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. "t" .. t .. " " .. size .. " class")
print("neutral-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. "t" .. t .. " " .. size .. " class")
print("neutral-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. "t" .. t .. " " .. size .. " class")
print("neutral-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. "t" .. t .. " " .. size .. " class")
print("neutral-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. "t" .. t .. " " .. size .. " class")
print("neutral-spitter-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. "t" .. t .. " " .. size .. " class")
print("neutral-worm-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. "t" .. t .. " " .. size .. " class")
end
end
@ -120,15 +120,15 @@ function generateLocal()
local size = sizes[t]
for v = 1, 20 do
print("acid-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. size .. " class")
print("acid-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. size .. " class")
print("acid-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. size .. " class")
print("acid-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. size .. " class")
print("acid-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. size .. " class")
print("acid-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. size .. " class")
print("acid-spitter-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
print("acid-worm-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
print("acid-biter-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
print("acid-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. "t" .. t .. " " .. size .. " class")
print("acid-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. "t" .. t .. " " .. size .. " class")
print("acid-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. "t" .. t .. " " .. size .. " class")
print("acid-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. "t" .. t .. " " .. size .. " class")
print("acid-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. "t" .. t .. " " .. size .. " class")
print("acid-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. "t" .. t .. " " .. size .. " class")
print("acid-spitter-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. "t" .. t .. " " .. size .. " class")
print("acid-worm-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. "t" .. t .. " " .. size .. " class")
print("acid-biter-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. "t" .. t .. " " .. size .. " class")
end
end
@ -137,10 +137,10 @@ function generateLocal()
for t = 1, 10 do
local size = sizes[t]
for v = 1, 20 do
print("physical-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. size .. " class")
print("physical-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. size .. " class")
print("physical-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. size .. " class")
print("physical-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. size .. " class")
print("physical-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. "t" .. t .. " " .. size .. " class")
print("physical-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. "t" .. t .. " " .. size .. " class")
print("physical-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. "t" .. t .. " " .. size .. " class")
print("physical-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. "t" .. t .. " " .. size .. " class")
end
end
@ -149,10 +149,10 @@ function generateLocal()
for t = 1, 10 do
local size = sizes[t]
for v = 1, 20 do
print("electric-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. size .. " class")
print("electric-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. size .. " class")
print("electric-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. size .. " class")
print("electric-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. size .. " class")
print("electric-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. "t" .. t .. " " .. size .. " class")
print("electric-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. "t" .. t .. " " .. size .. " class")
print("electric-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. "t" .. t .. " " .. size .. " class")
print("electric-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. "t" .. t .. " " .. size .. " class")
end
end
@ -161,11 +161,11 @@ function generateLocal()
for t = 1, 10 do
local size = sizes[t]
for v = 1, 20 do
print("suicide-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. size .. " class")
print("suicide-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. size .. " class")
print("suicide-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. size .. " class")
print("suicide-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. size .. " class")
print("suicide-worm-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
print("suicide-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. "t" .. t .. " " .. size .. " class")
print("suicide-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. "t" .. t .. " " .. size .. " class")
print("suicide-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. "t" .. t .. " " .. size .. " class")
print("suicide-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. "t" .. t .. " " .. size .. " class")
print("suicide-worm-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. "t" .. t .. " " .. size .. " class")
end
end
@ -174,11 +174,11 @@ function generateLocal()
for t = 1, 10 do
local size = sizes[t]
for v = 1, 20 do
print("nuclear-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. size .. " class")
print("nuclear-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. size .. " class")
print("nuclear-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. size .. " class")
print("nuclear-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. size .. " class")
print("nuclear-worm-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
print("nuclear-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. "t" .. t .. " " .. size .. " class")
print("nuclear-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. "t" .. t .. " " .. size .. " class")
print("nuclear-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. "t" .. t .. " " .. size .. " class")
print("nuclear-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. "t" .. t .. " " .. size .. " class")
print("nuclear-worm-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. "t" .. t .. " " .. size .. " class")
end
end
@ -187,14 +187,14 @@ function generateLocal()
for t = 1, 10 do
local size = sizes[t]
for v = 1, 20 do
print("fire-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. size .. " class")
print("fire-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. size .. " class")
print("fire-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. size .. " class")
print("fire-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. size .. " class")
print("fire-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. size .. " class")
print("fire-spitter-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
print("fire-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. size .. " class")
print("fire-worm-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
print("fire-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. "t" .. t .. " " .. size .. " class")
print("fire-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. "t" .. t .. " " .. size .. " class")
print("fire-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. "t" .. t .. " " .. size .. " class")
print("fire-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. "t" .. t .. " " .. size .. " class")
print("fire-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. "t" .. t .. " " .. size .. " class")
print("fire-spitter-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. "t" .. t .. " " .. size .. " class")
print("fire-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. "t" .. t .. " " .. size .. " class")
print("fire-worm-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. "t" .. t .. " " .. size .. " class")
end
end
@ -203,10 +203,10 @@ function generateLocal()
for t = 1, 10 do
local size = sizes[t]
for v = 1, 20 do
print("inferno-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. size .. " class")
print("inferno-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. size .. " class")
print("inferno-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. size .. " class")
print("inferno-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. size .. " class")
print("inferno-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. "t" .. t .. " " .. size .. " class")
print("inferno-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. "t" .. t .. " " .. size .. " class")
print("inferno-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. "t" .. t .. " " .. size .. " class")
print("inferno-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. "t" .. t .. " " .. size .. " class")
end
end
@ -215,12 +215,12 @@ function generateLocal()
for t = 1, 10 do
local size = sizes[t]
for v = 1, 20 do
print("troll-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. size .. " class")
print("troll-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. size .. " class")
print("troll-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. size .. " class")
print("troll-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. size .. " class")
print("troll-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. size .. " class")
print("troll-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. size .. " class")
print("troll-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. "t" .. t .. " " .. size .. " class")
print("troll-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. "t" .. t .. " " .. size .. " class")
print("troll-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. "t" .. t .. " " .. size .. " class")
print("troll-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. "t" .. t .. " " .. size .. " class")
print("troll-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. "t" .. t .. " " .. size .. " class")
print("troll-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. "t" .. t .. " " .. size .. " class")
end
end
@ -229,14 +229,14 @@ function generateLocal()
for t = 1, 10 do
local size = sizes[t]
for v = 1, 20 do
print("fast-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. size .. " class")
print("fast-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. size .. " class")
print("fast-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. size .. " class")
print("fast-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. size .. " class")
print("fast-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. size .. " class")
print("fast-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. size .. " class")
print("fast-spitter-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
print("fast-worm-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
print("fast-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. "t" .. t .. " " .. size .. " class")
print("fast-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. "t" .. t .. " " .. size .. " class")
print("fast-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. "t" .. t .. " " .. size .. " class")
print("fast-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. "t" .. t .. " " .. size .. " class")
print("fast-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. "t" .. t .. " " .. size .. " class")
print("fast-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. "t" .. t .. " " .. size .. " class")
print("fast-spitter-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. "t" .. t .. " " .. size .. " class")
print("fast-worm-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. "t" .. t .. " " .. size .. " class")
end
end
@ -245,12 +245,12 @@ function generateLocal()
for t = 1, 10 do
local size = sizes[t]
for v = 1, 20 do
print("laser-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. size .. " class")
print("laser-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. size .. " class")
print("laser-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. size .. " class")
print("laser-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. size .. " class")
print("laser-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. size .. " class")
print("laser-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. size .. " class")
print("laser-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. "t" .. t .. " " .. size .. " class")
print("laser-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. "t" .. t .. " " .. size .. " class")
print("laser-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. "t" .. t .. " " .. size .. " class")
print("laser-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. "t" .. t .. " " .. size .. " class")
print("laser-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. "t" .. t .. " " .. size .. " class")
print("laser-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. "t" .. t .. " " .. size .. " class")
end
end
@ -259,14 +259,14 @@ function generateLocal()
for t = 1, 10 do
local size = sizes[t]
for v = 1, 20 do
print("wasp-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. size .. " class")
print("wasp-wasp-v" .. v .. "-t" .. t .. "-drone-rampant=" .. name .. ": " .. size .. " class")
print("wasp-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. size .. " class")
print("wasp-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. size .. " class")
print("wasp-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. size .. " class")
print("wasp-worm-drone-v" .. v .. "-t" .. t .. "-drone-rampant=" .. name .. ": " .. size .. " class")
print("wasp-wasp-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
print("wasp-worm-wasp-v" .. v .. "-t" .. t .. "-drone-rampant=Wasp: " .. size .. " class")
print("wasp-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. "t" .. t .. " " .. size .. " class")
print("wasp-wasp-v" .. v .. "-t" .. t .. "-drone-rampant=" .. name .. ": " .. "t" .. t .. " " .. size .. " class")
print("wasp-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. "t" .. t .. " " .. size .. " class")
print("wasp-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. "t" .. t .. " " .. size .. " class")
print("wasp-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. "t" .. t .. " " .. size .. " class")
print("wasp-worm-drone-v" .. v .. "-t" .. t .. "-drone-rampant=" .. name .. ": " .. "t" .. t .. " " .. size .. " class")
print("wasp-wasp-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. "t" .. t .. " " .. size .. " class")
print("wasp-worm-wasp-v" .. v .. "-t" .. t .. "-drone-rampant=Wasp: " .. "t" .. t .. " " .. size .. " class")
end
end
@ -275,17 +275,17 @@ function generateLocal()
for t = 1, 10 do
local size = sizes[t]
for v = 1, 20 do
print("spawner-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. size .. " class")
print("spawner-drone-v" .. v .. "-t" .. t .. "-drone-rampant=" .. name .. " eggs: " .. size .. " class")
print("spawner-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. size .. " class")
print("spawner-worm-egg-v" .. v .. "-t" .. t .. "-drone-rampant=" .. name .. " eggs: " .. size .. " class")
print("spawner-worm-egg-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
print("spawner-spawn-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. size .. " class")
print("spawner-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. size .. " class")
print("spawner-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. size .. " class")
print("spawner-spitter-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
print("spawner-egg-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. size .. " class")
print("spawner-egg-v" .. v .. "-t" .. t .. "-drone-rampant=" .. name .. " egg: " .. size .. " class")
print("spawner-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. "t" .. t .. " " .. size .. " class")
print("spawner-drone-v" .. v .. "-t" .. t .. "-drone-rampant=" .. name .. " eggs: " .. "t" .. t .. " " .. size .. " class")
print("spawner-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. "t" .. t .. " " .. size .. " class")
print("spawner-worm-egg-v" .. v .. "-t" .. t .. "-drone-rampant=" .. name .. " eggs: " .. "t" .. t .. " " .. size .. " class")
print("spawner-worm-egg-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. "t" .. t .. " " .. size .. " class")
print("spawner-spawn-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. "t" .. t .. " " .. size .. " class")
print("spawner-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. "t" .. t .. " " .. size .. " class")
print("spawner-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. "t" .. t .. " " .. size .. " class")
print("spawner-spitter-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. "t" .. t .. " " .. size .. " class")
print("spawner-egg-v" .. v .. "-t" .. t .. "-acid-fire-rampant=Acid pool: " .. "t" .. t .. " " .. size .. " class")
print("spawner-egg-v" .. v .. "-t" .. t .. "-drone-rampant=" .. name .. " egg: " .. "t" .. t .. " " .. size .. " class")
end
end
@ -294,10 +294,10 @@ function generateLocal()
for t = 1, 10 do
local size = sizes[t]
for v = 1, 20 do
print("energy-thief-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. size .. " class")
print("energy-thief-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. size .. " class")
print("energy-thief-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. size .. " class")
print("energy-thief-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. size .. " class")
print("energy-thief-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. "t" .. t .. " " .. size .. " class")
print("energy-thief-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. "t" .. t .. " " .. size .. " class")
print("energy-thief-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. "t" .. t .. " " .. size .. " class")
print("energy-thief-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. "t" .. t .. " " .. size .. " class")
end
end
@ -306,10 +306,10 @@ function generateLocal()
for t = 1, 10 do
local size = sizes[t]
for v = 1, 20 do
print("poison-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. size .. " class")
print("poison-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. size .. " class")
print("poison-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. size .. " class")
print("poison-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. size .. " class")
print("poison-hive-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " hive: " .. "t" .. t .. " " .. size .. " class")
print("poison-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. "t" .. t .. " " .. size .. " class")
print("poison-biter-spawner-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. "t" .. t .. " " .. size .. " class")
print("poison-worm-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " worm: " .. "t" .. t .. " " .. size .. " class")
end
end

View File

@ -450,7 +450,7 @@ data:extend({
order = "m[total]-c[ai]",
per_user = false
},
{
type = "bool-setting",
name = "rampant--peacefulAIToggle",
@ -459,7 +459,7 @@ data:extend({
order = "m[total]-c[ai]",
per_user = false
},
{
type = "bool-setting",
name = "rampant--printAIStateChanges",
@ -468,7 +468,16 @@ data:extend({
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",