Ports mod link system and scryers (#28479)

* commiting

* and this

* the rest of the fucking owl

* name moment

* in my defense it printed

* Apply suggestions from code review

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

* woe old code removey

* and tgui / comment

* Apply suggestions from code review

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

---------

Signed-off-by: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>
Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2025-04-24 14:52:45 +00:00
committed by GitHub
co-authored by PollardTheDragon Burzah
parent e6ad589b41
commit fddf9be567
23 changed files with 773 additions and 25 deletions
+2 -1
View File
@@ -646,7 +646,8 @@
/datum/action/item_action/accessory/storage
name = "View Storage"
/datum/action/item_action/call_link
name = "Call MODlink"
//Preset for spells
/datum/action/spell_action
@@ -100,3 +100,32 @@
light.color = new_color
light.brightness_color = new_color
light.update(FALSE, TRUE, FALSE)
/datum/station_trait/scryers
name = "Scryers"
trait_type = STATION_TRAIT_NEUTRAL
weight = 5
show_in_report = TRUE
report_message = "Nanotrasen has chosen your station for an experiment - everyone has free scryers! Use these to talk to other people easily and privately."
/datum/station_trait/scryers/New()
. = ..()
RegisterSignal(SSdcs, COMSIG_GLOB_JOB_AFTER_SPAWN, PROC_REF(on_job_after_spawn))
/datum/station_trait/scryers/proc/on_job_after_spawn(datum/source, datum/job/job, mob/living/spawned, client/player_client)
SIGNAL_HANDLER // COMSIG_GLOB_JOB_AFTER_SPAWN
if(!ishuman(spawned))
return
var/mob/living/carbon/human/humanspawned = spawned
// Put their silly little scarf or necktie somewhere else
var/obj/item/silly_little_scarf = humanspawned.neck
if(silly_little_scarf)
humanspawned.unequip(silly_little_scarf)
silly_little_scarf.forceMove(get_turf(humanspawned))
humanspawned.equip_in_one_of_slots(silly_little_scarf, ITEM_SLOT_IN_BACKPACK, ITEM_SLOT_LEFT_POCKET, ITEM_SLOT_RIGHT_POCKET)
var/obj/item/clothing/neck/link_scryer/loaded/new_scryer = new(spawned)
new_scryer.label = spawned.name
new_scryer.update_appearance(UPDATE_NAME)
spawned.equip_to_slot_or_del(new_scryer, ITEM_SLOT_NECK, initial = FALSE)