[MIRROR] Fixes bypassing integrated circuit cooldowns with module components. [MDB IGNORE] (#21374)

* Fixes bypassing integrated circuit cooldowns with module components. (#75581)

## About The Pull Request
See title.
In order for this change to work, these components will not work if
there is no shell, but this will change nothing user-facing because all
player-facing circuits require shells to function in the first place
anyways.

## Why It's Good For The Game
Fixes a cooldown bypass bug.

Closes #75580

## Changelog
🆑
fix: Fixed bypassing component cooldowns with module components.
/🆑

---------

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Fixes bypassing integrated circuit cooldowns with module components.

---------

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
This commit is contained in:
SkyratBot
2023-05-23 11:54:18 +01:00
committed by GitHub
co-authored by Watermelon914 Watermelon914
parent b94eb33ea3
commit fcacccc459
4 changed files with 21 additions and 13 deletions
@@ -23,15 +23,13 @@
message = add_input_port("Message", PORT_TYPE_STRING, trigger = null)
/obj/item/circuit_component/speech/input_received(datum/port/input/port)
if(!parent.shell)
return
if(TIMER_COOLDOWN_CHECK(parent, COOLDOWN_CIRCUIT_SPEECH))
if(TIMER_COOLDOWN_CHECK(parent.shell, COOLDOWN_CIRCUIT_SPEECH))
return
if(message.value)
var/atom/movable/shell = parent.shell
// Prevents appear as the individual component if there is a shell.
if(shell)
shell.say(message.value, forced = "circuit speech | [key_name(parent.get_creator())]")
else
say(message.value, forced = "circuit speech | [parent.get_creator()]")
TIMER_COOLDOWN_START(parent, COOLDOWN_CIRCUIT_SPEECH, speech_cooldown)
shell.say(message.value, forced = "circuit speech | [key_name(parent.get_creator())]")
TIMER_COOLDOWN_START(shell, COOLDOWN_CIRCUIT_SPEECH, speech_cooldown)