awareness.py (2096B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\behaviors\utility\awareness.py 2 import evetypes 3 import logging 4 from ballpark.entities.awareness.groupawareness import GroupAwarenessConfig 5 from behaviors.utility.blackboards import get_response_thresholds 6 from behaviors.utility.context import get_extra_context 7 from behaviors.utility.owner import get_owner_id 8 logger = logging.getLogger(__name__) 9 10 def get_spawn_pool_id(task): 11 return task.GetLastBlackboardValue(task.attributes.spawnPoolIdAddress) 12 13 14 def get_awareness_manager(task): 15 return task.context.entityLocation.GetGroupAwarenessManager() 16 17 18 def get_fleet_awareness(task, spawn_pool_id): 19 return get_awareness_manager(task).get_spawn_pool_fleet_awareness(spawn_pool_id) 20 21 22 def get_fleet_awareness_members_ids(task, spawn_pool_id): 23 awareness = get_fleet_awareness(task, spawn_pool_id) 24 return awareness.get_member_ids() 25 26 27 def get_awareness_config(task): 28 config = GroupAwarenessConfig(task.get_member_collection_id()) 29 config.threat_range = task.attributes.threatRange 30 config.threat_timeout_seconds = task.attributes.threatTimeoutSeconds 31 if task.HasAttribute('includedCategories'): 32 config.included_categories = task.attributes.includedCategories 33 if task.HasAttribute('excludedGroups'): 34 config.excluded_groups = task.attributes.excludedGroups 35 config.max_sensor_drift = task.attributes.maxSensorDrift 36 config.update_time_seconds = task.attributes.updateTimeSeconds 37 config.standing_thresholds = get_response_thresholds(task) 38 if config.standing_thresholds is None: 39 logger.error('awareness::failed getting proper standing thresholds for behavior=%s - might be missing from type or group blackboards', task.behaviorTree.GetBehaviorId()) 40 config.combat_targets_set_address = task.attributes.combatTargetsSetAddress 41 config.owner_id = get_owner_id(task) 42 config.context = get_extra_context(task) 43 if task.HasAttribute('trackedTypeListID'): 44 config.tracked_type_list_id = task.attributes.trackedTypeListID 45 return config