mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-15 01:54:52 +01:00
Merge commit '179a607a90ad7ec62bdaff4e6fe72af60ee56442' of https://github.com/tgstation/tgstation into upstream-24-10b
This commit is contained in:
@@ -139,7 +139,6 @@
|
||||
UpdateDisplay()
|
||||
if(has_light)
|
||||
add_item_action(/datum/action/item_action/toggle_computer_light)
|
||||
RegisterSignal(src, COMSIG_HIT_BY_SABOTEUR, PROC_REF(on_saboteur))
|
||||
if(inserted_disk)
|
||||
inserted_disk = new inserted_disk(src)
|
||||
if(internal_cell)
|
||||
@@ -197,7 +196,7 @@
|
||||
/obj/item/modular_computer/pre_attack_secondary(atom/A, mob/living/user, params)
|
||||
if(active_program?.tap(A, user, params))
|
||||
user.do_attack_animation(A) //Emulate this animation since we kill the attack in three lines
|
||||
playsound(loc, 'sound/weapons/tap.ogg', get_clamped_volume(), TRUE, -1) //Likewise for the tap sound
|
||||
playsound(loc, 'sound/items/weapons/tap.ogg', get_clamped_volume(), TRUE, -1) //Likewise for the tap sound
|
||||
addtimer(CALLBACK(src, PROC_REF(play_ping)), 0.5 SECONDS, TIMER_UNIQUE) //Slightly delayed ping to indicate success
|
||||
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
|
||||
return ..()
|
||||
@@ -251,7 +250,7 @@
|
||||
/obj/item/modular_computer/get_id_examine_strings(mob/user)
|
||||
. = ..()
|
||||
if(computer_id_slot)
|
||||
. += "\The [src] is displaying [computer_id_slot]."
|
||||
. += "[src] is displaying [computer_id_slot]:"
|
||||
. += computer_id_slot.get_id_examine_strings(user)
|
||||
|
||||
/obj/item/modular_computer/proc/print_text(text_to_print, paper_title = "")
|
||||
@@ -289,7 +288,7 @@
|
||||
to_chat(user, span_notice("You insert \the [inserting_id] into the card slot."))
|
||||
balloon_alert(user, "inserted ID")
|
||||
|
||||
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE)
|
||||
playsound(src, 'sound/machines/terminal/terminal_insert_disc.ogg', 50, FALSE)
|
||||
|
||||
if(ishuman(loc))
|
||||
var/mob/living/carbon/human/human_wearer = loc
|
||||
@@ -323,7 +322,7 @@
|
||||
|
||||
if(!silent && !isnull(user))
|
||||
to_chat(user, span_notice("You remove the card from the card slot."))
|
||||
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE)
|
||||
playsound(src, 'sound/machines/terminal/terminal_insert_disc.ogg', 50, FALSE)
|
||||
balloon_alert(user, "removed ID")
|
||||
|
||||
if(ishuman(loc))
|
||||
@@ -550,7 +549,7 @@
|
||||
* The program calling this proc.
|
||||
* The message that the program wishes to display.
|
||||
*/
|
||||
/obj/item/modular_computer/proc/alert_call(datum/computer_file/program/caller, alerttext, sound = 'sound/machines/twobeep_high.ogg')
|
||||
/obj/item/modular_computer/proc/alert_call(datum/computer_file/program/caller, alerttext, sound = 'sound/machines/beep/twobeep_high.ogg')
|
||||
if(!caller || !caller.alert_able || caller.alert_silenced || !alerttext) //Yeah, we're checking alert_able. No, you don't get to make alerts that the user can't silence.
|
||||
return FALSE
|
||||
playsound(src, sound, 50, TRUE)
|
||||
@@ -560,13 +559,13 @@
|
||||
if(!use_energy())
|
||||
return
|
||||
if(HAS_TRAIT(SSstation, STATION_TRAIT_PDA_GLITCHED))
|
||||
playsound(src, pick('sound/machines/twobeep_voice1.ogg', 'sound/machines/twobeep_voice2.ogg'), 50, TRUE)
|
||||
playsound(src, pick('sound/machines/beep/twobeep_voice1.ogg', 'sound/machines/beep/twobeep_voice2.ogg'), 50, TRUE)
|
||||
else
|
||||
playsound(src, 'sound/machines/twobeep_high.ogg', 50, TRUE)
|
||||
playsound(src, 'sound/machines/beep/twobeep_high.ogg', 50, TRUE)
|
||||
audible_message("*[ringtone]*")
|
||||
|
||||
/obj/item/modular_computer/proc/send_sound()
|
||||
playsound(src, 'sound/machines/terminal_success.ogg', 15, TRUE)
|
||||
playsound(src, 'sound/machines/terminal/terminal_success.ogg', 15, TRUE)
|
||||
|
||||
// Function used by NanoUI's to obtain data for header. All relevant entries begin with "PC_"
|
||||
/obj/item/modular_computer/proc/get_header_data()
|
||||
@@ -753,20 +752,16 @@
|
||||
update_item_action_buttons(force = TRUE) //force it because we added an overlay, not changed its icon
|
||||
return TRUE
|
||||
|
||||
/**
|
||||
* Disables the computer's flashlight/LED light, if it has one, for a given disrupt_duration.
|
||||
*
|
||||
* Called when sent COMSIG_HIT_BY_SABOTEUR.
|
||||
*/
|
||||
/obj/item/modular_computer/proc/on_saboteur(datum/source, disrupt_duration)
|
||||
SIGNAL_HANDLER
|
||||
//Disables the computer's flashlight/LED light, if it has one, for a given disrupt_duration.
|
||||
/obj/item/modular_computer/on_saboteur(datum/source, disrupt_duration)
|
||||
. = ..()
|
||||
if(!has_light)
|
||||
return
|
||||
set_light_on(FALSE)
|
||||
update_appearance()
|
||||
update_item_action_buttons(force = TRUE) //force it because we added an overlay, not changed its icon
|
||||
COOLDOWN_START(src, disabled_time, disrupt_duration)
|
||||
return COMSIG_SABOTEUR_SUCCESS
|
||||
return TRUE
|
||||
|
||||
/**
|
||||
* Sets the computer's light color, if it has a light.
|
||||
|
||||
@@ -211,7 +211,7 @@
|
||||
if("PC_Imprint_ID")
|
||||
imprint_id()
|
||||
UpdateDisplay()
|
||||
playsound(src, 'sound/machines/terminal_processing.ogg', 15, TRUE)
|
||||
playsound(src, 'sound/machines/terminal/terminal_processing.ogg', 15, TRUE)
|
||||
|
||||
if("PC_Pai_Interact")
|
||||
switch(params["option"])
|
||||
|
||||
@@ -165,7 +165,7 @@
|
||||
else
|
||||
balloon_alert(user, "inserted [tool]")
|
||||
inserted_item = tool
|
||||
playsound(src, 'sound/machines/pda_button1.ogg', 50, TRUE)
|
||||
playsound(src, 'sound/machines/pda_button/pda_button1.ogg', 50, TRUE)
|
||||
return ITEM_INTERACT_SUCCESS
|
||||
|
||||
|
||||
@@ -184,7 +184,7 @@
|
||||
|
||||
/obj/item/modular_computer/pda/proc/remove_pen(mob/user)
|
||||
|
||||
if(issilicon(user) || !user.can_perform_action(src, FORBID_TELEKINESIS_REACH)) //TK doesn't work even with this removed but here for readability
|
||||
if(issilicon(user) || !user.can_perform_action(src, FORBID_TELEKINESIS_REACH | NEED_DEXTERITY)) //TK doesn't work even with this removed but here for readability
|
||||
return
|
||||
|
||||
if(inserted_item)
|
||||
@@ -192,7 +192,7 @@
|
||||
user.put_in_hands(inserted_item)
|
||||
inserted_item = null
|
||||
update_appearance()
|
||||
playsound(src, 'sound/machines/pda_button2.ogg', 50, TRUE)
|
||||
playsound(src, 'sound/machines/pda_button/pda_button2.ogg', 50, TRUE)
|
||||
|
||||
/obj/item/modular_computer/pda/proc/swap_pen(mob/user, obj/item/tool)
|
||||
if(inserted_item)
|
||||
@@ -200,7 +200,7 @@
|
||||
user.put_in_hands(inserted_item)
|
||||
inserted_item = tool
|
||||
update_appearance()
|
||||
playsound(src, 'sound/machines/pda_button1.ogg', 50, TRUE)
|
||||
playsound(src, 'sound/machines/pda_button/pda_button1.ogg', 50, TRUE)
|
||||
|
||||
/obj/item/modular_computer/pda/proc/explode(mob/target, mob/bomber, from_message_menu = FALSE)
|
||||
var/turf/current_turf = get_turf(src)
|
||||
@@ -325,12 +325,21 @@
|
||||
///Ref to the silicon we're installed in. Set by the silicon itself during its creation.
|
||||
var/mob/living/silicon/silicon_owner
|
||||
|
||||
/obj/item/modular_computer/pda/silicon/pai
|
||||
starting_programs = list(
|
||||
/datum/computer_file/program/messenger,
|
||||
/datum/computer_file/program/chatclient,
|
||||
)
|
||||
|
||||
/obj/item/modular_computer/pda/silicon/cyborg
|
||||
starting_programs = list(
|
||||
/datum/computer_file/program/filemanager,
|
||||
/datum/computer_file/program/robotact,
|
||||
/datum/computer_file/program/crew_manifest, // SKYRAT EDIT ADDITION - Manifests for borgs
|
||||
/datum/computer_file/program/messenger, // SKYRAT EDIT ADDITION - Messenger for borgs
|
||||
/datum/computer_file/program/borg_monitor,
|
||||
/datum/computer_file/program/atmosscan,
|
||||
/datum/computer_file/program/crew_manifest,
|
||||
)
|
||||
|
||||
/obj/item/modular_computer/pda/silicon/Initialize(mapload)
|
||||
|
||||
@@ -427,6 +427,14 @@
|
||||
/datum/computer_file/program/borg_monitor,
|
||||
)
|
||||
|
||||
/obj/item/modular_computer/pda/pun_pun
|
||||
name = "monkey PDA"
|
||||
greyscale_colors = "#ffcc66#914800"
|
||||
starting_programs = list(
|
||||
/datum/computer_file/program/bounty_board,
|
||||
/datum/computer_file/program/emojipedia,
|
||||
)
|
||||
|
||||
/**
|
||||
* Non-roles
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user