AVP: ALIEN - HIVE CONFIG REFERENCE
==================================

Edit avp_alien-hive.json beside this file, or use
  /avp hive config set <field> <value>
in game, which applies immediately and saves.

This file is regenerated whenever the config is saved. Editing it does nothing.


STRUCTURE UPKEEP
----------------

  noMaintenance = false
      Stop hives repairing their own structure, so anything you build or break inside one
      stays that way. true: aliens ignore damage to hive blocks and leave player-placed
      blocks alone, even in corridors - which means a passage CAN be sealed permanently.
      false (default): a hive repairs its own blocks and clears anything left in its
      corridors. Hives still dig new rooms and spread resin either way; this only stops
      upkeep of what is already built.



STRUCTURELESS MODE (NO BUILDING)
--------------------------------

  buildFreeModeEnabled = false
      THE MASTER SWITCH FOR STRUCTURELESS MODE - every other setting in this section does
      nothing while this is false. Hives claim, spread resin, lay eggs and fight, but never
      dig or build. For adventure maps and prebuilt bases. Everything below only matters
      when this is true.

  buildFreeQueenFoundsWherePlaced = false
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. true: the queen
      founds exactly where you put her - use this for a set piece. false: she still travels
      and picks her own spot, she just never carves. NOTE: true forces daughter queens to 0,
      because a daughter could neither found inside her mother's territory nor dig
      elsewhere.

  buildFreeTerritoryRadiusChunks = 9
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. How far the hive's
      territory reaches, in chunks from the queen. 9 gives a 19x19 area.

  buildFreeEmpressTerritoryRadiusChunks = 11
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. Same, for a hive
      under an empress. 11 gives 23x23.

  buildFreeSlabHalfHeight = 24
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. How far the hive
      reaches ABOVE and BELOW the queen, in blocks. 24 gives a 48-block band centred on her
      - raise it for a tall building so upper and lower floors are inside the hive.

  buildFreeActiveXenomorphs = 40
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. How many xenomorphs
      wander the hive at rest. Raise it for a big building, lower it for a small one. Fights
      spawn extra on top of this, so it is not a hard limit on what you will face.

  buildFreeDaughterSlots = 2
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. How many daughter
      queens this hive may ever send out to found their own. 0 keeps it a single hive. Max
      4. Forced to 0 if the queen founds where placed.

  buildFreeRaidsEnabled = true
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. Whether hives send
      raids at players who have angered them. Turn off for a map where you want the aliens
      to stay where you put them.

  buildFreeSurfacePartiesEnabled = true
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. Whether hives send
      scouting parties to the surface. Turn OFF for an indoor map - the game reads the roof
      as the surface, so they will spend themselves on the skyline.

  buildFreeHostSurfacePartiesEnabled = true
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. Whether hives send
      parties out to capture hosts. Same advice: off for indoor maps.

  buildFreeBiomassSurfacePartiesEnabled = true
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. Whether hives send
      parties out to gather biomass. Same advice: off for indoor maps.

  buildFreeQueenEggClusterSize = 10
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. Eggs laid in a ring
      around the queen herself. Max 30.

  buildFreeAdditionalEggClusters = true
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. Whether extra egg
      clusters appear out in the territory as well as around the queen.

  buildFreeEggClusterSize = 6
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. Eggs in each of
      those outlying clusters. Max 6.

  buildFreeEggClusterAmount = 4
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. How many outlying
      egg clusters. Max 8.

  buildFreeJellyClusterAmount = 6
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. Clusters of royal
      jelly vats scattered through the territory - the hive's stores, and worth raiding. Max
      6.

  buildFreeScourgeClusterAmount = 1
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. Clusters of scourge
      jelly vats. Max 1.

  buildFreeInvasionClaimBiomassCost = 50
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. What a rival hive
      pays, in biomass, to seize a chunk near your hive as a foothold to attack from.

  buildFreeInvasionReachChunks = 19
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. How far beyond its
      own territory a rival hive may buy that foothold.

  buildFreeInvasionBeachheadChunks = 2
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. How many chunks a
      hive claims immediately when it lands in a new area, as its starting foothold.

  buildFreeHarbingerRevealRadius = 16
      STRUCTURELESS MODE ONLY - ignored unless Structureless Mode is on. How close an
      intruder must get to the queen before the harbinger appears to defend her.



LINEAGE SEEDS
-------------

  protoHiveStageInterval = 6000
      How long (in ticks) a brand-new hive spends in each early growth stage before
      advancing to the next. Higher = slower start.



LOCATION LIFECYCLE
------------------

  settlementTicks = 200
      How long a queen must be undisturbed before she settles and founds a hive.

  locationMaxNoContactTicks = 336000
      How long (in ticks) a hive can go with nobody visiting or loading it before it is
      treated as out of contact and allowed to go dormant.

  locationBootstrapGraceTicks = 36000
      A protection window (in ticks) after a hive is founded during which it cannot lose
      ground or be culled. Gives a new hive time to establish.

  bossBarDisplayRadiusBlocks = 96
      How close (in blocks) you must be for a hive's health bar to appear on your screen.

  angryGraceTicks = 1200
      How long (in ticks) a hive stays agitated after being provoked, before it settles back
      down.

  contestTickWindow = 1200
      How long (in ticks) two hives keep fighting over the same chunk before the contest is
      resolved one way or the other.

  minimumHiveLocationDistanceChunks = 17
      Minimum distance between two hives, in chunks. Lower means a more crowded world.

  initialHiveLocationClaimRadiusChunks = 1
      How much ground a hive claims the moment it is founded, as a radius in chunks. 1 = a
      3x3 of chunks.



SHEDDING
--------

  shedGraceTicks = 6000
      How long (in ticks) a xenomorph keeps its old lineage ties after leaving, before they
      are dropped.

  minLineageAgeForShedding = 36000
      How old (in ticks) a lineage must be before its members can shed it at all. Stops
      brand-new lineages falling apart.



CONVOYS
-------

  convoySpeedBlocksPerSecond = 10.0
      How fast a convoy travels between hives, in blocks per second, while it is not loaded.

  arrivalRadiusBlocks = 16
      How close (in blocks) a convoy must get to its destination to count as arrived.

  manifestDistanceBlocks = 80
      How close (in blocks) a player must be for a convoy's members to be spawned as real
      entities instead of travelling as numbers.

  convoyInterceptRadiusBlocks = 32
      How close (in blocks) a player must get to a convoy to intercept it.

  reinforcementSpeedMultiplier = 1.0
      Speed multiplier applied to reinforcement convoys. Above 1 = faster than the base
      convoy speed.

  migrationSpeedMultiplier = 0.7
      Speed multiplier applied to a hive evacuating to a new home. Above 1 = faster than the
      base convoy speed.

  raidSpeedMultiplier = 1.5
      Speed multiplier applied to raid convoys heading for a target. Above 1 = faster than
      the base convoy speed.



REINFORCEMENTS
--------------

  reinforcementSourceCooldownTicks = 6000
      How long (in ticks) a hive must wait before it can send another batch of
      reinforcements.

  reinforcementMinSize = 4
      The fewest xenomorphs a reinforcement convoy will carry.

  reinforcementMaxSize = 10
      The most xenomorphs a reinforcement convoy will carry.



MIGRATION
---------

  resettleGraceTicks = 6000
      How long (in ticks) after evacuating before a hive is allowed to migrate again. Stops
      a hive bouncing between homes.

  migrationBiomassDecayTicks = 36000
      How long (in ticks) the biomass a migrating hive is carrying survives before it starts
      to spoil.

  migrationTerritoryFloorChunks = 2
      A hive that shrinks to this many chunks or fewer gives up and evacuates to a better
      spot.

  migrationRallyTicks = 600
      How long (in ticks) a hive gathers its members before the evacuation actually departs.

  migrationBiomassPayloadCap = 500
      The most biomass an evacuating hive can carry with it. Anything above this is lost.



RAIDS
-----

  raidThresholdKills = 5
      How many of a hive's members you must kill before it starts raiding you back.

  raidAggroWindowTicks = 12000
      The window (in ticks) those kills must happen inside to count toward a raid. Kill
      slowly enough and the count fades.

  raidMinLocationSizeChunks = 8
      How big a hive must be, in claimed chunks, before it is capable of raiding at all.

  perSourceRaidCooldownTicks = 120000
      How long (in ticks) a hive waits after sending a raid before it can send another.

  raidExpiryTicks = 36000
      How long a raid waits for a target who has logged out before giving up.

  baseRaidSize = 4
      How many xenomorphs a raid starts with before size bonuses are added.

  raidSizePerClaimedChunk = 0.25
      Extra raid members granted per chunk the hive owns. Bigger territory = bigger raids.

  raidEngageRadiusBlocks = 32
      How close (in blocks) a raid must get to its target before it switches from travelling
      to attacking.

  raidFrenzyExtraMemberCap = 6
      The most extra members a hive can throw into a raid when it is worked up beyond its
      normal size.

  raidLossDeathWindowTicks = 600
      The window (in ticks) over which raider deaths are counted toward the raid giving up.

  raidLossDeathThreshold = 3
      How many raiders must die inside that window before the raid breaks off.

  raidLossDownGraceTicks = 1200
      How long (in ticks) a raid holds on after taking heavy losses before it actually
      retreats.

  raidLossAftermathTicks = 6000
      How long (in ticks) a hive stays shaken after losing a raid, before returning to
      normal.



COMBAT PRESSURE
---------------

  combatRespiteKillThreshold = 40
      How many kills in a fight it takes before a hive backs off and gives you a breather.

  combatRespiteMinTicks = 200
      The shortest breather (in ticks) a hive will give you after heavy fighting.

  combatRespiteMaxTicks = 1200
      The longest breather (in ticks) a hive will give you after heavy fighting.



LEADERSHIP
----------

  empressMoltDurationTicks = 600
      How long (in ticks) a queen spends in her royal cocoon becoming an empress. She is
      helpless while it runs.

  localLeaderPickCadenceTicks = 100
      How often (in ticks) a hive re-picks which of its members is acting as the local
      leader.

  empressCandidateMinMembers = 0
      How many members a hive needs before one of its royals can be considered for empress.

  empressCrowningCooldownTicks = 120000
      How long (in ticks) a lineage must wait after crowning an empress before it can crown
      another.

  empressCapPercent = 150
      How much an empress raises her lineage's population ceilings, as a percentage. 150 =
      ceilings are half again as high while she lives. This can never be below 100, because
      an empress must never LOWER a ceiling.

  empressRescuesPerHive = 2
      How many times an empress will bail out any one struggling hive with a transfer of
      members.

  empressRescueBudget = 6
      The total number of rescue transfers one empress can make across her whole network,
      ever.

  maxDaughterHivesPerLocation = 2
      How many daughter hives a single hive is allowed to spawn off.

  queenPromotionJellyCost = 50
      Royal jelly needed to raise a praetorian into a new queen.

  queenPromotionMoltTicks = 600
      How long (in ticks) a praetorian spends in its cocoon becoming a queen.

  firewallCooldownTicks = 168000
      How long (in ticks) between checks on a lineage that has been walled off from the rest
      of its network.

  firewallStabilityScanIntervalTicks = 6000
      How often (in ticks) the mod checks whether a cut-off part of a lineage has stabilised
      on its own.

  firewallJellyFloor = 50
      The least royal jelly a cut-off hive must hold before it is allowed to crown its own
      royal.

  firewallCrowningJellyCost = 100
      How much royal jelly a cut-off hive spends to crown its own royal.



ABSTRACT SPREAD
---------------

  maxLineageSpreadChunks = 32
      How far (in chunks) a lineage's hives may spread from each other before a new hive
      counts as a separate bloodline.

  lineageSpreadCooldownTicks = 36000
      How long (in ticks) a lineage waits between founding new hives.

  maxLocationsPerLineage = 8
      The most hives one lineage may have at once without an empress.

  maxLocationsUnderEmpress = 8
      The most hives one lineage may have at once while an empress is alive. Normally higher
      than the figure above.

  minimumPopulationForHiveSpread = 70
      How many members a hive needs before it can afford to send founders off to start
      another.

  abstractSpreadMinFounderGroupSize = 4
      The fewest xenomorphs sent along to found a new hive.

  abstractSpreadMaxFounderGroupSize = 10
      The most xenomorphs sent along to found a new hive.

  foragerJoinTicks = 600
      How long (in ticks) a wandering xenomorph must linger near a hive before it is adopted
      as a member.



CLAIMING AND RESIN
------------------

  claimActivityWindowTicks = 600
      How recently (in ticks) a hive must have been active for it to keep taking new ground.

  perLocationClaimCooldownTicks = 600
      How long (in ticks) a hive waits between claiming one chunk and the next.

  lineageScanIntervalTicks = 6000
      How often (in ticks) a lineage reviews its territory and decides where to expand.

  maxChunksPerLocation = 256
      Hard cap on how many chunks one hive may own, whatever its radius allows.

  maxTerritoryRadiusChunks = 9
      How far a normal (non structureless) hive's territory can reach from its centre.

  maxChunksPerLineage = 10000
      The most ground one lineage may hold in total, in chunks, across all its hives.

  maxClaimsPerScan = 64
      The most chunks a hive may claim in a single review. Lower = slower, steadier
      expansion.

  resinFullDensityTicks = 24000
      How long (in ticks) it takes a claimed chunk to fill in with resin completely.

  maxPassiveClaimsPerUnloadedScan = 1
      The most chunks a hive may claim in one go while nobody is nearby to watch it happen.



BIOMASS
-------

  baseChunkCost = 25
      How much biomass a hive spends to claim one more chunk of ground.

  ovipositorCreationBiomassCost = 100
      How much biomass a queen spends growing her eggsack.

  resinSpreadBiomassCost = 5
      How much biomass a hive spends per resin block it spreads.

  growthFactor = 0.05
      How much more expensive each chunk gets as a hive grows. 1.0 = every chunk costs the
      same; above 1.0 = large hives pay steeply more to keep expanding.

  baseUnloadedBiomassPerChunkPerSec = 0.05
      Biomass earned per claimed chunk each second while nobody is nearby. This is how hives
      grow off-screen.

  unloadedEmpressBonusPerSec = 1.0
      Extra biomass per second, while unloaded, for a lineage that has a living empress.

  loadedBiomassPerLoadedXenomorphPerSec = 1.0
      Biomass earned each second for every one of the hive's own xenomorphs that is loaded
      and active.

  loadedBiomassPerNonAlienKill = 25
      Biomass earned for each creature the hive kills that is not one of its own.

  loadedBiomassPerResinBlockPlaced = 5
      Biomass earned for each resin block the hive lays down.

  loadedBiomassPerOvomorphPerSec = 0.5
      Biomass earned each second for every egg the hive is keeping.

  loadedBiomassEmpressPresentBonusPerSec = 5.0
      Extra biomass per second while an empress is physically present at the hive.

  loadedBiomassIdleBonusPerSec = 0.1
      Extra biomass per second while the hive is calm and unbothered. Rewards being left
      alone.

  biomassAccumulationCapMultiplier = 100
      How much biomass a hive may bank, as a multiple of what it currently needs. Stops an
      old hive hoarding without limit.



PERSISTENCE
-----------

  biomassDirtyThreshold = 10
      How much a hive's biomass must change before it is written back to disk. Higher =
      fewer saves, slightly staler data if the server crashes.

  lastGrowthTickDirtyThreshold = 36000
      How many ticks of growth may pass before that progress is written back to disk.

  slowPathLocationUpdatesPerTick = 4
      How many hives are brought up to date each tick on the background pass. Lower =
      gentler on the server, slower catch-up.

  passiveClaimCatchUpWindowCap = 4
      The most time (in ticks) a hive may catch up on in one go after being unloaded. Stops
      a long absence causing a huge burst of expansion the moment you return.



