{ "dm_type": "/datum/bt_node/subtree/trooper_ranged", "bindings": { "b4kar3zl": { "label": "time_between_perform", "default": "0" }, "beslksyc": { "label": "max_range", "default": "3" }, "bnr1aazo": { "label": "avoid_friendly_fire", "default": "FALSE" } }, "type": "selector", "children": [ { "type": "subtree", "subtype": "/datum/bt_node/subtree/escape_captivity" }, { "type": "parallel", "failure_policy": "BT_PARALLEL_FAILURE_CHILD_ONE", "success_policy": "BT_PARALLEL_SUCCESS_CHILD_ONE", "repeat_secondary": true, "repeat_secondary_delay": "BASIC_MOB_FIND_TARGET_RATE", "finish_on_primary": true, "children": [ { "type": "selector", "children": [ { "type": "decorator", "decorator": "/datum/bt_node/decorator/bb_key_set", "vars": { "observer_abort": "BT_ABORT_BOTH", "key": "BB_CURRENT_TARGET" }, "child": { "type": "parallel", "failure_policy": "BT_PARALLEL_FAILURE_ANY", "success_policy": "BT_PARALLEL_SUCCESS_CHILD_ONE", "repeat_secondary": true, "finish_on_primary": true, "children": [ { "type": "subplan", "success_policy": "BT_SUBPLAN_LOOP_ON_SUCCESS", "failure_policy": "BT_SUBPLAN_LOOP_ON_FAILURE", "children": [ { "type": "selector", "children": [ { "type": "decorator", "decorator": "/datum/bt_node/decorator/bb_key_equals", "vars": { "key": "BB_CALLS_REINFORCEMENTS", "value": true }, "child": { "type": "decorator", "decorator": "/datum/bt_node/decorator/cooldown", "vars": { "observer_abort": "BT_ABORT_LOWER_PRIORITY", "cooldown_key": "BB_BASIC_MOB_REINFORCEMENTS_COOLDOWN", "cooldown_duration": "30 SECONDS", "lock_on_succeed": true }, "child": { "type": "leaf", "behavior": "/datum/bt_node/ai_behavior/call_reinforcements" } } }, { "type": "leaf", "behavior": "/datum/bt_node/ai_behavior/attack_obstructions", "vars": { "target_key": "BB_CURRENT_TARGET" } }, { "type": "leaf", "behavior": "/datum/bt_node/ai_behavior/basic_ranged_attack", "vars": { "target_key": "BB_CURRENT_TARGET", "targeting_strategy": "BB_TARGETING_STRATEGY", "hiding_location_key": "BB_CURRENT_TARGET_HIDING_LOCATION", "time_between_perform": "$b4kar3zl", "max_range": "$beslksyc", "avoid_friendly_fire": "$bnr1aazo" } }, { "type": "leaf", "behavior": "/datum/bt_node/ai_behavior/succeed" } ] } ] }, { "type": "leaf", "behavior": "/datum/bt_node/ai_behavior/maintain_distance", "vars": { "target_key": "BB_CURRENT_TARGET" } } ] } }, { "type": "subtree", "subtype": "/datum/bt_node/subtree/move_to_reinforce" }, { "type": "subtree", "subtype": "/datum/bt_node/subtree/random_walk" } ] }, { "type": "leaf", "behavior": "/datum/bt_node/ai_behavior/acquire_target/update_combat_targets", "vars": { "target_key": "BB_CURRENT_TARGET", "targeting_strategy": "BB_TARGETING_STRATEGY", "hiding_location_key": "BB_CURRENT_TARGET_HIDING_LOCATION" } } ] } ] }