- Fix: Drones now get assigned_role = Drone.
- Tweak: AI is no longer considered a head job for playtime system
configuration purposes.
- Tweak: Job gating (when enabled - its off by default) is based on Crew
playtime now. This is for all jobs, including heads and AI. Gating based
on department playtime is still possible, but based on a separate config
option that's also turned off by default.
- Split EXP_TYPE_CREW into EXP_TYPE_LIVING (all living mobs) and
EXP_TYPE_CREW (actual crew positions). Job unlocks use EXP_TYPE_CREW.
General playtime reports use EXP_TYPE_LIVING. Playing corgi doesn't help
unlock jobs, but it does show in your stats.
- Added tracking for karma-locked jobs as a department in stats.
- Added quite a few safety checks.
- Split the per-client part of update_exp into update_exp_client
- Added new config option to let admins bypass the system, intended for
testing
- Moved defines to code\__DEFINES\preferences.dm
- Made use_exp_restrictions_heads_hours text2num'ed in configuration.dm,
rather than on use
- Converted all exp_types to #defines, instead of magic strings
- Moved exp_jobsmap to jobs.dm
- Replaced has_exp_for_job with job.available_in_playtime, which returns
- Changed <BR> -s to <LI>s, for proper HTML lists
- Made update_exp less indented, easier to read
- Fixed potential runtime in admin/topic.dm when calling exp window on a
non-existent mob
- Made job preferences screen tell you how long until you unlock each
locked job, in hours or minutes as appliccable
- Changed SQL storage format because mediumtext does not support default
''
- Converted exptimer() into a roundstart hook proc
Missed body tag
Typo fix
- Replaced 'EXP' with "Playtime' in most admin-visible locations. The
system is still invisible to normal players.
- Changed the types of exp you can accumulate from 'all', 'eng', 'sup',
etc to more human-friendly names like 'Crew', 'Engineering', and
'Supply'.
- Eliminated some copy-paste.
- Added a new configuration option: use_exp_restrictions_heads_hours.
When enabled and set to a >0 value, it overrides all head/ai job
playtime requirements, instead substituting that number of hours.
- New config option to set how many minutes is too early in a round to
abandon it
- Suicide-ghosting and cryo-ghosting now only make you non-respawnable
during the penalty period
- Manually entering a cryopod now despawns you 90% faster
- Joining as a drone now has a confirmation box
- Adds admin logging to creating and canceling votes
- Adds exception handling
- Adds deletion handling (should, theoretically, never be necessary)
- Adds tick-checking, just in case there's a lot of clients watching a
vote
- Adds the vote controller to the "debug controller" list
- Fixes that one "if" Tiger whined about
- Makes votes show votes for winning option, or all options in a custom
vote
- Makes the voting panel automatically update
- Makes the voting panel use the browser datum
- Turns the voting notice into a clickable link
- Fixes admin status not properly being checked when the voting page is
refreshed
- Replaces vote process with a spawned loop in the vote controller
- Removes vote processing from the pre-game game ticker