mirror of
https://github.com/veden/Rampant.git
synced 2024-12-26 20:54:12 +02:00
see changelog
This commit is contained in:
parent
71727454b9
commit
721b458777
@ -1,5 +1,6 @@
|
|||||||
globals = {
|
globals = {
|
||||||
"game",
|
"game",
|
||||||
|
"util",
|
||||||
"data",
|
"data",
|
||||||
"remote",
|
"remote",
|
||||||
"settings",
|
"settings",
|
||||||
@ -30,3 +31,5 @@ globals = {
|
|||||||
"unitUtilsG",
|
"unitUtilsG",
|
||||||
"baseUtilsG"
|
"baseUtilsG"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
max_line_length = false
|
@ -5,7 +5,9 @@ Date: 06. 02. 2021
|
|||||||
- AI temperament logic now will calm down after you destroy enough units and/or nests
|
- AI temperament logic now will calm down after you destroy enough units and/or nests
|
||||||
- Rampant now functions on all surfaces
|
- Rampant now functions on all surfaces
|
||||||
- Rampant no longer clears surface information on mod changes
|
- Rampant no longer clears surface information on mod changes
|
||||||
|
- Added a temperament modifer setting to adjust how quickly the ai will reach extremes in attacking and expansion.
|
||||||
Tweaks:
|
Tweaks:
|
||||||
|
- Increased minimum points the AI can work with to 200
|
||||||
- Reduced spitter range by 2 across all new enemy tiers
|
- Reduced spitter range by 2 across all new enemy tiers
|
||||||
- Increased spitter projectile collision box by 5x
|
- Increased spitter projectile collision box by 5x
|
||||||
- Decreased movement debuff from spitter acid puddle by roughly 70%
|
- Decreased movement debuff from spitter acid puddle by roughly 70%
|
||||||
@ -13,7 +15,7 @@ Date: 06. 02. 2021
|
|||||||
- Decreased suicide biter damage 90% and radius by roughly 50%
|
- Decreased suicide biter damage 90% and radius by roughly 50%
|
||||||
- Decreased nuclear biter damage 90%
|
- Decreased nuclear biter damage 90%
|
||||||
- Decreased default max wave size to 75 units
|
- Decreased default max wave size to 75 units
|
||||||
- Increased evolution requirement for suicide and nuclear biters to 35% and 45%
|
- Increased evolution requirement for suicide and nuclear biters to 20% and 45%
|
||||||
- Decreased squad size ramp up to evolution_factor^1.4
|
- Decreased squad size ramp up to evolution_factor^1.4
|
||||||
- Increased unit lost temperament contribution to 0.03
|
- Increased unit lost temperament contribution to 0.03
|
||||||
- Decreased active spawner temperament contribution to 0.25
|
- Decreased active spawner temperament contribution to 0.25
|
||||||
@ -21,15 +23,17 @@ Date: 06. 02. 2021
|
|||||||
- Decreased siege ai state chance to 15% at peak temperament
|
- Decreased siege ai state chance to 15% at peak temperament
|
||||||
- Halved AI temperament rate of change
|
- Halved AI temperament rate of change
|
||||||
- Increased ai state duration minimum to 10 and maximum to 25 minutes
|
- Increased ai state duration minimum to 10 and maximum to 25 minutes
|
||||||
|
- Changed default enemy seed to non-zero
|
||||||
Bugfixes:
|
Bugfixes:
|
||||||
- Fixed suicide and nuclear enemies explosion centered on target instead self
|
- Fixed suicide and nuclear enemies explosion centered on target instead self
|
||||||
- Fixed process spawners reading missing globals
|
- Fixed process spawners function reading missing globals
|
||||||
- Fixed potential desync in squad attack movement
|
- Fixed potential desync in squad attack movement
|
||||||
- Fixed potential desync in unit group creation event
|
- Fixed potential desync in unit group creation event
|
||||||
- Fixed potential desync in building native tables
|
- Fixed potential desync in building native tables
|
||||||
- Fixed find entity upgrade incorrectly calculating evolution
|
- Fixed find entity upgrade incorrectly calculating evolution
|
||||||
- Fixed bug with the mod new game+
|
- Fixed bug with the mod new game+
|
||||||
- Fixed existing spawner upgrading in place over time
|
- Fixed existing spawner upgrading in place over time
|
||||||
|
- Fixed add wall acid resistance setting would overwrite higher resistance and not effect gates
|
||||||
|
|
||||||
---------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------
|
||||||
Version: 1.0.2
|
Version: 1.0.2
|
||||||
|
97
control.lua
97
control.lua
@ -201,6 +201,10 @@ local function onModSettingsChange(event)
|
|||||||
universe.safeEntities["lighted-big-electric-pole"] = newValue
|
universe.safeEntities["lighted-big-electric-pole"] = newValue
|
||||||
end
|
end
|
||||||
|
|
||||||
|
upgrade.compareTable(universe,
|
||||||
|
"temperamentRateModifier",
|
||||||
|
settings.global["rampant--temperamentRateModifier"].value)
|
||||||
|
|
||||||
upgrade.compareTable(universe,
|
upgrade.compareTable(universe,
|
||||||
"deadZoneFrequency",
|
"deadZoneFrequency",
|
||||||
settings.global["rampant--deadZoneFrequency"].value)
|
settings.global["rampant--deadZoneFrequency"].value)
|
||||||
@ -373,80 +377,10 @@ local function onConfigChanged()
|
|||||||
if not universe then
|
if not universe then
|
||||||
universe = global.universe
|
universe = global.universe
|
||||||
end
|
end
|
||||||
|
|
||||||
upgrade.compareTable(universe,
|
|
||||||
"safeBuildings",
|
|
||||||
settings.global["rampant--safeBuildings"].value)
|
|
||||||
upgrade.compareTable(universe.safeEntities,
|
|
||||||
"curved-rail",
|
|
||||||
settings.global["rampant--safeBuildings-curvedRail"].value)
|
|
||||||
upgrade.compareTable(universe.safeEntities,
|
|
||||||
"straight-rail",
|
|
||||||
settings.global["rampant--safeBuildings-straightRail"].value)
|
|
||||||
upgrade.compareTable(universe.safeEntities,
|
|
||||||
"rail-signal",
|
|
||||||
settings.global["rampant--safeBuildings-railSignals"].value)
|
|
||||||
upgrade.compareTable(universe.safeEntities,
|
|
||||||
"rail-chain-signal",
|
|
||||||
settings.global["rampant--safeBuildings-railChainSignals"].value)
|
|
||||||
upgrade.compareTable(universe.safeEntities,
|
|
||||||
"train-stop",
|
|
||||||
settings.global["rampant--safeBuildings-trainStops"].value)
|
|
||||||
upgrade.compareTable(universe.safeEntities,
|
|
||||||
"lamp",
|
|
||||||
settings.global["rampant--safeBuildings-lamps"].value)
|
|
||||||
|
|
||||||
local changed, newValue = upgrade.compareTable(universe.safeEntities,
|
|
||||||
"big-electric-pole",
|
|
||||||
settings.global["rampant--safeBuildings-bigElectricPole"].value)
|
|
||||||
if changed then
|
|
||||||
universe.safeEntities["big-electric-pole"] = newValue
|
|
||||||
universe.safeEntities["big-electric-pole-2"] = newValue
|
|
||||||
universe.safeEntities["big-electric-pole-3"] = newValue
|
|
||||||
universe.safeEntities["big-electric-pole-4"] = newValue
|
|
||||||
universe.safeEntities["lighted-big-electric-pole-4"] = newValue
|
|
||||||
universe.safeEntities["lighted-big-electric-pole-3"] = newValue
|
|
||||||
universe.safeEntities["lighted-big-electric-pole-2"] = newValue
|
|
||||||
universe.safeEntities["lighted-big-electric-pole"] = newValue
|
|
||||||
end
|
|
||||||
|
|
||||||
upgrade.compareTable(universe,
|
|
||||||
"deadZoneFrequency",
|
|
||||||
settings.global["rampant--deadZoneFrequency"].value)
|
|
||||||
upgrade.compareTable(universe,
|
|
||||||
"raidAIToggle",
|
|
||||||
settings.global["rampant--raidAIToggle"].value)
|
|
||||||
upgrade.compareTable(universe,
|
|
||||||
"siegeAIToggle",
|
|
||||||
settings.global["rampant--siegeAIToggle"].value)
|
|
||||||
|
|
||||||
upgrade.compareTable(universe,
|
|
||||||
"attackPlayerThreshold",
|
|
||||||
settings.global["rampant--attackPlayerThreshold"].value)
|
|
||||||
upgrade.compareTable(universe,
|
|
||||||
"attackUsePlayer",
|
|
||||||
settings.global["rampant--attackWaveGenerationUsePlayerProximity"].value)
|
|
||||||
|
|
||||||
upgrade.compareTable(universe,
|
|
||||||
"attackWaveMaxSize",
|
|
||||||
settings.global["rampant--attackWaveMaxSize"].value)
|
|
||||||
upgrade.compareTable(universe,
|
|
||||||
"aiNocturnalMode",
|
|
||||||
settings.global["rampant--permanentNocturnal"].value)
|
|
||||||
upgrade.compareTable(universe,
|
|
||||||
"aiPointsScaler",
|
|
||||||
settings.global["rampant--aiPointsScaler"].value)
|
|
||||||
|
|
||||||
universe.enabledMigration = universe.expansion and settings.global["rampant--enableMigration"].value
|
|
||||||
|
|
||||||
upgrade.compareTable(universe,
|
|
||||||
"AI_MAX_SQUAD_COUNT",
|
|
||||||
settings.global["rampant--maxNumberOfSquads"].value)
|
|
||||||
upgrade.compareTable(universe,
|
|
||||||
"AI_MAX_BUILDER_COUNT",
|
|
||||||
settings.global["rampant--maxNumberOfBuilders"].value)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
onModSettingsChange({setting="rampant--"})
|
||||||
|
|
||||||
upgrade.compareTable(universe,
|
upgrade.compareTable(universe,
|
||||||
"ENEMY_SEED",
|
"ENEMY_SEED",
|
||||||
settings.startup["rampant--enemySeed"].value)
|
settings.startup["rampant--enemySeed"].value)
|
||||||
@ -772,10 +706,12 @@ local function onUsedCapsule(event)
|
|||||||
local surface = game.players[event.player_index].surface
|
local surface = game.players[event.player_index].surface
|
||||||
local map = universe.maps[surface.index]
|
local map = universe.maps[surface.index]
|
||||||
if (event.item.name == "cliff-explosives") then
|
if (event.item.name == "cliff-explosives") then
|
||||||
map.position2Top.x = event.position.x-0.75
|
local position2Top = universe.position2Top
|
||||||
map.position2Top.y = event.position.y-0.75
|
local position2Bottom = universe.position2Bottom
|
||||||
map.position2Bottom.x = event.position.x+0.75
|
position2Top.x = event.position.x-0.75
|
||||||
map.position2Bottom.y = event.position.y+0.75
|
position2Top.y = event.position.y-0.75
|
||||||
|
position2Bottom.x = event.position.x+0.75
|
||||||
|
position2Bottom.y = event.position.y+0.75
|
||||||
local cliffs = surface.find_entities_filtered(universe.cliffQuery)
|
local cliffs = surface.find_entities_filtered(universe.cliffQuery)
|
||||||
for i=1,#cliffs do
|
for i=1,#cliffs do
|
||||||
entityForPassScan(map, cliffs[i])
|
entityForPassScan(map, cliffs[i])
|
||||||
@ -902,20 +838,19 @@ end
|
|||||||
local function onGroupFinishedGathering(event)
|
local function onGroupFinishedGathering(event)
|
||||||
local group = event.group
|
local group = event.group
|
||||||
if group.valid and (group.force.name == "enemy") then
|
if group.valid and (group.force.name == "enemy") then
|
||||||
local unitNumber = group.group_number
|
|
||||||
local map = universe.maps[group.surface.index]
|
local map = universe.maps[group.surface.index]
|
||||||
local squad = map.groupNumberToSquad[unitNumber]
|
local squad = map.groupNumberToSquad[group.group_number]
|
||||||
if squad then
|
if squad then
|
||||||
if squad.settler then
|
if squad.settler then
|
||||||
if (universe.builderCount < universe.AI_MAX_BUILDER_COUNT) then
|
if (universe.builderCount < universe.AI_MAX_BUILDER_COUNT) then
|
||||||
squadDispatch(map, squad, unitNumber)
|
squadDispatch(map, squad)
|
||||||
else
|
else
|
||||||
group.destroy()
|
group.destroy()
|
||||||
map.points = map.points + AI_SETTLER_COST
|
map.points = map.points + AI_SETTLER_COST
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if (universe.squadCount < universe.AI_MAX_SQUAD_COUNT) then
|
if (universe.squadCount < universe.AI_MAX_SQUAD_COUNT) then
|
||||||
squadDispatch(map, squad, unitNumber)
|
squadDispatch(map, squad)
|
||||||
else
|
else
|
||||||
group.destroy()
|
group.destroy()
|
||||||
map.points = map.points + AI_SQUAD_COST
|
map.points = map.points + AI_SQUAD_COST
|
||||||
@ -939,7 +874,7 @@ local function onGroupFinishedGathering(event)
|
|||||||
else
|
else
|
||||||
universe.squadCount = universe.squadCount + 1
|
universe.squadCount = universe.squadCount + 1
|
||||||
end
|
end
|
||||||
squadDispatch(map, squad, unitNumber)
|
squadDispatch(map, squad)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -66,5 +66,3 @@ mapSettings.unit_group.max_group_slowdown_factor = constants.UNIT_GROUP_SLOWDOWN
|
|||||||
|
|
||||||
|
|
||||||
data.raw["utility-constants"]["default"].unit_group_pathfinding_resolution = -5
|
data.raw["utility-constants"]["default"].unit_group_pathfinding_resolution = -5
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,9 +21,6 @@ local AI_STATE_MIGRATING = constants.AI_STATE_MIGRATING
|
|||||||
local AI_STATE_ONSLAUGHT = constants.AI_STATE_ONSLAUGHT
|
local AI_STATE_ONSLAUGHT = constants.AI_STATE_ONSLAUGHT
|
||||||
local AI_STATE_SIEGE = constants.AI_STATE_SIEGE
|
local AI_STATE_SIEGE = constants.AI_STATE_SIEGE
|
||||||
|
|
||||||
local AGGRESSIVE_CAN_ATTACK_WAIT_MAX_DURATION = constants.AGGRESSIVE_CAN_ATTACK_WAIT_MAX_DURATION
|
|
||||||
local AGGRESSIVE_CAN_ATTACK_WAIT_MIN_DURATION = constants.AGGRESSIVE_CAN_ATTACK_WAIT_MIN_DURATION
|
|
||||||
|
|
||||||
local AI_UNIT_REFUND = constants.AI_UNIT_REFUND
|
local AI_UNIT_REFUND = constants.AI_UNIT_REFUND
|
||||||
|
|
||||||
local AI_MAX_POINTS = constants.AI_MAX_POINTS
|
local AI_MAX_POINTS = constants.AI_MAX_POINTS
|
||||||
@ -327,6 +324,7 @@ function aiPlanning.temperamentPlanner(map)
|
|||||||
delta = delta + val
|
delta = delta + val
|
||||||
end
|
end
|
||||||
|
|
||||||
|
delta = delta * map.universe.temperamentRateModifier
|
||||||
map.temperamentScore = mMin(10000, mMax(-10000, currentTemperament + delta))
|
map.temperamentScore = mMin(10000, mMax(-10000, currentTemperament + delta))
|
||||||
map.temperament = ((map.temperamentScore + 10000) * 0.00005)
|
map.temperament = ((map.temperamentScore + 10000) * 0.00005)
|
||||||
|
|
||||||
|
@ -5,7 +5,6 @@ local chunkUtils = {}
|
|||||||
|
|
||||||
-- imports
|
-- imports
|
||||||
|
|
||||||
local stringUtils = require("StringUtils")
|
|
||||||
local baseUtils = require("BaseUtils")
|
local baseUtils = require("BaseUtils")
|
||||||
local constants = require("Constants")
|
local constants = require("Constants")
|
||||||
local mapUtils = require("MapUtils")
|
local mapUtils = require("MapUtils")
|
||||||
@ -47,7 +46,6 @@ local GENERATOR_PHEROMONE_LEVEL_6 = constants.GENERATOR_PHEROMONE_LEVEL_6
|
|||||||
|
|
||||||
-- imported functions
|
-- imported functions
|
||||||
|
|
||||||
local isRampant = stringUtils.isRampant
|
|
||||||
local setNestCount = chunkPropertyUtils.setNestCount
|
local setNestCount = chunkPropertyUtils.setNestCount
|
||||||
local setPlayerBaseGenerator = chunkPropertyUtils.setPlayerBaseGenerator
|
local setPlayerBaseGenerator = chunkPropertyUtils.setPlayerBaseGenerator
|
||||||
local addPlayerBaseGenerator = chunkPropertyUtils.addPlayerBaseGenerator
|
local addPlayerBaseGenerator = chunkPropertyUtils.addPlayerBaseGenerator
|
||||||
|
@ -115,7 +115,7 @@ constants.MAX_TICKS_BEFORE_SORT_CHUNKS = 60 * 60 * 30 -- 1 tick = 1/60 sec * 60
|
|||||||
|
|
||||||
constants.RESOURCE_MINIMUM_FORMATION_DELTA = 15
|
constants.RESOURCE_MINIMUM_FORMATION_DELTA = 15
|
||||||
|
|
||||||
constants.MINIMUM_AI_POINTS = 100
|
constants.MINIMUM_AI_POINTS = 200
|
||||||
constants.AI_POINT_GENERATOR_AMOUNT = 0.688863
|
constants.AI_POINT_GENERATOR_AMOUNT = 0.688863
|
||||||
constants.AI_SQUAD_COST = 175
|
constants.AI_SQUAD_COST = 175
|
||||||
constants.RECOVER_NEST_COST = constants.AI_SQUAD_COST
|
constants.RECOVER_NEST_COST = constants.AI_SQUAD_COST
|
||||||
@ -1227,7 +1227,7 @@ if settings.startup["rampant--suicideEnemy"].value then
|
|||||||
type = "suicide",
|
type = "suicide",
|
||||||
tint = {r=0.8, g=0.8, b=0.8, a=1},
|
tint = {r=0.8, g=0.8, b=0.8, a=1},
|
||||||
tint2 = {r=0.95, g=0.95, b=0, a=1},
|
tint2 = {r=0.95, g=0.95, b=0, a=1},
|
||||||
acceptRate = {3, 10, 0.05, 0.15},
|
acceptRate = {2, 10, 0.05, 0.15},
|
||||||
evo = 0.35,
|
evo = 0.35,
|
||||||
units = {
|
units = {
|
||||||
{
|
{
|
||||||
|
@ -348,7 +348,7 @@ function squadAttack.cleanSquads(map)
|
|||||||
squads[k] = nil
|
squads[k] = nil
|
||||||
k = nextK
|
k = nextK
|
||||||
elseif (group.state == 4) then
|
elseif (group.state == 4) then
|
||||||
squadAttack.squadDispatch(map, squad, squad.groupNumber)
|
squadAttack.squadDispatch(map, squad)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
map.squadIterator = k
|
map.squadIterator = k
|
||||||
|
@ -18705,8 +18705,8 @@ rampant--safeBuildings-bigElectricPole=Safety: Make big electric poles safe from
|
|||||||
rampant--safeBuildings-railChainSignals=Safety: Make rail chain signals safe from biters
|
rampant--safeBuildings-railChainSignals=Safety: Make rail chain signals safe from biters
|
||||||
rampant--safeBuildings-railSignals=Safety: Make rail signals safe from biters
|
rampant--safeBuildings-railSignals=Safety: Make rail signals safe from biters
|
||||||
rampant--safeBuildings-trainStops=Safety: Make train stops safe from biters
|
rampant--safeBuildings-trainStops=Safety: Make train stops safe from biters
|
||||||
rampant--permanentNocturnal=Attack Wave: Nocturnal Mode
|
rampant--permanentNocturnal=AI: Nocturnal Mode
|
||||||
rampant--aiPointsScaler=Attack Wave: Difficulty Scaling
|
rampant--aiPointsScaler=AI: Difficulty Scaling
|
||||||
rampant--addWallResistanceAcid=Safety; Increase wall resistance to spitters
|
rampant--addWallResistanceAcid=Safety; Increase wall resistance to spitters
|
||||||
rampant--safeBuildings-lamps=Safety: Make lamps safe from biters
|
rampant--safeBuildings-lamps=Safety: Make lamps safe from biters
|
||||||
rampant--removeBloodParticles=Optimization: Remove blood particles (Reduces lag spikes)
|
rampant--removeBloodParticles=Optimization: Remove blood particles (Reduces lag spikes)
|
||||||
@ -18788,6 +18788,7 @@ rampant--disableCollidingProjectiles=Projectiles: Non biter force colliding proj
|
|||||||
rampant--enableFullMapScan=Compatibility: Enable full map scanning
|
rampant--enableFullMapScan=Compatibility: Enable full map scanning
|
||||||
rampant--unitAndSpawnerFadeTime=Biter, Spitter, Worm, Spawners, and Hive Corpse Fade Time
|
rampant--unitAndSpawnerFadeTime=Biter, Spitter, Worm, Spawners, and Hive Corpse Fade Time
|
||||||
rampant--enableFadeTime=Enable corpse fade time
|
rampant--enableFadeTime=Enable corpse fade time
|
||||||
|
rampant--temperamentRateModifier=AI: Temperament Rate Modifier
|
||||||
|
|
||||||
[mod-setting-description]
|
[mod-setting-description]
|
||||||
rampant--unitAndSpawnerFadeTime=The time in seconds for how long biter corpses stay around
|
rampant--unitAndSpawnerFadeTime=The time in seconds for how long biter corpses stay around
|
||||||
@ -18888,6 +18889,7 @@ rampant--enableFadeTime=Enable the fade time to reduce or increase biter, spitte
|
|||||||
|
|
||||||
rampant--maxNumberOfBuilders=More builders requires more UPS.
|
rampant--maxNumberOfBuilders=More builders requires more UPS.
|
||||||
rampant--maxNumberOfSquads=More squads requires more UPS.
|
rampant--maxNumberOfSquads=More squads requires more UPS.
|
||||||
|
rampant--temperamentRateModifier=Change how quickly Rampant will hit extremes in the ai temperament stat which control attacking and expanding. This is a percentage increase or decrease with 1 being equal to 100%.
|
||||||
|
|
||||||
[description]
|
[description]
|
||||||
rampant-bobs-nee-newEnemies=Bobs enemies or NEE has been detected with Rampants new enemies,\nthe artifacts from each of these mods will still work with Rampants new enemies.\nThe generation of bobs or NEE unit spawners explicitly by Rampant is\nno longer supported when the Rampants new enemies are active.
|
rampant-bobs-nee-newEnemies=Bobs enemies or NEE has been detected with Rampants new enemies,\nthe artifacts from each of these mods will still work with Rampants new enemies.\nThe generation of bobs or NEE unit spawners explicitly by Rampant is\nno longer supported when the Rampants new enemies are active.
|
||||||
|
@ -4,17 +4,36 @@ function vanillaUpdates.addWallAcidResistance()
|
|||||||
local walls = data.raw["wall"]
|
local walls = data.raw["wall"]
|
||||||
|
|
||||||
for _,wall in pairs(walls) do
|
for _,wall in pairs(walls) do
|
||||||
local foundAcid = false
|
local foundAcid = false
|
||||||
for _,resistance in pairs(wall.resistances) do
|
for _,resistance in pairs(wall.resistances) do
|
||||||
if resistance.type == "acid" then
|
if resistance.type == "acid" then
|
||||||
resistance.percent = 60
|
if resistance.percent < 60 then
|
||||||
foundAcid = true
|
resistance.percent = 60
|
||||||
break
|
end
|
||||||
end
|
foundAcid = true
|
||||||
end
|
break
|
||||||
if not foundAcid then
|
end
|
||||||
wall.resistances[#wall.resistances+1] = {type="acid",percent=60}
|
end
|
||||||
end
|
if not foundAcid then
|
||||||
|
wall.resistances[#wall.resistances+1] = {type="acid",percent=60}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
walls = data.raw["gate"]
|
||||||
|
for _,wall in pairs(walls) do
|
||||||
|
local foundAcid = false
|
||||||
|
for _,resistance in pairs(wall.resistances) do
|
||||||
|
if resistance.type == "acid" then
|
||||||
|
if resistance.percent < 60 then
|
||||||
|
resistance.percent = 60
|
||||||
|
end
|
||||||
|
foundAcid = true
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if not foundAcid then
|
||||||
|
wall.resistances[#wall.resistances+1] = {type="acid",percent=60}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ function AttackBall.createAttackBall(attributes)
|
|||||||
}
|
}
|
||||||
|
|
||||||
local name
|
local name
|
||||||
local template
|
-- local template
|
||||||
if (attributes.attackType == "stream") then
|
if (attributes.attackType == "stream") then
|
||||||
-- template = {
|
-- template = {
|
||||||
-- name = attributes.name,
|
-- name = attributes.name,
|
||||||
|
@ -3,7 +3,6 @@ local attackFlame = {}
|
|||||||
-- imported
|
-- imported
|
||||||
|
|
||||||
local streamUtils = require("StreamUtils")
|
local streamUtils = require("StreamUtils")
|
||||||
local colorUtils = require("ColorUtils")
|
|
||||||
local fireUtils = require("FireUtils")
|
local fireUtils = require("FireUtils")
|
||||||
local stickerUtils = require("StickerUtils")
|
local stickerUtils = require("StickerUtils")
|
||||||
|
|
||||||
@ -13,7 +12,6 @@ local DISALLOW_FRIENDLY_FIRE = settings.startup["rampant--disallowFriendlyFire"]
|
|||||||
|
|
||||||
-- imported functions
|
-- imported functions
|
||||||
|
|
||||||
local makeColor = colorUtils.makeColor
|
|
||||||
local makeStream = streamUtils.makeStream
|
local makeStream = streamUtils.makeStream
|
||||||
local makeFire = fireUtils.makeFire
|
local makeFire = fireUtils.makeFire
|
||||||
local makeSticker = stickerUtils.makeSticker
|
local makeSticker = stickerUtils.makeSticker
|
||||||
|
@ -487,7 +487,7 @@ function biterFunctions.makeWorm(attributes)
|
|||||||
subgroup="enemies",
|
subgroup="enemies",
|
||||||
max_health = attributes.health,
|
max_health = attributes.health,
|
||||||
loot = attributes.loot,
|
loot = attributes.loot,
|
||||||
shooting_cursor_size = 3.5 * attributes.scale,
|
-- shooting_cursor_size = 3.5 * attributes.scale,
|
||||||
resistances = resistances,
|
resistances = resistances,
|
||||||
healing_per_tick = attributes.healing or 0.01,
|
healing_per_tick = attributes.healing or 0.01,
|
||||||
collision_box = {{-1.1 * attributes.scale, -1.0 * attributes.scale}, {1.1 * attributes.scale, 1.0 * attributes.scale}},
|
collision_box = {{-1.1 * attributes.scale, -1.0 * attributes.scale}, {1.1 * attributes.scale, 1.0 * attributes.scale}},
|
||||||
@ -1264,7 +1264,6 @@ function biterFunctions.createStreamAttack(attributes, fireAttack, animation)
|
|||||||
type = "stream",
|
type = "stream",
|
||||||
ammo_category = "biological",
|
ammo_category = "biological",
|
||||||
cooldown = attributes.cooldown,
|
cooldown = attributes.cooldown,
|
||||||
warmup = attributes.warmup,
|
|
||||||
range = attributes.range,
|
range = attributes.range,
|
||||||
min_range = attributes.minRange,
|
min_range = attributes.minRange,
|
||||||
cooldown_deviation = 0.15,
|
cooldown_deviation = 0.15,
|
||||||
|
@ -97,7 +97,6 @@ local function makeBloodParticle(attributes)
|
|||||||
hr_version =
|
hr_version =
|
||||||
{
|
{
|
||||||
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-02.png",
|
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-02.png",
|
||||||
line_length = 6,
|
|
||||||
width = 8,
|
width = 8,
|
||||||
height = 6,
|
height = 6,
|
||||||
line_length = 6,
|
line_length = 6,
|
||||||
@ -120,7 +119,6 @@ local function makeBloodParticle(attributes)
|
|||||||
hr_version =
|
hr_version =
|
||||||
{
|
{
|
||||||
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-03.png",
|
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-03.png",
|
||||||
line_length = 6,
|
|
||||||
width = 6,
|
width = 6,
|
||||||
height = 6,
|
height = 6,
|
||||||
line_length = 6,
|
line_length = 6,
|
||||||
@ -143,7 +141,6 @@ local function makeBloodParticle(attributes)
|
|||||||
hr_version =
|
hr_version =
|
||||||
{
|
{
|
||||||
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-04.png",
|
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-04.png",
|
||||||
line_length = 6,
|
|
||||||
width = 6,
|
width = 6,
|
||||||
height = 6,
|
height = 6,
|
||||||
line_length = 6,
|
line_length = 6,
|
||||||
@ -166,7 +163,6 @@ local function makeBloodParticle(attributes)
|
|||||||
hr_version =
|
hr_version =
|
||||||
{
|
{
|
||||||
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-05.png",
|
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-05.png",
|
||||||
line_length = 6,
|
|
||||||
width = 6,
|
width = 6,
|
||||||
height = 4,
|
height = 4,
|
||||||
line_length = 6,
|
line_length = 6,
|
||||||
@ -189,7 +185,6 @@ local function makeBloodParticle(attributes)
|
|||||||
hr_version =
|
hr_version =
|
||||||
{
|
{
|
||||||
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-06.png",
|
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-06.png",
|
||||||
line_length = 6,
|
|
||||||
width = 6,
|
width = 6,
|
||||||
height = 6,
|
height = 6,
|
||||||
line_length = 6,
|
line_length = 6,
|
||||||
@ -212,7 +207,6 @@ local function makeBloodParticle(attributes)
|
|||||||
hr_version =
|
hr_version =
|
||||||
{
|
{
|
||||||
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-07.png",
|
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-07.png",
|
||||||
line_length = 6,
|
|
||||||
width = 6,
|
width = 6,
|
||||||
height = 6,
|
height = 6,
|
||||||
line_length = 6,
|
line_length = 6,
|
||||||
@ -235,7 +229,6 @@ local function makeBloodParticle(attributes)
|
|||||||
hr_version =
|
hr_version =
|
||||||
{
|
{
|
||||||
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-08.png",
|
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-08.png",
|
||||||
line_length = 6,
|
|
||||||
width = 10,
|
width = 10,
|
||||||
height = 8,
|
height = 8,
|
||||||
line_length = 6,
|
line_length = 6,
|
||||||
@ -324,7 +317,6 @@ local function makeBloodParticle(attributes)
|
|||||||
hr_version =
|
hr_version =
|
||||||
{
|
{
|
||||||
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-12.png",
|
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-12.png",
|
||||||
line_length = 6,
|
|
||||||
width = 8,
|
width = 8,
|
||||||
height = 8,
|
height = 8,
|
||||||
line_length = 6,
|
line_length = 6,
|
||||||
@ -372,7 +364,6 @@ local function makeBloodParticle(attributes)
|
|||||||
hr_version =
|
hr_version =
|
||||||
{
|
{
|
||||||
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-02.png",
|
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-02.png",
|
||||||
line_length = 6,
|
|
||||||
width = 8,
|
width = 8,
|
||||||
height = 6,
|
height = 6,
|
||||||
line_length = 6,
|
line_length = 6,
|
||||||
@ -395,7 +386,6 @@ local function makeBloodParticle(attributes)
|
|||||||
hr_version =
|
hr_version =
|
||||||
{
|
{
|
||||||
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-03.png",
|
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-03.png",
|
||||||
line_length = 6,
|
|
||||||
width = 6,
|
width = 6,
|
||||||
height = 6,
|
height = 6,
|
||||||
line_length = 6,
|
line_length = 6,
|
||||||
@ -418,7 +408,6 @@ local function makeBloodParticle(attributes)
|
|||||||
hr_version =
|
hr_version =
|
||||||
{
|
{
|
||||||
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-04.png",
|
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-04.png",
|
||||||
line_length = 6,
|
|
||||||
width = 6,
|
width = 6,
|
||||||
height = 6,
|
height = 6,
|
||||||
line_length = 6,
|
line_length = 6,
|
||||||
@ -441,7 +430,6 @@ local function makeBloodParticle(attributes)
|
|||||||
hr_version =
|
hr_version =
|
||||||
{
|
{
|
||||||
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-05.png",
|
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-05.png",
|
||||||
line_length = 6,
|
|
||||||
width = 6,
|
width = 6,
|
||||||
height = 4,
|
height = 4,
|
||||||
line_length = 6,
|
line_length = 6,
|
||||||
@ -508,7 +496,6 @@ local function makeBloodParticle(attributes)
|
|||||||
hr_version =
|
hr_version =
|
||||||
{
|
{
|
||||||
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-08.png",
|
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-08.png",
|
||||||
line_length = 6,
|
|
||||||
width = 10,
|
width = 10,
|
||||||
height = 8,
|
height = 8,
|
||||||
line_length = 6,
|
line_length = 6,
|
||||||
@ -597,7 +584,6 @@ local function makeBloodParticle(attributes)
|
|||||||
hr_version =
|
hr_version =
|
||||||
{
|
{
|
||||||
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-12.png",
|
filename = "__base__/graphics/particle/blood-particle/hr-blood-particle-12.png",
|
||||||
line_length = 6,
|
|
||||||
width = 8,
|
width = 8,
|
||||||
height = 8,
|
height = 8,
|
||||||
line_length = 6,
|
line_length = 6,
|
||||||
|
61
settings.lua
61
settings.lua
@ -90,16 +90,6 @@ data:extend({
|
|||||||
per_user = false
|
per_user = false
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
|
||||||
type = "bool-setting",
|
|
||||||
name = "rampant--permanentNocturnal",
|
|
||||||
description = "rampant--permanentNocturnal",
|
|
||||||
setting_type = "runtime-global",
|
|
||||||
default_value = false,
|
|
||||||
order = "b[modifier]-g[ai]",
|
|
||||||
per_user = false
|
|
||||||
},
|
|
||||||
|
|
||||||
-- {
|
-- {
|
||||||
-- type = "bool-setting",
|
-- type = "bool-setting",
|
||||||
-- name = "rampant--liteMode",
|
-- name = "rampant--liteMode",
|
||||||
@ -109,18 +99,6 @@ data:extend({
|
|||||||
-- per_user = false
|
-- per_user = false
|
||||||
-- },
|
-- },
|
||||||
|
|
||||||
{
|
|
||||||
type = "double-setting",
|
|
||||||
name = "rampant--aiPointsScaler",
|
|
||||||
description = "rampant--aiPointsScaler",
|
|
||||||
setting_type = "runtime-global",
|
|
||||||
default_value = 1.0,
|
|
||||||
minimum_value = 0.0,
|
|
||||||
maximum_value = 100.0,
|
|
||||||
order = "b[modifier]-h[ai]",
|
|
||||||
per_user = false
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
{
|
||||||
type = "bool-setting",
|
type = "bool-setting",
|
||||||
name = "rampant--enableSwarm",
|
name = "rampant--enableSwarm",
|
||||||
@ -260,8 +238,8 @@ data:extend({
|
|||||||
name = "rampant--enemySeed",
|
name = "rampant--enemySeed",
|
||||||
description = "rampant--enemySeed",
|
description = "rampant--enemySeed",
|
||||||
setting_type = "startup",
|
setting_type = "startup",
|
||||||
minimum_value = 0,
|
minimum_value = 1,
|
||||||
default_value = 0,
|
default_value = 1024567,
|
||||||
order = "l[modifer]-b[unit]",
|
order = "l[modifer]-b[unit]",
|
||||||
per_user = false
|
per_user = false
|
||||||
},
|
},
|
||||||
@ -451,7 +429,7 @@ data:extend({
|
|||||||
description = "rampant--enableMigration",
|
description = "rampant--enableMigration",
|
||||||
setting_type = 'runtime-global',
|
setting_type = 'runtime-global',
|
||||||
default_value = true,
|
default_value = true,
|
||||||
order = "m[total]-b[ai]",
|
order = "m[total]-c[ai]",
|
||||||
per_user = false
|
per_user = false
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -473,6 +451,39 @@ data:extend({
|
|||||||
per_user = false
|
per_user = false
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
type = "bool-setting",
|
||||||
|
name = "rampant--permanentNocturnal",
|
||||||
|
description = "rampant--permanentNocturnal",
|
||||||
|
setting_type = "runtime-global",
|
||||||
|
default_value = false,
|
||||||
|
order = "m[total]-a[ai]",
|
||||||
|
per_user = false
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
type = "double-setting",
|
||||||
|
name = "rampant--aiPointsScaler",
|
||||||
|
description = "rampant--aiPointsScaler",
|
||||||
|
setting_type = "runtime-global",
|
||||||
|
default_value = 1.0,
|
||||||
|
minimum_value = 0.0,
|
||||||
|
maximum_value = 100.0,
|
||||||
|
order = "m[total]-b[ai]",
|
||||||
|
per_user = false
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
type = "double-setting",
|
||||||
|
name = "rampant--temperamentRateModifier",
|
||||||
|
setting_type = "runtime-global",
|
||||||
|
default_value = 1,
|
||||||
|
minimum_value = 0.001,
|
||||||
|
maximum_value = 100.0,
|
||||||
|
order = "m[total]-b[ai]",
|
||||||
|
per_user = false
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
type = "bool-setting",
|
type = "bool-setting",
|
||||||
name = "rampant--removeBloodParticles",
|
name = "rampant--removeBloodParticles",
|
||||||
|
Loading…
Reference in New Issue
Block a user