mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 13:38:41 +01:00
[MIRROR] Fixes monkey AI runtimes [MDB IGNORE] (#17105)
* Fixes monkey AI runtimes (#70696) * Fixes monkey combat runtime * better monkey subtree * Fixes monkey AI runtimes Co-authored-by: Tastyfish <crazychris32@gmail.com>
This commit is contained in:
@@ -122,6 +122,7 @@
|
||||
|
||||
if(living_pawn.health >= MONKEY_FLEE_HEALTH)
|
||||
finish_action(controller, TRUE) //we're back in bussiness
|
||||
return
|
||||
|
||||
var/mob/living/target = null
|
||||
|
||||
@@ -153,6 +154,7 @@
|
||||
|
||||
if(!target || target.stat != CONSCIOUS)
|
||||
finish_action(controller, TRUE) //Target == owned
|
||||
return
|
||||
|
||||
if(isturf(target.loc) && !IS_DEAD_OR_INCAP(living_pawn)) // Check if they're a valid target
|
||||
// check if target has a weapon
|
||||
@@ -259,6 +261,10 @@
|
||||
|
||||
controller.current_movement_target = target
|
||||
|
||||
if(!target)
|
||||
finish_action(controller, FALSE)
|
||||
return
|
||||
|
||||
if(target.pulledby != living_pawn && !HAS_AI_CONTROLLER_TYPE(target.pulledby, /datum/ai_controller/monkey)) //Dont steal from my fellow monkeys.
|
||||
if(living_pawn.Adjacent(target) && isturf(target.loc))
|
||||
target.grabbedby(living_pawn)
|
||||
@@ -268,6 +274,10 @@
|
||||
var/obj/machinery/disposal/disposal = disposal_ref.resolve()
|
||||
controller.current_movement_target = disposal
|
||||
|
||||
if(!disposal)
|
||||
finish_action(controller, FALSE)
|
||||
return
|
||||
|
||||
if(living_pawn.Adjacent(disposal))
|
||||
INVOKE_ASYNC(src, .proc/try_disposal_mob, controller, attack_target_key, disposal_target_key) //put him in!
|
||||
else //This means we might be getting pissed!
|
||||
|
||||
@@ -41,6 +41,10 @@
|
||||
var/datum/weakref/target_ref = controller.blackboard[BB_MONKEY_CURRENT_ATTACK_TARGET]
|
||||
var/mob/living/selected_enemy = target_ref?.resolve()
|
||||
|
||||
if(!selected_enemy)
|
||||
living_pawn.set_combat_mode(FALSE)
|
||||
return
|
||||
|
||||
if(!selected_enemy.stat) //He's up, get him!
|
||||
if(living_pawn.health < MONKEY_FLEE_HEALTH) //Time to skeddadle
|
||||
controller.queue_behavior(/datum/ai_behavior/monkey_flee)
|
||||
|
||||
Reference in New Issue
Block a user