{ "dm_type": "/datum/ai_controller/basic_controller/mouse", "type": "selector", "children": [ { "type": "decorator", "decorator": "/datum/bt_node/decorator/override_id_set", "vars": { "observer_abort": "BT_ABORT_LOWER_PRIORITY", "override_id": "SUBPLAN_ID_PET_COMMAND" }, "child": { "type": "subtree", "subtype": "/datum/bt_node/subtree", "override_id": "SUBPLAN_ID_PET_COMMAND" } }, { "type": "parallel", "failure_policy": "BT_PARALLEL_FAILURE_CHILD_ONE", "success_policy": "BT_PARALLEL_SUCCESS_CHILD_ONE", "repeat_secondary": true, "repeat_secondary_delay": "1 SECONDS", "finish_on_primary": true, "children": [ { "type": "selector", "children": [ { "type": "subtree", "subtype": "/datum/bt_node/subtree/eat_cheese" }, { "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_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": "subtree", "subtype": "/datum/bt_node/subtree/run_away_from_target" }, { "type": "decorator", "decorator": "/datum/bt_node/decorator/key_off_cooldown", "vars": { "cooldown_key": "BB_MOUSE_CHEESE_HUNT_COOLDOWN" }, "child": { "type": "leaf", "behavior": "/datum/bt_node/ai_behavior/acquire_target/update_interaction_target", "vars": { "target_key": "BB_CURRENT_HUNTING_TARGET", "target_source": "/datum/target_source/oview_single_type/cheese", "targeting_strategy": "/datum/targeting_strategy/anything", "vision_range": 1 } } }, { "type": "leaf", "behavior": "/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/nearest", "vars": { "target_key": "BB_CURRENT_TARGET", "targeting_strategy": "BB_TARGETING_STRATEGY", "hiding_location_key": "BB_CURRENT_TARGET_HIDING_LOCATION" } } ] } }, { "type": "subtree", "subtype": "/datum/bt_node/subtree/play_instrument_on_floor" }, { "type": "subtree", "subtype": "/datum/bt_node/subtree/eat_cable" }, { "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": "subtree", "subtype": "/datum/bt_node/subtree/random_walk" }, { "type": "decorator", "decorator": "/datum/bt_node/decorator/key_off_cooldown", "vars": { "cooldown_key": "BB_MOUSE_CHEESE_HUNT_COOLDOWN" }, "child": { "type": "leaf", "behavior": "/datum/bt_node/ai_behavior/acquire_target/update_interaction_target", "vars": { "target_key": "BB_CURRENT_HUNTING_TARGET", "target_source": "/datum/target_source/oview_single_type/cheese", "targeting_strategy": "/datum/targeting_strategy/anything", "vision_range": 1 } } }, { "type": "leaf", "behavior": "/datum/bt_node/ai_behavior/acquire_target/update_combat_targets/nearest", "vars": { "target_key": "BB_CURRENT_TARGET", "targeting_strategy": "BB_TARGETING_STRATEGY", "hiding_location_key": "BB_CURRENT_TARGET_HIDING_LOCATION" } }, { "type": "leaf", "behavior": "/datum/bt_node/ai_behavior/acquire_target/update_interaction_target", "vars": { "target_key": "BB_SONG_INSTRUMENT", "target_source": "/datum/target_source/oview_single_type/piano_synth", "targeting_strategy": "/datum/targeting_strategy/playable_synthesizer" } }, { "type": "decorator", "decorator": "/datum/bt_node/decorator/bb_key_true", "vars": { "key": "BB_MOUSE_WANTS_TO_EAT_CABLE" }, "child": { "type": "leaf", "behavior": "/datum/bt_node/ai_behavior/acquire_target/update_interaction_target", "vars": { "target_key": "BB_LOW_PRIORITY_HUNTING_TARGET", "target_source": "/datum/target_source/oview_single_type/cable", "targeting_strategy": "/datum/targeting_strategy/accessible_cable", "vision_range": 0 } } } ] } ] }, { "type": "subtree", "subtype": "/datum/bt_node/subtree/random_speech_loop", "bindings": { "bqdqne64": "/datum/bt_node/ai_behavior/random_speech/mouse" } }, { "type": "decorator", "decorator": "/datum/bt_node/decorator/key_off_cooldown", "vars": { "cooldown_key": "BB_MOUSE_CABLE_HUNT_COOLDOWN" }, "child": { "type": "decorator", "decorator": "/datum/bt_node/decorator/random_chance", "vars": { "chance": 0.01 }, "child": { "type": "leaf", "behavior": "/datum/bt_node/ai_behavior/set_bb_key", "vars": { "target_key": "BB_MOUSE_WANTS_TO_EAT_CABLE", "value": true } } } } ] } ] }