Merge branch 'master' of https://github.com/tgstation/tgstation into pulls-tg-to-fix-shit

This commit is contained in:
Waterpig
2024-09-08 00:59:39 +02:00
1728 changed files with 273718 additions and 2237 deletions
@@ -75,9 +75,15 @@
var/comp_light_color = COLOR_WHITE
///Power usage when the computer is open (screen is active) and can be interacted with.
<<<<<<< HEAD
var/base_active_power_usage = 0.4 WATTS // SKYRAT EDIT CHANGE - ORIGINAL: 2 WATTS
///Power usage when the computer is idle and screen is off.
var/base_idle_power_usage = 0.2 WATTS //SKYRAT EDIT CHANGE - ORIGINAL: 1 WATTS
=======
var/base_active_power_usage = 2 WATTS
///Power usage when the computer is idle and screen is off.
var/base_idle_power_usage = 1 WATTS
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
// Modular computers can run on various devices. Each DEVICE (Laptop, Console & Tablet)
// must have its own DMI file. Icon states must be called exactly the same in all files, but may look differently
@@ -43,7 +43,6 @@
///Charge depends on whether the PC is on, and what programs are running/idle on it.
/obj/item/modular_computer/proc/handle_power(seconds_per_tick)
var/power_usage = screen_on ? base_active_power_usage : base_idle_power_usage
if(light_on)
power_usage *= FLASHLIGHT_DRAIN_MULTIPLIER
if(active_program)
@@ -54,6 +53,19 @@
if(open_programs in idle_threads)
power_usage += (open_programs.power_cell_use / 2)
<<<<<<< HEAD
if(light_on)
power_usage *= FLASHLIGHT_DRAIN_MULTIPLIER
if(active_program)
power_usage += active_program.power_cell_use
for(var/datum/computer_file/program/open_programs as anything in idle_threads)
if(!open_programs.power_cell_use)
continue
if(open_programs in idle_threads)
power_usage += (open_programs.power_cell_use / 2)
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
if(use_energy(power_usage * seconds_per_tick))
return TRUE
power_failure()
@@ -38,10 +38,14 @@
/datum/computer_file/program/messenger,
/datum/computer_file/program/nt_pay,
/datum/computer_file/program/notepad,
<<<<<<< HEAD
// SKYRAT EDIT ADDITION START
/datum/computer_file/program/maintenance/camera, // Adds camera to all base tablets
// SKRAT EDIT ADDITION END
/datum/computer_file/program/crew_manifest
=======
/datum/computer_file/program/crew_manifest,
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
)
///List of items that can be stored in a PDA
var/static/list/contained_item = list(
@@ -329,8 +333,11 @@
starting_programs = list(
/datum/computer_file/program/filemanager,
/datum/computer_file/program/robotact,
<<<<<<< HEAD
/datum/computer_file/program/crew_manifest, // SKYRAT EDIT ADDITION - Manifests for borgs
/datum/computer_file/program/messenger, // SKYRAT EDIT ADDITION - Messenger for borgs
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
)
/obj/item/modular_computer/pda/silicon/Initialize(mapload)
@@ -425,7 +432,11 @@
return TRUE
/obj/item/modular_computer/pda/silicon/ui_state(mob/user)
<<<<<<< HEAD
return GLOB.reverse_contained_state
=======
return GLOB.deep_inventory_state
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
/obj/item/modular_computer/pda/silicon/cyborg/syndicate
icon_state = "tablet-silicon-syndicate"
@@ -365,12 +365,18 @@
/datum/computer_file/program/newscaster,
)
<<<<<<< HEAD
/* // SKYRAT EDIT REMOVAL BEGIN - Mutes the Curator's ringer on spawn
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
/obj/item/modular_computer/pda/curator/Initialize(mapload)
. = ..()
for(var/datum/computer_file/program/messenger/msg in stored_files)
msg.alert_silenced = TRUE
<<<<<<< HEAD
*/ // SKYRAT EDIT REMOVAL END
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
/obj/item/modular_computer/pda/psychologist
name = "psychologist PDA"
@@ -1,57 +0,0 @@
# Modular computer programs
How module computer programs work
Ok. so a quick rundown on how to make a program. This is kind of a shitty documentation, but oh well I was asked to.
## Base setup
This is how the base program is setup. the rest is mostly tgui stuff. I'll use the ntnetmonitor as a base
```DM
/datum/computer_file/program/ntnetmonitor
/// This is obviously the name of the file itself. not much to be said
filename = "ntmonitor"
/// This is sort of the official name. it's what shows up on the main menu
filedesc = "NTNet Diagnostics and Monitoring"
/// This is what the screen will look like when the program is active
program_icon_state = "comm_monitor"
/// This is a sort of a description, visible when looking on the ntnet
extended_desc = "This program is a dummy."
/// size of the program. Big programs need more hard drive space. Don't
/// make it too big though.
size = 12
/// If this is set, the program will not run without an ntnet connection,
/// and will close if the connection is lost. Mainly for primarily online
/// programs.
requires_ntnet = 1
/// This is access required to run the program itself.
run_access = access_network
/// This is the access needed to download from ntnet or host on the ptp
/// program. This is what you want to use most of the time.
download_access = access_change_ids
/// If it's available to download on ntnet. pretty self explanatory.
available_on_ntnet = 1
/// ditto but on emagged syndie net. Use this for antag programs
available_on_syndinet = 0
/// Bitflags (PROGRAM_CONSOLE, PROGRAM_LAPTOP, PROGRAM_PDA combination)
/// or PROGRAM_ALL. Use this to limit what kind of machines can run the
/// program. For example, comms program should be limited to consoles and laptops.
usage_flags = PROGRAM_ALL
/// This one is kinda cool. If you have the program minimized, this will
/// show up in the header of the computer screen. You can even have the
/// program change what the header is based on the situation! See `alarm.dm`
/// for an example.
var/ui_header = "downloader_finished.gif"
```
@@ -305,6 +305,7 @@
if("toggleprivate")
self_paid = !self_paid
. = TRUE
<<<<<<< HEAD
//SKYRAT EDIT START
if("company_import_window")
var/datum/component/armament/company_imports/gun_comp = computer.GetComponent(/datum/component/armament/company_imports)
@@ -315,6 +316,8 @@
gun_comp.ui_interact(usr)
. = TRUE
//SKYRAT EDIT END
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
if(.)
post_signal(cargo_shuttle)
@@ -157,7 +157,11 @@
/datum/computer_file/program/messenger/ui_state(mob/user)
if(issilicon(user))
<<<<<<< HEAD
return GLOB.reverse_contained_state
=======
return GLOB.deep_inventory_state
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
return GLOB.default_state
/datum/computer_file/program/messenger/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
@@ -623,10 +627,13 @@
playsound(computer, 'sound/machines/terminal_error.ogg', 15, TRUE)
return FALSE
<<<<<<< HEAD
// SKYRAT EDIT BEGIN - PDA messages show a visible message; again!
sender.visible_message(span_notice("[sender]'s PDA rings out with the soft sound of keypresses"), vision_distance = COMBAT_MESSAGE_RANGE)
// SKYRAT EDIT END
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
var/shell_addendum = ""
if(istype(source, /obj/item/circuit_component))
var/obj/item/circuit_component/circuit = source
@@ -40,7 +40,10 @@
var/list/current_record = list()
current_record["age"] = person.age
<<<<<<< HEAD
current_record["chrono_age"] = person.chrono_age // SKYRAT EDIT ADDITION - Chronological age
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
current_record["fingerprint"] = person.fingerprint
current_record["gender"] = person.gender
current_record["name"] = person.name
@@ -54,8 +57,11 @@
for(var/datum/record/crew/person in GLOB.manifest.general)
var/list/current_record = list()
<<<<<<< HEAD
current_record["age"] = person.age // SKYRAT EDIT ADDITION - Chronological age
current_record["chrono_age"] = person.chrono_age // SKYRAT EDIT ADDITION - Chronological age
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
current_record["bloodtype"] = person.blood_type
current_record["ma_dis"] = person.major_disabilities_desc
current_record["mi_dis"] = person.minor_disabilities_desc