{ 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_determine_rush_center.kv3" name = "DetermineRushCenter" }, // TODO(antonioc): bots without a rush center will forever jump - remove this node once all rush centers are figured out { type = "condition_is_empty" input = "RushCenterLocation" child = { type = "action_jump" } }, { 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" }, // Rush out { type = "sequencer" children = [ { type = "action_choose_random_waypoint_within_radius" origin = "RushCenterLocation" output = "RushPoint" radius = "RushCenterRadius" }, { type = "action_move_to" destination = "RushPoint" movement_type = "BT_ACTION_MOVETO_RUN" route_type = "BT_ACTION_MOVETO_FASTEST_ROUTE" hiding_spot = "HidingSpot" threat = "NearestThreatMemory" } ] } ] } } ] } } } }