mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-29 10:31:34 +00:00
db0b104f89f1cfbd2a9bf429f14f1de4aa3c644f
4782 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
1dd1bf4a29 |
An Assortment of Positive Station Traits (#78211)
## About The Pull Request This adds five new positive station traits, of varying weight and impact. **Loaner Shuttle** (Weight - 4): The shuttle loan event will occur more frequently, can occur more times per round, and has a 1.15x payout multiplier (only for the loan offers that pay out with credits). **Medibot Mania** (Weight - 5): Station medibots will start as advanced medibots, able to heal all damage types. Medbot hiring scope has expanded to include medbots that have recently earned their doctorates as well. **Wise Cow Invasion** (Weight - 1): Wisdom Cow visits can happen more than once during the round, and will occur more frequently. _"You will give someone a piece of your mind, which you can ill afford." -Wisdom Cow_ **Shuttle Firesale** (Weight - 4): Some emergency shuttle options are offered at a discount. Neat!  The shuttle purchase menu has been changed to sort by initial value, so the list order shouldn't get scrambled. **Misplaced Wallet** (Weight - 5): A repair technician from the between-shift crew left their wallet in a locker somewhere. Good thing the famously trustworthy crew of Space Station 13 will get it back to them safe and sound! Is your integrity as an honest person worth more than free maintenance access and 500 credits? **OH ALSO** The station trait report will now italicize trait titles, for easier reading. Also, this fixes a small typo in the shuttle purchase screen. ## Why It's Good For The Game A fair number of the positive traits are just inverses of negative traits, and there's more negative ones than positive ones (I think). This adds some more fun, unique-ish entries to the roster. ## Changelog 🆑 Rhials add: Shuttle Firesale positive station trait. Some emergency shuttle options have been put on sale! add: Misplaced Wallet positive station trait. You wouldn't steal from a missing wallet, would you?? add: Wisdom Cow Invasion positive station trait. add: Advanced Medbots positive station trait. Better roundstart medbots! add: Loaner Shuttle positive station trait. More shuttle loan offers and more payout! qol: Station Trait titles are now italicized for easier reading. spellcheck: Fixes a "prerequisites" typo in the shuttle purchase menu. /🆑 |
||
|
|
5046a7d3ae |
decks of cards no longer have their own wielded var (#78260)
## About The Pull Request we have the trait for that ## Why It's Good For The Game Throughout UNDERTALE, we get treated to three story sequences (4 if you include flowey's fakeout but that's not important). The first is the intro story, telling the tale of humans and monsters, which shortly thereafter leads into 201X, and Chara (Toriel's house has “An old calendar from 201X.”) falling into the underground. The second is the waterfall flashback, its contents taking place immediately after the intro segment, as a voice (Asriel) finds the fallen child. And finally, the third takes place in the True Pacifist final boss. We'll get to it in due course, and it will have its own section, but let's address the first two. Regarding the intro, the first thought one might have is that simply, while narratively relevant, is not a diegetic presentation. However, We know that everything after the “201X” frame is Chara's memory (from an outside perspective, that is,) and we also know that UNDERTALE LOVES bringing the non-diegetic, the mechanical, the game, INTO the narrative. Saving, RPG Stats, hell, even the NarratorChara. Surely the intro can be as well? On top of this, what does the intro do for the player, as the player? Well, aside from setting the tone, the intro gives us some setting backstory. It's all important context, and it certainly helps… but it being in the intro sequence is not that important; It's all presented throughout the game via diegetic signs, books, and expositional tortoise war heroes/angry fish guardswomen. The second half is how Chara fell to the underground, and while also setting tone and informing the player how their character arrived. It also creates the false impression for the player that their character is Frisk, feeding into UNDERTALE's meta narrative; “You are not your character, and their happy ending is not yours.” If we weren't playing Chara, this would have no narrative impact. The story beat fails to land by showing us someone elses' character. But, sure. This could be a purely non-diegetic intro sequence. Simply put, The 201X portion of the intro sequence does not make sense from a diegetic or a storytelling perspective unless we play as Chara. Flashback number two is explicitly a canonical, diegetic flashback. It occurs when Frisk escapes Undyne by falling down a massive pit… again. This time, they land in the garbage zone, black out, and have a flashback sequence of the first time Asriel found Chara. While serving the main narrative by setting up Asriel as a character, furthering the final twist of the meta narrative's pacifist route, and neatly transitioning between overworld areas, it's also very explicitly diegetic and cannot be dismissed as an intro sequence. With this in mind, one question is raised. Why do we see this flashback? If the player character is Frisk, this makes little sense, why would we see someone else's flashback and not our own? Same thing applies for a Third Entity, but even more abstract and illogical. What even are we? Sure, you could say Chara is somehow attached to us/Frisk and that somehow we get a flashback from Chara who is somehow knocked unconscious by Frisk also being knocked unconscious. I used the word somehow three times. That's not good storytelling. A simpler answer, at least in my view, is that We Are Chara. When Frisk is knocked unconscious, we, being ostensibly linked to them as a Spirit/Ghost/Reincarnation/Possessing Dead Frisk/Demon/Insert fan-theory here/SOUL Fragment, have our only connection to the world temporarily disabled, rendering us effectively unconscious and prompting a flashback. Nothing weird with multiple entities or memory sharing. The waterfall flashback is simply our memory. Simple. The simplest answers are usually the correct ones. <details> <summary>DO NOT RESEARCH</summary> The third sequence is a connection/extension of the first two, displayed when we SAVE “Someone Else” during the true pacifist battle with Asriel. To refresh everyone, here is the direct quotes, taken from the Wiki: [SAVE]: Someone Else Strangely, as your friends remembered you... Something else began resonating within the SOUL, stronger and stronger. It seems that there's still one last person that needs to be saved. But who...? ... Suddenly, you realize. You reach out and call their name. Asriel: “Huh? What are you doing...?” s It's at this point that the sequence plays. There's no narration, but we see the sequence of interactions between Asriel and Chara. There are no panels (except for the first) that don't contain the both of them. Following this, we get: You feel your friends' SOULs resonating within ASRIEL! [This is the generic flavour text for saving all 6, before “Someone Else”, and appears at the asterisk above as well] [SAVE]: Asriel Dreemurr Asriel: > “Wh... what did you do...?” “What's this feeling…? What's happening to me?” Etc. etc. let me win… During my first and consecutive playthroughs of UNDERTALE, I came to the conclusion that Asriel's soul still “Had Some Chara In It.” Saving “Someone Else” was saving Chara, and then you save Asriel Dreemurr after the story sequence. This interpretation no longer feels particularly potent to me, but in the spirit of completeness I'll address it alongside the more reasonable “You just save Asriel.” Assuming for a moment though, that we do “Save Chara”, it's not unreasonable to assume that some of Chara's ‘essence' (or whatever) was merged with Asriel's and by SAVING them, we're SAVING the part of them that's inside Asriel. But I don't like that theory. Let's talk about SAVING Asriel for a moment. What is the motivation for doing that? Why would we, in universe, wish to SAVE him, something that the narration explicitly prompts us to do? He tried and probably succeeded to kill us, at least once, he wants to reset the entire timeline, he wants to erase all our friendships, all our progress. So, why? Well, it's simple. He's our brother. And we know better than anyone that he's worth saving. And at the very least, there's something about Frisk (who appears to have absolutely no personality) that reminds him of Chara, of us. This is, by his own admission, weird; Asriel: “Frisk… You really ARE different from Chara. In fact, though you have similar, uh, fashion choices… I don't know why I ever acted as if you were the same person.” To summarise. The player SAVING Asriel Dreemurr works best if they are Chara, it becomes Chara encouraging Frisk to SAVE Asriel too. Asriel recognises Frisk as Chara throughout the True Pacifist battle (And Beyond), despite his own admission that this is basically unfounded. Something is causing this recognition. In Alphys' true lab, there lies a dusty TV and a stack of VHSes. On them, lie some of the last words Chara had ever heard from their father. [Asgore] Chara! You have to stay determined! You can't give up... You are the future of humans and monsters... These tapes are not the first time they are heard. Sleeping in Toriel's guest bed, we dream about them. Suffering a fatal injury, they echo in our ears. Watching the tape is yet another reveal. It's the chilling truth that in fact, the words we (if we die a lot) are so familiar with, are in fact the words we hear on our deathbed. Storytelling-wise, this reveal; like all the others, fails if we do not play as Chara. Aside from Asriel's dialogue, Chara's genocide Narration, and the coffin in Asgore's basement, this is the only time we hear Chara's name. That and, this following exchange. [Flowey] Hi. … Monsters have returned to the surface Peace and prosperity will rule across the land. … Well. There is one last thing. … One being with the power to erase EVERYTHING… … I'm talking about YOU. … So, please. Just let them go. Let Frisk be happy. … Well, that's all. See you later… Chara. This, I think, is pretty explicitly definitive. Flowey comes to you. To us. Tells us to take a deep breath and leave the happy ending intact, then bids us farewell by our own name. Regardless of anything else, this definitively proves Chara is the entity with the power to reset everything by the end of True Pacifist (Which is a power we have). Flowey positively identifies us as “Chara”, despite his mistake we discussed in 3C. He's not talking to Frisk, because he refers to them in the third person. He is talking to Us. Chara. I don't want to discuss Flowey's use of “Chara” in Genocide all that much, because the counter-argument is blindingly simple. “By the time Flowey first says that name, Chara has overtaken Frisk by feeding on the power we create for them.” Of course, under PlayerChara, Flowey's lines still make sense, and arguably more. Implications At this point, I believe the evidence is sufficient to support the theory. With this in mind, I want to discuss the implications this has on the narrative and meta-narrative. This is where all those funny glossary terms come into play. The pacifist route in UNDERTALE, as discussed above, is textually quite simple when accepting PlayerChara. The meta-text is also relatively simple. Meta textually, the Pacifist Route is a dissection of the suspension of disbelief, examining how we emotionally place ourselves within fictional worlds, and are often-times torn away from those worlds as the game comes to an end, left wanting the true emotional connection, wanting a happy ending that cannot be good enough for us because we're real and it's not. The reflection of this meta narrative in the textual narrative, quite naturally flows. We, Chara, want a happy ending. But we can't have it, it's not our happy ending. We're gone. We've been gone a long time. Frisk's happy ending can't be good enough for us, because we won't be around to see it. So, we're left with a choice. To let Frisk live happily? To accept an ending that might leave us emotionally wanting, yet preserves our emotional journey? To reset? To refuse an ending and satiate our emotional emptiness, yet destroy that very emotional journey we took in the process? The choice is the same. There is practically no separation between the diegetic and the meta. “Can a happy ending be good enough for you?” This question applies to us, as the real world player running UNDERTALE.exe on our computer, and us, Chara, the long deceased human who can do little but watch as Frisk lives the life they wish they still had, or can destroy everything for a hollow mimicry of that very life. This message, however, breaks down under one specific circumstance. Where we force a Third Entity into the mix. This one decision fractures the cohesion and creates a meta-textually dissonant mess. Now, all of a sudden, “Can a happy ending be good enough for you?” no longer runs parallel through both narratives. There is no reason for the Player Entity to wish to remain, the happy ending should automatically be good enough because it's the happy ending. Meanwhile, Chara, despite being an inextricable representation of “A happy ending I can't achieve,” gets absolutely nothing to do with this meta-narrative because they're just… not you. “we are mario in Super Mario 64, but when he says "Thank you so much for playing my game!" that doesn't mean we aren't still playing as mario” - PopitTart This is where things get weird. See, in the Genocide route.. Well, we see Chara. On Screen. Talk to us. Now, it can easily be argued that this completely shatters the theory, but I would disagree. I'm going to endeavour to present a textual explanation (or two) for this. But first, I want to dissect the meta-text here. Now, I'm sure the idea that “The Genocide Route's Meta-Narratve is Fading Emotional Investment and the way emotional connection with video games can lead to the very sabotage of that emotional connection” is not revolutionary. However, what's conspicuously absent from all of the third entity theorising is the way that this meta-text is mirrored in the textual narrative. Once satisfied with a game, having extracted all lines of dialogue and stat boosts, once reaching all endings, a user will close the game down. And at some point, perhaps to make room for a new game or perhaps on a new device, will leave the game uninstalled, either deliberately, or simply as a consequence of time. Textually, what happens in the Genocide ending? Now we have reached the absolute. There is nothing left for us here. Let us erase this pointless world, and move on to the next. The world is destroyed. So much is left unanswered here. Who is Chara talking to? Where did Frisk go? How do they have this much power? Why would they want this? If we ‘corrupted' them, what the hell does that even mean? What is Chara? For now, let's talk about who Chara is talking to. The simplest answer is “Perspective switch.” Suddenly, we're not Chara anymore, now we are Frisk. This meets all the dialogue options and even vaguely mirrors the meta-text. It also manages to avoid bringing a third entity along and so is automatically better! But, I find myself still not fully enjoying this idea. Remember what I said about Occam's Razor? I think there's another option. One that doesn't involve three entities, or even two entities, just Chara. One that mirrors the meta-text to a degree only Toby Fox could pull off. It's a weird one, and I don't fault you if you don't get it on your first read, but bear with me here, because things are about to get A little Fucking Abstract Let's discard any and all pre-concieved notions of anything and hold one singular truth above all else. “Chara Is The Player.” What does this mean for this cutscene? Well… it means the player is talking to… THe player? It also neatly answers the question of motive, so let's throw that out the skeleton-shaped hole in the window for now. If the player is talking to the player, this frames Chara's words in a whole new light. Every time a number increases, that feeling… That's me. “Chara.” This line becomes explicitly literal. The Chara on-screen is literally the player's feeling of satisfaction watching stat increases. But this is all meta-textual, right? What does this mean for the textual narrative? Here's the thing. It can't mean anything, yet means everything. There is no way to reconcile the fact that a Textually Real character is directly talking about what the player feels when playing a game to completion. The barrier between Meta and Textual no longer exists. It can't. Not here. And with this revelation, everything begins to make sense. Your power awakened me from death. Our power. Our desire to complete UNDERTALE awakens Chara from death. They become startlingly real. We imbue this fictional character with the real world desire to consume fiction, destroying enemies and worlds as we go, increasing our power and our stats. Video Game Accomplishments. And UNDERTALE has just finished being consumed. My “human soul”... My “determination”... They were not mine, but YOURS. Chara, the textual player, acknowledges the meta-textual player's control over the game world. A control that we surrendered. By engaging in UNDERTALE in a fully immersed way, we have fed the Diegetic character that is our player character, Chara. This has continued until we haul ourself out of the Internal Mode and into the External Mode, revoking our immersion to make the consumption of content easier, to distance ourself from the killing. Raising our LV. The more we distance ourselves, the less real UNDERTALE's world appears to us. Once it's done, we're ready to erase this pointless world and move onto the next. There's just one problem. UNDERTALE knows about us. It knows we exist and it will abuse that to convey meaning. By revoking our immersion in UNDERTALE, we end up shattering the barrier between Meta and Textual, and this occurs because revoking our immersion is a diegetic decision. Without this barrier, WE, as a character, gain control of UNDERTALE and use this external mode control to Erase the world. To uninstall. This code doesn't actually work, of course. That was pretty obvious by the fact that it didn't delete your game. But still, this exists in the code that makes the game window shake when Chara attacks it. This is, quite literally, intent for Chara to delete UNDERTALE. If you didn't think Chara was capable of uninstalling your game before, you should now. Who is chara talking to? Us. How do hey have this much power? We gave it to them. We Are them, and we deleted UNDERTALE when we were done with it. Why would they want this? We wanted to move onto a new game. What is Chara? Us. ( I'll come back to this.) But wait! What about soulless pacifist? Well, at that point, you've surrendered Frisk's SOUL to Chara, as in, you the real player has revoked your emotional attachment to UNDERTALE and accepted that Chara can have control over the game. You've revoked your immersion AS Chara, you no longer see yourself a Chara and as such Chara becomes their own being. You've surrendered, basically. But they let you play through it. Because why not. You might get attached again, but that's fine. All that means is that the happy ending that was once Frisk's, that you, the player, and you, Chara, both once lamented not being able to live, has now been surrendered to Chara. A warped, completionist, Chara. You don't get your happy ending. But Chara does. You don't even get the solace of knowing someone gets their happy ending. Because Chara gets it. Frankly, outside of being “The Player”, I don't think the exact nature of “Chara” is that crucial. My personal thought is that they're a SOUL fragment, absorbed by Frisk when they fell on Chara's grave (Frisk could absorb a human SOUL fragment because said fragment was part monster SOUL). This fragment gives Frisk the final edge of determination needed to SAVE. But, ultimately, that's little more than a fanfiction. And frankly, I think that's okay. Not everything needs to be impenetrable, as long as there's enough there to build a stable foundation. I'd also like to address the nature of SAVING quickly, specifically the normal version, not the Asriel fight version. People have asked “Why do we save if it's Frisk's SOUL.” There could be many reasons. Frisk might just defer control to us. Because we're pushing Frisk over that Determination limit, we might be privileged to have that control. </details> ## Changelog not player visible |
||
|
|
ac18420676 |
John Splintercell: a gun that is only good for shooting out lights (#78128)
## About The Pull Request adds the SC/FISHER lightbreaker self-charging energy pistol, which does 0 damage. As a joke.  https://github.com/tgstation/tgstation/assets/31829017/97572baa-7421-4800-a60e-2db03f4adc6d <details><summary>actual details, in case the video wasn't good enough:</summary> unless you shoot at light fixtures,  floodlights,  or people with flashlights/seclites (even on helmets or guns) (it still does 0 damage, it just turns off their lights. not permanently)  it also works on crusher lights. and cyborg headlights. i don't have a screenshot for it. doesn't work on flares though. also it can shoot past machines and lockers  </details> (also adds a variable for deciding how loud a dry fire sound is, in case you want to make your gun's empty sound be less loud.) ## Why It's Good For The Game Adds a silly little tool for silly little men who either really hate lightbulbs or want to recreate the experience of being John Splintercell, the lightbulb-assasinating secret agent from Fork Echelon. ## Changelog 🆑 add: The SC/FISHER disruptor pistol, a very compact, permanently silenced energy gun, is now stocked in Nanotrasen-accessible black markets with a price generally somewhere between 400 and 800 credits. Aspiring users are warned that it's really bad for trying to actually kill people. Caveat emptor. add: Guns now have a dry_fire_sound_volume variable, allowing for guns to be less loud when trying to fire while empty. fix: Closets and crates now properly count as structures for pass flags again. /🆑 --------- Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com> |
||
|
|
a7060641bb |
Converts vomit() to use bitflags (#78191)
## About The Pull Request Having seven trillion boolean arguments isn't kino nor poggerchampion, let's adjust it so we use a define flag-based system that works really nice. I also cleaned up a lot of jank and stuff that simply just never was meant to work. We also had sprites for nanite vomit, but this was completely unused! Since we still have an interaction where you're meant to throw up nanites, I added that it so it could be leveraged. Neato. ## Why It's Good For The Game Much easier to pass in the right args or special args to a high-profile proc. ## Changelog 🆑 image: When you throw up nanites, your vomit should now be appropriately nanite-colored. /🆑 Let me know if I glonked anything. --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
5dddedf340 |
Collected food fixes (#78190)
I went through the code and tried to find all of the remaining places we forgot to update the arguments passed into `item/food/Initialize` after more arguments were added to it, because there were a couple and they caused things to stop working. Most notably, golems were unable to eat anything because nothing would correctly spawn "golem food". _Additionally_ we were using a bunch of named arguments in new whenever crafting or cooking food. This runtimed, causing the food not to init properly. _On top of that_ a late code review on a recent PR processed a list into a string_assoc_list twice causing it to become null. Finally, we were trying to check the food preferences of examining ghosts or dogs or other non-human mobs. We shouldn't do that. I also added a unit test for moth and golem food in the hopes that we'll notice them breaking. |
||
|
|
86f0eaab3a |
Fixing this dead mouse related harddel (#78150)
## About The Pull Request Fixes https://github.com/tgstation/tgstation/issues/78085 Fixes https://github.com/Skyrat-SS13/Skyrat-tg/issues/23510 Fixes https://github.com/Skyrat-SS13/Skyrat-tg/issues/23506  When the foodening added some args to the constructor of `/obj/item/food` some instances of the constructor being passed stuff got overlooked and were not updated. This resulted in a mob ref potentially being passed in to `starting_reagent_purity` in some cases, ultimately resulting in this harddel. @SyncIt21 this is exactly the reason I was being so paranoid with #77946 the other day. Tracking constructor uses down can be such a pain when they aren't prefaced with a type, and are almost guaranteed to get overlooked during refactors if the compiler does not say anything about it. I hate DM. edit: and I just tested this only to find a second bug with the ice cream. I can confirm that it is in fact working now after fixing that one too. <details><summary>evil ice cream</summary>  </details> ## Why It's Good For The Game Fixing a harddel that was causing many CI failures ## Changelog 🆑 fix: fixes creamatorium not producing any suspicious ice cream, and fixes a dead mouse related harrdel /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
bbe40ef3f3 |
[Icebox] Remaps Arrivals and a bit of surrounding maintenance, feat. actually functioning disposals mass driver. Also nukes the Aux Base. (#78048)
## About The Pull Request - Remaps Icebox Arrivals - I added some weather radios as flavor in arrivals someone tell me if I shouldn't. - Removes the Aux Base, for it serves no purpose - Removes the whiteship dock, it serves no purpose. Centcom Ferry now docks at where the whiteship dock once did. - Remaps a bit of maintenance around it, specifically disposals - Remaps a bit of the laundry room and locker room - Disposals now actually dumps its waste into plasma/lava when using the mass driver - Adds a barometric radio to Icebox Mining office <Details> <Summary> PICTURES HERE PICTURES HERE PICTURES HERE PICTURES HERE PICTURES HERE PICTURES HERE PICTURES HERE PICTURES HERE PICTURES HERE PICTURES HERE PICTURES HERE PICTURES HERE PICTURES HERE PICTURES HERE </Summary>   </Details> ## Why It's Good For The Game Icebox Arrivals hasn't changed since Boxstation and as soulful as it is, it can better integrate into the map's new identity. To start, the Aux base: Serves no purpose on the Icemoon. Literally useless besides having an extra stack of Plasteel for cultists to steal and an extra PKA for tiders to steal. It's gone. In its place is a small emergency EVA room / an external airlock access. Disposals. Literally hasn't been touched since Box, just DUMPED trash 10 tiles away onto the Icemoon. Kinda lame. I moved it to the lower floor and made the mass driver dump its trash into the river of plasmalava below. Whiteship dock. Useless, no whiteship exists on Icebox. If badmins want to mess around with docking shuttles they have the Centcom Ferry, or for the more adept, they can manually place a dock. Otherwise, the changes are just general modernizing. Brings it a bit closer to how Delta's arrivals is set up. ## Changelog 🆑 Melbert add: [Icebox] Remaps arrivals and the maintenance around it. Aux base out, mass driver into a plasma lake in. /🆑 |
||
|
|
95c9828587 | Fixed walking into grilles to destroy them (#78086) | ||
|
|
e3c83341d1 |
ports noticeboards from the wallening (#78133)
## About The Pull Request got permission from @LemonInTheDark to add these here, changes virtually nothing from the wallening branch. tested and everything looks good. props to @Krysonism for the sprites, they are very very nice basically just a straightforward resprite. it holds 8 notices now instead of 5, and uses overlays rather than static sprites.  comparison here  ## Why It's Good For The Game noticeboard was kind of crufty and this either makes the wallening easier, or doesn't make it more difficult. which is nice! ## Changelog 🆑 Krysonism image: resprites the noticeboard /🆑 |
||
|
|
3594c3d1fb |
Medical/roller beds (#78078)
## About The Pull Request 'medical beds' in the game were just varedited survival pod beds. This creates a proper medical bed subtype plus its own sprite for regular and roller beds. Cleans up little bits of the bed code and adds context helpers. - Medical/roller bed is now constructable with titanium and plastic after research - Bed will face the correct direction when pulled - Movable beds can have 'brakes' toggled with alt-click   ## Why It's Good For The Game Medical gets their own bed, new sprites, cleans up varedits on maps. ## Changelog 🆑 LT3 image: New medical bed and emergency roller bed code: Added context hints for beds /🆑 --------- Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> |
||
|
|
ed375ececa |
Atmos overalls take 2 (#78007)
## About The Pull Request This is a reinmagining of #72768 as I never was never given a chance and feedback to polish the sprites or remake it as a suit item as was suggested before the PR was closed. This adds Atmos Overalls that ATs will spawn with, the sprite is based on the GAGS overalls we already have, but I dodged the GAGS system and made it a standalone item following the AT firesuit palette and design to fit in. It can carry the same gear as the wintercoat and the overalls themselves have fire and acid armor in parity with the firesuit, but that is for the clothing itself and not the wearer. This is first and foremost a fashion item, as with how our game manages fires, being fireproof on your legs and torso won't do anything with your arms exposed...  <details><summary>This is how ATs looked at spawn before as reference</summary> <p>  </p> </details> ## Why It's Good For The Game The only "fashion" suit atmos have is their wintercoat, if an AT is not using their "functional" clothing (MOD/Firesuit) they all default to the wintercoat and look mostly the same and even their functional uniform makes everyone also look the same as it covers everything (That is something I like to be clear) There is also the "issue" that AT and Engies have the same jumpsuit and wintercoat with small changes, and that their department bags use orange instead of yellow as a second color, which makes them look weird on ATs and the CE. So now we have something that ATs can use to look different from each other while still keeping their job identity. And, as I said in my previous PR, I just really want the pumbler job to look like a plumber, when they are not firefighting at least. ## Changelog :cl:Guillaume Prata add: Atmos Tech now have new drip and will spawn with Atmos Overalls to protect their clothing from gas leaks! (It will actually not protect you against fire or leaks, but hey! It's the thought that counts!!) /🆑 |
||
|
|
69f51c6c65 |
Fixes typo 'transfered', olive oil reaction repath (#78064)
## About The Pull Request Transferred. ## Why It's Good For The Game How did this get to be in 71 files?! This bothers me. Also changes 'quality_oil' typepath in the reactions to 'olive_oil' to match its rename post-foodening. ## Changelog N/A |
||
|
|
9ae14f62a9 |
Nuclear operatives can now be other species. Pref toggle to always be human as operative (#77970)
## About The Pull Request  When #16075 was created in the ancient year of 2016, it was a stopgap solution to plasmamen spawning in with a regular nukie outfits and burning to death. As a result, nukies have been human-only for the past seven years. I come to you today to remove the stopgap, and once again enable non-human nukies. This was approved in the past (#59590), and I'm assuming that approval is still valid. Let's take a look at how things work: Spawning in as a Nuclear Operative (leader included), Lone Operative, Clown Operative, or Reinforcement will now set your species to the one if your prefs. That means lizard, cat, plasma, and ethereal nukies are all on the table now. Plasmamen now have their own syndicate envirohelm/suit combo. It doesn't look fantastic (it's just a palette swapped roboticists envirosuit) but I think it's serviceable at least. When the operative antag datum is given, and the owner is a plasmamen, they will instead be given an alternate outfit with these equipped. Loneop plasmamen will instead be given a MODsuit with the plasma stabilizer MODule installed. These MODules also spawn in the firebase lockers in case they're needed. **But what about the AI?** Fortunately for the balancebrains in the crowd, there is a preference (enabled by default!) to always roll human as an operative. The AI still has to reasonably assume that nukies are human until proven otherwise so please don't think this will affect the rules of engagement for anyone not _directly opting into it._  (This pref will only appear if you have a nukie job enabled in the antag menu!) Huge thanks to Melbert who let me peek at his code on a branch trying to do the same thing. My approach ended up being entirely on the antag datum, with nothing on the job datum. ## Why It's Good For The Game Rectifies a curious change made long long ago. Expands customization to nukies while not affecting balance for those who care. ## Changelog 🆑 Rhials add: Nuclear operatives have expanded the scope of their hiring practices. Members of all species can now roll nukie! qol: The preferences menu now has an option to always be human when being selected for a nuclear operative role. Check it out! image: Plasmaman operative envirosuits. /🆑 |
||
|
|
f7c661dd62 |
RCD directional window qol & wall mount patch. Code improvements (#77858)
## About The Pull Request Fixes #77852 RCD can build wall mounts on reinforced walls Closes #77848 Not a fix so labelling this as a qol cause it was always intentional but now RCD can build directional windows without building a grill first. Saving some matter units from building a grill is a plus Added auto doc for some procs & made the extra delay when building multiple structures into a define ## Changelog 🆑 fix: rcd can build wallmounts on reinforced walls qol: rcd can build directional windows without requiring/building a grill /🆑 |
||
|
|
4fe8d81a74 |
[No GBP] fixes railing deconstruction giving free iron (#77953)
whoops ## About The Pull Request i forgot to set the deconstruction values in https://github.com/tgstation/tgstation/pull/77894 this fixes my mistake closes https://github.com/tgstation/tgstation/issues/77952 ## Changelog 🆑 fix: Railings no longer give more metal than they take /🆑 |
||
|
|
f844fed946 |
roundstart scryers now come with the nt frequency (#77957)
## About The Pull Request fixes #77934 ## Why It's Good For The Game blegh ## Changelog 🆑 fix: roundstart modlink scryers now come with the nt frequency /🆑 |
||
|
|
2efc1e6b8b |
QOL improvements to display case chassis (#77785)
## About The Pull Request Display case chassis now has Examine Hints Screentips Balloon alerts Also moves wrench deconstruction to wrench_act, removes single-letter vars, cuts down on copy paste, and makes the electronics drop when deconstructed. ## Why It's Good For The Game I am actually bored and looking for things to do. Someone asked how to build a display case, I didn't even know myself so I looked up in code how to, and saw features I didn't even know existed. Thought I might as well make it all visible to players so they can take full use of them. ## Changelog 🆑 qol: Display case chassis now uses balloon alerts, screentips, examine hints, etc. Basically, the construction steps are more visible to players. /🆑 |
||
|
|
ef352ca731 |
minor changes to living and mob vars (#77820)
## About The Pull Request Renames m_intent to move_intent and moves it to the living level renames tod to station_timestamp_timeofdeath removes stun_absorption and see_override as one was unused and the other was never actually implemented ## Why It's Good For The Game Many vars on the mob and living level were intended to be on the living and carbon level, but weren't for one reason or another. Generally it was out of laziness to ensure the mobs being checked for these vars were the intended mobs, and there's some todo comments on how they want it changed in the future, though it never happened. I'm hoping to get these all down in the future, I originally wanted to move ``stat`` from mob to living but it had hundreds of errors so I didn't want to do it all here. ## Changelog Nothing player-facing. |
||
|
|
a2d7005f44 |
Makes railings easier to construct, while making them easier to destroy. (#77894)
## About The Pull Request Changes the cost of railings from 6 metal rods to 2 metal rods. The time to construct has been reduced from 3.6 to 1 second to be in-line with the grille. The health of railings has been reduced from 75 to 25. Armor of railings have been reduced as well by about 30%. I'm not positive on whether or not it should cost 1 metal rod or 2. I decided to play it safe and make it 2. If some maintainer is interested in making it only cost 1 rod then I will gladly do so- but this was my compromise. Also changes decaseconds/ticks to seconds in the rod construction code to make it look better. ## Why It's Good For The Game Railings look nice and it's an absolute pain in the ass that they cost 6 metal rods. They're also currently substantially stronger than grilles for whatever reason. Grilles have 50 health, while railings have 75. The armor of railings makes this health of 75 to a whopping effective health of 150. Railings shouldn't be stronger than full-tile grilles. They should be fairly flimsy. They also shouldn't take a wrench AND wirecutters to deconstruct. Grilles only take wirecutters and we should mirror that. ## Changelog 🆑 balance: Railings now only cost 2 rods and are much easier to construct. But they can now be destroyed much easier and cut with wirecutters without unwrenching. /🆑 |
||
|
|
7c9cf40ad4 |
Fixes RCD'ing lattices in open space (#77895)
## About The Pull Request If you RCD a lattice with floor/wall mode on icebox, it won't actually place down the floor because the open space is not "space" - this switches the check to openspace, allowing you to fix floors on icebox by clicking on lattices. For some reason this would also cause you to waste your matter units on this action. ## Why It's Good For The Game fix good ## Changelog 🆑 fix: You should be able to click on lattices on icebox with the RCD and construct a floor now /🆑 |
||
|
|
0345de3582 |
New Backpack Type: Messenger Bags! (#77871)
## About The Pull Request  From downstream with love! These are mechanically identical to a normal backpack or satchel, just with more drip. Also a little bit of :o)  These will exist both in prefs and in drobes/lockers.  Sprites by Zydras. ## Why It's Good For The Game We love fashion here. We love it so much. And most backpacks are too in-your-face to fit well with a lot of 'fits. ## Changelog 🆑 Nerev4r & Zydras image: Adds messenger bags to character setup and drobes/lockers! /🆑 --------- Co-authored-by: Snakebittenn <12636964+Snakebittenn@users.noreply.github.com> Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> |
||
|
|
0dd3e66aef |
Grilles take 0-1 damage when shocking something, power sinks are available at lower reputation (#77860)
## About The Pull Request Ports BeeStation/BeeStation-Hornet#3590. As it is right now, it's trivial to set up a contraption using a conveyor belt and a shocked grille to continuously shock monkey bodies. While this is very funny, it also serves as a ghetto powersink that's hard to locate, easy to replicate, and lasts effectively forever, since you can just keep shocking the same bodies over and over again. This doesn't completely remove the ability to make these, but it makes them require at least a little maintenance and provides a way for them to stop working even if the crew isn't able to locate them. In an attempt to finally get people using the _actual_ powersink, they'll show up a bit earlier in progression now. I'm not convinced 20 minutes is enough, but I don't want to put them in early enough that it fucks with Engineering's ability to set things up at round start. We can turn this down further if need be. I'm also up for turning the TC requirement down, but 11 feels about right for what they're supposed to do, so I'd prefer we try this first and see how that works. ## Why It's Good For The Game I'm all for goofy weird shit players have found, but there's an issue with being able to do what an antag item is supposed to do but just plain better. This shouldn't make creating these impossible or make them unusable, but it'll require players to actively monitor them if they want it to run for an extended period. Additionally, we don't really see powersinks much anymore, and while that might be more because powernets are kind of buggy and unreliable, I think making them easier to get will make them show up a little more. ## Changelog 🆑 Vekter balance: Grilles will now take 0-1 damage every time they shock something. balance: Powersinks are now available earlier in traitor progression. /🆑 --------- Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> |
||
|
|
81e59f7ff2 |
Goldgrub basic (#77733)
## About The Pull Request the goldgrub is now a basic monster. the goldgrub will now look for walls to mine and look for ores to eat. if he finds any nearby humans he will escape and dig away. also if he sense a storm is coming he will dig away and only come back out when the storm is gone. the goldgrub will escape from u but u can now befriend the goldgrub. if u feed him ores he will love u and become ur pet u can ride him or make him follow u. he will also help u mine, if u leave him to mine for a bit and come back to him later u can ask him to spit out all the materials he mined and he will give them to u. also if u feed him a bluespace ore, he will lay an egg and have a baby. the goldgrub is very protective over this egg he will drag it around with him. the goldgrub baby will follow his mom or dad until he grows up to be like his mom or dad ## Why It's Good For The Game give the goldgrub more character and now he can help miners to mine if they befriend him ## Changelog 🆑 refactor: the goldgrub has been refactored please report any bugs add: the goldgrub can now be tamed and he can have babys /🆑 |
||
|
|
37d8f6162b |
Compact shotgun re-added (#77759)
## About The Pull Request This pr seeks to re-add the compact shotgun (slightly buffed with 1 more ammo) and buff up its larger brother the combat shotgun (with 2 more ammo.) ## Why It's Good For The Game With the recent laser buffs, there is a real possibility for the compact shotgun to return as a unique weapon to make the HOS slightly more powerful. I am aware that it was a warden's weapon previously but the HoS doesn't really have many fun toys to play with. The warden already has crav maga (100x cooler than the laser) so giving this beast to the HOS could help make it a more attractive and powerful head to play. (Given 1 extra shot to keep up with the crazy lasers nowadays.) In regards to the slight combat shotgun buff. The gun itself is ass, it's barely ever used and the riot shotgun is superior because you can actually put it in your armour slot. The hope is that this buff will make people actually use it because it carries a lot of shots now so the viability may increase. ## Changelog 🆑 add: Added compact shotgun to the hos locker add: Added compact shotgun as a traitor objective balance: gives the compact shotgun 1 extra shot /🆑 |
||
|
|
7b0b51f3b4 |
Fixes a 1-in-20 chance RNG CI failure. (#77827)
Fixes RNG CI failure. Insuls became a traitor objective and have to be created in populate_contents_immediate() instead of PopulateContents() for closets. Some closets only spawn insuls 5% of the time, so this slipped past CI and created a new CI failure that randomly does or doesn't fail. Moved the offending item over the populate_contents_immediate(). |
||
|
|
3bc54e7869 |
Mining mob tweaks (#77763)
## About The Pull Request ~~I wanted to do this after #77700 (wow cool numbers) but nobody has merged it yet despite how simple it is so i'll just hope they don't conflict.~~ Thanks san I'm fucking about with mining mobs with the intention of making them more interesting but not necessarily towards making mining _harder_, but some of these changes unquestionably have done so. These changes are mostly in response to feedback about Watchers who are definitely significantly more threatening than previously, although some of this is user error. - Watchers are annoying when traversing lavaland because they use their ability on you instantly upon acquiring a target, if you are trying to escape other fauna this quickly becomes deadly. - A lot of players don't really realise what the overwatch ability is actually doing and so just complain about getting machine gunned. - If you _do_ react properly to the ability it still makes fighting them take a lot longer than it used to. - The "look away" icon is hard to see in the dark sometimes To ammeliorate these factors I have: - Reduced watcher health by ~20% - Display an alerted graphic over the head of the watcher every time you trigger the overwatch. - Multiple watchers now won't overwatch you at the same time (this made the "penalty" volley essentially become instant death) - The "look away" icon is rendered above the lighting plane so you can always see it - Added a new component which tracks how long a mob has had a specific target. - - Watchers will now only Overwatch you if they've seen you for at least 5 seconds (usually they'll try and shoot at you twice before this). - - Goliaths will only tentacle you if they've seen you for at least 3 seconds. If overwatch is still problematic after this I guess I can just nerf it to not track movement at all and only respond to attacks. ## Why It's Good For The Game I don't want to discourage miners from "actually mining" by having them get sniped just for walking around and the added time-to-kill on these guys could make clearing tendrils more tedious too. ## Changelog 🆑 balance: Watchers have less health balance: You can't be overwatched by several watchers at a time balance: Watchers won't overwatch you instantly upon seeing you balance: Goliaths won't launch tentacles at you instantly upon seeing you /🆑 |
||
|
|
a3522c6c38 |
Miscellaneous fishing code changes. (#77739)
## About The Pull Request This PR contains a few changes that I hadn't got to do earlier, including: different pressure / air mixture thresholds for different fish (if amphibious), fish being able to be fed directly without the need of an aquarium, replacing the `available_in_random_cases` variable with a weight define of value 0, the preset fishing sources global list so we don't have to manually instantiate lazy fishing spots and assign them stupid string defines, chasm detritus made into datums, a couple balloon alerts and removal of unused code. ## Why It's Good For The Game The fishing portal generator UI is unused, the perfect variable for the fishing minigame is also unused. There's no reason for chasm detritus to be an item instead of a datum. It isn't a map spawner. Chasm chrabs, if given the amphibious trait, should be able to survive Lavaland/Icemoon's atmosphere. I don't even know why I made a snowflake proc to instantiate the evolutions global list instead of `init_subtypes_w_path_keys` The shiny lover and wary fish traits were actually making the minigame slightly easier. The background icons for the UI had a zero-alpha, one pixel thin stripe on top that needed to be colored. Improved `fish_source/proc/dispense_reward`. Some doc comments and a typo or two. ## Changelog 🆑 add: You can now feed fish with the can of fish feed without having to put the fish in a aquarium first. balance: Some fish may survive in different, harsher atmospheres if given the amphibious trait, like chasm chrabs on lavaland. qol: aquarium now uses balloon alerts when feeding fish. fix: The wary and shiny lover no longer incorrectly remove difficulty from the minigame if conditions aren't met. /🆑 |
||
|
|
2d4d23dbf1 |
Replaces the poster and graffiti objectives with assault and early steal & destroy ones. (#77029)
## About The Pull Request With the blessings of @Watermelon914 I am removing the two objectives for placing posters and spraying graffiti. These old objectives are not dead. Their items have moved to the Badassery section of the uplink. A box of 3 demotivational posters can be bought for 1TC with 0 rep. The spraycan can be bought for 1TC with 0 rep. In their place comes one new objective and one extended objective. The new objective is Assault a Crewmember. This objective requires you to attack the specified target 2-5 times (random on objective generation). It tallies from any attack that filters through the `/datum/element/relay_attackers` element and has an "attacker" associated with it. Although it asks you not to kill the other player, it doesn't fail if you kill them. I have expanded the low-risk theft objectives with items like a mime mask, lawyer badge and a fake moustache (commonly on cooks). Finally, I've added a very low level set of steal-and-destroy objectives aimed at some items that will require a bit of basic breaking and entering, and the destruction of which may hurt crew morale. ``` /datum/objective_item/steal/traitor/donut_box /datum/objective_item/steal/traitor/rpd /datum/objective_item/steal/traitor/space_law /datum/objective_item/steal/traitor/granted_stamp /datum/objective_item/steal/traitor/denied_stamp /datum/objective_item/steal/traitor/lizard_plush /datum/objective_item/steal/traitor/moth_plush /datum/objective_item/steal/traitor/insuls ``` This PR also fixes clown shoes missing a proc override to allow them to actually register as a theft objective.    ## Why It's Good For The Game Basically my discussion with Watermelon focused on the idea that the graffiti and poster objectives weren't really crimes. They baited antagonists into very passive play early-game. These new replacements encourage a more antagonistic playstyle. Starting fights plus B&E are two bread-and-butter play paradigms for antaggery. Giving a few early game theft + destroy options with a mix of impactful items (like insuls and RPDs) versus more symbolic or emotive items (plushies, donut boxes, Cargonia stamps) gets antagonists out and about in the station, warming themselves up. And having an objective to assault players (even if you don't kill them) allows cheeky antags with a penchant for shittery to start fights with players and start genuinely impacting the shift, involving sec and drawing players into their antaggery. Both of these natually ease players into the more substantive theft and murder objectives. The existing spray and posters are actually thematically super cool. Traitors now have even more access to them since they can be bought for 1TC per spraycan/3-pack of posters. This lets antags with TC to spare run gimmicks around them and adds extra fun to the Badassery section. ## Changelog 🆑 del: Traitor objectives to place posters and graffiti the station have been removed. add: The items associated with the poster and graffiti objectives can now be purchased from the Badassery section of the uplink. The posters come in a box of 3 for 1TC, and the spraycans are 1TC each. add: Adds a new Assault traitor objective, requiring you to the attack the target a few times without needing to kill them. Earn TC and reputation by starting barroom fights and bait players into escalation battles for fun and profit. add: Expands low-risk steal objectives to include the Chef's fake moustache, Lawyer's badge, and Mime's mask. add: Adds brand new shift start Steal & Destroy objectives for early breaking and entering. Smash your way into a sec checkpoint to grab a Space Law book, engineering to grab some insulated gloves or the psych office to kidnap their moth plush. fix: Fixes an issue where the steal clown shoes objective would never be valid. /🆑 |
||
|
|
8467b9f9ec |
Adds new sprites for opened fireaxe and mech removal crowbar cabinets (#77772)
## About The Pull Request Adds some new sprites for when the fireaxe and mech removal crowbar wall cabinets are opened. Old (it's just a line):  New:   ## Why It's Good For The Game The old sprite just seemed awkward, and you could barely tell it even had the cover on it when opened. Makes the cabinets nicer looking when opened and shows it from a better perspective. ## Changelog 🆑 image: adds new sprites for opened fireaxe/mech crowbar cabinets. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
bb4792cc0d |
Fix invisible box on rotated multi-tile airlocks (#77736)
## About The Pull Request Fixes airlock bounding box being incorrect when rotated leading to a solid, invisible box on the adjacent tile. Icon states match airlock direction. ## Changelog 🆑 LT3 fix: Rotated multi-tile airlocks display correctly and won't create an invisible box next to itself /🆑 |
||
|
|
74a9b317aa |
Fixes cost values of RCDs (#77650)
## About The Pull Request fixes cost values to be 1:1 of what the construction would have costed in manual construction for the RCD. also changes all decaseconds to seconds in code for clarity. the biggest change is windows, they used to cost more than they needed for manual construction: grille - 4mu - 1 iron sheet - 100% efficiency directional normal window - 6mu - 1 glass sheet - 66% efficiency directional reinforced window - 9mu - 1 reinforced glass sheet - 66% efficiency fulltile normal window - 12mu - 2 glass sheets - 66% efficiency fulltile reinforced window - 15mu - 2 reinforced glass sheets - 80% efficiency this PR fixes all of these to be 100% efficient by lowering their matter costs, among some other items like racks or reflector frames. ## Why It's Good For The Game consistency for material costs is good. most of these incorrect material values are also for things that don't matter, like racks or reflector frames. also decaseconds are gross looking in code ## Changelog 🆑 fix: Some RCD constructs took more material than manual construction. The RCD cost should be consistent in comparison to manual construction now. /🆑 |
||
|
|
b77c1c85ea |
MODLink System (+ NWTLMM) (#77639)
## About The Pull Request A pact made with `@Kapu1178` Small changes you should not care about: RD MODsuit outfit (admin only) no longer has a beret that blocks the activation of the suit The beret used by death squad officers no longer is blocked from being put on a hat stabilizer module Admins can now Shear matrices of objects in Modify Transform Multitool buffers have been a little refactored to use a setter proc that saves them from causing hard dels Cooler stuff: A revival and remake of [Nobody Wants To Learn Matrix Math](https://github.com/tgstation/tgstation/pull/59103), this time with additional tooling for quick matrix calculations.  The MODLink system, available through every MODsuit and MODLink scryers (a neck item obtainable from advanced modsuit research or charliestation) Let's you make a holographic call with any other MODLink user, where you can chat in realtime and see what's up with em   ## Why It's Good For The Game Adds a fun way for the crew to communicate with each other that can be done in real-time with relative privacy compared to radio. ## Changelog 🆑 Fikou, Armhulen, Sheets (+rep for Mothblocks and Potato) fix: RD MODsuit outfit (admin only) no longer has a beret that blocks the activation of the suit fix: The beret used by death squad officers no longer is blocked from being put on a hat stabilizer module admin: Admins can now Shear matrices of objects in Modify Transform admin: Admins now have access to Test Matrices in the VV dropdown, an all-in-one tool for editing transforms. add: MODLink system, available through scryers (from RnD and Charlie Station) and through MODsuits. Lets you call people with holographs! /🆑 |
||
|
|
15cf79c27c |
Fixes lavaland beach bartender closets. (#77698)
## About The Pull Request I subtyped the closets under bar closet as we have no wooden closet subtype which is stupid, and this may not be the best solution. But hey, now it's not varedited just in the map. Fixes https://github.com/tgstation/tgstation/issues/76943. ## Changelog 🆑 fix: fixed lavaland beach bartender closets looking off. /🆑 |
||
|
|
1be27a4ffe |
Dunking handle_atom_del() in the trash bin. (#77339)
Whatever you do, if it warrants the use of something like `handle_atom_del`, chances are `Exited` can do it better, as most of these cases involve movables that shouldn't be moved out of their loc (`Destroy` forcefully moves movables to nullspace) without calling specific procs, and for the remaining few, `handle_atom_del` doesn't even cover the eventuality of a movable being deleted outside the source atom, so it's quite garbage. Beside, I feel confident in saying `handle_atom_del()` is older than the DCS, an echo on the workarounds done at the time. |
||
|
|
061f7b176d |
fixes the name of the incline bench press (#77676)
## About The Pull Request this one dedicated to lukas beedril ## Changelog 🆑 spellcheck: fixes the name of the incline bench press /🆑 |
||
|
|
4458892dad |
Fixes an invalid bartender suit spawn (#77662)
## About The Pull Request https://github.com/tgstation/tgstation/pull/77558 removed the bartender outfit but there was still one instance of the path left over, leading to an invalid icon state bartender suit spawning in a locker.   This gets rid of that. The bartender outfit has been replaced with the greyscale buttondown suit with slacks now. Also repaths `/obj/item/clothing/under/rank/civilian/bartender/purple` to `/obj/item/clothing/under/rank/civilian/purple_bartender` to avoid having a defunct basetype for this same reason. ## Why It's Good For The Game Fixes an oversight ## Changelog 🆑 fix: formal closet will no longer spawn with two 'error' icon suits inside of it /🆑 |
||
|
|
635bae421f |
Multi-tile airlock assemblies/pathing [NO GBP] (#77537)
## About The Pull Request Small fixes after https://github.com/tgstation/tgstation/pull/76732 - Creates base large subtype for mapping - Door assembly naming consistent with other airlocks - Base subtype large airlock no longer spawns in a normal sized airlock - Renames station2 subtype to public for consistency ## Changelog 🆑 LT3 fix: Base large airlock subtype no longer spawns a normal sized airlock image: Added mapping icons for large airlocks code: Repathed all public airlocks to consistent naming /🆑 |
||
|
|
72174845f5 |
Basic Watchers & Basilisks (#77630)
## About The Pull Request This one is a double feature because Watchers and Basilisks share the same typepath. You might see a couple more of those. As is tradition I decided to fuck with them rather than just port them. Here's what's up. **Basilisks**   - Have a new soulless sprite which looks less like a living blue hedge. - Walk at you and shoot you while you are not in range (just like before). - Become supercharged if they become "heated" by lava, lasers, or temperature weapons. This was a feature they also previously had but they would never encounter lava, so now it also works if you use the wrong gun on them. - Lose their supercharge if you cool them down. - Otherwise pretty normal mobs. **Watchers** https://www.youtube.com/watch?v=kOq_Bf78k5A Here's a traditional video of me intentionally getting hit by mechanics (trust me its definitely on purpose) - They glow emmissively a little bit so you can see them from further away. - Their eyes light up about 0.5 seconds before they are able to shoot at you. - No longer melee attack, instead try to stay out of melee. - Will occasionally put you into "Overwatch", meaning they will shoot you rapidly if you move or act while they're staring at you for a brief time period (after which you become immune for 12 seconds, and during which other watchers will play fair and stop shooting at you). - If they start taking damage they will also start using their "Gaze" attack, look away or suffer some kind of negative effect! - - Normal watcher gaze flashes and confuses you. - - Magmawing watcher gaze obviously burns (and briefly stuns) you. - - Icewing watcher gaze freezes you and throws you backwards. - Magnetically attract and eat diamonds. They also used to do this, but just if they happened to coincidentally walk past some. **Other accompanying changes** All basic mobs will now adopt the "stop gliding" trait if they get slowed down too much. I moved behaviour for "fire a projectile from this atom" into a helper proc because I was using it in three places and I will probably use it in more places. There are probably other places in the existing code which could be using this. I think I made the basic mob melee attack forecast default a little more forgiving, they were fucking me up too much and I am the playtester. ## Why It's Good For The Game Another one off the list. New tricks for old dogs. Framework for making mobs with ranged attacks "fairer" (you can see when they are ready to shoot you). More (hopefully) versatile AI behaviours which we will reuse later (I hope I'm not duplicating one someone already made). If our players "enjoy" them enough we can give more mobs "don't look at me" mechanics. Removes some soul sprites. ## Changelog 🆑 refactor: Basilisks and Watchers now use the basic mob framework. Please bug report any unusual behaviour. sprite: Basilisks have new sprites. add: Basilisks will go into a frenzy if heated by energy weapons or temperature beams as well as by lava. add: Watcher eyes will be illuminated briefly when they are ready to fire at you. add: Watchers can now briefly put you into "Overwatch" and penalise you for moving while they can see you. add: Wounded watchers will occasionally punish players who look at them. balance: Unusual watcher variants are more likely to appear. /🆑 |
||
|
|
cd4017d60f |
prevents welding bodybags or at least the text (#77606)
## About The Pull Request sets canweld = false ## Why It's Good For The Game fixes #77596 ## Changelog 🆑 fix: removes bodybag welding tooltip /🆑 Co-authored-by: oilysnake <63020759+oilysnake@users.noreply.github.com> |
||
|
|
47718914e4 |
More Suits resprites (Bonus: Chef/Bartender updates!) (#77558)
## About The Pull Request Finally, my ultimate goal: All Lawyer suits are now under suits.dmi. Having some suits in suits.dmi and some in civilian.dmi was just really really weird and confusing. Also updated some more Service stuff, specifically the Chef and Bartender. Their uniform is the generic Service Buttondown, and their other gear has been updated. The Bartender, notably, now has a new item, the bowtie! Full changelog: - Adds Bowtie (and yes, it's in relevant vendors) - Adds a greyscale Formal Jacket (the lawyer jackets but greyscaled) - Removes `/obj/item/clothing/under/rank/civilian/chef` and `/obj/item/clothing/under/rank/civilian/bartender`; replaces them with `/obj/item/clothing/under/costume/buttondown/slacks/service` - **Moves all Lawyer suit sprites to the suits.dmi** - Converted `/obj/item/clothing/under/rank/civilian/lawyer/bluesuit` to use the same GAGS configs as the buttondown (path unchanged) - Resprited all Lawyer suits (except galaxy ones) - Resprited the Lawyer jackets to match (including a currently unused GAGS-palette one) - Resprited the Chef Apron-Jacket and Hat - Resprited the Botanist Overalls (and made them Greyscale) - Updated the shirt on the Cook Jorts to be more up-to-date instead of being new pants on a super crusty old shirt sprite. - Puts stuff into vendors ## Why It's Good For The Game Sprote updates yahoo! Chef/Bartender showed their age, and essentially had the same uniform. Now they look much more at home.  GAGS Suit jacket yippee!  This jacket was put into to the Bartender's vendor for the sake of allowing them their own gimmicks, such as this:  New greyscale overalls wahooo! Since they're greyscaled they're also in the clothesmate for anybody who really wants them.  The Lawyer suits just used an entirely different type of shading and it made them stick out weird... I'm not quite sure on reshaping their jackets but figured it's better to start with this and update them if requested.  As for moving Lawyer suits to suits.dmi... I just don't like them being split up. It makes it annoying to prevent duplicates or keep them all updated. ## Changelog 🆑 add: Added the Bowtie! Bartenders start with one on, but they can also be found in the Bardrobe, Autodrobe, and Clothesmate. No need to tie it either, it's just a clip-on. add: Added a Greyscale "Formal Jacket" of the style that most suits use, for crew who want to make their own using the buttondown shirt. del: Removed the generic Cook/Bartender uniforms and changed them to use the Service buttondown w/ slacks. image: updated the majority of Lawyer suit sprites, along with the Cook's Apron-Jacket and Hat, and updated/greyscaled Botany's Overalls! Also the Overalls are available in the clothesmate, and the Cook Jorts' shirt is less crusty. /🆑 |
||
|
|
fd8d3703b7 |
Ports LETPASSCLICKS from Daedalus Dock (#77568)
## About The Pull Request A deal with @Fikou - https://github.com/DaedalusDock/daedalusdock/pull/106 In layman's terms, you can grab this wrench now.  Adds a new pass_flags_self value for click transparency, allowing objects to be dense without blocking click attempts. ## Why It's Good For The Game ## Changelog 🆑 add: Lockers, crates, and machines no longer block click attempts in adjacency checks. Basically, you can reach tables cornered between lockers/machines. /🆑 |
||
|
|
15c3cd2c97 |
basic ice whelps (#77493)
## About The Pull Request i have refactored ice whelps into basic mobs. They are now the artistic sort as theyll mark their territory by seeking out icy rocks and carve out statues of theirselves using their claws to serve as a warning to players/animals that this is dragon turf and theyll also go out of their way to burn any trees in vicinity just for the hell of it. they are now gruesome cannibals if they find a corpse of one of their kin near them theyll go eat it for nurishment. AS for combat, they have a new ability which allows them to release fire in all directions however theyll only use this ability once their enraged meter is full. to make it fair ive given them a new component which allows them to telegraph abilities and only do them after a delay so players can react in time for it. ## Why It's Good For The Game basic mob refactor ## Changelog 🆑 refactor: ice whelps have been refactored to basic mobs add: ice whelps have a new dangerous ability which theyll use once their enraged meter is full /🆑 |
||
|
|
36274f2b62 |
Adds Mining Weather Radios (#76961)
## About The Pull Request Adds a new item, the mining weather radio, to the mining points vendor, QM locker, public mining docks, and lavaland. This item can be used as a radio to communicate over supply channel with other miners, cargo techs, or the QM. In addition to this, it has a screen that displays warnings depending on the time left until an ash storm or snow storm. there is a separate wallmount version that does not have supply channel access, but still displays updates on the weather. you can examine either device to get an accurate readout of the remaining time till the next storm.  ## Why It's Good For The Game letting miners know when a storm is coming allows them greater flexibility when interacting with the station, and advance warning if they are planning to head back to lavaland in the event of an ash storm. It also strengthens the link between miners and the rest of the cargo department by emphasizing use of the supply channel, and incentivizes using it with the radio's built in microphone. ## Changelog 🆑 CoiledLamb, Jacquerel add: Adds mining weather radio /🆑 |
||
|
|
ed2c74c8b3 |
Multi-tile airlocks (#76732)
## About The Pull Request Makes the large glass airlock operate properly on both tiles instead of being a single tile airlock with a larger icon. ## Why It's Good For The Game The right side of the current large glass airlock isn't really an airlock tile, so any procs that check for the airlock's turf don't work on the right side of the airlock. <details> <summary>Video</summary> After: https://github.com/tgstation/tgstation/assets/83487515/5bd571b5-fc9c-4135-942b-b712ae9ec960 Before: https://github.com/tgstation/tgstation/assets/83487515/e752c085-e663-468b-ac21-2ae5d230b4be </details> ## Changelog 🆑 LT3 fix: Large airlocks are now a subtype and function on both tiles /🆑 --------- Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
b3cb7025c2 |
Removes armor bloat from sec lockers (#77061)
## About The Pull Request Removes the extra normal armor vests(the one without the red stripe) from security lockers, In exchange i added 3 of them to the clothing vendor incase any officers want stripeless vests. ## Why It's Good For The Game On most standard stations theres 6-8 Security officer lockers, Which have 2 vests in each seperate locker which is alot for just a gear locker it would sum around 12-16 vests and this is not counting the 4 departmental lockers which would add another 8 vests to the number this ridicilous amount of vests isn't really needed since security officers already start with a vest so most of the time its just 20-22 vests sitting to be unused. ## Changelog 🆑 balance: Removes standard vest from all security lockers and adds 3 of them to the security wardrobe. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
684039be36 |
Adds rolling up sleeves to the greyscale buttondown, adds greyscale suitskirt, minor buttondown resprite (#77404)
## About The Pull Request I noticed some recent PRs were replacing some suits with the buttondown + slacks, which isn't a terrible idea, but these changes also removed the suitskirt variants of these, as well as the buttondown not supporting rolling up its sleeves and more subjectively, I _really_ don't like the horizontal line on the buttondown, makes you look fat, don't like it so I decided to remedy these issues myself <details> <summary> Screenshots </summary> Service suitskirt  Rolled up sleeves  Rolled up sleeves sidesprite  </details> The skirt itself is a slightly modified version of the skirt from the greyscale skirtleneck I had to put it in the shorts_pants_shirts.dmi files for greyscale config reasons, not sure if everything is named correctly or necessarily in the right place here ## Why It's Good For The Game Re-adding the removed suitskirts is more objectively a good thing, the resprite is more subjective but honestly I was mostly motivated to make this by my hatred for how the buttondown looked before so lol I also noticed a minor bug that was implemented when the old black suit was replaced with a variant of the slacks ## Changelog 🆑 add: Added greyscale suitskirt, available in clothesmates add: You can now roll up the sleeves of greyscale buttondown shirts qol: Re-added previously removed black suitskirt and the RD's tan suitskirt, as pre-colored variants of the above fix: Fixed only one buttondown with slacks being available in clothesmates image: Slightly adjusted greyscale buttondown sprite, you look less fat now! /🆑 |
||
|
|
234ba2d0de |
Allows for some locs to have spells cast while inside, such as PAI cards (for PAIs), AI cards (for AIs), and mechas (#77418)
## About The Pull Request Spiritual successor to #76716 - Some spells can now be cast while the mob is within the contents of certain atoms. - PAIs can now cast if within a PAI card - AIs can now cast if within an AI card - People within vehicles (mechas and cars) can now cast their spells - Repulse and Knock now have unique interactions for being cast within a locker ## Why It's Good For The Game Carlac's PR gave me an idea for how to tackle this in a relatively clean way so I went ahead and adapted the suggestion to something that works for the cast chain. This isn't perfect, some spells will need to be updated, but they can be done piecemeal. This is something that, IN THEORY, should have already been wholesale supported by the spell refactor - any atom you pass into the cast chain should "just work ™️ ", either rejecting if it fails the valid target check or doing the spell effects as if the atom passed was the caster. ## Changelog 🆑 Melbert add: PAIs can now cast wizard spells should they have any. add: AIs located in intellicards can now cast wizard spells should they have any. add: Some spells, such as AoE or conjure spells, are now castable from within Mechas or Clown Cars. To varying degrees of success. add: Knock will now unlock and open closets you are hiding within. add: Repulse will now throw open closets you are hiding within. /🆑 |
||
|
|
444f1b5bc0 |
make the hive bot a basic bot (#77274)
## About The Pull Request i make the hivebot a basic bot also the old hivebot simple bot he was chaneged apperence when he finded a target so i maked a new element to allowed this behavier so now when the basic finded a target he apperence can also changed and this elememt can be gived to another basic monsters so they can changed apperence when they found a target. i give him new behaviers now the hivebot will look for ech other and when he finded ech other they will comunicated with binyary messages and now the mechanic hivebot he will go to look for broked machines so he can repair him ## Why It's Good For The Game the hivebot is a basic and he have a better behaver ## Changelog 🆑 refactor: the hivebot is now a basic please report any bugs /🆑 --------- Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> |
||
|
|
6c34d93be7 |
Nukies Update 7: Hats (Also massive uplink standardization, weapon kits and ammo changes) (#77330)
## About The Pull Request Massively overhauls and standardizes the nuclear operative uplink. ### Weapon Kits Essentially, all the main weapons of the uplink have been changed to instead come as 'weapon kits', which are essentially cases containing a weapon loadout to enable operatives to easily start operating on only just one item purchase, without the fuss of worrying whether or not operatives are getting spare ammo, or getting relevant equipment for success. Consider this a pseudo-loadout, though without necessarily restricting the purchasing of more weapon kits. All kits come in three categories: Low Cost (8 TC), Medium Cost (14 TC) and High Cost (18 TC). This is also matched by categorized ammo costs; Basic Ammo (2 TC), Hollow Point and Armour Penetrating (4 TC), Incendiary (3 TC) and Special (or anything that does not easily fit these categories and does something real extra) (5 TC). Weapons that lacked these ammos have gained these ammo types to fill the gaps. <details> There is may one exception to this in disruptor ammo, which is priced as basic ammo if only because it isn't _quite_ good enough to justify pricing at 5 tc and I can see an op wanting to use it as a basic ammo type instead of normal .50 BMG against, say, a silicon/mech heavy opposition. Since it cannot kill organics on its own, I'll consider this mostly basic-adjacent </details> The kits have also been labelled based on potential difficulty. This reflects possible difficulties in using the item, how conducive it is to success for how much game knowledge needed to actually use it, and how likely an op is to succeed using it. I don't expect ops to win using nothing but a rocket launcher, but I think ops should get a fair shake at trying, yeah? The kits are as below: #### **Low-Cost** _Bulldog (Moderate):_ Shotgun and three magazines of standard ammo. _Ansem (Easy/Spare):_ Pistol and three spare magazines of standard ammo. #### **Medium Cost** _C-20r (Easy):_ SMG and three spare magazines of standard ammo. _Energy Sword and Shield (Very Hard):_ Energy sword and shield. (Also a special hat) _Revolver (Moderate):_ Revolver and three speedloaders of standard ammo. _Rocket Launcher (Hard):_ Rocket launcher with three spare rockets. #### **High Cost** _L6 SAW (Moderate):_ LMG, and that's it. No spare ammo. _M-90gl (Hard):_ Rifle, two spare magazines of standard ammo and a box of rubber grenades. _Sniper (Hard):_ Sniper rifle, two spare magazine of standard ammo, and one magazine of disruptor ammo. Also suit and tie. _CQC (Very Hard):_ Comes with a stealth implant and a bandana. _Double-Energy Sword (Very Hard):_ Double-energy sword, syndicate soap, antislip module, meth injector and a prisoner jumpsuit. _**NEW** Grenadier's Kit (Hard):_ Grenadier's belt and grenade launcher (the one that launchers chem grenades). (I replaced the shit acid grenade with another flashbang in the belt) Surplus SMG (Flukie difficulty) has been unchanged. It just now comes with two rations. Includes two new revolver ammo types: Phasic, which goes through walls and armor, but has significantly less damage as a result (I've equalized the revolver damage and the rifle version's damage to 30 for both). And Heartseeker, which has homing bullets. Both are Special ammo, and are priced at 5 TC a speedloader. ### Other Gear The other items in the uplink have also been consolidated and standardized in various ways. #### Grenades Most now cost 15 TC for three grenades of any given type (including the full fungal tuberculous). This is pretty much identical to the previous price, just more consistent overall and front-loaded in cost. #### Reinforcements All the various reinforcements now cost 35 TC and all refundable, equalizing cost to the average across the reinforcements. This is primarily because I feel like all these options should be weighed equally, and not one of these options are necessarily worse or better than the other in their current balance. They're largely inaccessible for normal ops regardless, and typically come out when there is a discount or war ops. I took the average value and went with it. Not much more to say. #### Mechs They're just cheaper. These things still suck and they need help. They've always needed help. A slightly less excessive value for the mechs may help see people willing to spend the TC on them. I doubt it. I seriously suggest not buying these still. I keep them in primarily because they are big stompy mechs and are kind of iconic 'war ops' gear. #### Bundles Since I've implemented weapon kits, gun bundles are rather redundant. So the bulldog weapon and ammo bundle, the c20-r weapon and ammo bundle and technically the sniper bundle were removed. The sniper bundle is now the weapon kit, obviously. Nothing else here really. Except for one.... #### Implants Not much changed here. I standardized the implant prices to 8 TC a pop. This is in accordance with traitor implants, which ops also get. So everything in this category bar a few exceptions (like macro/microbombs) are around 8 TC. Makes sense to me, really. Importantly, I made the Implant bundle 25 TC, and I unrandomized the contents. Who in the right fucking mind would spend 40 TC just to get five reviver implants is beyond me. But instead, you get one of each of the cybernetic implants except thermal eyes (you can just buy thermals and get the benefit of both vision types; x-ray and thermal vision, if you want to use smokescreens a lot). #### Base Keys They're all now 15 TC, except the fridge which is 5 TC. It's weird they're valued differently when they are taken mostly to do gimmicks like xenobio and toxins in a hurry before hitting the station. So we've standardized it. ## Hat Crate **YES, GOOD SIR, YOU TOO CAN ORDER A HAT CRATE FROM THE SYNDICATE STORE FOR ONLY 5 TC!** **NO NEED FOR A KEY, JUST BUY IT AND PULL IT OPEN WITH YOUR STANDARD ISSUE CROWBAR!** **ENJOY YOUR NEW CRATE! ENJOY YOUR NEW HAT!** **PUT IT ON USING THE FREE HAT STABILIZERS WE INCLUDED WITH THE HATS!** ~~**NO REFUNDS IF YOU GET BLOOD ON YOUR HAT!**~~ <details> There is a 1% chance to instagib people with direct hits from a rocket. This does the crit effect. </details> ## Why It's Good For The Game The uplink needed more spring cleaning and standardization. With this, I've partially implemented my older idea for ammo consistency and initial allowance for nukies. Ammo is kind of over-priced and often where a good chunk of TC goes towards without really pushing nukies towards meaningful success. And it is often what is tripping up new players who didn't think to get any. Now, when they get a gun, they get ammo in their case. On top of this, the weapon kit category is both at the top of the uplink AND has a little label to say 'Recommend', so that these new players will hopefully know they should be looking there first. In addition, it is the gateway towards a concept that is currently being worked on. Nuclear operatives having some degree of predefined loadouts for players to select if they aren't sure what they want, or don't know what to get. Nukies is very confusing for many players. So giving them a fighting chance with some premade setups can help ease them into the role without needing too much player knowledge in how to apply the items. This is only one step towards that, so that players can identify what gear they need to help succeed based on their skill. I wanted to implement a difficulty warning so that players can choose gear loadouts that are actually conducive to their skill and knowledge. I based it on how much players would need to know to engage in combat with it, and how much fiddling is required to get something to work properly (overly involved reloading is a consideration, for example, as well as precise button presses). In addition, how much of a force multiplier some weapons can be for their ease of use. Most people recognize the c20-r as the most new player friendly weapon, as an example. So it would be good to steer players towards taking that gun because of how easy it is to use, understand and succeed with it. And most importantly of all; Having standards within the uplink is important. Most of the values in the uplink are just completely random. Nobody has a good grasp of what is too much or too little. Even just a hint of consistency, and people will stick to it (see implants for what I mean). And there is still some work to be done even there. A good start is weapons. Price for power can be meaningful when decided whether we want some weapons to come out more often than others. Players do enjoy making informed decisions and choices, and having affordability be a draw to some otherwise less powerful weapons (looking at you, Bulldog) can actually be a worthwhile and meaningful difference. ~~I thought it would tick off the gun nerds to change the calibers on the guns.~~ ~~I also thought adding hats would be funny given the release of TF2's most recent update.~~ ## Changelog 🆑 balance: Standardizes some of the nuclear operative entries to have more consistent pricing within their respective categories. add: Adds some new categories so that players have an easier time navigating the nuclear operative uplink. balance: Many items have had prices reduced or adjusted to make them more desirable or more consistent within their category. add: Weapon kits have replaced almost all the individual weapons in the uplink. You now buy these instead of the individual weapon. These often come with spare ammo or relevant gear for success. add: Most ammo types have been standardized in price. refactor; Removes a lot of redundant item entry code and tidies up the actual code part of the nuclear uplink so that it is much easier to find things within it. add: Added 40 new cosmetic items to the Syndicate Store. Buy them now from the Hat Crate, only 5 TC! code: Updated the nuclear operative uplink files. /🆑 |
||
|
|
203aecbf63 |
[no gbp] Fixes runtimes in shuttle event and shuttle cling (#77343)
Fixes no-candidate runtime from pick() on an empty list Fixes spawning null movables if run out of mobs to spawn Fixes shuttle cling qdeling on Initialize due to lattices not counting as hyperspace 🆑 runtime: Fixes runtimes in shuttle event and shuttle cling code /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |