[MIRROR] basic gutlunchers and ashwalker ranching [MDB IGNORE] (#24970)

* basic gutlunchers and ashwalker ranching

* Update goldgrub.dm

* UpdatePaths

* Modular

* Modular

* Modular

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
This commit is contained in:
SkyratBot
2023-11-13 15:42:16 +01:00
committed by GitHub
parent b1e4543e33
commit d8056a2c68
43 changed files with 836 additions and 325 deletions

View File

@@ -158,7 +158,37 @@
return SUBTREE_RETURN_FINISH_PLANNING
/**
* # Pet Command: targeted Ability
* # Breed command. breed with a partner!
*/
/datum/pet_command/point_targeting/breed
command_name = "Breed"
command_desc = "Command your pet to attempt to breed with a partner."
radial_icon = 'icons/mob/simple/animal.dmi'
radial_icon_state = "heart"
speech_commands = list("breed", "consummate")
/datum/pet_command/point_targeting/breed/set_command_target(mob/living/parent, atom/target)
if(isnull(target) || !isliving(target))
return
if(!HAS_TRAIT(parent, TRAIT_MOB_BREEDER) || !HAS_TRAIT(target, TRAIT_MOB_BREEDER))
return
if(isnull(parent.ai_controller))
return
if(!parent.ai_controller.blackboard[BB_BREED_READY] || isnull(parent.ai_controller.blackboard[BB_BABIES_PARTNER_TYPES]))
return
var/mob/living/living_target = target
if(!living_target.ai_controller?.blackboard[BB_BREED_READY])
return
return ..()
/datum/pet_command/point_targeting/breed/execute_action(datum/ai_controller/controller)
if(is_type_in_list(controller.blackboard[BB_CURRENT_PET_TARGET], controller.blackboard[BB_BABIES_PARTNER_TYPES]))
controller.queue_behavior(/datum/ai_behavior/make_babies, BB_CURRENT_PET_TARGET)
controller.clear_blackboard_key(BB_ACTIVE_PET_COMMAND)
return SUBTREE_RETURN_FINISH_PLANNING
/**
* # Pet Command: Targetted Ability
* Tells a pet to use some kind of ability on the next thing you point at
*/
/datum/pet_command/point_targeting/use_ability