mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-15 12:11:45 +00:00
[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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user