Files
bbd547ec95 [MIRROR] Targeting Datums Renamed (and global) [MDB IGNORE] (#24885)
* Targeting Datums Renamed (and global) (#79513)

## About The Pull Request

[Implements the backend required to make targeting datums
global](https://github.com/tgstation/tgstation/commit/6901ead12e419530b7f646ea21094d4432d7385e)

It's inconsistent with the rest of basic ai for these to have a high
degree of state, plus like, such a waste yaknow?

[Implements
GET_TARGETING_STRATEGY](https://github.com/tgstation/tgstation/commit/d79c29134d03424a9f8bacd64c08cb41775fe8c0)

Regexes used:
new.*(/datum/targetting_datum[^,(]*)\(*\)* -> GET_TARGETING_STRATEGY($1)

Renamed all instances of targetting to targeting (also targetting datum
-> targeting strategy)

I've used GET_TARGETING_STRATEGY at the source where the keys are
actually used, rather then in the listing. This works out just fine.

## Why It's Good For The Game

Not a misspelled name through the whole codebase, very slightly less
memory load for basically no downside (slight cpu cost maybe but not a
significant one.

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>

* Targeting Datums Renamed (and global)

* Update dogs.dm

* Modular

* Modular

* Modular

* Merge skew?

* Revert "Merge skew?"

This reverts commit 0889389ab5.

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-11-09 16:37:48 -05:00

100 lines
3.8 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/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/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/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/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/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/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/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,
)