mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-27 05:57:24 +01:00
Converts Watchers and Legions to basic mob AI (#29884)
* Converts basilisks, watchers * Hivelords and legions * Hivelordbrood balance adjustment * New Linters * Speech fix --------- Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
/// Find and attack corpses
|
||||
/datum/ai_planning_subtree/find_and_hunt_target/corpses
|
||||
finding_behavior = /datum/ai_behavior/find_hunt_target/corpses
|
||||
hunting_behavior = /datum/ai_behavior/hunt_target/interact_with_target
|
||||
hunt_targets = list(/mob/living)
|
||||
|
||||
/// Find nearby dead mobs
|
||||
/datum/ai_behavior/find_hunt_target/corpses
|
||||
|
||||
/datum/ai_behavior/find_hunt_target/corpses/valid_dinner(mob/living/source, mob/living/dinner, radius)
|
||||
if(!isliving(dinner) || dinner.stat != DEAD)
|
||||
return FALSE
|
||||
return can_see(source, dinner, radius)
|
||||
|
||||
/// Find and attack specifically human corpses
|
||||
/datum/ai_planning_subtree/find_and_hunt_target/corpses/human
|
||||
hunt_targets = list(/mob/living/carbon/human)
|
||||
@@ -160,7 +160,7 @@
|
||||
stack_threshold = 3
|
||||
max_stacks = 3
|
||||
reset_ticks_on_stack = TRUE
|
||||
var/mob/living/simple_animal/hostile/asteroid/big_legion/latest_attacker
|
||||
var/mob/living/basic/mining/big_legion/latest_attacker
|
||||
|
||||
/datum/status_effect/stacking/ground_pound/on_creation(mob/living/new_owner, stacks_to_apply, mob/living/attacker)
|
||||
. = ..()
|
||||
@@ -176,7 +176,7 @@
|
||||
|
||||
/datum/status_effect/stacking/ground_pound/stacks_consumed_effect()
|
||||
flick("legion-smash", latest_attacker)
|
||||
addtimer(CALLBACK(latest_attacker, TYPE_PROC_REF(/mob/living/simple_animal/hostile/asteroid/big_legion, throw_mobs)), 1 SECONDS)
|
||||
addtimer(CALLBACK(latest_attacker, TYPE_PROC_REF(/mob/living/basic/mining/big_legion, throw_mobs)), 1 SECONDS)
|
||||
|
||||
/datum/status_effect/stacking/ground_pound/on_remove()
|
||||
latest_attacker = null
|
||||
|
||||
Reference in New Issue
Block a user