Port mob cooldown actions and AI behavior. (#29924)

* Port mob cooldown actions and AI behavior.

* fix lint

* fix missing override args

* Update code/_onclick/click.dm

Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/click.dm

Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/datums/actions/action.dm

Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/__DEFINES/ai/blackboard_defines.dm

Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>

* remove unused defines

---------

Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
This commit is contained in:
warriorstar-orion
2025-08-07 11:55:52 -04:00
committed by GitHub
parent 653e9e8c72
commit ef41677463
22 changed files with 516 additions and 22 deletions
+1 -1
View File
@@ -888,7 +888,7 @@
name = "Remove a card - Remove a single card from the hand."
button_icon_state = "remove_card"
/datum/action/item_action/remove_card/IsAvailable()
/datum/action/item_action/remove_card/IsAvailable(show_message = TRUE)
var/obj/item/cardhand/C = target
if(length(C.cards) <= 1)
return FALSE
@@ -510,7 +510,7 @@
var/last_teleport = 0
var/tele_range = 6
/datum/action/innate/unstable_teleport/IsAvailable()
/datum/action/innate/unstable_teleport/IsAvailable(show_message = TRUE)
if(..())
if(world.time > last_teleport + cooldown && !activated)
return 1
@@ -11,7 +11,7 @@
background_icon_state = "bg_alien"
var/needs_growth = NO_GROWTH_NEEDED
/datum/action/innate/slime/IsAvailable()
/datum/action/innate/slime/IsAvailable(show_message = TRUE)
if(..())
var/mob/living/simple_animal/slime/S = owner
if(needs_growth == GROWTH_NEEDED)
+3
View File
@@ -250,6 +250,9 @@
/// Does this mob speak OOC?
/// Controls whether they can say some symbols.
var/speaks_ooc = FALSE
/// Allows a datum to intercept all click calls this mob is the source of.
/// This is *not* necessarily an instance of [/datum/click_intercept].
var/datum/click_interceptor
/// For storing what do_after's something has, key = string, value = amount of interactions of that type happening.
var/list/do_afters
+1 -1
View File
@@ -103,7 +103,7 @@ GLOBAL_DATUM_INIT(multispin_words, /regex, regex("like a record baby"))
..()
cords = target
/datum/action/item_action/organ_action/colossus/IsAvailable()
/datum/action/item_action/organ_action/colossus/IsAvailable(show_message = TRUE)
if(world.time < cords.next_command)
return FALSE
if(!owner)