GTFO Modding
  • 🏠Home
    • 🫂Contributing
  • Guides
    • 📖The Complete Newbie Guide
    • The Newbie Level Guide
      • Isolating a level
      • Editing rundown and level metadata
      • Adding and editing zones
      • Editing warden objective
      • Adding a secondary sector
      • Final datablocks version
    • The Newbie Git Guide
    • 👶Your First Plugin
      • Setting up Visual Studio Community
      • Creating a C# class library project
      • Writing a Plugin class
      • Compiling for release
      • Creating a Patch class
      • Patching in slightly more detail
    • 🎹Adding Custom Audio
      • Project Setup
      • Adding Sounds into Wwise
      • Creating a Sound Event
      • Creating a SoundBank
      • Using SoundBanks in GTFO
    • ⛏️Datamining
      • Audio files
      • Export asset files from GTFO
      • Import asset files to Unity
      • Fixing Unity errors after importing
    • Introduction to Errors
    • Modded GTFO on Linux
    • Enabling MTFO Hot Reload
    • VS Code Tips
    • Creating Custom Weapons
    • External Guides
  • Reference
    • Datablocks
      • Main
        • Archetype
        • BigPickupDistribution
        • ChainedPuzzle
        • ComplexResourceSet
        • ConsumableDistribution
        • Dimension
        • EnemyBalancing
        • EnemyBehavior
        • Enemy
        • EnemyDetection
        • EnemyGroup
        • EnemyMovement
        • EnemyPopulation
        • EnemySFX
        • ExpeditionBalance
        • FlashlightSettings
        • FogSettings
        • GearCategory
        • Gear
        • Item
        • ItemFPSSettings
        • LevelLayout
        • LightSettings
        • MeleeAnimationSet
        • MeleeArchetype
        • Player
        • PlayerOfflineGear
        • Recoil
        • Rundown
        • SurvivalWavePopulation
        • SurvivalWaveSettings
        • Text
        • VanityItemsTemplate
        • WardenObjective
        • Weapon
      • Rarely Edited
        • Artifact
        • ArtifactDistribution
        • ArtifactTag
        • Atmosphere
        • BoosterImplantCondition
        • BoosterImplantEffect
        • BoosterImplantTemplate
        • ChainedPuzzleType
        • Clouds
        • CustomAssetShard
        • EnvironmentFeedback
        • Feedback
        • GameSetup
        • GearCategoryFilter
        • GearFlashlightPart
        • GearFrontPart
        • GearMagPart
        • GearMeleeHandlePart
        • GearMeleeHeadPart
        • GearMeleeNeckPart
        • GearMeleePommelPart
        • GearPartAttachment
        • GearReceiverPart
        • GearSightPart
        • GearStockPart
        • GearToolDeliveryPart
        • GearToolGripPart
        • GearToolMainPart
        • GearToolPayloadPart
        • GearToolScreenPart
        • GearToolTargetingPart
        • ItemMovementAnimation
        • ItemPart
        • MarkerGroup
        • MeleeSFX
        • MiningMarker
        • MLSArrayDescriptorReference
        • MusicState
        • PlayerDialog
        • ServiceMarker
        • StaticSpawn
        • TechMarker
        • TextCharacterMeta
        • VanityItemsGroup
        • VanityItemsLayerDrops
        • WeaponAudio
        • WeaponMuzzleFlash
        • WeaponShellCasing
      • Unused
        • Commodity
        • EffectNode
        • EventSequenceAction
        • EventSequence
        • ExtractionEvent
        • FogScenario
        • GameplayTrailer
        • GearDecal
        • GearPalette
        • GearPattern
        • GearPerk
        • LevelGenSettings
        • Loot
        • Recepie
    • Nested Types
      • AbilityData
      • ActiveEnemyWaveData
      • AltitudeData
      • AnimHash
      • ArtifactLayerData
      • ArtifactZoneDistribution
      • AssetData
      • BigPickupSpawnData
      • BoosterImplantEffectInstance
      • BuildLayerFromData
      • BuildSeedData
      • BulkheadDoorPlacementData
      • ChainedPuzzleComponent
      • ConsumableSpawnData
      • CustomTerminalCommand
      • DescriptiveData
      • DialogActorSettings
      • DialogDramaFilter
      • DialogLine
      • DialogStructure
      • DialogStructureHolder
      • DimensionData
      • DimensionInExpeditionData
      • DOFSettingsData
      • DumbwaiterPlacementData
      • EffectNodeListData
      • EffectNodePrefabData
      • EnemyGroupCompositionData
      • EnemyRoleData
      • EnemySpawningData
      • ESA_EnemyWave
      • ESA_FogSettings
      • ESA_Lights
      • ESA_PostEffect
      • ESA_Sound
      • EventSequenceActionListComponent
      • ExpeditionData
      • ExpeditionIndex
      • ExpeditionInTierData
      • ExpeditionZoneData
      • FeedbackAudioCompData
      • FeedbackEffectCompData
      • FunctionPlacementData
      • GameEventSound
      • GameplayTrailerDirectorAction
      • GearArchetypeData
      • GearCategoryFilterData
      • GearDropPeriodData
      • GearPartAlignData
      • GearPartAlignPriority
      • GearPartGeneralData
      • GearPerkModifierData
      • GearPicker
      • GearSightPartProperties
      • GearSpecialPerkData
      • GeneralFogDataStep
      • GenericEnemyWaveData
      • HealthData
      • ItemPartData
      • LayerData
      • LayerDropData
      • LanguageData
      • LevelEventData
      • LevelEventNoiseData
      • LevelEventSoundData
      • LevelEventWardenIntelData
      • LevelGenConfig
      • LightCategorySetting
      • LinkedSlaveModelData
      • LocalizedText
      • Loot
      • MarkerComposition
      • MarkerDataCommon
      • MeleeAttackData
      • MinMaxValue
      • ModelData
      • MusicEventData
      • MusicEventDataConditional
      • MusicEventDataTimed
      • MusicSwitchData
      • MusicSwitchDataOnCustomCue
      • MusicSwitchDataTimed
      • ProgressionPuzzleData
      • ReactorWaveData
      • ReactorWaveEnemyData
      • ResourceData
      • RundownStorytellingData
      • RundownStorytellingVisualData
      • RundownTierProgressionData
      • SpecialExpeditionOverridesData
      • SpecificChainPuzzleSpawnData
      • SpecificPickupSpawnData
      • SpecificTerminalSpawnData
      • StaticEnemyData
      • StaticSpawnDataContainer
      • StaticSpawnPrefabDistancePair
      • TerminalLogFileData
      • TerminalOutput
      • TerminalPlacementData
      • TerminalStartStateData
      • TerminalZoneSelectionData
      • TierVisualData
      • TimingData
      • TypeAndGeneralData
      • VanityItemsDropData
      • Vector3AnimationCurve
      • WardenObjectiveEventData
      • WardenObjectiveLayerData
      • WeaponAnimSequenceItem
      • WorldEventConditionPair
      • WorldEventFromSourceData
      • ZonePlacementData
      • ZonePlacementWeights
    • Enum Types
  • Mods Documentation
    • Noteworthy Mods
    • Documentation
      • StealthAdjustment
      • DynamicCustomCombatMusic
      • ConfigurableGlobalWaveSettings
Powered by GitBook
On this page
  • Fields
  • m_pauseBeforeStart - Single
  • m_pauseBetweenGroups - Single
  • m_wavePauseMin_atCost - Single
  • m_wavePauseMax_atCost - Single
  • m_wavePauseMin - Single
  • m_wavePauseMax - Single
  • m_populationFilter - List eEnemyType (enum)
  • m_filterType - eEnemyFilterType (enum)
  • m_chanceToRandomizeSpawnDirectionPerWave - Single
  • m_chanceToRandomizeSpawnDirectionPerGroup - Single
  • m_overrideWaveSpawnType - Boolean
  • m_survivalWaveSpawnType - SurvivalWaveSpawnType (enum)
  • m_populationPointsTotal - Single
  • m_populationPointsPerWaveStart - Single
  • m_populationPointsPerWaveEnd - Single
  • m_populationPointsMinPerGroup - Single
  • m_populationPointsPerGroupStart - Single
  • m_populationPointsPerGroupEnd - Single
  • m_populationRampOverTime - Single
  • Regarding population points and soft cap

Was this helpful?

Edit on GitHub
Export as PDF
  1. Reference
  2. Datablocks
  3. Main

SurvivalWaveSettings

GameData_SurvivalWaveSettingsDataBlock_bin.json (filled)

Provides the settings for alarms, scout waves and similar types of waves (all referred to as "alarm" in sections below).

Fields

PersistentID value range is changed from default to 1-255

All time-related settings are specified in seconds.

m_pauseBeforeStart - Single

Delay before waves start spawning after alarm start.

m_pauseBetweenGroups - Single

Delay between enemy groups.

m_wavePauseMin_atCost - Single

Minimum score boundary for pauses between waves.

m_wavePauseMax_atCost - Single

Maximum score boundary for pauses between waves.

Above this threshold, the timer for a new wave doesn't move.

Anywhere in-between min and max, the timer speed is lerped.

m_wavePauseMin - Single

Delay between waves at or below minimum score boundary.

m_wavePauseMax - Single

Delay between waves at maximum score boundary.

List of enemy types in filter.

Whether to spawn only, or spawn all but the types included in population filter.

m_chanceToRandomizeSpawnDirectionPerWave - Single

Chance for spawn direction to change between waves.

m_chanceToRandomizeSpawnDirectionPerGroup - Single

Change for spawn direction to change between groups.

m_overrideWaveSpawnType - Boolean

Whether to override spawn type set in code.

The spawn type when override is set to true.

m_populationPointsTotal - Single

The total population points for waves. The alarm automatically stops if this runs out. -1 is infinite.

m_populationPointsPerWaveStart - Single

Population points for a wave at start ramp.

m_populationPointsPerWaveEnd - Single

Population points for a wave at end ramp.

m_populationPointsMinPerGroup - Single

Minimum required cost for a group to spawn. This setting is related to the soft cap of enemies.

m_populationPointsPerGroupStart - Single

Population points for a group at start ramp.

m_populationPointsPerGroupEnd - Single

Population points for a group at end ramp.

m_populationRampOverTime - Single

Lerp over time for start-end population point settings.

Regarding population points and soft cap

By default the game has some hardcoded values set that are used for score settings - cost of an enemy and soft cap.

Enemy costs per type are the following: 0.75 1 1 2 2.

Soft cap (MaxAllowedCost) is 25.

The enemy type for wave population point cost is determined by wave settings.

PreviousSurvivalWavePopulationNextText

Last updated 2 years ago

Was this helpful?

m_populationFilter - (enum)

m_filterType - (enum)

m_survivalWaveSpawnType - (enum)

All aggressive enemies count towards cap. If the remaining allowed cost is lower than the minimum required cost of a group, the group cannot spawn and the wave pauses until enough points are available. The enemy type here is determined in .

List eEnemyType
eEnemyFilterType
SurvivalWaveSpawnType
EnemyDataBlock