Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

This Kills The Tactical Bored Shuttle Call: Bored Call Blocker and Dynamic Shuttle Refueling #40461

Conversation

Iamgoofball
Copy link
Contributor

🆑 Iamgoofball and Ninjanomnom
add: The shuttle refuel timer is now based on amount of dead crewmembers.
experimental: It scales from 40 minutes down to 20 minutes the more crewmembers are dead, with the earlier crew deaths counting for more compared to later deaths. Suicides/ghosts do not count towards this number.
add: The shuttle will refuse to be called if less than 10% of the crew is dead(as long as there's at least 10 crewmembers, otherwise it just requires at least 1 person be dead). Don't call unless you need to.
fix: The shuttle evac checker is now more brutal, and will check to make there really is no way to produce a replacement communications console. No more "laser the two consoles and go home free", you'll need to actually make sure there's no way to call.
/:cl:

Goodbye "im bored" shuttle calls! Better learn to stick with your station or call the shuttle only when there's an actual emergency.

"muh war ops"
Don't worry, the system is compatible. They're guaranteed their five minutes of safety on the call delay, but might get more if there's less casualties.

@tgstation-server tgstation-server added Config Update Time to bother the headadmins for three months to get your config applied Feature Exposes new bugs in interesting ways Fix Rewrites a bug so it appears in different circumstances labels Sep 24, 2018
@vuonojenmustaturska
Copy link
Contributor

pretty sure we should add 40 minutes of content to a round before we add a 40 minute minimum round time

@fen0s
Copy link

fen0s commented Sep 24, 2018

I mean, science and robotics will like it, because more time to research mechs, more time to do xenobio, etc
Engineering gets more time to build their le fort, viro can make actual deadly/healing virus, and botany stabilize their plants. Also, bagil is most round-shorted server on the whole SS13 I think. While hippie average is one hour, bagil is 30-40 mins average. So, here's an upvote.

@Tlaltecuhtli
Copy link
Contributor

add suicide booths for assistants and other people that get bored in 20 min

@fen0s
Copy link

fen0s commented Sep 24, 2018

What's the point of suicide booths if there's hopline and suicide command?

@Barhandar
Copy link
Contributor

What's the point of suicide booths if there's hopline and suicide command?

because the next goof pr on speedmerge will be removal of hop and/or suicide command

@BeeSting12
Copy link
Contributor

After an hour the system should just revert back to normal. It should also check station integrity.

@Iamgoofball
Copy link
Contributor Author

Iamgoofball commented Sep 24, 2018

@BeeSting12 After an hour, the shuttle refuel has already ended, and statistically speaking by the round reports on the statbus, there's always at least 10% crew death.

@BebeYoshi
Copy link
Contributor

BebeYoshi commented Sep 24, 2018

What if someone just punch themselves to death or jumps into space, would it still count as suicide or would it count to the death number?

@FantasticFwoosh
Copy link
Contributor

Goof wants to appeal to bored crewmembers by willingly sacrificing the lives of assistants & nonhumans to bring the shuttle quicker and risking non-antag kill-rule bans. Ok. 👌

@Cw3040
Copy link
Contributor

Cw3040 commented Sep 24, 2018

very nice goof i like your tenacity in this precedent-setting PR streak

/obj/item/circuitboard/computer/communications/Destroy(mapload)
GLOB.shuttle_caller_list -= src
SSshuttle.autoEvac()
..()
Copy link
Contributor

Choose a reason for hiding this comment

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

This is a bad idea in general, since there are many places where the boards can be that are not destroyed but still inaccessible to crew, not to mention that there may very well be no power to power such a console even if they have the board.

Leave it at the roundstart consoles + AI, this is already rarely invoked.

Copy link
Contributor

Choose a reason for hiding this comment

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

Similarly, assuming I read the code correctly, the R&D protolathe shouldn't be counting as a shuttle caller, since a) it doesn't even print the circuit boards (you want the circuit printer) and b) the above

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Will switch it to it, I keep getting those two mixed up. We really should merge circuit imprinter/protolathe.

