This changes the default alt job setting to return players to the lobby
if their job preferences are unavailable.
Reasoning:
- Random jobs should be an opt in, not an opt out, feature
- Typically,
new players can overlook this option or misunderstand what it means, and
end up in roles they may not have prepared themselves for.
- Being assigned a job that a person absolutely does NOT want means its
far less likely they will even do their job. We can only hope they cryo
in such cases. I'd rather just address one potential source of issues.
Potential cons:
- Might slightly reduce filling the less desireable jobs, but I think
the pros far outweight the cons.
This has NO effect on existing players, unless the admins decide to run
an SQL query. This ONLY affects new players.
🆑
Tweak: Default Alternate Job Preference changed to "Return to Lobby".
Only affects new players.
/🆑
Required SQL Change:
ALTER TABLE `characters` ADD `autohiss` TINYINT(1) NOT NULL AFTER `gear`;
Ingame changing of auto-accent level is no different.
This peference can be different on each of your characters.
- All antag roles now have playtime requirements.
- Solo antags require 3 hours, partner antags (e.g: guardian) require
5h, team-based antags (shadowlings, nukeops, etc) require 10h. Abductors
and ERTs require 20h.
- If someone can't choose a certain role, it will display as "[IN X
HRS]" in their preferences panel.
- These restrictions are enabled by the same config as job playtime
requirements are. Once this PR is merged, we can remove
USE_AGE_RESTRICTION_FOR_JOBS from our config.
Players:
- The only thing that you should notice is that your backpack options
have changed. Instead of being "None", "Backpack", "Satchel", and
"Satchel Alt", there are 6 options:
- "Grey Backpack": Ensures you always recieve a plain grey backpack.
- "Grey Satchel": Same as the above, grey, plain, satchel.
- "Grey Dufflebag": So you don't have to rush the locker room, I
guess. Just kinda ransacked it from /tg/. Happy to revert it, please
do not post a five paragraph text wall calling me a shitlord
powergaming hitler-loving furry.
- "Leather Satchel": It's a leather satchel. What the hell did you
think it was?
- "Department Backpack": Gives you the department's default backpack.
Grey for most jobs.
- "Department Satchel": It gives you the department's default
satchel; A grey satchel if the department doesn't have one.
Coders:
- The above means this needs a minor SQL change:
```
SQL goes here
I'll write a query later
Can't be bothered now
Kill me please
```
- This is a cleaner method of handling job equipment than
"M.equip_or_collect" x 1000. Jobs specify a '/datum/outfit' datum,
which defines all of the things to equip to the user.
- Minor note: equip_or_collect will no longer ever generate a plastic
bag. It will instead just drop stuff on the floor if it can't stuff it
into a mob. If this is even slightly a point of contention, more than
happy to revert it; It was just requested by Fox.
- Addendum: This also has the effect of making it so that labcoats
are just thrown onto the floor if you have a loadout suit. It's not
really avoidable. Uniforms and suits are equipped before the
backpack.
- Changes from /tg/:
- Changed all of the "H.equip_to_slot_or_del" calls into invoking a
new "equip_item" proc; This is used to support a new variable called
"collect_not_del". Job outfits use this, it makes it so that the
system calls equip_or_collect instead of equip_to_slot_or_del. The
idea being that job items should never be lost to the void,
especially because they can conflict with loadout items.
TODO:
- Retrofit "Equip Mob" verb to use this for all of the non-job options
- Fully implement head announcements(?)
- May be best for a second PR that addresses all of the real issues
with our current job system
( Now go reread that SQL code block :) )