/tg/ Station 13 - Modules - Types

code/datums/ai/basic_mobs/target_sources/_target_source.dm

/datum/target_sourceSingleton datum that defines how an acquire_target behavior gathers candidates. Subtype collect_candidates() to change what atoms are considered. Subtype with a typecache var to pre-filter by type before targeting_strategy validation.
/datum/target_source/oviewGathers nearby atoms via oview(). No type pre-filtering.
/datum/target_source/oview_typedGathers nearby atoms via oview(), pre-filtered by a typecache
/datum/target_source/oview_typed/from_bb_keyGathers nearby atoms via oview(), pre-filtered by a typecache stored in a blackboard key. Use this when the typecache varies per mob species (e.g. BB_BASIC_FOODS).
/datum/target_source/hearersGathers nearby atoms via hearers() plus any hostile machines on the same z-level. (I should probably split out the hostile machine part but oh well)
/datum/target_source/range_turfsGathers turfs in range via RANGE_TURFS().
/datum/target_source/held_itemsGathers items currently held in the pawn's hands.
/datum/target_source/oview_typed/from_bb_key/basic_foodsReads a typecache from BB_BASIC_FOODS and filters oview candidates by it. For mobs whose food list varies by species (set in Initialize via set_blackboard_key).
/datum/target_source/oview_typed/from_bb_key/huntable_preyReads a typecache from BB_HUNTABLE_PREY and filters oview candidates by it.
/datum/target_source/carried_huntable_preyGathers items the pawn is carrying that match the prey typecache in BB_HUNTABLE_PREY.
/datum/target_source/from_bb_listReads candidates directly from a blackboard list. No spatial filtering; range is ignored.
/datum/target_source/from_bb_list/retaliate_listReads from BB_BASIC_MOB_RETALIATE_LIST.