[MIRROR] Fixes some alien actions not working. [MDB IGNORE] (#15223)

Fixes some alien actions not working.

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
This commit is contained in:
SkyratBot
2022-07-31 15:12:14 +02:00
committed by GitHub
parent 11425e6658
commit 2b2dbd8244
9 changed files with 11 additions and 6 deletions

View File

@@ -174,7 +174,8 @@
/datum/action/cooldown/proc/PreActivate(atom/target)
if(SEND_SIGNAL(owner, COMSIG_MOB_ABILITY_STARTED, src) & COMPONENT_BLOCK_ABILITY_START)
return
StartCooldown(360 SECONDS, 360 SECONDS)
// Note, that PreActivate handles no cooldowns at all by default.
// Be sure to call StartCooldown() in Activate() where necessary.
. = Activate(target)
// There is a possibility our action (or owner) is qdeleted in Activate().
if(!QDELETED(src) && !QDELETED(owner))

View File

@@ -22,6 +22,7 @@
var/list/charging = list()
/datum/action/cooldown/mob_cooldown/charge/Activate(atom/target_atom)
StartCooldown(360 SECONDS, 360 SECONDS)
charge_sequence(owner, target_atom, charge_delay, charge_past)
StartCooldown()

View File

@@ -10,6 +10,7 @@
var/pick_range = 5
/datum/action/cooldown/mob_cooldown/dash/Activate(atom/target_atom)
StartCooldown(360 SECONDS, 360 SECONDS)
dash_to(target_atom)
StartCooldown()

View File

@@ -12,6 +12,7 @@
var/ice_breath = FALSE
/datum/action/cooldown/mob_cooldown/fire_breath/Activate(atom/target_atom)
StartCooldown(360 SECONDS, 360 SECONDS)
attack_sequence(target_atom)
StartCooldown()
@@ -59,4 +60,3 @@
for(var/j = 1 to spiral_count)
INVOKE_ASYNC(src, .proc/fire_line, target, j * increment + i * increment / 2)
SLEEP_CHECK_DEATH(delay_time, owner)

View File

@@ -23,6 +23,7 @@
REMOVE_TRAIT(M, TRAIT_NOFIRE, REF(src))
/datum/action/cooldown/mob_cooldown/lava_swoop/Activate(atom/target_atom)
StartCooldown(360 SECONDS, 360 SECONDS)
attack_sequence(target_atom)
StartCooldown()

View File

@@ -6,6 +6,7 @@
cooldown_time = 3 SECONDS
/datum/action/cooldown/mob_cooldown/meteors/Activate(atom/target_atom)
StartCooldown(360 SECONDS, 360 SECONDS)
create_meteors(target_atom)
StartCooldown()

View File

@@ -18,6 +18,7 @@
var/projectile_speed_multiplier = 1
/datum/action/cooldown/mob_cooldown/projectile_attack/Activate(atom/target_atom)
StartCooldown(360 SECONDS, 360 SECONDS)
attack_sequence(owner, target_atom)
StartCooldown()
@@ -285,6 +286,7 @@
cooldown_time = 2.5 SECONDS
/datum/action/cooldown/mob_cooldown/projectile_attack/colossus_final/Activate(atom/target_atom)
StartCooldown(360 SECONDS, 360 SECONDS)
attack_sequence(owner, target_atom)
StartCooldown()
Remove(owner)

View File

@@ -9,6 +9,7 @@
var/max_cooldown_time = 10 SECONDS
/datum/action/cooldown/mob_cooldown/transform_weapon/Activate(atom/target_atom)
StartCooldown(360 SECONDS, 360 SECONDS)
do_transform(target_atom)
StartCooldown(rand(cooldown_time, max_cooldown_time), 0)

View File

@@ -83,10 +83,7 @@
caste_options["Drone"] = drone
var/alien_caste = show_radial_menu(owner, owner, caste_options, radius = 38, require_near = TRUE, tooltips = TRUE)
if(QDELETED(src) || QDELETED(owner) || !IsAvailable() || !alien_caste)
return
if(alien_caste == null)
if(QDELETED(src) || QDELETED(owner) || !IsAvailable() || isnull(alien_caste))
return
var/mob/living/carbon/alien/humanoid/new_xeno