- 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
- 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.
- Hid XP info from mentors (Fox request)
- Commented the verb that lets normal players see their XP (Neca
request)
- Added logging for usage of admin XP verbs
- Deleted old commented code
- Formatted XP numbers in reports as "1h", "3h", "27h" etc rather than a
# of points/minutes.
message_admins is sometimes used for warnings during creation of a
client's preferences datum, which means it can get called while an
admin's prefs doesn't exist
Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.
Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.
- Makes heads keep hair on removal
- Amputated limbs from a DNA-injected individual now will keep their
appearance of the DNA-injected person
- Wounds will now vanish on their own now
- Admins now have an "incarnate" option on the player panel when viewing
ghosts for quick player instantiation
- Fixes a runtime regarding failing a limb reconnection surgery
- Copying a client's preferences now overrides the previous mob's DNA