From eb36e62db5a74c24ea97317193f2d0cf3b42e614 Mon Sep 17 00:00:00 2001 From: Aaron Veden <veden@vedbyte.com> Date: Sun, 4 Apr 2021 21:46:43 -0700 Subject: [PATCH] see changelog --- changelog.txt | 6 +++++- control.lua | 2 +- libs/BaseUtils.lua | 24 ++++++++++++++---------- libs/Constants.lua | 1 + libs/MovementUtils.lua | 6 +++--- libs/SquadAttack.lua | 15 ++++++++------- 6 files changed, 32 insertions(+), 22 deletions(-) diff --git a/changelog.txt b/changelog.txt index 5feef9c..07ce5aa 100755 --- a/changelog.txt +++ b/changelog.txt @@ -10,10 +10,14 @@ Date: 03. 04. 2021 - Decreased Poison faction cloud damage by 25% - Increased suicide biters damage by 50% - Added scorchmark scaling to new enemies + - Increased squad used chunks that are tracked by 30% + - Reduced movement penalty on chunks added by squad movement by 50% Bugfixes: - Fixed nocturnal biters mod setting description. As vanilla attacks have been integrated - Fixed missing locale for fire spitter acid pool - - Fixed tooltip for suicide and nuclear biters + - Fixed tooltip for suicide and nuclear biters + - Fixed removing a faction mid play-through caused a crash + - Fixed squads not getting commands processed every ticks --------------------------------------------------------------------------------------------------- Version: 1.0.6 diff --git a/control.lua b/control.lua index 4ed47c6..4ccd097 100755 --- a/control.lua +++ b/control.lua @@ -957,7 +957,6 @@ script.on_event(defines.events.on_tick, elseif (pick == 3) then processStaticMap(map) disperseVictoryScent(map) - cleanSquads(map) processVengence(map) elseif (pick == 4) then scanResourceMap(map, tick) @@ -971,6 +970,7 @@ script.on_event(defines.events.on_tick, end processActiveNests(map, tick) + cleanSquads(map) -- game.print({"", "--dispatch4 ", profiler, ", ", pick, ", ", game.tick, " ", mRandom()}) end) diff --git a/libs/BaseUtils.lua b/libs/BaseUtils.lua index ee5cf30..0420999 100755 --- a/libs/BaseUtils.lua +++ b/libs/BaseUtils.lua @@ -598,17 +598,21 @@ function baseUtils.rebuildNativeTables(universe, rg) end end - -- local evoIndex = evoToTier(universe, universe.evolutionLevel) + local evoIndex = evoToTier(universe, universe.evolutionLevel) - -- for _,base in pairs(universe.bases) do - -- for x=1,#base.alignment do - -- local alignment = base.alignment[x] - -- if not universe.buildingEvolveLookup[alignment] then - -- base.alignment = findBaseInitialAlignment(universe, evoIndex) - -- break - -- end - -- end - -- end + if universe.maps then + for _,map in pairs(universe.maps) do + for _,base in pairs(map.bases) do + for x=1,#base.alignment do + local alignment = base.alignment[x] + if not universe.buildingEvolveLookup[alignment] then + base.alignment = findBaseInitialAlignment(universe, evoIndex) + break + end + end + end + end + end end baseUtilsG = baseUtils diff --git a/libs/Constants.lua b/libs/Constants.lua index 5bcc4c2..b3dbbf8 100755 --- a/libs/Constants.lua +++ b/libs/Constants.lua @@ -193,6 +193,7 @@ constants.MOVEMENT_PENALTY_AMOUNT = 300000 constants.DEATH_PHEROMONE_GENERATOR_AMOUNT = 1300 constants.DOUBLE_DEATH_PHEROMONE_GENERATOR_AMOUNT = constants.DEATH_PHEROMONE_GENERATOR_AMOUNT * 2 constants.TEN_DEATH_PHEROMONE_GENERATOR_AMOUNT = constants.DEATH_PHEROMONE_GENERATOR_AMOUNT * 10 +constants.FIVE_DEATH_PHEROMONE_GENERATOR_AMOUNT = constants.DEATH_PHEROMONE_GENERATOR_AMOUNT * 5 constants.PLAYER_PHEROMONE_GENERATOR_AMOUNT = 300 constants.IMPASSABLE_TERRAIN_GENERATOR_AMOUNT = 0 diff --git a/libs/MovementUtils.lua b/libs/MovementUtils.lua index 03df8e6..aab591a 100755 --- a/libs/MovementUtils.lua +++ b/libs/MovementUtils.lua @@ -52,15 +52,15 @@ function movementUtils.addMovementPenalty(squad, chunk) for i=1,penaltyCount do local penalty = penalties[i] if (penalty.c == chunk) then - penalty.v = ((penaltyCount > 1) and penalty.v + 1) or penalty.v + penalty.v = penalty.v + 1 if (penalty.v > 2) then squad.kamikaze = true end return end end - if (penaltyCount == 7) then - tableRemove(penalties, 7) + if (penaltyCount == 10) then + tableRemove(penalties, 10) end tableInsert(penalties, 1, diff --git a/libs/SquadAttack.lua b/libs/SquadAttack.lua index 4868de4..9f31861 100755 --- a/libs/SquadAttack.lua +++ b/libs/SquadAttack.lua @@ -18,6 +18,7 @@ local BASE_PHEROMONE = constants.BASE_PHEROMONE local RESOURCE_PHEROMONE = constants.RESOURCE_PHEROMONE local TEN_DEATH_PHEROMONE_GENERATOR_AMOUNT = constants.TEN_DEATH_PHEROMONE_GENERATOR_AMOUNT +local FIVE_DEATH_PHEROMONE_GENERATOR_AMOUNT = constants.FIVE_DEATH_PHEROMONE_GENERATOR_AMOUNT local SQUAD_BUILDING = constants.SQUAD_BUILDING @@ -117,7 +118,7 @@ local function settleMove(map, squad) elseif squad.kamikaze then scoreFunction = scoreResourceLocationKamikaze end - addDeathGenerator(map, chunk, TEN_DEATH_PHEROMONE_GENERATOR_AMOUNT) + addDeathGenerator(map, chunk, FIVE_DEATH_PHEROMONE_GENERATOR_AMOUNT) addSquadToChunk(map, chunk, squad) addMovementPenalty(squad, chunk) local distance = euclideanDistancePoints(groupPosition.x, @@ -179,9 +180,9 @@ local function settleMove(map, squad) targetPosition.x = position.x targetPosition.y = position.y if nextAttackChunk then - addDeathGenerator(map, nextAttackChunk, TEN_DEATH_PHEROMONE_GENERATOR_AMOUNT) + addDeathGenerator(map, nextAttackChunk, FIVE_DEATH_PHEROMONE_GENERATOR_AMOUNT) else - addDeathGenerator(map, attackChunk, TEN_DEATH_PHEROMONE_GENERATOR_AMOUNT) + addDeathGenerator(map, attackChunk, FIVE_DEATH_PHEROMONE_GENERATOR_AMOUNT) end else cmd = universe.wonderCommand @@ -243,7 +244,7 @@ local function attackMove(map, squad) attackScorer = scoreAttackKamikazeLocation end local squadChunk = squad.chunk - addDeathGenerator(map, squadChunk, TEN_DEATH_PHEROMONE_GENERATOR_AMOUNT) + addDeathGenerator(map, squadChunk, FIVE_DEATH_PHEROMONE_GENERATOR_AMOUNT) addSquadToChunk(map, chunk, squad) addMovementPenalty(squad, chunk) squad.frenzy = (squad.frenzy and (euclideanDistanceNamed(groupPosition, squad.frenzyPosition) < 100)) @@ -275,9 +276,9 @@ local function attackMove(map, squad) targetPosition.x = position.x targetPosition.y = position.y if nextAttackChunk then - addDeathGenerator(map, nextAttackChunk, TEN_DEATH_PHEROMONE_GENERATOR_AMOUNT) + addDeathGenerator(map, nextAttackChunk, FIVE_DEATH_PHEROMONE_GENERATOR_AMOUNT) else - addDeathGenerator(map, attackChunk, TEN_DEATH_PHEROMONE_GENERATOR_AMOUNT) + addDeathGenerator(map, attackChunk, FIVE_DEATH_PHEROMONE_GENERATOR_AMOUNT) end end @@ -332,7 +333,7 @@ function squadAttack.cleanSquads(map) else local group = squad.group if not group.valid then - addDeathGenerator(map, squad.chunk, TEN_DEATH_PHEROMONE_GENERATOR_AMOUNT) + addDeathGenerator(map, squad.chunk, FIVE_DEATH_PHEROMONE_GENERATOR_AMOUNT) removeSquadFromChunk(map, squad) if (map.regroupIterator == k) then map.regroupIterator = nil