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
pretty sure we should add 40 minutes of content to a round before we add a 40 minute minimum round time |
I mean, science and robotics will like it, because more time to research mechs, more time to do xenobio, etc |
add suicide booths for assistants and other people that get bored in 20 min |
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 |
After an hour the system should just revert back to normal. It should also check station integrity. |
@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. |
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? |
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. 👌 |
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() | ||
..() |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
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? |
This comment has been minimized.
This comment has been minimized.
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 |
@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 |
WELP gotta wait half an hour before we can validate that, yes, engineering is gone. Decimate the crew until you can evac now. |
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. |
This comment has been minimized.
This comment has been minimized.
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. |
the god is man who refuels the shuttle |
Fuck, economy PR made me think we were turning into Goon... Turns out, we're turning into Lifeweb. |
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 |
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 |
There was a problem hiding this comment.
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)
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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
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. ☪️ ✡️ ✝️ 🥇 💯 |
Good goofcode, speedmerge. |
suicides should count |
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? |
lol security death squads pick people to execute at random to appease the shuttle gods and allow them to call it |
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. |
If conversion modes only lose because people instant call, they're the problem, not the shuttle. |
@Iamgoofball That doesnt change the fact its a massive buff to cult if they don't feel like going all out murderbone. |
@GuyonBroadway if space time anomalies happens, usually cult already has +9 cultists and can easily beat security unless they are all unrobust |
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? |
@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. |
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. |
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. |
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. |
For reference I'm opposed to this PR so long as:
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. |
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. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
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. |
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 |
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 |
🆑 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.