{ config = "scripts/ai/coop/bt_config.kv3" root = { type = "decorator_hiding_spot_service" domain = "AllBots" output_hiding_spot = "HidingSpot" distance_threshold = 800 expiration_time = 10 child = { type = "decorator_bot_service" memory_to_expire = [ { key = "ShortTermAttackMemory" time = 0.7 distance = 0 }, { key = "ShortTermDamageMemory" time = 0.7 distance = 0 }, { key = "ShortTermAreaDamageMemory" time = 3 distance = 0 }, { key = "ShortTermInvestigateMemory" time = 3 distance = 200 }, { key = "LongTermMemory" time = 10 distance = 500 }, { domain = "AllBots" key = "Threats" time = 10 distance = 0 }, { key = "DamageThroughSmokeMemory" time = 3 distance = 0 } ] tagged_entities_to_expire = [ "EngagedEntities" ] basic_chatter_enable = 1 input_chatter_enemies = "ShortTermAttackMemory" child = { type = "parallel" children = [ { type = "decorator_repeat" child = { type = "subtree" file = "scripts/ai/coop/autumn/modules/bt_basic_player_memorization.kv3" name = "BasicPlayerMemorization" } }, { type = "decorator_repeat" child = { type = "selector" children = [ { type = "subtree" file = "scripts/ai/coop/autumn/modules/bt_basic_player_engagement.kv3" name = "BasicPlayerEngagement" }, { type = "subtree" file = "scripts/ai/modules/bt_investigate_closest_memorized_event.kv3" name = "InvestigateClosestMemorizedEvent" }, // Else: roam around { type = "sequencer" children = [ { type = "action_choose_random_waypoint_within_radius" origin = "LastCoopSpawnPointLocation" output = "RandomRoamPoint" radius = 700 }, { type = "action_move_to" destination = "RandomRoamPoint" movement_type = "BT_ACTION_MOVETO_WALK" route_type = "BT_ACTION_MOVETO_FASTEST_ROUTE" hiding_spot = "HidingSpot" threat = "NearestThreatMemory" }, { type = "decorator_maybe" chance = 0.7 child = { type = "action_say" phrase = "Clear" } }, { type = "action_wait" wait_time_min = 1 wait_time_max = 3 } ] } ] } } ] } } } }