@SouDescolado
Copy link
Contributor

Just a question.. The validation checks for Suit Sensors? I mean, could the captain could technically ask everyone/10% to turn off suit sensors to call for the shuttle? The refuel timer doesn't care about sensors, so it would still take the minimum time for it (Double of what is in the config, considering noone actually died)

Also, if 50% of the crew is dead, it goes back to the regular refuel time(Exactly what is on config). That's intended, right?

@Kagus

This comment has been minimized.

@SouDescolado
Copy link
Contributor

And just a suggestion: Maybe suicide should reduce the amt_of_crew so this way if a crew has 10 members and 8 suicide(I know, extreme examples), one will need to kill the other and wait the full time (Double config) for it to refuel, while technically it should consider 50% dead(Config time) for refuel

@Iamgoofball
Copy link
Contributor Author

Iamgoofball commented Sep 24, 2018

@Kagus all you gotta do is have more than 10% of your crew dead and only if you're at 10 or more crew you nerd, it scales with population

@Poojawa
Copy link
Contributor

Poojawa commented Sep 24, 2018

fuck engine's taken out engineering, 20m in.

WELP gotta wait half an hour before we can validate that, yes, engineering is gone. Decimate the crew until you can evac now.

@ExcessiveUseOfCobblestone
Copy link
Contributor

If it's scaling now it should go down to 0 minutes (instead of min 20).

Fluff wise they just get you a shuttle already fueled so they're not liable should the remaining few die.

Assuming the only reason we had it prior was to fix toe-stubs, which this PR handles.

@81Denton

This comment has been minimized.

@SouDescolado
Copy link
Contributor

Btw change the ingame patch-notes to "Shuttle now can use pure souls for faster fueling. Dirty suicidal souls are discarded" or something like that.

@fen0s
Copy link

fen0s commented Sep 24, 2018

the god is man who refuels the shuttle
truth is, that after dying, you don't get eternal peace. your soul goes for good of the others

@Kagus
Copy link

Kagus commented Sep 24, 2018

the god is man who refuels the shuttle
truth is, that after dying, you don't get eternal price. your soul goes for good of the others

Fuck, economy PR made me think we were turning into Goon...

Turns out, we're turning into Lifeweb.

@subject217
Copy link
Contributor

The current manner in which you've implemented this is completely ineffectual. The vast majority of "I'm bored, it's time to leave" shuttle calls happen after 40 minutes, and usually quite a few people are dead by that time. I do think it's an annoying problem, but this PR is the wrong direction to go in.

@fen0s
Copy link

fen0s commented Sep 24, 2018

The current manner in which you've implemented this is completely ineffectual. The vast majority of "I'm bored, it's time to leave" shuttle calls happen after 40 minutes, and usually quite a few people are dead by that time. I do think it's an annoying problem, but this PR is the wrong direction to go in.

I think 40 mins is quite not bad time for a round. Still better than 23 mins shuttle call

@subject217
Copy link
Contributor

I think 40 mins is quite not bad time for a round. Still better than 23 mins shuttle call

This hardly ever happens though, and when it does for no good reason it is pretty much always dealt with IC. If someone consistently does this it is dealt with OOC as well.

to_chat(user, "Central Command Emergency Sensors indicate [station_name()] is operating normally. Your request for a shuttle is denied for the time being. Thank you, and have a productive shift!")
return

var/final_mult = (((min(aa/2,xx))*(1 - ((min(aa/2,xx)) / aa))) / (aa/4)) * vv
Copy link
Member

Choose a reason for hiding this comment

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

Use better variable names and move some things that can be precalculated out like min(aa/2,xx)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is the equation you gave me i wouldn't know what to name that var

Copy link
Member

Choose a reason for hiding this comment

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

What do you mean you dont know, you're the one that input the vars into this equation. Just call it whatever makes sense like normalized_dead or something

var/refuel_time = CONFIG_GET(number/shuttle_refuel_min_delay) * 2
// condensed names for readability of the actual equation
var/aa = 0 // amt_of_crew
var/xx = 0 // dead_crew
Copy link
Member

Choose a reason for hiding this comment

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

>commenting what the variable is with something short enough it would be better as the variable name itself

@Bawhoppen
Copy link
Contributor

Instead of people calling at the first sign of trouble now, this will encourage people to do their jobs and fix stuff like breaches.

💯 🥇 ⭐ ✝️ ✡️ ☪️ God bless Goofball. ☪️ ✡️ ✝️ 🥇 💯

@HydroFloric
Copy link

Good goofcode, speedmerge.

@PKPenguin321
Copy link
Contributor

suicides should count

@Steelpoint
Copy link
Contributor

Even Lifeweb lets you evacuate on the ship early on.

My issue with this system is that its very inflexible to the circumstances of the current round. Its entirely possible the entire station can be in ruin, or a catastrophe is occurring, that is producing minimal casualties or has yet to cause them.

Its akin to seeing a tornado coming towards you, but you have to wait until its wiped out half the town before you can evacuate in a timely manner.

Wouldn't a more organic solution, to tie into your economic changes, is to make early shuttle calls (prior to 20 minutes) siphon large amounts of credits from all station personal so as to fund the early fueling and departure of the evacuation shuttle?

@fen0s
Copy link

fen0s commented Sep 25, 2018

Even Lifeweb lets you evacuate on the ship early on.

My issue with this system is that its very inflexible to the circumstances of the current round. Its entirely possible the entire station can be in ruin, or a catastrophe is occurring, that is producing minimal casualties or has yet to cause them.

Its akin to seeing a tornado coming towards you, but you have to wait until its wiped out half the town before you can evacuate in a timely manner.

Wouldn't a more organic solution, to tie into your economic changes, is to make early shuttle calls (prior to 20 minutes) siphon large amounts of credits from all station personal so as to fund the early fueling and departure of the evacuation shuttle?

Who would care about their money if it's round end already?

@qbmax32
Copy link

qbmax32 commented Sep 25, 2018

lol security death squads pick people to execute at random to appease the shuttle gods and allow them to call it

@ishitbyabullet
Copy link
Contributor

So blood cults and nuclear war operatives are now more powerful, I assume?

Part of the only way to counter them is to call the shuttle otherwise they got an insanely good chance of winning. If the shuttle can't be called because too many crewmembers are alive then Blood Cult should lose their shuttle timer increase ability and war ops shouldn't have a timer on when you can call.

@Iamgoofball
Copy link
Contributor Author

If conversion modes only lose because people instant call, they're the problem, not the shuttle.

@HydroFloric
Copy link

@Iamgoofball That doesnt change the fact its a massive buff to cult if they don't feel like going all out murderbone.

@BebeYoshi
Copy link
Contributor

@GuyonBroadway if space time anomalies happens, usually cult already has +9 cultists and can easily beat security unless they are all unrobust

@ATH1909
Copy link
Contributor

ATH1909 commented Sep 27, 2018

I support making suicides count, but you might wanna increase the minimum number of deaths and/or decrease the time reduction per death to compensate.

Also, this massively buffs blood cult (and ops). Blood cult is ALREADY really stronk; are you sure you want to make it even STRONGER?

@ishitbyabullet
Copy link
Contributor

ishitbyabullet commented Sep 27, 2018

@Iamgoofball Revolution and clockcult blocks shuttle calls. I don't know about Hivemind.

Blood Cult can increase the timer two times. If your PR passed then the ideal thing would be 'ok remove it/nerf it' however I imagine that won't happen and it'll just be arguments of but we need it. I doubt people will just accept the idea of 'don't murderbone heavily if you want the shuttle to take longer' sadly.

War Ops increases the timer, I believe. You have to wait 5-8 minutes after the normal shuttle time before you can even call. While you can kill the war ops now, it was mainly you having to get on the shuttle in order to leave. War Op rounds could now unironically take 40 minutes or some shit assuming the ops don't murderbone heavily, the shuttle is called as soon as it can be, and the guy with the disk isn't caught for 40 or so minutes.

edit: also, while one could argue 'ss13 is paranoia game and you aren't supposed to win like it's a video game wtf' then that works for blood cult. War Ops is literally hey guys the antag is nuke ops you got that alright good thus killing all sense of paranoia.

@Iamgoofball
Copy link
Contributor Author

When it comes to ops, I want tjem to have more time to experiment or do outlandish gimmicks. Cult can totally lose the extra delay. I'll work that into this PR.

@Potato-Masher
Copy link
Contributor

Imo the admins should be telling off shit captains and idiots that call the shuttle for no reason, but whatever.

Hopefully this doesn't turn into constant executions/self spacing to game an extra minute faster on shuttle refueling, big doubt but you never know truly what will happen.

@DapperMola
Copy link

IMO station integrity should be considered, as well as crew status. There are often rounds where a large part of the station can be destroyed, but with few casualties and/or medbay is still operating and cloning people that died. This leaves players with a broken station that they're not allowed to leave, with some people having lost their workplace, because the shuttle can't be called.

@Arianya
Copy link
Contributor

Arianya commented Oct 2, 2018

For reference I'm opposed to this PR so long as:

fix: The shuttle evac checker is now more brutal, and will check to make there really is no way to produce a replacement communications console. No more "laser the two consoles and go home free", you'll need to actually make sure there's no way to call.

remains a part of it. The "no-shuttle-callers" auto-call is rarely invoked and making it obtusely rely on circuitboards (which can exist anywhere in the game world) as well as the theoretical means to produce those circuitboards is just liable to cause severe issues, especially on lower population servers where there may not be admin coverage to avert this.

@Iamgoofball
Copy link
Contributor Author

Iamgoofball commented Oct 3, 2018

Tough shit. Increase your admin coverage or tell players to actually make sure it's impossible to call the shuttle before whining. It's this or I remove autocall for being used exclusively for "im.bored let's go home" or to bypass this system when it's added.

@subject217

This comment has been minimized.

@Iamgoofball

This comment has been minimized.

@SouDescolado
Copy link
Contributor

Mr Goof, since you are also the guy who did economy PR, considering now the shuttle has a higher delay, could the shuttle be called at 60 min mark(except in case of antag tampering), but if it doesn't people get extra payment (maybe justify as overtime)

My reasoning being the space shift should be a fixed shift and usually people leave early because everything is going to hell. However if everything is fine, they could work a little longer, having access to more money to do more things. (However this would probably only work on extended rounds).

But this may be totally off-topic for this PR and needs a specific one for it.

@duncathan
Copy link
Contributor

Hi goof I think you should strongly consider lowering the delay as station integrity decreases to account for the rare possibilty that the crew manages an emergency adequately and minimizes casualties despite serious damage to the station

@Iamgoofball
Copy link
Contributor Author

crew manages an emergency adequately

Sure though, I'd have done it by now but I need to talk to the math wizard about how to work it into the multiplier equation.

@fen0s
Copy link

fen0s commented Oct 15, 2018

this is gay because 25 minutes round where you can't build anything as engie/can't research xenobio as scientist/can't build mechs as robo/make something worthy as botanist are still there because of IMBORED NO ANTAGS IN THE SHIFT REEEEE CALTEHSHUTEL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Config Update Time to bother the headadmins for three months to get your config applied Feature Exposes new bugs in interesting ways Fix Rewrites a bug so it appears in different circumstances
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet