Vgstation13: Freeing up job roles automatically AKA "our detective wants quit, send us a new one"

Created on 2 Nov 2016  路  26Comments  路  Source: vgstation-coders/vgstation13

I can't remember if I was talking to @clusterfack or @PJB3005 about this but basically the idea is that you'd have the ability for players to gracefully remove themselves from round.

I'm not entirely sure, offhand, how to execute this without fucking up. My first impression was

  • Player wants to quit
  • Player gets his resignation stamped by heads
  • Player departs on a departures shuttle specifically for this purpose, or some other method (suicide booth?)
  • Players in lobby would have the ability to select the departee's job as if it were never taken, and would arrive like any other latejoiner. Departee would become a ghost and would be treated as if they suicided.

Potential problems:

  • No heads to stamp
  • Player items need to stay on station (which we can deal with with code, so whatever)
  • If using a "departures shuttle", would need to prevent non-departing players from being shipped off, so maybe we don't use this.
  • Traitor targets probably need to stay on station no matter what

Input is welcome, tagged discussion for a reason.

Discussion Feature Request Gameplay / Gamemode

Most helpful comment

I like the idea of a suicide booth too

All 26 comments

Yeah I was talking about that with you, I think its a good idea.

You could have the 'shuttle' be filled with objects to block people from entering, while having the 'doors' to the shuttle be pods from sood's post but made to look like doors. The arrivals shuttle is inert so I don't see why this would pose a problem from a player's point of view.

A reverse arrival shuttle, essentially.

You could make it be a "departure shuttle" that is actually an incineration chamber, like in Moon.

Also this kind of thing would make sense for an IAA to handle.

We could have the "stamps" process instead just be some kind of automated fax system where centcomm allows/denies the departure based on whether they're an objective target?
Metagaming may occur no matter how we handle that situation though

Even if they ARE an objective target, the only possible objective would be "kill them" right?

Wouldn't a trip to the incineration chamber fulfill that?

It'd effectively be the same as a traitor getting greentext from their target suiciding.

My immediate concern is revs, really. If the only head "quits" then the round is instantly over.

Don't rev rounds usually end in 10 minutes or so anyway due to the entire crew bum-rushing the heads?

Well there's still

revsquad

ending now is better than ending never ever

We could just prevent heads from doing this and make them go the old-fashioned route and bwoink the mins.
Or leave it unrestricted and see what problems pop up and fix those later.

We could allow the heads to do this, but also make them bwoink the admins like they'd have to if they wanted to suicide and leave.

Whats so wrong with just suiciding somewhere? I'm pretty sure you get listed as Inactive or something when other players join and the slot opens a little (Maybe not for head roles but I've seen it for other ones when late-joining).
Most of the time you end up in the morgue or somewhere on the floor on Medbay anyway.

@Shadowmech88 sure
@whorena The idea is that roles that might be vital to a station would be able to re-filled by players latejoining. So if all of sec goes braindead one hour into a multi-hour round, you'd be able to get new officers from latejoins instead of running out of sec officers, for instance.

I like the idea of a suicide booth too

getting new mimes or janitors is A++ in my book

Kinda like the sleeper pods from baycode?
While at it -- what actually governs the (active) number in the slot selection screen?
Does setting people to deceased or inactive in the medical records actually do anything?

I believe people are referred to as inactive based on being braindead, catatonic, or actually dead.
I don't think the medical records have anything to do with it.

I could be wrong, though.

I'm pretty sure it's the medical records. Otherwise that would be a fantastic metagaming tool.

But who even _updates_ the medical records?

Few people. That's why the names basically always all say active.

    for(var/datum/job/job in job_master.occupations)
        if(job && IsJobAvailable(job.title))
            var/active = 0
            // Only players with the job assigned and AFK for less than 10 minutes count as active
            for(var/mob/M in player_list) if(M.mind && M.client && M.mind.assigned_role == job.title && M.client.inactivity <= 10 * 60 * 10)
                active++
            dat += "<a href='byond://?src=\ref[src];SelectedJob=[job.title]'>[job.title] ([job.current_positions]) (Active: [active])</a><br>"

So if the mob has a mind, a logged in client, their mind's assigned role is still their job title, and their inactivity is less than something like 10 minutes, they show up as active.

Although I think goonchat broke inactivity.

Meaning they're inactive if:

  • They log out
  • They are ghosted/braindead
  • Their MIND'S job title has changed from default (and I just checked alt job titles like Pathologist for Viro does not affect this)

That last one mostly only occurs when they get a new body as far as I can tell

The good thing about the cryopods that our current system doesn't handle is that stores whatever equipment you had on you when you leave the game. Instead of the current system of "find your predecessors corpse and hope you have spares of whatever's been looted already".

Wasn't there a thing where the HoP could open slots as well, or was that on another codebase

we have that at tg, yeah @Chronakai

just make suicide booths

This was completed by the requests console

Was this page helpful?
0 / 5 - 0 ratings

Related issues

DamianX picture DamianX  路  3Comments

SonixApache picture SonixApache  路  3Comments

N3X15 picture N3X15  路  3Comments

kol1th picture kol1th  路  3Comments

Supermichael777 picture Supermichael777  路  3Comments