mirror of
https://github.com/veden/Rampant.git
synced 2025-01-30 04:30:52 +02:00
see changelog
This commit is contained in:
parent
7a0caab1c4
commit
a81860181a
26
Upgrade.lua
26
Upgrade.lua
@ -24,7 +24,7 @@ local roundToNearest = mathUtils.roundToNearest
|
||||
|
||||
-- module code
|
||||
|
||||
function upgrade.attempt(natives)
|
||||
function upgrade.attempt(natives, setNewSurface)
|
||||
local starting = global.version
|
||||
if (global.version == nil) then
|
||||
natives.squads = {}
|
||||
@ -64,7 +64,6 @@ function upgrade.attempt(natives)
|
||||
--remove version 14 retreat limit, it has been made redundant
|
||||
natives.retreats = nil
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.14.13")
|
||||
global.version = constants.VERSION_16
|
||||
end
|
||||
if (global.version < constants.VERSION_18) then
|
||||
@ -72,7 +71,6 @@ function upgrade.attempt(natives)
|
||||
natives.safeEntities = {}
|
||||
natives.safeEntityName = {}
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.15.5")
|
||||
global.version = constants.VERSION_18
|
||||
end
|
||||
if (global.version < constants.VERSION_20) then
|
||||
@ -80,7 +78,6 @@ function upgrade.attempt(natives)
|
||||
natives.aiPointsScaler = settings.global["rampant-aiPointsScaler"].value
|
||||
natives.aiNocturnalMode = settings.global["rampant-permanentNocturnal"].value
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.15.8")
|
||||
global.version = constants.VERSION_20
|
||||
end
|
||||
if (global.version < constants.VERSION_22) then
|
||||
@ -102,7 +99,6 @@ function upgrade.attempt(natives)
|
||||
|
||||
-- game.map_settings.unit_group.max_group_radius = constants.UNIT_GROUP_MAX_RADIUS
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.15.10")
|
||||
global.version = constants.VERSION_22
|
||||
end
|
||||
if (global.version < constants.VERSION_23) then
|
||||
@ -126,21 +122,18 @@ function upgrade.attempt(natives)
|
||||
|
||||
natives.randomGenerator = game.create_random_generator(settings.startup["rampant-enemySeed"].value+1024)
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.15.11")
|
||||
global.version = constants.VERSION_23
|
||||
end
|
||||
if (global.version < constants.VERSION_25) then
|
||||
|
||||
game.map_settings.path_finder.min_steps_to_check_path_find_termination = constants.PATH_FINDER_MIN_STEPS_TO_CHECK_PATH
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.15.15")
|
||||
global.version = constants.VERSION_25
|
||||
end
|
||||
if (global.version < constants.VERSION_33) then
|
||||
|
||||
global.world = nil
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.15.23")
|
||||
global.version = constants.VERSION_33
|
||||
end
|
||||
if (global.version < constants.VERSION_38) then
|
||||
@ -151,7 +144,6 @@ function upgrade.attempt(natives)
|
||||
|
||||
global.regionMap = nil
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.16.3")
|
||||
global.version = constants.VERSION_38
|
||||
end
|
||||
if (global.version < constants.VERSION_41) then
|
||||
@ -163,14 +155,12 @@ function upgrade.attempt(natives)
|
||||
natives.baseIndex = 1
|
||||
natives.baseIncrement = 0
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.16.6")
|
||||
global.version = constants.VERSION_41
|
||||
end
|
||||
if (global.version < constants.VERSION_44) then
|
||||
|
||||
natives.kamikazeThreshold = 0
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.16.9")
|
||||
global.version = constants.VERSION_44
|
||||
end
|
||||
if (global.version < constants.VERSION_51) then
|
||||
@ -179,7 +169,6 @@ function upgrade.attempt(natives)
|
||||
natives.tunnels = nil
|
||||
natives.baseLookup = nil
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.16.16")
|
||||
global.version = constants.VERSION_51
|
||||
end
|
||||
if (global.version < constants.VERSION_57) then
|
||||
@ -207,7 +196,6 @@ function upgrade.attempt(natives)
|
||||
natives.settlerWaveDeviation = 0
|
||||
natives.settlerWaveSize = 0
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.16.22")
|
||||
global.version = constants.VERSION_57
|
||||
end
|
||||
if (global.version < constants.VERSION_72) then
|
||||
@ -228,7 +216,6 @@ function upgrade.attempt(natives)
|
||||
natives.nextChunkSort = 0
|
||||
natives.nextChunkSortTick = 0
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.16.37")
|
||||
global.version = constants.VERSION_72
|
||||
end
|
||||
if (global.version < constants.VERSION_75) then
|
||||
@ -237,14 +224,12 @@ function upgrade.attempt(natives)
|
||||
squad.attackScoreFunction = ATTACK_SCORE
|
||||
end
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.16.40")
|
||||
global.version = constants.VERSION_75
|
||||
end
|
||||
if (global.version < constants.VERSION_76) then
|
||||
|
||||
natives.drainPylons = {}
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.16.41")
|
||||
global.version = constants.VERSION_76
|
||||
end
|
||||
if (global.version < constants.VERSION_77) then
|
||||
@ -252,7 +237,6 @@ function upgrade.attempt(natives)
|
||||
natives.attackWaveThreshold = nil
|
||||
natives.attackWav = nil
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.16.42")
|
||||
global.version = constants.VERSION_77
|
||||
end
|
||||
if (global.version < constants.VERSION_85) then
|
||||
@ -263,7 +247,6 @@ function upgrade.attempt(natives)
|
||||
natives.cleanBuildingIndex = 1
|
||||
natives.attackIndex = 1
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.17.4")
|
||||
global.version = constants.VERSION_85
|
||||
end
|
||||
if (global.version < constants.VERSION_86) then
|
||||
@ -271,28 +254,24 @@ function upgrade.attempt(natives)
|
||||
natives.expansion = game.map_settings.enemy_expansion.enabled
|
||||
natives.enabledMigration = natives.expansion and settings.global["rampant-enableMigration"].value
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.17.5")
|
||||
global.version = constants.VERSION_86
|
||||
end
|
||||
if (global.version < constants.VERSION_87) then
|
||||
|
||||
natives.enemyAlignmentLookup = {}
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.17.6")
|
||||
global.version = constants.VERSION_87
|
||||
end
|
||||
if (global.version < 89) then
|
||||
|
||||
natives.canAttackTick = 0
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.17.22")
|
||||
global.version = 89
|
||||
end
|
||||
if (global.version < 95) then
|
||||
|
||||
natives.randomGenerator = game.create_random_generator(settings.startup["rampant-enemySeed"].value+1024)
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.17.28")
|
||||
global.version = 95
|
||||
end
|
||||
if (global.version < 99) then
|
||||
@ -326,9 +305,10 @@ function upgrade.attempt(natives)
|
||||
|
||||
natives.pendingAttack.len = #natives.pendingAttack
|
||||
natives.squads.len = #natives.squads
|
||||
natives.maxOverflowPoints = AI_MAX_OVERFLOW_POINTS
|
||||
|
||||
if not setNewSurface then
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.17.29")
|
||||
end
|
||||
global.version = 99
|
||||
end
|
||||
|
||||
|
@ -29,16 +29,18 @@ Date: 10. 13. 2019
|
||||
- Fixed retreating squads not waiting long enough to assemble all units before movement
|
||||
- Fixed spitter max projectile range could cause a spitter to attack but not hit a target
|
||||
- Fixed non retreating group formation not having a distraction modifier
|
||||
- Fixed icon size not being set
|
||||
- Fixed icon size not being set energy thief drain crystal
|
||||
- Fixed new enemies attacks following naming levels instead effective levels
|
||||
- New spawner enemies color mask should fit much better now
|
||||
- Fixed blood particle size not increasing with tiers
|
||||
- Fixed enemy volume not changing based on tier
|
||||
- Fixed Nuclear and Suicide spawners instantly spawning low level units
|
||||
- Fixed Physical and troll spawner and worm scales
|
||||
Framework:
|
||||
- Cleaned up new enemy creation
|
||||
- Dropped support for 5 tier new enemy configuration
|
||||
- Changed default blood particle removal optimization to off
|
||||
- Added interop function that allows other mods to set the active surface for the AI processing
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.17.28
|
||||
|
31
control.lua
31
control.lua
@ -488,6 +488,7 @@ end
|
||||
|
||||
local function prepWorld(rebuild, surfaceIndex)
|
||||
local upgraded
|
||||
local setNewSurface
|
||||
|
||||
if (game.surfaces["battle_surface_2"] ~= nil) then
|
||||
natives.activeSurface = game.surfaces["battle_surface_2"].index
|
||||
@ -495,12 +496,14 @@ local function prepWorld(rebuild, surfaceIndex)
|
||||
natives.activeSurface = game.surfaces["battle_surface_1"].index
|
||||
elseif surfaceIndex then
|
||||
natives.activeSurface = surfaceIndex
|
||||
setNewSurface = true
|
||||
game.forces.enemy.kill_all_units()
|
||||
global.version = nil
|
||||
else
|
||||
natives.activeSurface = game.surfaces["nauvis"].index
|
||||
end
|
||||
|
||||
upgraded, natives = upgrade.attempt(natives)
|
||||
upgraded, natives = upgrade.attempt(natives, setNewSurface)
|
||||
onModSettingsChange(nil)
|
||||
if natives.newEnemies then
|
||||
rebuildNativeTables(natives, game.surfaces[natives.activeSurface], game.create_random_generator(natives.enemySeed))
|
||||
@ -797,7 +800,6 @@ local function onEnemyBaseBuild(event)
|
||||
|
||||
local chunk = getChunkByPosition(map, entity.position)
|
||||
if (chunk ~= SENTINEL_IMPASSABLE_CHUNK) then
|
||||
-- print(entity.name)
|
||||
local evolutionFactor = entity.force.evolution_factor
|
||||
local base
|
||||
if natives.newEnemies then
|
||||
@ -940,7 +942,30 @@ local function onEntitySpawned(event)
|
||||
disPos)
|
||||
if pos then
|
||||
canPlaceQuery.position = pos
|
||||
surface.create_entity(canPlaceQuery)
|
||||
entity = surface.create_entity(canPlaceQuery)
|
||||
local chunk = getChunkByPosition(map, pos)
|
||||
if (chunk ~= SENTINEL_IMPASSABLE_CHUNK) then
|
||||
local evolutionFactor = entity.force.evolution_factor
|
||||
local base
|
||||
if natives.newEnemies then
|
||||
base = findNearbyBase(map, chunk, natives)
|
||||
if not base then
|
||||
base = createBase(map,
|
||||
natives,
|
||||
evolutionFactor,
|
||||
chunk,
|
||||
event.tick)
|
||||
end
|
||||
entity = upgradeEntity(entity,
|
||||
surface,
|
||||
base.alignment[mRandom(#base.alignment)],
|
||||
natives,
|
||||
evolutionFactor)
|
||||
end
|
||||
if entity and entity.valid then
|
||||
event.entity = registerEnemyBaseStructure(map, entity, base)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -525,7 +525,7 @@ local function fileAlignment(baseAlignment, evolution, evolutionTable)
|
||||
eTable[#eTable+1] = baseAlignment
|
||||
end
|
||||
|
||||
local function processUnitClass(hasBiter, hasSpitter, surface, natives, baseAlignment, baseAlignmentString)
|
||||
local function processUnitClass(hasBiter, hasSpitter, hasHive, hasUtility, hasTrap, surface, natives, baseAlignment, baseAlignmentString)
|
||||
local position = { x = 0, y = 0 }
|
||||
|
||||
if hasBiter then
|
||||
@ -556,6 +556,20 @@ local function processUnitClass(hasBiter, hasSpitter, surface, natives, baseAlig
|
||||
end
|
||||
end
|
||||
end
|
||||
if hasHive then
|
||||
for tier=1,10 do
|
||||
for v=1,natives.NEST_VARIATIONS do
|
||||
local entityName = baseAlignmentString .. "-hive-v" .. v .. "-t" .. tier .. "-rampant"
|
||||
local entity = surface.create_entity({
|
||||
name = entityName,
|
||||
position = position
|
||||
})
|
||||
natives.enemyAlignmentLookup[entityName] = baseAlignment
|
||||
fileEntity(baseAlignment, entity, natives.evolutionTableUnitSpawner)
|
||||
entity.destroy()
|
||||
end
|
||||
end
|
||||
end
|
||||
for tier=1,10 do
|
||||
for v=1,natives.WORM_VARIATIONS do
|
||||
local entityName = baseAlignmentString .. "-worm-v" .. v .. "-t" .. tier .. "-rampant"
|
||||
@ -596,6 +610,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
||||
|
||||
processUnitClass(true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
surface,
|
||||
natives,
|
||||
BASE_ALIGNMENT_NEUTRAL,
|
||||
@ -604,6 +621,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
||||
if settings.startup["rampant-acidEnemy"].value then
|
||||
processUnitClass(true,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
surface,
|
||||
natives,
|
||||
BASE_ALIGNMENT_ACID,
|
||||
@ -612,6 +632,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
||||
|
||||
if settings.startup["rampant-physicalEnemy"].value then
|
||||
processUnitClass(true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
surface,
|
||||
natives,
|
||||
@ -622,6 +645,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
||||
if settings.startup["rampant-fireEnemy"].value then
|
||||
processUnitClass(true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
surface,
|
||||
natives,
|
||||
BASE_ALIGNMENT_FIRE,
|
||||
@ -630,6 +656,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
||||
|
||||
if settings.startup["rampant-electricEnemy"].value then
|
||||
processUnitClass(true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
surface,
|
||||
natives,
|
||||
@ -639,6 +668,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
||||
|
||||
if settings.startup["rampant-suicideEnemy"].value then
|
||||
processUnitClass(true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
surface,
|
||||
natives,
|
||||
@ -648,6 +680,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
||||
|
||||
if settings.startup["rampant-nuclearEnemy"].value then
|
||||
processUnitClass(true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
surface,
|
||||
natives,
|
||||
@ -658,6 +693,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
||||
if settings.startup["rampant-trollEnemy"].value then
|
||||
processUnitClass(true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
surface,
|
||||
natives,
|
||||
BASE_ALIGNMENT_TROLL,
|
||||
@ -667,6 +705,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
||||
if settings.startup["rampant-infernoEnemy"].value then
|
||||
processUnitClass(false,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
surface,
|
||||
natives,
|
||||
BASE_ALIGNMENT_INFERNO,
|
||||
@ -676,6 +717,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
||||
if settings.startup["rampant-fastEnemy"].value then
|
||||
processUnitClass(true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
surface,
|
||||
natives,
|
||||
BASE_ALIGNMENT_FAST,
|
||||
@ -685,6 +729,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
||||
if settings.startup["rampant-laserEnemy"].value then
|
||||
processUnitClass(true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
surface,
|
||||
natives,
|
||||
BASE_ALIGNMENT_LASER,
|
||||
@ -694,6 +741,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
||||
if settings.startup["rampant-waspEnemy"].value then
|
||||
processUnitClass(false,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
surface,
|
||||
natives,
|
||||
BASE_ALIGNMENT_WASP,
|
||||
@ -703,6 +753,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
||||
if settings.startup["rampant-spawnerEnemy"].value then
|
||||
processUnitClass(false,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
surface,
|
||||
natives,
|
||||
BASE_ALIGNMENT_SPAWNER,
|
||||
@ -711,6 +764,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
||||
|
||||
if settings.startup["rampant-energyThiefEnemy"].value then
|
||||
processUnitClass(true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
surface,
|
||||
natives,
|
||||
@ -720,6 +776,9 @@ function baseUtils.rebuildNativeTables(natives, surface, rg)
|
||||
|
||||
if settings.startup["rampant-poisonEnemy"].value then
|
||||
processUnitClass(true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
surface,
|
||||
natives,
|
||||
|
@ -511,9 +511,6 @@ constants.VICTORY_SCENT["artillery-turret"] = constants.BUILDING_PHEROMONES["art
|
||||
constants.VICTORY_SCENT["reactor"] = constants.BUILDING_PHEROMONES["reactor"] * 3
|
||||
constants.VICTORY_SCENT["rocket-silo"] = constants.BUILDING_PHEROMONES["rocket-silo"] * 3
|
||||
|
||||
-- constants.RETREAT_FILTER = {}
|
||||
-- constants.RETREAT_FILTER[constants.SQUAD_RETREATING] = true
|
||||
|
||||
-- map settings tweaks
|
||||
|
||||
constants.PATH_FINDER_SHORT_REQUEST_RATIO = 0.8
|
||||
@ -540,9 +537,7 @@ constants.SENTINEL_IMPASSABLE_CHUNK[constants.MOVEMENT_PHEROMONE] = constants.IM
|
||||
constants.SENTINEL_IMPASSABLE_CHUNK[constants.BASE_PHEROMONE] = constants.IMPASSABLE_TERRAIN_GENERATOR_AMOUNT
|
||||
constants.SENTINEL_IMPASSABLE_CHUNK[constants.PLAYER_PHEROMONE] = constants.IMPASSABLE_TERRAIN_GENERATOR_AMOUNT
|
||||
constants.SENTINEL_IMPASSABLE_CHUNK[constants.RESOURCE_PHEROMONE] = constants.IMPASSABLE_TERRAIN_GENERATOR_AMOUNT
|
||||
-- constants.SENTINEL_IMPASSABLE_CHUNK[constants.PASSABLE] = constants.CHUNK_IMPASSABLE
|
||||
constants.SENTINEL_IMPASSABLE_CHUNK[constants.CHUNK_TICK] = 0
|
||||
-- constants.SENTINEL_IMPASSABLE_CHUNK[constants.PATH_RATING] = 0
|
||||
constants.SENTINEL_IMPASSABLE_CHUNK.x = -1
|
||||
constants.SENTINEL_IMPASSABLE_CHUNK.y = -1
|
||||
|
||||
@ -648,6 +643,7 @@ for t = 1, 10 do
|
||||
constants.BUILDING_SPACE_LOOKUP["acid-biter-spawner-v" .. v .. "-t" .. t .. "-rampant"] = "chunk-scanner-" .. t .. "-nest-rampant"
|
||||
constants.BUILDING_SPACE_LOOKUP["acid-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant"] = "chunk-scanner-" .. t .. "-nest-rampant"
|
||||
constants.BUILDING_SPACE_LOOKUP["acid-worm-v" .. v .. "-t" .. t .. "-rampant"] = "chunk-scanner-" .. wormTier .. "-nest-rampant"
|
||||
constants.BUILDING_SPACE_LOOKUP["acid-hive-v" .. v .. "-t" .. t .. "-rampant"] = "chunk-scanner-" .. wormTier .. "-nest-rampant"
|
||||
|
||||
constants.BUILDING_SPACE_LOOKUP["physical-biter-spawner-v" .. v .. "-t" .. t .. "-rampant"] = "chunk-scanner-" .. t .. "-nest-rampant"
|
||||
constants.BUILDING_SPACE_LOOKUP["physical-worm-v" .. v .. "-t" .. t .. "-rampant"] = "chunk-scanner-" .. wormTier .. "-nest-rampant"
|
||||
@ -734,27 +730,27 @@ for t=1,10 do
|
||||
local name = constants.FACTION_TYPES[ift]
|
||||
if (hbt == "turret") then
|
||||
local set = {}
|
||||
constants.HIVE_BUILDINGS["entity-proxy-" .. name .. "-" .. hbt .. "-t" .. t .. "-rampant"] = set
|
||||
constants.HIVE_BUILDINGS["entity-proxy-" .. hbt .. "-t" .. t .. "-rampant"] = set
|
||||
for v=1,20 do
|
||||
set[#set+1] = name .. "-worm-v" .. v .. "-t" .. t .. "-rampant"
|
||||
set[#set+1] = true
|
||||
end
|
||||
elseif (hbt == "spitter-spawner") then
|
||||
local set = {}
|
||||
constants.HIVE_BUILDINGS["entity-proxy-" .. name .. "-" .. hbt .. "-t" .. t .. "-rampant"] = set
|
||||
constants.HIVE_BUILDINGS["entity-proxy-" .. hbt .. "-t" .. t .. "-rampant"] = set
|
||||
for v=1,20 do
|
||||
set[#set+1] = name .. "-spitter-spawner-v" .. v .. "-t" .. t .. "-rampant"
|
||||
set[#set+1] = true
|
||||
end
|
||||
elseif (hbt == "biter-spawner") then
|
||||
local set = {}
|
||||
constants.HIVE_BUILDINGS["entity-proxy-" .. name .. "-" .. hbt .. "-t" .. t .. "-rampant"] = set
|
||||
constants.HIVE_BUILDINGS["entity-proxy-" .. hbt .. "-t" .. t .. "-rampant"] = set
|
||||
for v=1,20 do
|
||||
set[#set+1] = name .. "-biter-spawner-v" .. v .. "-t" .. t .. "-rampant"
|
||||
set[#set+1] = true
|
||||
end
|
||||
elseif (hbt == "hive") then
|
||||
local set = {}
|
||||
constants.HIVE_BUILDINGS["entity-proxy-" .. name .. "-" .. hbt .. "-t" .. t .. "-rampant"] = set
|
||||
constants.HIVE_BUILDINGS["entity-proxy-" .. hbt .. "-t" .. t .. "-rampant"] = set
|
||||
for v=1,20 do
|
||||
set[#set+1] = name .. "-hive-v" .. v .. "-t" .. t .. "-rampant"
|
||||
set[#set+1] = true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -289,62 +289,62 @@ function acid.addFaction()
|
||||
},
|
||||
{
|
||||
[1] = {
|
||||
{"entity-proxy-acid-turret", 0.8},
|
||||
{"entity-proxy-acid-spitter-spawner", 0.1},
|
||||
{"entity-proxy-acid-biter-spawner", 0.1}
|
||||
{"entity-proxy-turret", 0.8},
|
||||
{"entity-proxy-spitter-spawner", 0.1},
|
||||
{"entity-proxy-biter-spawner", 0.1}
|
||||
},
|
||||
[2] = {
|
||||
{"entity-proxy-acid-turret", 0.7},
|
||||
{"entity-proxy-acid-spitter-spawner", 0.15},
|
||||
{"entity-proxy-acid-biter-spawner", 0.15}
|
||||
{"entity-proxy-turret", 0.7},
|
||||
{"entity-proxy-spitter-spawner", 0.15},
|
||||
{"entity-proxy-biter-spawner", 0.15}
|
||||
},
|
||||
[3] = {
|
||||
{"entity-proxy-acid-turret", 0.595},
|
||||
{"entity-proxy-acid-spitter-spawner", 0.2},
|
||||
{"entity-proxy-acid-biter-spawner", 0.2},
|
||||
{"entity-proxy-acid-hive", 0.005}
|
||||
{"entity-proxy-turret", 0.595},
|
||||
{"entity-proxy-spitter-spawner", 0.2},
|
||||
{"entity-proxy-biter-spawner", 0.2},
|
||||
{"entity-proxy-hive", 0.005}
|
||||
},
|
||||
[4] = {
|
||||
{"entity-proxy-acid-turret", 0.59},
|
||||
{"entity-proxy-acid-spitter-spawner", 0.2},
|
||||
{"entity-proxy-acid-biter-spawner", 0.2},
|
||||
{"entity-proxy-acid-hive", 0.01}
|
||||
{"entity-proxy-turret", 0.59},
|
||||
{"entity-proxy-spitter-spawner", 0.2},
|
||||
{"entity-proxy-biter-spawner", 0.2},
|
||||
{"entity-proxy-hive", 0.01}
|
||||
},
|
||||
[5] = {
|
||||
{"entity-proxy-acid-turret", 0.59},
|
||||
{"entity-proxy-acid-spitter-spawner", 0.2},
|
||||
{"entity-proxy-acid-biter-spawner", 0.2},
|
||||
{"entity-proxy-acid-hive", 0.01}
|
||||
{"entity-proxy-turret", 0.59},
|
||||
{"entity-proxy-spitter-spawner", 0.2},
|
||||
{"entity-proxy-biter-spawner", 0.2},
|
||||
{"entity-proxy-hive", 0.01}
|
||||
},
|
||||
[6] = {
|
||||
{"entity-proxy-acid-turret", 0.58},
|
||||
{"entity-proxy-acid-spitter-spawner", 0.2},
|
||||
{"entity-proxy-acid-biter-spawner", 0.2},
|
||||
{"entity-proxy-acid-hive", 0.02}
|
||||
{"entity-proxy-turret", 0.58},
|
||||
{"entity-proxy-spitter-spawner", 0.2},
|
||||
{"entity-proxy-biter-spawner", 0.2},
|
||||
{"entity-proxy-hive", 0.02}
|
||||
},
|
||||
[7] = {
|
||||
{"entity-proxy-acid-turret", 0.58},
|
||||
{"entity-proxy-acid-spitter-spawner", 0.2},
|
||||
{"entity-proxy-acid-biter-spawner", 0.2},
|
||||
{"entity-proxy-acid-hive", 0.02}
|
||||
{"entity-proxy-turret", 0.58},
|
||||
{"entity-proxy-spitter-spawner", 0.2},
|
||||
{"entity-proxy-biter-spawner", 0.2},
|
||||
{"entity-proxy-hive", 0.02}
|
||||
},
|
||||
[8] = {
|
||||
{"entity-proxy-acid-turret", 0.57},
|
||||
{"entity-proxy-acid-spitter-spawner", 0.2},
|
||||
{"entity-proxy-acid-biter-spawner", 0.2},
|
||||
{"entity-proxy-acid-hive", 0.03}
|
||||
{"entity-proxy-turret", 0.57},
|
||||
{"entity-proxy-spitter-spawner", 0.2},
|
||||
{"entity-proxy-biter-spawner", 0.2},
|
||||
{"entity-proxy-hive", 0.03}
|
||||
},
|
||||
[9] = {
|
||||
{"entity-proxy-acid-turret", 0.57},
|
||||
{"entity-proxy-acid-spitter-spawner", 0.2},
|
||||
{"entity-proxy-acid-biter-spawner", 0.2},
|
||||
{"entity-proxy-acid-hive", 0.03}
|
||||
{"entity-proxy-turret", 0.57},
|
||||
{"entity-proxy-spitter-spawner", 0.2},
|
||||
{"entity-proxy-biter-spawner", 0.2},
|
||||
{"entity-proxy-hive", 0.03}
|
||||
},
|
||||
[10] = {
|
||||
{"entity-proxy-acid-turret", 0.57},
|
||||
{"entity-proxy-acid-spitter-spawner", 0.2},
|
||||
{"entity-proxy-acid-biter-spawner", 0.2},
|
||||
{"entity-proxy-acid-hive", 0.03}
|
||||
{"entity-proxy-turret", 0.57},
|
||||
{"entity-proxy-spitter-spawner", 0.2},
|
||||
{"entity-proxy-biter-spawner", 0.2},
|
||||
{"entity-proxy-hive", 0.03}
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -99,13 +99,13 @@ function physical.addFaction()
|
||||
[1] = 0.7,
|
||||
[2] = 0.8,
|
||||
[3] = 0.9,
|
||||
[4] = 1.0,
|
||||
[4] = 1,
|
||||
[5] = 1.1,
|
||||
[6] = 1.2,
|
||||
[7] = 1.3,
|
||||
[8] = 1.4,
|
||||
[9] = 1.5,
|
||||
[10] = 1.6
|
||||
[7] = 1.4,
|
||||
[8] = 1.6,
|
||||
[9] = 1.8,
|
||||
[10] = 2.0
|
||||
},
|
||||
tint = {r=0.9, g=0.9, b=0.9, a=1},
|
||||
tint2 = {r=0, g=0, b=0, a=1},
|
||||
@ -246,10 +246,10 @@ function physical.addFaction()
|
||||
[4] = 1,
|
||||
[5] = 1.1,
|
||||
[6] = 1.2,
|
||||
[7] = 1.3,
|
||||
[8] = 1.4,
|
||||
[9] = 1.5,
|
||||
[10] = 1.6
|
||||
[7] = 1.4,
|
||||
[8] = 1.6,
|
||||
[9] = 1.8,
|
||||
[10] = 2.0
|
||||
},
|
||||
attackName = "physical-worm",
|
||||
tint = {r=0.9, g=0.9, b=0.9, a=1},
|
||||
|
@ -67,7 +67,6 @@ function poison.addFaction()
|
||||
tint = {r=0, g=0.7, b=0, a=1}
|
||||
})
|
||||
|
||||
|
||||
for i=1,10 do
|
||||
makeCloud(
|
||||
{
|
||||
@ -124,6 +123,39 @@ function poison.addFaction()
|
||||
)
|
||||
end
|
||||
|
||||
-- data:extend({
|
||||
-- {
|
||||
-- type = "explosion",
|
||||
-- name = "poisonTester",
|
||||
-- flags = {"not-on-map"},
|
||||
-- animations =
|
||||
-- {
|
||||
-- {
|
||||
-- filename = "__core__/graphics/empty.png",
|
||||
-- priority = "high",
|
||||
-- width = 1,
|
||||
-- height = 1,
|
||||
-- frame_count = 1
|
||||
-- }
|
||||
-- },
|
||||
-- created_effect =
|
||||
-- {
|
||||
-- type = "direct",
|
||||
-- action_delivery =
|
||||
-- {
|
||||
-- type = "instant",
|
||||
-- target_effects =
|
||||
-- {
|
||||
-- {
|
||||
-- type = "create-entity",
|
||||
-- entity_name = "assembling-machine-1"
|
||||
-- }
|
||||
-- }
|
||||
-- }
|
||||
-- }
|
||||
-- }
|
||||
-- })
|
||||
|
||||
-- poison biters
|
||||
buildUnitSpawner(
|
||||
{
|
||||
|
@ -100,10 +100,10 @@ function troll.addFaction()
|
||||
[4] = 1,
|
||||
[5] = 1.1,
|
||||
[6] = 1.2,
|
||||
[7] = 1.3,
|
||||
[8] = 1.4,
|
||||
[9] = 1.5,
|
||||
[10] = 1.6
|
||||
[7] = 1.4,
|
||||
[8] = 1.6,
|
||||
[9] = 1.8,
|
||||
[10] = 2.0
|
||||
},
|
||||
tint = {r=0.4, g=0.4, b=0.4, a=1},
|
||||
tint2 = {r=0.8, g=0.8, b=0.8, a=1}
|
||||
@ -273,10 +273,10 @@ function troll.addFaction()
|
||||
[4] = 1,
|
||||
[5] = 1.1,
|
||||
[6] = 1.2,
|
||||
[7] = 1.3,
|
||||
[8] = 1.4,
|
||||
[9] = 1.5,
|
||||
[10] = 1.6
|
||||
[7] = 1.4,
|
||||
[8] = 1.6,
|
||||
[9] = 1.8,
|
||||
[10] = 2.0
|
||||
},
|
||||
tint = {r=0.4, g=0.4, b=0.4, a=1},
|
||||
tint2 = {r=0.8, g=0.8, b=0.8, a=1}
|
||||
@ -430,10 +430,10 @@ function troll.addFaction()
|
||||
[4] = 1,
|
||||
[5] = 1.1,
|
||||
[6] = 1.2,
|
||||
[7] = 1.3,
|
||||
[8] = 1.4,
|
||||
[9] = 1.5,
|
||||
[10] = 1.6
|
||||
[7] = 1.4,
|
||||
[8] = 1.6,
|
||||
[9] = 1.8,
|
||||
[10] = 2.0
|
||||
},
|
||||
attackName = "troll-worm",
|
||||
tint = {r=0.4, g=0.4, b=0.4, a=1},
|
||||
|
@ -39,10 +39,10 @@ local scales = {
|
||||
[5] = 1.4,
|
||||
[6] = 1.5,
|
||||
[7] = 1.6,
|
||||
[8] = 1.7,
|
||||
[9] = 1.8,
|
||||
[10] = 1.9,
|
||||
[11] = 2.0
|
||||
[8] = 1.8,
|
||||
[9] = 2.0,
|
||||
[10] = 2.1,
|
||||
[11] = 2.2
|
||||
}
|
||||
|
||||
for t=1,11 do
|
||||
@ -74,14 +74,14 @@ for t=1,11 do
|
||||
)
|
||||
end
|
||||
|
||||
local types = constants.FACTION_TYPES
|
||||
-- local types = constants.FACTION_TYPES
|
||||
|
||||
local subTypes = constants.HIVE_BUILDINGS_TYPES
|
||||
|
||||
for x=1,#types do
|
||||
local name = types[x]
|
||||
-- for x=1,#types do
|
||||
-- local name = types[x]
|
||||
|
||||
for t=1,11 do
|
||||
for t=1,11 do
|
||||
local scale = scales[t] * 1.2
|
||||
|
||||
for si=1,#subTypes do
|
||||
@ -91,7 +91,7 @@ for x=1,#types do
|
||||
{
|
||||
{
|
||||
type = "simple-entity-with-force",
|
||||
name = "entity-proxy-" .. name .. "-" .. st .. "-t" .. t .. "-rampant",
|
||||
name = "entity-proxy-" .. st .. "-t" .. t .. "-rampant",
|
||||
icon = "__base__/graphics/icons/steel-chest.png",
|
||||
icon_size = 32,
|
||||
flags = {},
|
||||
@ -113,5 +113,5 @@ for x=1,#types do
|
||||
}
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
-- end
|
||||
|
@ -12,7 +12,7 @@ local function makeBloodParticle(attributes)
|
||||
name = name,
|
||||
flags = {"not-on-map"},
|
||||
movement_modifier_when_on_ground = 0.2,
|
||||
life_time = 180,
|
||||
life_time = 240,
|
||||
pictures =
|
||||
{
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user