Files
2543d88548 Punch Clock PDA Application/Modular Console (#2900)
## About The Pull Request
Adds a new NTOS application to the game: "Plexagon Punch Clock", which
functions similarly to the time clock in cryo.
Using the app, crew members can clock out wherever they want. This will
also create a locked briefcase containing certain job-related items;
this can be unlocked by the player once they return to the shift, or by
a relevant Command member.
For later changes I'd like to be able to have this app be able to clock
in/out a user via their DNA imprint.
## Why It's Good For The Game
- It's easier to clock out before going for RP/ERP when done with work.
- Placing job items in an easily-accessible box means that it's less
annoying to return to work after finishing RP/ERP
- Convenience
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>

![GIF 12-Jan-25 6-22-47
PM](https://github.com/user-attachments/assets/2b90ccb6-a175-4e2a-80c2-bfe717f99358)
</details>

## Changelog
🆑 ArrisFairburne, LT3
add: Added a new app to clock in and out from any NT OS-compatible
device (Plexagon Punch Clock)
qol: Your job items are now locked into a box instead of warped to cryo,
when clocking out
/🆑

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: The Sharkening <95130227+StrangeWeirdKitten@users.noreply.github.com>
2025-02-11 01:03:45 -08:00

22 lines
884 B
Plaintext

/obj/machinery/modular_computer/preset/time_clock
name = "punch clock"
desc = "Allows employees to punch in and out of their jobs. Figuratively, not literally... I hope."
icon = 'modular_zubbers/icons/obj/machines/time_clock.dmi'
density = FALSE
light_color = LIGHT_COLOR_DARK_BLUE
starting_programs = list(
/datum/computer_file/program/crew_self_serve,
)
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/modular_computer/preset/time_clock, 28)
/obj/machinery/modular_computer/preset/time_clock/Initialize(mapload)
. = ..()
SSticker.OnRoundstart(CALLBACK(src, PROC_REF(setup_starting_software)))
/obj/machinery/modular_computer/preset/time_clock/proc/setup_starting_software()
var/datum/computer_file/program/crew_self_serve/punch_clock = cpu.find_file_by_name("plexagonselfserve")
cpu.active_program = punch_clock
punch_clock.register_signals()
set_light(light_strength)