[Spoilers] The Definitive Post on Infection Game Mechanics Discussion spoiler
The ideal time to secure many wrecks is while you are not infected, because warpers will not be aggressive. During a recent hardcore playthrough, I managed explore most of the map without infection, but then, while casually grabbing quartz in the grassy plateaus, my PDA advised a self-scan. I wasn't bitten by anything, and couldn't identify any real reason. I needed answers - specific answers.
Searching the internet yields a lot of extremely bad information. Lore-wise yes I'm sure "YoU WeRE inFEctED thE MomENt yOU JumPEd iN thE WAteR". But it's simply not true in terms of gameplay mechanics. The lack of definitive information regarding infection mechanics was frustrating. So I set out to determine exactly what causes infection, and only the game itself had that information so I cracked open the assembly and looked under the hood.
Things that will result in infection:
- ENTERING the Prawn = 0.25f
- ENTERING the Cyclops = 0.25f
- Entering the Aurora = 0.50f
- Entering Gun Island = 0.50f
- Passing 1000 meters will cause the infection to reach maximum progression of 1.0f immediately (corresponding to console command 4)
- Being bitten by an infected creature = 0.25f
- Being noticed by an aggressive creature if the game thinks you should already be infected = 0.25f
- There is code in the game to check this each time an aggressive creature targets the player
Things that will not result in infection:
- Entering the void
- Going to the rendezvous island
- Visiting any particular biome not listed above
- Reaching a depth of 999 meters
For build triggers: Constructing the trigger object is not what matters - entering the trigger is. This means that you can build a cyclops without triggering infection, you just can't use it. This may not do you much good but it's an important distinction.
It is also important to note that some infection triggers are delayed by timeofday change. This means that your scanner will not tell you that you are infected the moment you enter a cyclops, but that the infection will hit when the sun goes down/comes up. This is likely to obfuscate the actual trigger and make it less obvious.
HeroPeepers are Peepers which carry the enzyme which can cure the infection. HeroPeepers do in fact cure infected creatures - and will actively attempt to do so if they see an infected creature while swimming.
HeroPeepers are made AND born - and they function differently. It appears that HeroPeepers become heroes upon exposure to the enzyme. Some are added to the game directly for storypurposes, but the BecomeHero() function would suggest that it is possible for the player to create a HeroPeeper in the containment facility (speculative). A made HeroPeeper appears to only be a Hero while the enzymeAmount is > 0.0f, while a BornHero appears to have the ability to recharge its enzyme innately (looks like 60 seconds to deplete, 120 seconds to recharge).
Unfortunately there's no way in-game reliably know whether a Peeper is a HeroPeeper, unless they haven't yet been scanned (Alien Data Advanced Theories entry). If a HeroPeeper hasn't been scanned then a HeroPeeper would have a scanner icon when pointing the targetting reticle at it. The code suggests that HeroPeepers possess a visible enzyme trail which may help to distinguish them. All peepers possess a trail when swimming fast, so this is distinct.
Side note, there is apparently a third variant of Peeper for peeper.isInPrisonAquarium, which can also result in a scan icon and encyclopedia entry - this is specific to peepers in the Sea Emperor Leviathan's Prison Aquarium. Additionally, A cured creature apparently has a unique encyclopedia entry (one entry total, not one per creature).
In an aquarium. fish will infect each other if one infected creature is present and a "HeroPeeper" is not. If a HeroPeeper is present, all fish will be cured and the infection will cease to spread. It also appears that while in containment, the HeroPeeper will slowly lose its enzyme over time, which appears to halt its ability to cure the infection.
The player can cure an infected creature by holding a hero peeper in their hand and feeding the it. This may take more than one peeper, the exact value is 0.5f on a scale of 1.0f. Although this isn't hard-capped, it should not be possible to go higher as creatures are infected differently than the player, with the value being directly set to 1.0f when InfectCreature() is called.
Storyline / console / AI Tool Voiceover change in 0.25 intervals, with console 5 being cure to 0.0f
- 0.0f = Not Infected/cured = Vital signs normal, continuing to monitor/no remaining signs
- 0.25f = Level 1 Infection = Vital signs normal, detecting trace amounts of bacteria
- 0.50f = Level 2 Infection = Statistically significant levels, be vigilant for symptoms
- 0.75 = Level 3 Infection = Infection is progressing, skin irritation & immmune response
- 1.0f = Level 4 Infection = Infection has spread to skin and pulmonary system, imperative to neutralize, pustule cutscene triggered
Note that not all in-game checks use these specific intervals.
Warpers only begin inspecting the player at an infection of 0.33, which would suggest that the player is still safe from warpers for the first level of infection.
Warpers or other creatures may scan for the HeroPeeper and swim toward it if they see it, but the code gets very confusing to follow here because there are so many references to follow.
In alien containment (called a waterpark in the files), HeroPeepers appear to retain the same HealingTrigger as they would in the wild.
I hope this is helpful and helps to remove some of the mystery of a fairly important game mechanic. If there's anything else you think needs to be reverse-engineered, let me know.