mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-06-18 12:44:15 +01:00
fb9d01d9599ea1875fc7cd2097dc0abb4e89b3bf
4844 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
dc4e1f184c |
[MIRROR] go go gadget hat [MDB IGNORE] (#23758)
* go go gadget hat (#78293) ## About The Pull Request adds a hat that you can say a phrase for it to put something in your hands * go go gadget hat --------- Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com> |
||
|
|
0b625b8294 |
[MIRROR] Fixes some construction bugs with airlocks & windoors [MDB IGNORE] (#23745)
* Fixes some construction bugs with airlocks & windoors (#78261) ## About The Pull Request 1. Fixes #77981. the airlock electronics `unres_sides` and `unres_sensor` vars were not copied onto the windoor after its construction was finished manually without RCD. Now a windoor assembly is spawned and it is finished by the RCD just like you would do manually 2. Windoors created via RCD did not have any electronics installed inside them. It would only copy the `access` and `passed_name` vars onto the windoor, leaving its `electronics` var blank. It's also fixed by the windoor assembly 3. Airlocks constructed via RCD now uses the `finish_door()` proc of an airlock assembly to correctly complete an airlock. This proc does important stuff such as adding the `/datum/component/shell` component when the airlock electronics requests shell control and the RCD was skipping over these steps. That's fixed now too ## Changelog 🆑 fix: Manually constructed windoors have correct unrestricted accesses applied to them fix: Windoors created via RCD now actually have electronics inside them fix: Airlocks constructed via RCD have the shell component correctly installed inside them and have no other missing variables /🆑 * Fixes some construction bugs with airlocks & windoors --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> |
||
|
|
50fa2f4263 |
[MIRROR] climbing hooks for multiz planetary maps [MDB IGNORE] (#23718)
* climbing hooks for multiz planetary maps (#78340) ## About The Pull Request https://github.com/tgstation/tgstation/assets/70376633/6c65925e-5276-41fb-8062-cafc2de94b2f allows you to climb up holes by clicking on tiles above the hole youre on examining the rope shows you your current binds for looking up emergency variant can be found in internals boxes on planetary maps that have multiz levels (2 uses) a better one can be bought from cargo for 250 credits (5 uses) syndies can buy a much much better one for 1TC or can be found in the nukie base personal lockers (10 uses) ## Why It's Good For The Game being fucked because you fell down a 1 tile hole in the dark and now youre in a 1x1 box of snow on the middle of nowhere sucks or falling down a hole and bam 30 watchers or falling down a hole and now youre completely lost and might have to weld your way into the station if youre lucky ## Changelog 🆑 add: climbing hooks that allow you to go up holes for multiz, found in internals boxes (on planetary maps), the uplink, cargo and nukie personal lockers /🆑 * climbing hooks for multiz planetary maps --------- Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com> |
||
|
|
22090011f3 |
[MIRROR] Adds a new component so that items that are "attached" to walls will now drop/deconstruct on turf destruction. [MDB IGNORE] (#23722)
* Adds a new component so that items that are "attached" to walls will now drop/deconstruct on turf destruction. (#77417) ## About The Pull Request Adds a new component, called wall_mounted, which applies on the wallframe objects on construction, as well as a number of wall frame objects and structures to cover mapped in, roundstart objects of the like. I might have forgotten a few, but this covers the vast majority that players will run into in a given round. This will cover wall destruction, turf explosion, the whole nine yards, and call that object/structure/machine's deconstruct proc. We have some special handling for intercoms as well since they're apparently items. So most basic case is this: You have a wall. that wall holds a sign. If you examine the wall, it tells you that the wall is currently supporting the **Example Sign**. It tells you that if the wall is damaged or destroyed, the sign will **fall off the wall.** So, if you were to welder, bomb, or hulk your way through that wall, it would call the deconstruct() proc on that sign, and fall off the wall, leaving an item sign at the foot of the wall. ## To-Do - [x] Stop breaking all wallmounts when operating shuttles (Signal conflict with COMSIG_TURF_CHANGED 😔) - [x] Confirm that the ~~deconstruct~~ designated proc of each wallmount falling is sane for the intended object - [x] Clean up the contents of the wall_mounted component to reduce copy-paste on object init. - [x] Add it to more stuff that may just not have a directional helper? - [x] ~~Change how APC construction is handled to make it easier!~~ - [x] ~~Don't accidently nerf malf AI into the ground I guess~~ ## Why It's Good For The Game Closes #22283. Helps close more of #47526. Closes #54983. Closes https://github.com/wall-nerds/wallening/issues/90. All of these objects are "wall mounts". It stands to reason that they're mounted to the walls they appear to be attached to. This attempts to rectify them by giving them a turf link to the turf they're mounted to, and then upon changes to that turf, dropping or breaking that object. It'll need a little more polish to get to 100%, since I can see a few more issues to iron out first, but I'm dropping this here for now to get some feedback and put some fire under me to get this completed. ## Changelog 🆑 add: Wall mounted objects (Things like APCs, Air Alarms, Light switches, Signs, Posters, Newscasters, you name it) will now fall to the ground and break or deconstruct when their attaching wall is changed or broken. /🆑 * Adds a new component so that items that are "attached" to walls will now drop/deconstruct on turf destruction. --------- Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> |
||
|
|
3863238ccd |
[MIRROR] Removes some food initialize arguments [MDB IGNORE] (#23712)
* Removes some food initialize arguments (#78322) ## About The Pull Request A prior PR added some new initialize arguments to the food subtype which did not strictly need to be there, this caused a large number of bugs as a result of places which already had extra initialize arguments not correctly accounting for these new ones. As a result I have removed these again in favour of performing the required operations in a different way (one of these arguments was seemingly used for butter purity and literally nothing else), for this food and also some of its subtypes. In some other cases where it _did_ make sense to have arguments in `initialize` I also added them to `new` so they can be passed by name. This will hopefully make the food more maintainable if in the future if someone does something similar, and solve any remaining bugs related to "not passing the arguments properly". ## Changelog Hopefully not player facing * Removes some food initialize arguments --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
82b8f4d051 |
[MIRROR] An Assortment of Positive Station Traits [MDB IGNORE] (#23676)
* 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. /🆑 * An Assortment of Positive Station Traits --------- Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com> |
||
|
|
06691fc603 |
[MIRROR] Converts vomit() to use bitflags [MDB IGNORE] (#23642)
* Converts `vomit()` to use bitflags * Update turf.dm * Modular * Modular fix * Update _hemophage_defines.dm --------- Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
e45f17efae |
[MIRROR] John Splintercell: a gun that is only good for shooting out lights [MDB IGNORE] (#23650)
* John Splintercell: a gun that is only good for shooting out lights * Removes this flashlight nonsense, we don't need copy pasted procs for something this simple --------- Co-authored-by: Hatterhat <31829017+Hatterhat@users.noreply.github.com> Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
e7d7cbac0b |
[MIRROR] decks of cards no longer have their own wielded var [MDB IGNORE] (#23654)
* 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 * decks of cards no longer have their own wielded var --------- Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> |
||
|
|
6620bffa84 |
[MIRROR] Collected food fixes [MDB IGNORE] (#23596)
* 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. * Collected food fixes --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
eddcd129c0 |
[MIRROR] [Icebox] Remaps Arrivals and a bit of surrounding maintenance, feat. actually functioning disposals mass driver. Also nukes the Aux Base. [MDB IGNORE] (#23545)
* [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. /🆑 * [Icebox] Remaps Arrivals and a bit of surrounding maintenance, feat. actually functioning disposals mass driver. Also nukes the Aux Base. * Updating automapper * Automapper placement * Update icebox_arrivals.dmm * Arrivals shuttle fix * Update icebox_arrivals.dmm --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
4d9bed607f |
[MIRROR] Fixing this dead mouse related harddel [MDB IGNORE] (#23569)
* 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> * Fixing this dead mouse related harddel --------- Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@ gmail.com> |
||
|
|
7f1f92062b |
[MIRROR] Fixed walking into grilles to destroy them [MDB IGNORE] (#23538)
* Fixed walking into grilles to destroy them (#78086) * Fixed walking into grilles to destroy them --------- Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com> |
||
|
|
d5efa3c823 |
[MIRROR] ports noticeboards from the wallening [MDB IGNORE] (#23530)
* 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 /🆑 * ports noticeboards from the wallening --------- Co-authored-by: Lamb <110322848+CoiledLamb@users.noreply.github.com> |
||
|
|
5f829cffac |
[MIRROR] Medical/roller beds [MDB IGNORE] (#23520)
* Medical/roller beds * medical beds * Update ninja_den.dmm * medicell --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
87bfa7a61a |
[MIRROR] Fixes typo 'transfered', olive oil reaction repath [MDB IGNORE] (#23469)
* Fixes typo 'transfered', olive oil reaction repath * Modular * Update condiment.dm * Update recipes_guide.dm * Update _cup.dm --------- Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
2580babcf1 |
[MIRROR] Atmos overalls take 2 [MDB IGNORE] (#23492)
* 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!!) /🆑 * Atmos overalls take 2 * Worn digi sprite refit --------- Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
1edbfcd0f0 |
[MIRROR] Nuclear operatives can now be other species. Pref toggle to always be human as operative [MDB IGNORE] (#23433)
* Nuclear operatives can now be other species. Pref toggle to always be human as operative * remove skyrat edit --------- Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com> Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
74804a4fca |
[MIRROR] RCD directional window qol & wall mount patch. Code improvements [MDB IGNORE] (#23400)
* 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 /🆑 * RCD directional window qol & wall mount patch. Code improvements --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> |
||
|
|
ee88c5bcd5 |
[MIRROR] [No GBP] fixes railing deconstruction giving free iron [MDB IGNORE] (#23387)
* [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 /🆑 * [No GBP] fixes railing deconstruction giving free iron --------- Co-authored-by: iwishforducks <65363339+iwishforducks@users.noreply.github.com> |
||
|
|
e74d3c5331 |
[MIRROR] roundstart scryers now come with the nt frequency [MDB IGNORE] (#23376)
* 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 /🆑 * roundstart scryers now come with the nt frequency --------- Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> |
||
|
|
395388ad24 |
[MIRROR] QOL improvements to display case chassis [MDB IGNORE] (#23373)
* 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. /🆑 * QOL improvements to display case chassis --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> |
||
|
|
f8c5601160 |
[MIRROR] minor changes to living and mob vars [MDB IGNORE] (#23330)
* minor changes to living and mob vars * Update mob_movement.dm * Modular updates --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
f082997a26 |
[MIRROR] Makes railings easier to construct, while making them easier to destroy. [MDB IGNORE] (#23327)
* 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. /🆑 * Makes railings easier to construct, while making them easier to destroy. --------- Co-authored-by: iwishforducks <65363339+iwishforducks@users.noreply.github.com> |
||
|
|
4d2196c7cc |
[MIRROR] New Backpack Type: Messenger Bags! [MDB IGNORE] (#23287)
* woo yeah baby * i find myself of a potent dislike for the antichrist * she was forced to do data entry * lmao * wew * New Backpack Type: Messenger Bags! * Update clothing.dm * Update clothing.dm --------- Co-authored-by: Snakebittenn <12636964+Snakebittenn@users.noreply.github.com> Co-authored-by: Nerevar <12636964+Nerev4r@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
06a5ecf6f5 |
[MIRROR] Fixes RCD'ing lattices in open space [MDB IGNORE] (#23306)
* 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 /🆑 * Fixes RCD'ing lattices in open space --------- Co-authored-by: iwishforducks <65363339+iwishforducks@users.noreply.github.com> |
||
|
|
a987777c30 |
[MIRROR] Compact shotgun re-added [MDB IGNORE] (#23248)
* Compact shotgun re-added * Update inventory.dm * Update inventory.dm * Modular icon de-override * And the rest of them * There is more.. --------- Co-authored-by: LukasBeedellCodestuff <92578337+LukasBeedellCodestuff@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com> |
||
|
|
9638396677 |
[MIRROR] Grilles take 0-1 damage when shocking something, power sinks are available at lower reputation [MDB IGNORE] (#23278)
* 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> * Grilles take 0-1 damage when shocking something, power sinks are available at lower reputation --------- Co-authored-by: Vekter <TheVekter@users.noreply.github.com> Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com> |
||
|
|
1258594041 |
[MIRROR] Goldgrub basic [MDB IGNORE] (#23255)
* Goldgrub basic * Update riding_mob.dm --------- Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
5fd1f08b7e |
[MIRROR] Replaces the poster and graffiti objectives with assault and early steal & destroy ones. [MDB IGNORE] (#23235)
* Replaces the poster and graffiti objectives with assault and early steal & destroy ones. * Update engineering.dm * Update cargo.dm * Update mapping_helpers.dm * Update mapping_helpers.dm --------- Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
12c4cd77c4 |
[MIRROR] Fixes a 1-in-20 chance RNG CI failure. [MDB IGNORE] (#23246)
* 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(). * Fixes a 1-in-20 chance RNG CI failure. --------- Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk> |
||
|
|
b73b8b7d0a |
[MIRROR] Mining mob tweaks [MDB IGNORE] (#23242)
* 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 /🆑 * Mining mob tweaks --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
901f0b82bc |
[MIRROR] Miscellaneous fishing code changes. [MDB IGNORE] (#23237)
* 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. /🆑 * Miscellaneous fishing code changes. --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
361aaf1714 |
[MIRROR] Adds new sprites for opened fireaxe and mech removal crowbar cabinets [MDB IGNORE] (#23234)
* 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> * Adds new sprites for opened fireaxe and mech removal crowbar cabinets --------- Co-authored-by: die_amond <58376695+dieamond13@users.noreply.github.com> Co-authored-by: san7890 <the@ san7890.com> |
||
|
|
4e282227f9 |
[MIRROR] Fix invisible box on rotated multi-tile airlocks [MDB IGNORE] (#23210)
* 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 /🆑 * Fix invisible box on rotated multi-tile airlocks --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
910841c007 |
[MIRROR] Fixes cost values of RCDs [MDB IGNORE] (#23203)
* 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. /🆑 * Fixes cost values of RCDs --------- Co-authored-by: iwishforducks <65363339+iwishforducks@users.noreply.github.com> |
||
|
|
68f4deff40 |
[MIRROR] MODLink System (+ NWTLMM) [MDB IGNORE] (#23199)
* 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! /🆑 * MODLink System (+ NWTLMM) --------- Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> |
||
|
|
6357ddb9eb |
[MIRROR] Fixes lavaland beach bartender closets. [MDB IGNORE] (#23189)
* 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. /🆑 * Fixes lavaland beach bartender closets. --------- Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com> |
||
|
|
d21e06104f |
[MIRROR] Dunking handle_atom_del() in the trash bin. [MDB IGNORE] (#23183)
* Dunking handle_atom_del() in the trash bin. * Update _box_magazine.dm * Modular paths --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
0bffdf8031 |
[MIRROR] fixes the name of the incline bench press [MDB IGNORE] (#23160)
* 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 /🆑 * fixes the name of the incline bench press --------- Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> |
||
|
|
f98c727416 |
[MIRROR] Fixes an invalid bartender suit spawn [MDB IGNORE] (#23146)
* 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 /🆑 * Fixes an invalid bartender suit spawn --------- Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
0e533de6cf |
[MIRROR] Multi-tile airlock assemblies/pathing [NO GBP] [MDB IGNORE] (#23138)
* 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 /🆑 * Multi-tile airlock assemblies/pathing [NO GBP] * maps * Merge remote-tracking branch 'upstream/master' into upstream-merge-77537 --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
57272c8d22 |
[MIRROR] Basic Watchers & Basilisks [MDB IGNORE] (#23137)
* 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. /🆑 * Basic Watchers & Basilisks * Modular paths --------- Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
51d62e685e |
[MIRROR] More Suits resprites (Bonus: Chef/Bartender updates!) [MDB IGNORE] (#23088)
* 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. /🆑 * More Suits resprites (Bonus: Chef/Bartender updates!) * Modular path changes/removals * Modular adjustments: removing deleted sprites, creating digi sprites for overalls and purple bartender resprite, removing greyscale overalls * Fix grayscale configs * Update misc.dm * Moves icons to new location * Update civilian.dm * I hate all of this so very much. * Update civilian.dm * Update loadout_datum_suit.dm --------- Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
2dcb293050 |
[MIRROR] prevents welding bodybags or at least the text [MDB IGNORE] (#23100)
* 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> * prevents welding bodybags or at least the text --------- Co-authored-by: DeerJesus <willgiscool@gmail.com> Co-authored-by: oilysnake <63020759+oilysnake@ users.noreply.github.com> |
||
|
|
3bbd9a254a |
[MIRROR] basic ice whelps [MDB IGNORE] (#23077)
* 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 /🆑 * basic ice whelps * Modular paths --------- Co-authored-by: SMOSMOSMOSMOSMO <95004236+SmoSmoSmoSmok@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
e922ac6008 |
[MIRROR] Ports LETPASSCLICKS from Daedalus Dock [MDB IGNORE] (#23078)
* 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. /🆑 * Ports LETPASSCLICKS from Daedalus Dock --------- Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com> |
||
|
|
e80057fe96 |
[MIRROR] Adds Mining Weather Radios [MDB IGNORE] (#23048)
* Adds Mining Weather Radios * Update cargo.dm * Moves these edits to modular --------- Co-authored-by: Lamb <110322848+CoiledLamb@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
830ece4a78 |
[MIRROR] Multi-tile airlocks [MDB IGNORE] (#23000)
* Multi-tile airlocks * remove SR edits as this is upstreamed * Update airlock.dm * Update airlock.dm * Update tgstation.dme * Delete 23000_airlock_repath.txt --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
21006a4e77 |
[MIRROR] Adds rolling up sleeves to the greyscale buttondown, adds greyscale suitskirt, minor buttondown resprite [MDB IGNORE] (#22952)
* 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! /🆑 * Adds rolling up sleeves to the greyscale buttondown, adds greyscale suitskirt, minor buttondown resprite * Adds the new clothing to loadouts * Modular icons * Removing some bloat from a previous pr while we are at it --------- Co-authored-by: siliconOpossum <138069572+siliconOpossum@users.noreply.github.com> Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |