mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-13 00:55:20 +01:00
107 lines
4.1 KiB
Plaintext
107 lines
4.1 KiB
Plaintext
/datum/ai_controller/basic_controller/trooper
|
|
blackboard = list(
|
|
BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
|
|
BB_TARGET_MINIMUM_STAT = HARD_CRIT,
|
|
BB_REINFORCEMENTS_SAY = "411 in progress, requesting backup!"
|
|
)
|
|
|
|
ai_movement = /datum/ai_movement/basic_avoidance
|
|
idle_behavior = /datum/idle_behavior/idle_random_walk
|
|
planning_subtrees = list(
|
|
/datum/ai_planning_subtree/escape_captivity,
|
|
/datum/ai_planning_subtree/simple_find_target,
|
|
/datum/ai_planning_subtree/attack_obstacle_in_path/trooper,
|
|
/datum/ai_planning_subtree/basic_melee_attack_subtree,
|
|
/datum/ai_planning_subtree/travel_to_point/and_clear_target/reinforce,
|
|
)
|
|
|
|
/datum/ai_planning_subtree/basic_melee_attack_subtree/trooper
|
|
melee_attack_behavior = /datum/ai_behavior/basic_melee_attack
|
|
|
|
/datum/ai_planning_subtree/attack_obstacle_in_path/trooper
|
|
attack_behaviour = /datum/ai_behavior/attack_obstructions/trooper
|
|
|
|
/datum/ai_behavior/attack_obstructions/trooper
|
|
action_cooldown = 1.2 SECONDS
|
|
|
|
/datum/ai_controller/basic_controller/trooper/calls_reinforcements
|
|
planning_subtrees = list(
|
|
/datum/ai_planning_subtree/escape_captivity,
|
|
/datum/ai_planning_subtree/simple_find_target,
|
|
/datum/ai_planning_subtree/call_reinforcements,
|
|
/datum/ai_planning_subtree/attack_obstacle_in_path/trooper,
|
|
/datum/ai_planning_subtree/basic_melee_attack_subtree,
|
|
/datum/ai_planning_subtree/travel_to_point/and_clear_target/reinforce,
|
|
)
|
|
|
|
/datum/ai_controller/basic_controller/trooper/peaceful
|
|
planning_subtrees = list(
|
|
/datum/ai_planning_subtree/escape_captivity,
|
|
/datum/ai_planning_subtree/target_retaliate,
|
|
/datum/ai_planning_subtree/call_reinforcements,
|
|
/datum/ai_planning_subtree/attack_obstacle_in_path/trooper,
|
|
/datum/ai_planning_subtree/basic_melee_attack_subtree,
|
|
/datum/ai_planning_subtree/travel_to_point/and_clear_target/reinforce,
|
|
)
|
|
|
|
/datum/ai_controller/basic_controller/trooper/ranged
|
|
planning_subtrees = list(
|
|
/datum/ai_planning_subtree/escape_captivity,
|
|
/datum/ai_planning_subtree/simple_find_target,
|
|
/datum/ai_planning_subtree/basic_ranged_attack_subtree/trooper,
|
|
/datum/ai_planning_subtree/travel_to_point/and_clear_target/reinforce,
|
|
)
|
|
|
|
/datum/ai_planning_subtree/basic_ranged_attack_subtree/trooper
|
|
ranged_attack_behavior = /datum/ai_behavior/basic_ranged_attack/trooper
|
|
|
|
/datum/ai_behavior/basic_ranged_attack/trooper
|
|
action_cooldown = 1 SECONDS
|
|
required_distance = 5
|
|
avoid_friendly_fire = TRUE
|
|
|
|
/datum/ai_controller/basic_controller/trooper/ranged/burst
|
|
planning_subtrees = list(
|
|
/datum/ai_planning_subtree/escape_captivity,
|
|
/datum/ai_planning_subtree/simple_find_target,
|
|
/datum/ai_planning_subtree/basic_ranged_attack_subtree/trooper_burst,
|
|
/datum/ai_planning_subtree/travel_to_point/and_clear_target/reinforce,
|
|
)
|
|
|
|
/datum/ai_planning_subtree/basic_ranged_attack_subtree/trooper_burst
|
|
ranged_attack_behavior = /datum/ai_behavior/basic_ranged_attack/trooper_burst
|
|
|
|
/datum/ai_behavior/basic_ranged_attack/trooper_burst
|
|
action_cooldown = 3 SECONDS
|
|
avoid_friendly_fire = TRUE
|
|
|
|
/datum/ai_controller/basic_controller/trooper/ranged/burst/peaceful
|
|
planning_subtrees = list(
|
|
/datum/ai_planning_subtree/escape_captivity,
|
|
/datum/ai_planning_subtree/target_retaliate,
|
|
/datum/ai_planning_subtree/call_reinforcements,
|
|
/datum/ai_planning_subtree/basic_ranged_attack_subtree/trooper_burst,
|
|
/datum/ai_planning_subtree/travel_to_point/and_clear_target/reinforce,
|
|
)
|
|
|
|
/datum/ai_controller/basic_controller/trooper/ranged/shotgunner
|
|
planning_subtrees = list(
|
|
/datum/ai_planning_subtree/escape_captivity,
|
|
/datum/ai_planning_subtree/simple_find_target,
|
|
/datum/ai_planning_subtree/basic_ranged_attack_subtree/trooper_shotgun,
|
|
/datum/ai_planning_subtree/travel_to_point/and_clear_target/reinforce,
|
|
)
|
|
|
|
/datum/ai_planning_subtree/basic_ranged_attack_subtree/trooper_shotgun
|
|
ranged_attack_behavior = /datum/ai_behavior/basic_ranged_attack/trooper_shotgun
|
|
|
|
/datum/ai_behavior/basic_ranged_attack/trooper_shotgun
|
|
action_cooldown = 3 SECONDS
|
|
required_distance = 3
|
|
avoid_friendly_fire = TRUE
|
|
|
|
/datum/ai_controller/basic_controller/trooper/viscerator
|
|
blackboard = list(
|
|
BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic,
|
|
)
|