POPULATION AND SPAWNING
-----------------------

  populationPerChunk = 8
      How much population each claimed chunk supports. Raises or lowers the ceiling on every
      hive in the world.

  minimumPopulationRatioForClaiming = 0.5
      How full a hive must be before it claims more ground, and below which it starts losing
      ground.

  hiveSpawnerMinimumLoadedXenomorphs = 20
      Despite the name this is a MAXIMUM: how many xenomorphs wander a normal hive at rest.

  reserveSpawnsCanIgnoreResin = true
      true: banked xenomorphs may emerge from any suitable spot. false: they must come out
      of resin.

  hiveSpawnerIntervalTicks = 20
      How often (in ticks) a hive tries to bring banked members out into the world.

  hiveSpawnerMaxSpawnAttemptsPerLocation = 32
      How many times a hive will try to find a spot for each member before giving up for
      now.

  hiveSpawnerMaxSpawnsPerLocation = 4
      The most xenomorphs one hive may bring out in a single attempt.

  royalJellyTicksPerProduction = 1200
      How long a queen takes to make one royal jelly, in ticks. 1200 is one in-game minute.
      Lower is faster.

  scourgeJellyTicksPerQueenProduction = 120000
      How long (in ticks) a queen takes to produce one unit of scourge jelly.

  scourgeJellyTicksPerHarbingerProduction = 1200
      How long (in ticks) a harbinger takes to produce one unit of scourge jelly.

  minRoyalJellyCap = 128
      The least royal jelly a hive will always be allowed to stockpile, whatever its size.



QUEEN LIFECYCLE
---------------

  queenFrontEndPhasesEnabled = true
      LEAVE THIS TRUE. It is a development switch: false stops queens developing, settling
      and founding entirely, so no hive is ever created.

  queenFoundsWhereStanding = false
      Force queens to build a hive at their current location. true: a queen builds her hive
      exactly where she is standing, above ground and all - she never travels or digs down
      to find a spot. false (default): she wanders, digs down, and builds underground the
      normal way. Hives still cannot overlap - a queen standing in another hive's territory
      is refused either way.



PARTIES
-------

  surfacePartyBaseSize = 2
      How many xenomorphs a surface party starts with, before size bonuses. Surface parties
      go up top to spread resin and open vents.

  surfacePartySizePerClaimedChunk = 0.15
      Extra surface party members per chunk the hive owns.

  surfacePartyMaxSize = 5
      The most members a surface party may have.

  surfacePartyVentDropChance = 0.35
      The chance (0 to 1) that a surface party leaves a working vent behind at a spot it
      visits.

  surfacePartyMaxVentsPerClaim = 3
      The most vents that may exist in one claimed chunk near the surface.

  surfacePartySurfaceBandBlocks = 6
      How deep (in blocks) below the surface still counts as 'surface' for these parties.

  biomassHuntingPartyBaseSize = 2
      How many xenomorphs a hunting party starts with, before size bonuses. Hunting parties
      go out to kill for biomass.

  biomassHuntingPartySizePerClaimedChunk = 0.15
      Extra hunting party members per chunk the hive owns.

  biomassHuntingPartyMaxSize = 7
      The most members a hunting party may have.

  hostHuntPartyBaseSize = 2
      How many xenomorphs a host hunt starts with, before size bonuses. Host hunts go out to
      capture live hosts for eggs.

  hostHuntPartySizePerClaimedChunk = 0.1
      Extra host hunt members per chunk the hive owns.

  hostHuntPartyMaxSize = 4
      The most members a host hunt may have.

  hostHuntPartyDurationTicks = 6000
      How long (in ticks) a host hunt stays out before returning home.

  biomassHuntingPartyBonusSpitterCount = 1
      How many extra spitters are added to a hunting party for ranged support.

  biomassHuntingPartyDurationTicks = 12000
      How long (in ticks) a hunting party stays out before returning home.

  attackPartyBaseSize = 2
      How many xenomorphs an attack party starts with, before size bonuses. Attack parties
      are sent at an intruder.

  attackPartySizePerClaimedChunk = 0.15
      Extra attack party members per chunk the hive owns.

  attackPartyMaxSize = 8
      The most members an attack party may have.

  attackPartyCooldownTicks = 72000
      How long (in ticks) a hive waits between sending attack parties.

  attackPartyWave1DelayTicks = 24000
      How long (in ticks) after being provoked before the first attack wave sets out.

  attackIntrusionDwellTicks = 600
      How long (in ticks) you must stay inside a hive's territory before it decides you are
      an intruder worth attacking.

  attackPartyDurationTicks = 12000
      How long (in ticks) an attack party keeps hunting before giving up and going home.

