Skip to content

Playtime enhancements/port#126

Merged
flleeppyy merged 29 commits into
Monkestation:masterfrom
flleeppyy:playtime-enhancements
Oct 27, 2025
Merged

Playtime enhancements/port#126
flleeppyy merged 29 commits into
Monkestation:masterfrom
flleeppyy:playtime-enhancements

Conversation

@flleeppyy

@flleeppyy flleeppyy commented Sep 11, 2025

Copy link
Copy Markdown
Member

About The Pull Request

This PR adds SQL playtime experience tracking from Tg/monkestation.

  • Adds new verb View tracked playtime
  • New configuration options:
    • USE_EXP_TRACKING - Rrack player playtime in the database. Requires database to be enabled.
    • USE_EXP_RESTRICTIONS_HEADS - Enable playtime requirements for head jobs.
    • USE_EXP_RESTRICTIONS_HEADS_HOURS 3 - Leave this commented out to use the values defined in the job datums. Values in the datums are stored as minutes. Unhash this to override head jobs' playtime requirements with this number of hours.
    • USE_EXP_RESTRICTIONS_HEADS_DEPARTMENT - Change head jobs' playtime requirements so that they're based on department playtime, rather than crew playtime.
    • USE_EXP_RESTRICTIONS_OTHER - Enable playtime requirements for certain non-head jobs, like Engineer and Scientist.
    • USE_EXP_RESTRICTIONS_ADMIN_BYPASS - Allows admins to bypass job playtime requirements.
    • USE_LOW_LIVING_HOUR_INTERN - Have intern tags automatically added to ID cards for station roles depending on the living hours of the player holding them.
    • USE_LOW_LIVING_HOUR_INTERN_HOURS 50 - If USE_LOW_LIVING_HOUR_INTERN is unhashed, players under this number of living hours have [Intern] added to their ID card. If this isn't set, uses USE_EXP_RESTRICTIONS_HEADS_HOURS instead. If that isn't set, it finally defaults to a hardcoded fallback of 15 hours.
  • Adds new tables role_time role_timeLog and renames populations to legacy_population
  • Since playtimes now actually work, notes will now accurately represent a palyers playtime when a note is taken, at that time.
  • Adds the blackbox, which is required for playtime tracking.
    • Note: There are a lot of blackbox record_feedback calls that are missing all over the codebase, just reference monkestation or tgstation for blackbox feedback calls.
  • Replaces/removes the old playtime code in the jobs subsystem in favor of the new playtime code. yeap.

Other shit:

  • Fixes the pen light saying "Your flashlight dies" when it's technically a pen light, not a flashlight, so now it says "Your [name] dies." or "Your penlight dies."
  • Removes unused config flag mentors
  • Uncomments /mob/log_message so it works again now
  • Partially ports persistent clients and whatever else came after that
    • I say partially because on Monkestation it's used primarily for patreon and twitch link tracking, but we don't have/want that on Eris so it's kinda just keeping track of... byond version, previous names and logs.
  • Fixes a bug where titlescreen music would play anyway, on /mob/new_player/Login.
    • Also ensures the title screen music plays at the same time for everyone after initializations are complete.
  • Moved around some code comments for better documentation
  • PDA labels now read from the name of the ID card instead of trying to make a label for itself.

Bounty description

This PR completes bounty 002 Persistent Clients from Monkestation

Persistent clients are a way to keep information stored to ensure player data isn't lost between connections. We should utilize this

Why It's Good For The Game

Much better and NOT shit playtime tracking is nice for everyone :)

Testing

Playtime window

gpZFb8A2Xx

Hovering over the playtimes that are more than a day (24 hours) will show you the pure hours instead of the fancyily formatted time.

image

Intern ID cards & PDAs

image

Character Setup (Occupations)

o5ovkbYqdY

Changelog

🆑
add: SQL playtime system, check your playtime via OOC > View tracked playtime
/:cl:

@ChiefMonkengineer

ChiefMonkengineer commented Sep 13, 2025

Copy link
Copy Markdown
Collaborator

Test merge deployment history:

Test Merge Deployed @ 09/13/2025 17:14:53 +00:00:
Server Instance

Monkeris

Merged By

flleeppyy2

Revision

Origin: 2289fd3
Pull Request: 54af37f
Server: 31528de25aca1c17b0b274d19a395c56f31069d8

Test Merge Updated @ 09/13/2025 17:51:02 +00:00:
Server Instance

Monkeris

Merged By

flleeppyy2

Revision

Origin: 2289fd3
Pull Request: bb1f849
Server: b66eec15708884c371578a41bb2d0700b29be8e5

Test Merge Updated @ 09/14/2025 16:38:56 +00:00:
Server Instance

Monkeris

Merged By

mycah

Revision

Origin: e708f17
Pull Request: bb1f849
Server: 0343db418506673a68267df519c2d507e26f1895

Test Merge Removed @ 10/01/2025 02:06:13 +00:00:
Server Instance

Monkeris

Test Merge Deployed @ 10/01/2025 02:07:13 +00:00:
Server Instance

Monkeris

Merged By

flleeppyy2

Revision

Origin: 9424d3f
Pull Request: ac62303
Server: 353c4d1651a7b3393ed4ebfc3ae31c6827eef378

Test Merge Updated @ 10/07/2025 10:24:07 +00:00:
Server Instance

Monkeris

Merged By

flleeppyy2

Revision

Origin: 56a7ec3
Pull Request: af1badd
Server: c5cf4eb8878831c8bb31d21884ff4ba15499c169

Test Merge Updated @ 10/26/2025 11:14:53 +00:00:
Server Instance

Monkeris

Merged By

flleeppyy2

Revision

Origin: c2128c5
Pull Request: 3746473
Server: 9bdeaae9de9187c9db691867607c29c25482ccaa

Test Merge Updated @ 10/26/2025 11:17:56 +00:00:
Server Instance

Monkeris

Merged By

flleeppyy2

Revision

Origin: c2128c5
Pull Request: 3746473
Server: e51c3031ee99166bfd59084f4915aa827890aaac

Test Merge Removed @ 10/26/2025 11:28:31 +00:00:
Server Instance

Monkeris

Test Merge Deployed @ 10/26/2025 11:48:45 +00:00:
Server Instance

Monkeris

Merged By

flleeppyy2

Revision

Origin: c2128c5
Pull Request: 3746473
Server: e51c3031ee99166bfd59084f4915aa827890aaac

Test Merge Updated @ 10/26/2025 12:18:14 +00:00:
Server Instance

Monkeris

Merged By

flleeppyy2

Revision

Origin: c2128c5
Pull Request: 3280b55
Server: 3872dbb3d1a1535a84dc32ee744408033991b26a

Test Merge Updated @ 10/27/2025 18:01:29 +00:00:
Server Instance

Monkeris

Merged By

flleeppyy2

Revision

Origin: 61ca898
Pull Request: b80d738
Server: cf7531f6de38e42924551b4435385771a5038bc4

Test Merge Removed @ 10/27/2025 18:58:10 +00:00:
Server Instance

Monkeris

@Mycah142 Mycah142 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FINE

@flleeppyy flleeppyy merged commit 6e6ac98 into Monkestation:master Oct 27, 2025
6 checks passed
@github-project-automation github-project-automation Bot moved this from Labeling Complete to Close in Monkestation-TG Issues Tracker Oct 27, 2025
github-actions Bot pushed a commit that referenced this pull request Oct 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Development

Successfully merging this pull request may close these issues.

4 participants