mirror of
https://github.com/veden/Rampant.git
synced 2024-12-28 21:08:22 +02:00
FACTO-1: Fixed hives producing excess entities an a area
This commit is contained in:
parent
40afcf3f37
commit
981293c8e7
@ -10,6 +10,7 @@ Date: 29. 12. 2021
|
|||||||
- Removed chance of hive outside resoure chunks on settler structure creation
|
- Removed chance of hive outside resoure chunks on settler structure creation
|
||||||
- Separated mod setting into printing settlers building and ai spending points
|
- Separated mod setting into printing settlers building and ai spending points
|
||||||
Bugfixes:
|
Bugfixes:
|
||||||
|
- Fixed Hives spawning excessive amounts of entities
|
||||||
- Fixed chunkPack nil in processNests (Thanks Skallywaggz for the report)
|
- Fixed chunkPack nil in processNests (Thanks Skallywaggz for the report)
|
||||||
- Fixed random generator seed overflow (Thanks NeveHanter for the report)
|
- Fixed random generator seed overflow (Thanks NeveHanter for the report)
|
||||||
- Fixed removing chunks could index outside processQueueLength (Thanks thecheat789 for the report)
|
- Fixed removing chunks could index outside processQueueLength (Thanks thecheat789 for the report)
|
||||||
|
@ -24,11 +24,13 @@ local chunkProcessor = {}
|
|||||||
local chunkUtils = require("ChunkUtils")
|
local chunkUtils = require("ChunkUtils")
|
||||||
local queryUtils = require("QueryUtils")
|
local queryUtils = require("QueryUtils")
|
||||||
local mapUtils = require("MapUtils")
|
local mapUtils = require("MapUtils")
|
||||||
local constants = require("Constants")
|
-- local constants = require("Constants")
|
||||||
|
|
||||||
-- constants
|
-- constants
|
||||||
|
|
||||||
local CHUNK_SIZE = constants.CHUNK_SIZE
|
-- local CHUNK_SIZE = constants.CHUNK_SIZE
|
||||||
|
-- local HALF_CHUNK_SIZE = constants.HALF_CHUNK_SIZE
|
||||||
|
-- local QUARTER_CHUNK_SIZE = constants.QUARTER_CHUNK_SIZE
|
||||||
|
|
||||||
-- imported functions
|
-- imported functions
|
||||||
|
|
||||||
@ -179,28 +181,19 @@ function chunkProcessor.processPendingUpgrades(universe, tick)
|
|||||||
local query = universe.ppuUpgradeEntityQuery
|
local query = universe.ppuUpgradeEntityQuery
|
||||||
local position = entityData.position or entity.position
|
local position = entityData.position or entity.position
|
||||||
query.name = entityData.name
|
query.name = entityData.name
|
||||||
local foundPosition
|
|
||||||
if universe.NEW_ENEMIES then
|
|
||||||
foundPosition = surface.find_non_colliding_position(universe.buildingSpaceLookup[entityData.name],
|
|
||||||
position,
|
|
||||||
CHUNK_SIZE,
|
|
||||||
1,
|
|
||||||
true)
|
|
||||||
else
|
|
||||||
foundPosition = surface.find_non_colliding_position(entityData.name,
|
|
||||||
position,
|
|
||||||
CHUNK_SIZE,
|
|
||||||
1,
|
|
||||||
true)
|
|
||||||
end
|
|
||||||
setPositionInQuery(query, foundPosition or position)
|
|
||||||
unregisterEnemyBaseStructure(entityData.map, entity, nil, true)
|
unregisterEnemyBaseStructure(entityData.map, entity, nil, true)
|
||||||
entity.destroy()
|
entity.destroy()
|
||||||
|
local foundPosition = surface.find_non_colliding_position(universe.buildingSpaceLookup[entityData.name],
|
||||||
|
position,
|
||||||
|
2,
|
||||||
|
1,
|
||||||
|
true)
|
||||||
|
setPositionInQuery(query, foundPosition or position)
|
||||||
local createdEntity = surface.create_entity(query)
|
local createdEntity = surface.create_entity(query)
|
||||||
if createdEntity and createdEntity.valid then
|
if createdEntity and createdEntity.valid then
|
||||||
registerEnemyBaseStructure(entityData.map, createdEntity, tick, entityData.base, true)
|
registerEnemyBaseStructure(entityData.map, createdEntity, tick, entityData.base, true)
|
||||||
if remote.interfaces["kr-creep"] then
|
if remote.interfaces["kr-creep"] then
|
||||||
remote.call("kr-creep", "spawn_creep_at_position", surface, position)
|
remote.call("kr-creep", "spawn_creep_at_position", surface, foundPosition or position)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
@ -70,8 +70,8 @@ local function generateCollisionBox(scale, entityType)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local scales = {
|
local scales = {
|
||||||
["trap"] = {},
|
-- ["trap"] = {},
|
||||||
["utility"] = {},
|
-- ["utility"] = {},
|
||||||
["spitter-spawner"] = {
|
["spitter-spawner"] = {
|
||||||
[1] = 0.70, [2] = 0.83, [3] = 0.96, [4] = 1.09, [5] = 1.22,
|
[1] = 0.70, [2] = 0.83, [3] = 0.96, [4] = 1.09, [5] = 1.22,
|
||||||
[6] = 1.35, [7] = 1.48, [8] = 1.61, [9] = 1.74, [10] = 1.87
|
[6] = 1.35, [7] = 1.48, [8] = 1.61, [9] = 1.74, [10] = 1.87
|
||||||
@ -96,7 +96,8 @@ for si=1,#subTypes do
|
|||||||
local st = subTypes[si]
|
local st = subTypes[si]
|
||||||
if scales[st] then
|
if scales[st] then
|
||||||
for t=1,10 do
|
for t=1,10 do
|
||||||
local scale = scales[st][t]
|
-- local scale = scales[st][t]
|
||||||
|
local scale = scales["biter-spawner"][t]
|
||||||
|
|
||||||
data:extend(
|
data:extend(
|
||||||
{
|
{
|
||||||
@ -114,7 +115,8 @@ for si=1,#subTypes do
|
|||||||
corpse = nil,
|
corpse = nil,
|
||||||
timeout = 1,
|
timeout = 1,
|
||||||
trigger_radius = 0,
|
trigger_radius = 0,
|
||||||
collision_box = generateCollisionBox(scale, st),
|
-- collision_box = generateCollisionBox(scale, st),
|
||||||
|
collision_box = generateCollisionBox(scale, "biter-spawner"),
|
||||||
selection_box = nil,
|
selection_box = nil,
|
||||||
|
|
||||||
picture_safe =
|
picture_safe =
|
||||||
|
Loading…
Reference in New Issue
Block a user