[MIRROR] Speeds up the preference menu, significantly. Adds object pooling, other stuff too [MDB IGNORE] (#9962)

* Speeds up the preference menu, significantly. Adds object pooling, other stuff too

* First fixes

* Feex

* Quick fix for the unit test to shut up

* Fixing the runtime with randomly-colored jumpsuits

* Fixes that one hard del

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
This commit is contained in:
SkyratBot
2021-12-10 02:22:41 +00:00
committed by GitHub
co-authored by LemonInTheDark GoldenAlpharex GoldenAlpharex
parent f7a4750b59
commit b7164873d4
51 changed files with 859 additions and 123 deletions
@@ -6,21 +6,25 @@
var/lifespan_postmortem = 6000
///will people implanted with this act as teleporter beacons?
var/allow_teleport = TRUE
///The id of the timer that's qdeleting us
var/timerid
/obj/item/implant/tracking/c38
name = "TRAC implant"
desc = "A smaller tracking implant that supplies power for only a few minutes."
var/lifespan = 3000 //how many deciseconds does the implant last?
///The id of the timer that's qdeleting us
var/timerid
allow_teleport = FALSE
/obj/item/implant/tracking/c38/Initialize(mapload)
/obj/item/implant/tracking/c38/implant(mob/living/target, mob/user, silent, force)
. = ..()
timerid = QDEL_IN(src, lifespan)
/obj/item/implant/tracking/c38/Destroy()
/obj/item/implant/tracking/c38/removed(mob/living/source, silent, special)
. = ..()
deltimer(timerid)
timerid = null
/obj/item/implant/tracking/c38/Destroy()
return ..()
/obj/item/implant/tracking/Initialize(mapload)
@@ -11,6 +11,8 @@
/obj/item/implant/uplink/Initialize(mapload, owner, uplink_flag)
. = ..()
if(!uplink_flag)
uplink_flag = src.uplink_flag
var/datum/component/uplink/new_uplink = AddComponent(/datum/component/uplink, _owner = owner, _lockable = TRUE, _enabled = FALSE, uplink_flag = uplink_flag, starting_tc = starting_tc)
new_uplink.unlock_text = "Your Syndicate Uplink has been cunningly implanted in you, for a small TC fee. Simply trigger the uplink to access it."
RegisterSignal(src, COMSIG_COMPONENT_REMOVING, .proc/_component_removal)