Skip to main content

idTarget_Spawn_Parent

An entity that idTargetSpawnGroup entities use to define what AI can spawn in its spawn group.

Usage

entity {
	entityDef example_target_spawn_group_parent {
	inherit = "encounter/spawn_group/parent";
	class = "idTarget_Spawn_Parent";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = false;
	disableAIPooling = false;
	edit = {
		flags = {
			noFlood = true;
		}
		spawnConditions = {
			maxCount = 0;
			reuseDelaySec = 0;
			doBoundsTest = false;
			boundsTestType = "BOUNDSTEST_NONE";
			fovCheck = 0;
			minDistance = 0;
			maxDistance = 0;
			neighborSpawnerDistance = -1;
			LOS_Test = "LOS_NONE";
			playerToTest = "PLAYER_SP";
			conditionProxy = "";
		}
		spawnEditableShared = {
			groupName = "";
			deathTrigger = "";
			coverRadius = 0;
			maxEnemyCoverDistance = 0;
		}
		entityDefs = { // List of demons that can be spawned
		num = 3;
		item[0] = {
			name = "game_ai_fodder_imp";
		}
		item[1] = {
			name = "game_ai_fodder_gargoyle";
		}
		item[2] = {
			name = "game_ai_fodder_soldier_blaster";
		}
}
		conductorEntityAIType = "SPAWN_AI_TYPE_ANY";
		initialEntityDefs = {
			num = 0;
		}
		spawnPosition = { // Spawn position does not matter
			x = 1;
			y = 1;
			z = 1;
		}
		targets = { // List of demons that can be spawned
			num = 3;
			item[0] = "game_ai_fodder_imp";
			item[1] = "game_ai_fodder_gargoyle";
			item[2] = "game_ai_fodder_soldier_blaster";
		}
	}
}
}

If the idTarget_Spawn entities in the idTargetSpawnGroup contains their own entityDefs, then those will override the spawn parent.

You would normally want all idTarget_Spawn entities in the idTargetSpawnGroup to have no idAI2 entities attached to them.

For the sake of organization, you might want to only use one idTarget_Spawn_Parent that contains every demon idAI2 for the entire level.