Skip to content

Instantly share code, notes, and snippets.

@BenLubar
Created September 1, 2016 06:04
Show Gist options
  • Save BenLubar/e5571893b77b7603cf93cd9712c3857f to your computer and use it in GitHub Desktop.
Save BenLubar/e5571893b77b7603cf93cd9712c3857f to your computer and use it in GitHub Desktop.
// Accepted spawn types:
//
// - HORDE (horde, will choose a single definition for the whole horde)
// - WANDERER (wanderer, will choose a definition per spawn)
// - HORDE_WANDERER (wanderers spawned with hordes, will choose a definition per spawn)
// - PRESPAWN (spawned at map start, similar to shieldbugs, separate position for each npc)
// - PACK (spawned at map start, similar to parasites, npcs spawned in a group)
//
// Accepted AlienClass types:
//
// - asw_drone
// - asw_buzzer
// - asw_parasite
// - asw_shieldbug
// - asw_grub
// - asw_drone_jumper
// - asw_harvester
// - asw_parasite_defanged
// - asw_queen
// - asw_boomer
// - asw_ranger
// - asw_mortarbug
// - asw_shaman
// - asw_drone_uber
// - npc_antlionguard_normal
// - npc_antlionguard_cavern
//
// The following KeyValues are also accepted in the NPC block:
//
// - HealthBonus (must be at least 0, default 0)
// - SpeedScale (must be above 0, default 1.0)
// - SizeScale (must be above 0, default 1.0)
// - Flammable (0 or 1, default 1)
// - Freezable (0 or 1, default 1)
// - Teslable (0 or 1, default 1)
// - Flinches (0 or 1, default 1)
// - VScript (name of a file in scripts/vscripts, run with the global "self" variable set to the alien entity)
// - SpawnChance (>0 to 1, default 1, chance that this NPC spawns at all)
// - RequireCVar (name of a console variable that must be true to spawn this alien type)
//
// SpawnSetOverlay allows overriding settings or adding spawn definitions to a previously
// defined SpawnSet. The SpawnSetOverlay must come after the last SpawnSet that applies
// in order to function. The Map / MinSkill / MaxSkill keys do not need to match any
// SpawnSet exactly.
//
// If you are a map maker, please name your file alien_selection_mymapname.txt,
// for example alien_selection_asi-jac1-landingbay_01.txt. This will prevent conflicts
// when multiple map makers include their own alien selection files.
//
// Similarly, challenges should name their files alien_selection_mychallengename.txt,
// for example alien_selection_asbi.txt. The challenges are favored over the map,
// and the map is favored over the global file.
//
// If a map author wants to override a challenge to provide settings specific to their
// map, they can use the file name alien_selection_mymapname_theirchallengename.txt,
// for example alien_selection_asi-jac1-landingbay_01_asbi.txt. Challenge authors should
// not use this style of file name.
"SpawnSet" {
"Name" "default - easy/normal"
"Map" "*"
"MinSkill" "1"
"MaxSkill" "2"
"MinHordeSize" "9"
"MaxHordeSize" "14"
"MinWanderers" "1"
"MaxWanderers" "1"
"MinHordeWanderers" "0"
"MaxHordeWanderers" "0"
"MinPrespawn" "1"
"MaxPrespawn" "1"
"MinPacks" "1"
"MaxPacks" "1"
"HORDE" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_drone"
}
}
"WANDERER" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_drone"
}
}
"PRESPAWN" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_shieldbug"
"SpawnChance" "0.5"
}
"NPC" {
"AlienClass" "npc_antlionguard_normal"
"RequireCVar" "rd_prespawn_antlionguard"
"SpawnChance" "0.5"
}
"NPC" {
"AlienClass" "npc_antlionguard_cavern"
"RequireCVar" "rd_prespawn_antlionguard"
"SpawnChance" "0.5"
}
}
"PACK" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_parasite"
}
"NPC" {
"AlienClass" "asw_parasite"
}
"NPC" {
"AlienClass" "asw_parasite"
}
"NPC" {
"AlienClass" "asw_parasite"
"SpawnChance" "0.75"
}
"NPC" {
"AlienClass" "asw_parasite"
"SpawnChance" "0.5"
}
"NPC" {
"AlienClass" "asw_parasite"
"SpawnChance" "0.25"
}
}
}
"SpawnSet" {
"Name" "default - hard"
"Map" "*"
"MinSkill" "3"
"MaxSkill" "3"
"MinHordeSize" "9"
"MaxHordeSize" "14"
"MinWanderers" "1"
"MaxWanderers" "1"
"MinHordeWanderers" "0"
"MaxHordeWanderers" "0"
"MinPrespawn" "1"
"MaxPrespawn" "1"
"MinPacks" "1"
"MaxPacks" "2"
"HORDE" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_drone"
}
}
"WANDERER" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_drone"
}
}
"PRESPAWN" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_shieldbug"
"SpawnChance" "0.75"
}
"NPC" {
"AlienClass" "npc_antlionguard_normal"
"RequireCVar" "rd_prespawn_antlionguard"
"SpawnChance" "0.75"
}
"NPC" {
"AlienClass" "npc_antlionguard_cavern"
"RequireCVar" "rd_prespawn_antlionguard"
"SpawnChance" "0.75"
}
}
"PACK" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_parasite"
}
"NPC" {
"AlienClass" "asw_parasite"
}
"NPC" {
"AlienClass" "asw_parasite"
}
"NPC" {
"AlienClass" "asw_parasite"
"SpawnChance" "0.75"
}
"NPC" {
"AlienClass" "asw_parasite"
"SpawnChance" "0.5"
}
"NPC" {
"AlienClass" "asw_parasite"
"SpawnChance" "0.25"
}
}
}
"SpawnSet" {
"Name" "default - insane/brutal"
"Map" "*"
"MinSkill" "4"
"MaxSkill" "5"
"MinHordeSize" "9"
"MaxHordeSize" "14"
"MinWanderers" "1"
"MaxWanderers" "1"
"MinHordeWanderers" "0"
"MaxHordeWanderers" "0"
"MinPrespawn" "1"
"MaxPrespawn" "1"
"MinPacks" "2"
"MaxPacks" "3"
"HORDE" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_drone"
}
}
"WANDERER" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_drone"
}
}
"PRESPAWN" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_shieldbug"
}
"NPC" {
"AlienClass" "npc_antlionguard_normal"
"RequireCVar" "rd_prespawn_antlionguard"
}
"NPC" {
"AlienClass" "npc_antlionguard_cavern"
"RequireCVar" "rd_prespawn_antlionguard"
}
}
"PACK" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_parasite"
}
"NPC" {
"AlienClass" "asw_parasite"
}
"NPC" {
"AlienClass" "asw_parasite"
}
"NPC" {
"AlienClass" "asw_parasite"
"SpawnChance" "0.75"
}
"NPC" {
"AlienClass" "asw_parasite"
"SpawnChance" "0.5"
}
"NPC" {
"AlienClass" "asw_parasite"
"SpawnChance" "0.25"
}
}
}
// Changes from ASB2:
// - asw_parasite_defanged has been removed as its presence should always indicate a harvester.
// - asw_harvester has increased in weight by 1/10 of the asw_parasite_defanged weight.
// - asw_shaman have been decreased in weight by a factor of 4, but 4 will spawn at once.
//
// See the comment in alien_selection.txt for information on how to create spawn sets.
"SpawnSet" {
"Name" "ASB2 - default"
"Map" "*"
"MinDifficulty" "1"
"MaxDifficulty" "99"
"MinHordeSize" "9"
"MaxHordeSize" "30"
"MinWanderers" "2"
"MaxWanderers" "6"
"MinHordeWanderers" "0"
"MaxHordeWanderers" "0"
"MinPrespawn" "0"
"MaxPrespawn" "0"
"MinPacks" "0"
"MaxPacks" "0"
"HORDE" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_drone"
}
}
"WANDERER" {
"SelectionWeight" "50"
"NPC" {
"AlienClass" "asw_drone"
}
}
"WANDERER" {
"SelectionWeight" "5"
"NPC" {
"AlienClass" "asw_drone_uber"
}
}
"WANDERER" {
"SelectionWeight" "10"
"NPC" {
"AlienClass" "asw_drone_jumper"
}
}
"WANDERER" {
"SelectionWeight" "20"
"NPC" {
"AlienClass" "asw_buzzer"
}
}
"WANDERER" {
"SelectionWeight" "15"
"NPC" {
"AlienClass" "asw_ranger"
}
}
"WANDERER" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_parasite"
}
}
"WANDERER" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_shieldbug"
}
}
"WANDERER" {
"SelectionWeight" "8"
"NPC" {
"AlienClass" "asw_boomer"
}
}
"WANDERER" {
"SelectionWeight" "4"
"NPC" {
"AlienClass" "asw_harvester"
}
}
"WANDERER" {
"SelectionWeight" "3"
"NPC" {
"AlienClass" "asw_mortarbug"
}
}
"WANDERER" {
"SelectionWeight" "0.75"
"NPC" {
"AlienClass" "asw_shaman"
}
"NPC" {
"AlienClass" "asw_shaman"
}
"NPC" {
"AlienClass" "asw_shaman"
}
"NPC" {
"AlienClass" "asw_shaman"
}
}
}
"SpawnSetOverlay" {
"Name" "ASB2 - Jacob's Rest - Cargo Elevator"
"Map" "ASI-Jac1-LandingBay_02"
"MinDifficulty" "1"
"MaxDifficulty" "99"
"MinWanderers" "3"
"MaxWanderers" "7"
"WANDERER" {
"SelectionWeight" "4"
"NPC" {
"AlienClass" "asw_shieldbug"
}
}
"WANDERER" {
"SelectionWeight" "2"
"NPC" {
"AlienClass" "asw_harvester"
}
}
"WANDERER" {
"SelectionWeight" "2"
"NPC" {
"AlienClass" "asw_mortarbug"
}
}
}
"SpawnSetOverlay" {
"Name" "ASB2 - Jacob's Rest - Deima Surface Bridge"
"Map" "ASI-Jac2-Deima"
"MinDifficulty" "1"
"MaxDifficulty" "99"
"MinWanderers" "1"
"MaxWanderers" "3"
"WANDERER" {
"SelectionWeight" "2"
"NPC" {
"AlienClass" "asw_ranger"
}
}
}
"SpawnSetOverlay" {
"Name" "ASB2 - Jacob's Rest - Rydberg Reactor"
"Map" "ASI-Jac3-Rydberg"
"MinDifficulty" "1"
"MaxDifficulty" "99"
"MinWanderers" "2"
"MaxWanderers" "5"
}
"SpawnSetOverlay" {
"Name" "ASB2 - Jacob's Rest - SynTek Residential"
"Map" "ASI-Jac4-Residential"
"MinDifficulty" "1"
"MaxDifficulty" "99"
"MinWanderers" "1"
"MaxWanderers" "4"
"HORDE" {
"SelectionWeight" "0.05"
"NPC" {
"AlienClass" "asw_parasite"
}
}
"WANDERER" {
"SelectionWeight" "3"
"NPC" {
"AlienClass" "asw_parasite"
}
}
"WANDERER" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_mortarbug"
}
}
}
"SpawnSetOverlay" {
"Name" "ASB2 - Jacob's Rest - Sewer Junction B5"
"Map" "ASI-Jac6-SewerJunction"
"MinDifficulty" "1"
"MaxDifficulty" "99"
"MinWanderers" "2"
"MaxWanderers" "5"
"WANDERER" {
"SelectionWeight" "7"
"NPC" {
"AlienClass" "asw_parasite"
}
}
"WANDERER" {
"SelectionWeight" "7"
"NPC" {
"AlienClass" "asw_shieldbug"
}
}
"WANDERER" {
"SelectionWeight" "3"
"NPC" {
"AlienClass" "asw_harvester"
}
}
"WANDERER" {
"SelectionWeight" "5"
"NPC" {
"AlienClass" "asw_mortarbug"
}
}
}
"SpawnSetOverlay" {
"Name" "ASB2 - Jacob's Rest - Timor Station"
"Map" "ASI-Jac7-TimorStation"
"MinDifficulty" "1"
"MaxDifficulty" "99"
"MinWanderers" "2"
"MaxWanderers" "4"
"WANDERER" {
"SelectionWeight" "20"
"NPC" {
"AlienClass" "asw_drone"
}
}
"WANDERER" {
"SelectionWeight" "10"
"NPC" {
"AlienClass" "asw_drone_jumper"
}
}
"WANDERER" {
"SelectionWeight" "20"
"NPC" {
"AlienClass" "asw_buzzer"
}
}
"WANDERER" {
"SelectionWeight" "15"
"NPC" {
"AlienClass" "asw_ranger"
}
}
"WANDERER" {
"SelectionWeight" "1"
"NPC" {
"AlienClass" "asw_harvester"
}
}
}
"SpawnSetOverlay" {
"Name" "ASB2 - Paranoia - Unexpected Encounter"
"Map" "as_paranoia1"
"MinDifficulty" "1"
"MaxDifficulty" "99"
"WANDERER" {
"SelectionWeight" "10"
"NPC" {
"AlienClass" "asw_drone_uber"
}
}
"WANDERER" {
"SelectionWeight" "4"
"NPC" {
"AlienClass" "asw_parasite"
}
}
"WANDERER" {
"SelectionWeight" "7"
"NPC" {
"AlienClass" "asw_shieldbug"
}
}
"WANDERER" {
"SelectionWeight" "7"
"NPC" {
"AlienClass" "asw_boomer"
}
}
"WANDERER" {
"SelectionWeight" "7"
"NPC" {
"AlienClass" "asw_harvester"
}
}
"WANDERER" {
"SelectionWeight" "7"
"NPC" {
"AlienClass" "asw_mortarbug"
}
}
}
"SpawnSetOverlay" {
"Name" "ASB2 - Paranoia - Hostile Places"
"Map" "as_paranoia2"
"MinDifficulty" "1"
"MaxDifficulty" "99"
"MinWanderers" "2"
"MaxWanderers" "6"
}
"SpawnSetOverlay" {
"Name" "ASB2 - Nest - Cave"
"Map" "nest01cave"
"MinDifficulty" "1"
"MaxDifficulty" "99"
"MinWanderers" "4"
"MaxWanderers" "10"
}
"SpawnSetOverlay" {
"Name" "ASB2 - easy"
"Map" "*"
"MinDifficulty" "1"
"MaxDifficulty" "1"
"MinHordeSize" "20"
"MaxHordeSize" "30"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment