mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-19 05:26:28 +00:00
403274ff62d14466c0057d4bfeeec1fa1bb19f27
214 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
63a56b087a |
Big Slappy | Giant Weapon DLC [MERGE READY!!!] (#77273)
## About The Pull Request Big Slappy is a new illegal shovel/wrench which can be obtained through illegals means. Parts you need to craft it can be found on the black market uplink for a low price, but if it is not there you can find it on the imports page on your hacked cargo console for 4400 credits usually. Big Slappy makes you slow and you will get 10 recoil damage everytime you hit someone and you will knock down your opponent for two seconds while throwing people back like a baseball bat. It deals 30 damage and is the fastest shovel/wrench out there. It can be folded into its wrench form which will change its typing and makes it look like a wrench. It also deals more damage in the wrench state, but also deals more recoil damage and your target will not get knocked down. This weapon will probably only appear in a few rounds since it has recoil damage, is slow and costs a lot to obtain. It also has a longer meele attack cooldown. To craft it you need 4 wrenches, 1 drill, 5 plasteel, 10 rods and 1 big slappy parts using tools.  ## Why It's Good For The Game Cool new weapon. ## Changelog 🆑 add: Added big slappy image: Added big slappy parts and big slappy sprites /🆑 |
||
|
|
5ee1b76926 |
fixes medbots made with tactical medical kits having the wrong skin (#77080)
Fixes #76996 🆑 ShizCalev fix: Medbots made with tactical medical kits now have the correct skin /🆑 |
||
|
|
b427a201f2 |
Fixes FRAG-12 recipe leaving reagents in the beaker after crafting (#77445)
## About The Pull Request This PR changes the recipe to use 10 fluorosulfuric acid instead of 5 sulfuric and 5 fluorosulfuric. This doesn't function as a balance change as sulfuric acid is actually required to craft fluorosulfuric acid, so this shouldn't impact the difficulty of crafting it, just make it more consistent. This also fixes a minor grammar issue with the name of the crafting recipe that bugged me. Just me being pedantic. ## Why It's Good For The Game Fixes #77338. There's probably something deeper going on with how crafting handles materials that turn into other materials in crafts, but this is a simple fix that makes sense in the short term to make them actually craft as expected instead of leaving byproducts. ## Changelog 🆑 Vekter fix: FRAG-12 shells no longer require sulfuric acid, instead needing 10 fluorosulfuric acid. This should prevent them from leaving byproducts if crafted in a specific way. /🆑 |
||
|
|
4d654c7e2a |
Crafting recipes without an explicit name are now named after their results. (#77465)
## About The Pull Request What it says on the tin. The code comment accompanying the "name" var suggests this was already the case, but it was only true for the crafting UI. Adjusted some other code that gets recipe names to account for this change. ## Why It's Good For The Game Convenient, both as a fallback and for the sake of avoiding repetition where it isn't necessary. That said, I haven't gone out of my way to remove pre-existing names that match the result, in case that practice is still considered desirable. It also fixes #77379 and similar issues. ## Changelog 🆑 fix: crafting recipes without a name, such as the mothic pizzas, will inherit the name of the item they make /🆑 |
||
|
|
63d6c2e962 |
Adds in the smoothbore disablers. (#76773)
## About The Pull Request This PR adds in a craftable smoothbore disabler, a pistol companion to the lethal laser musket. Unlike the musket, it fires a disabler shot. Singular. Weak in armor too. After you fire it, you've gotta crank it, but only one crank. The good thing about it is that you can simply add more smoothbores to your inventory, and use 4 of them to take down a target. The bad thing is that it's a smoothbore (which for an energy weapon, means no lens is installed). It has 22.5 degrees of inaccuracy. Have fun. Militia Men start with a holster containing two of these, fitting with their equipment. But of course, the Militia General has an upgraded laser musket, so... He needs a better smoothbore too. **INTRODUCING THE ELITE SMOOTHBORE DISABLER** Using ANCIENT TECHNOLOGIES and PURE BLING, you can fire TWO shots, not be weak against armour AND have actual accuracy (and a +5 damage boost because i figured why the hell not). This is the strongest upgraded variant of the shitty maint guns, so the tome to craft it is currently unavailable. I want someone to figure out a creative way to put it somewhere that isn't just a random spawn in maintenance.  The Militia General only has one elite smoothbore. It's too rare and powerful to simply have two. Even though a regular disabler is better in every way. Smoothbore Disabler Recipe: 1x Weapon Stock 5x Cable Coil 1x Pipe 1x Micro-Laser 1x Power Cell 1x Mouse Trap Needs: Screwdriver, Wrench. Takes 10 seconds to make. Elite Smoothbore Disabler Recipe: 1x Smoothbore Disabler 5x Gold Ingots/Sheets 1x Hyper-Capacity Power Cell 10u Tempomyocin Needs: Screwdriver. Takes 20 seconds to make. Recipe requires recipe book. ## Why It's Good For The Game Having a sidearm to go with your laser musket is neat, alongside the fact that it just allows following up on someone. I don't have much to say honestly, I just think it's neat. Also the idea of an assistant going FULL BLACKBEARD, carrying 4 pistols and having to toss them away in order to shoot again cracks me up. Oh and this is the part for coders: I've de-spaghettified some code with the maint gun recipe granters, and the gun crank is now a component. It's likely you could use it on any item that sends the proper signal, so I kind of overbuilt it on purpose. Also the attack_self on guns now returns parent. This should allow it to send a signal alongside putting your grubby fingerprints on the weapon when you switch modes. There could be bugs but they should be easy to fix if they pop up, mode switching on guns works without a fuss. ## Changelog 🆑 add: Added the smoothbore disabler and it's prime variant. You can now craft a disabler with only one shot and terrible accuracy. code: Gun cranking has been made a component and could theoretically be used on more than guns. /🆑 |
||
|
|
3b44a8b15c |
Adds cardboard IDs to the game: The broke man's agent ID. (#76682)
## About The Pull Request This PR adds a new craftable item to the game that, in a way, works somewhat like ID cards, as in it gives the wearer an identity of some sort, and that can be modified similardly to the agent ID, but... It doesn't provide access. It doesn't trick security bots and turrets. It doesn't work with chameleon masks. It doesn't have a bank account. It doesn't fit inside wallets or PDAs. It doesn't show a trim (it's just cosmetic) on the security HUD. It doesn't look like an ID card. (It does however, synergizes well with sign language and face-covering mask, but in the face of all the things id doesn't do, should I change that? idk) Basically, it's not an ID, it's just a piece of cardboard with name and job written on it.   ## Why It's Good For The Game Often, player shenanigeans rely on ID cards with gimmicky names and jobs to advertise themselves or provide a (feeble) disguise for it. The idea is to provide players a cheap tool for their tomfoolery, that doesn't get much in the way of balance. Compared to actual IDs, cardboard IDs' only advantage is the fact they're more easily produceable. Also this PR converts a bit of snowflakey code into signals, and fixes the name part in hallucination messages being shown "Unknown" while the speaker is wearing a mask but also an ID. ## Changelog 🆑 add: Added cardboard IDs to the game. They can be crafted with a cardboard sheet and wirecutters and modified with a writing tool. While worn, these will modify the visible name of the wearer just like actual IDs, though they aren't real IDs and won't work as such. /🆑 |
||
|
|
8ca2a0bb35 |
service borg cookin fixin update (#76590)
## About The Pull Request PR done for bounty: https://tgstation13.org/phpBB/viewtopic.php?f=5&t=33988 borgs can now turn on stoves and griddles borg click code has been reworked a bit to be closer to base mob, you are now able to click on stuff within reach rather than just Adjacent (might be buggy to introduce this? hopefully not. if anything we can testmerge this), which lets us make the apparatus work to pick up stoves on the range and such Adds the Codex Cibus Mechanicus as an upgrade you can research in RnD with the other service borg ones. When you use it it shows you the cooking menu!  ## Why It's Good For The Game The service borg has the tools to prepare ingredients, but it can't actually do anything with them, which severely limits it, only being able to do slapcrafted foods. The apparatus not working on items that are on top of stoves/griddles seems to be just a bug with how cyborg click code is handled. ## Changelog 🆑 Fikou fix: service borg apparatus now works on stoves and griddles and ovens qol: borgs can now activate stoves and griddles add: rnd can research a cookbook for service borgs /🆑 |
||
|
|
4c99fb2ebb |
Coroner additions and tweaks (#76534)
## About The Pull Request Serrated bone shovels can be created with any kind of shovel now, not just a spade (???) Serrated bone shovels can be used in place of circular saw in most surgeries. Added a duller (still deadly) variant of the serrated bone shovel as coroner mail. Autopsy scanners now act as advanced health analyzers on dead and seemingly-dead people. Increased the force, throwforce, and wound bonus of inert ritual knives and scythes. Coroner gloves can quickly apply medicine like nitrile gloves. ## Why It's Good For The Game > Serrated bone shovels can be created with any kind of shovel now, not just a spade (???) Weird ass bug. > Serrated bone shovels can be used in place of circular saw in most surgeries. It's serrated, it's cool, it's rare, it has a fast toolspeed. > Added a duller (still deadly) variant of the serrated bone shovel as coroner mail. Very thematic for the coroner, should probably also be a heirloom item but whatevs. Weaker so there's still a reason to seek out the OG. > Autopsy scanners now act as advanced health analyzers on dead and seemingly-dead people. Scanning corpses is pretty important during surgery - it tells you how much blood they have, organ damage, diseases... these things don't appear in the surgical computer readout, which means the coroner has to go out of his cave to pick up a boring light blue meatbag wound scanner. This also incentivizes coroners to do their job by giving them something cool that only works on dead bodies. > Increased the force, throwforce, and wound bonus of inert ritual knives and scythes. These two options in the MortiDrobe are pretty frickin' badass, especially with how SICK the Coroner looks with them, double especially in combat.  However, there's the large issue that as actual weapons they're really, really weak. Not enough damage, when I use them in combat I both feel badass but also get a nagging feeling in the back of my mind that I'm intentionally gimping myself, and with only 10 damage I can *really* feel it. I find it unfair that these are objectively worse than a welding tool or even a Butcher's Cleaver when they're a lot more involved to find, and scarce besides. These arguments apply equally to the Wizard's ritual knife, and the scythe. Additionally on the scythe, the crew really needs more good ghetto weaponry that isn't the boring same ol' of baseball bats, spears, cleavers... and making scythes useful is a great way to help bridge that gap. They deal a satisfying amount of damage now, with the clear downside, of course, being that they're bulky and hard to lug around. > Coroner gloves can quickly apply medicine like nitrile gloves. 'Fast medicine' doesn't just cover sutures, it also covers medical gel. Specifically, sterilizer gel. I find it annoying that the Coroner is encouraged to give up his drip for the boring life-saver nitrile gloves, because the difference in applying time really does make a difference - it makes gel applying go from annoying to smooth, which is important considering the whole purpose of sterilizer gel is to make surgeries go faster. The Coroner has surgery and thus medical locker access to begin with, so this isn't a balance problem, (and nitrile gloves are found by the dozen anyways) especially with how rare the coroner gloves are. ## Changelog 🆑 fix: Serrated bone shovels can be created with any kind of shovel now, not just a spade (???) add: Serrated bone shovels can be used in place of circular saw in most surgeries. add: Added a duller (still deadly) variant of the serrated bone shovel as coroner mail. add: Autopsy scanners now act as advanced health analyzers on dead and seemingly-dead people. add: Increased the force, throwforce, and wound bonus of inert ritual knives and scythes. add: Coroner gloves can quickly apply medicine like nitrile gloves. /🆑 |
||
|
|
b9fa1bc8f4 |
The Laser Musket (2023) (Settlement Helper Edition) (#76231)
## About The Pull Request This adds a craftable laser musket to the game. It's slow and unwieldy, but consistent! I'd be happy to tweak the numbers if it's too good/bad. This PR also adds an independent militia ERT, who travels the spinward sector to help defend stations! TO DO LIST: - [x] Finish worn sprites - [x] Add a crafting recipe on par with the pipegun - [x] Add bayonets - [x] Separate charging into two stages and REDO THE AUDIO AAAA - [x] Clean up code (Needs review, totally) Scrapped: - Possibly add overcharge mechanic (This is just beyond my skill level for now) - Find a unique sound for the weapon firing (We have a unique projectile, and I can't a sound that fits more than the laser gun one)      Inhands by RedSentry27 Suit sprite by Kinnebian Prime Laser Musket sprites by RedSentry27 Balance Considerations (ew): 25 damage (30 on prime) Normal wound 40 Stamina damage (45 on prime) Weak to armour (prime not weak to armor) 2 second charge time, needs to be charged twice No overcharge Requires two hands to hold (like a chainsaw) Crafting Recipe: One rifle stock Fifteen Cable Coils Four Iron Rods One micro laser One capacitor One pair of prescription glasses One drinking glass Craft for 10 seconds with a wirecutter and screwdriver Prime crafting recipe: (REQUIRES READING MAINTENANCE LOOT: "journal of a space ranger") One laser musket Fifteen cable coils Five silver One water recycler Fifteen units of nuka cola Craft for 30 seconds with a screwdriver while wearing cowboy boots and a cowboy hat ## Why It's Good For The Game The idea of assistants and revs forming firing lines in the halls to shoot eachother sounds hilarious. Besides, we need a parallel to the pipegun, and this is the funniest way to do so. ## Changelog 🆑 Cheshify, Kinnebian, and RedSentry27 add: Maintenance engineers have sent out blueprints across the sector for a new laser musket. admin: A new energy-gun toting ERT is available to send to the crew. --------- Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com> |
||
|
|
bf17ae385b |
Glass bottles with reagents can be used for crafting, empty ones will be used as tools if possible (#76259)
## About The Pull Request
Fixes #76250
The problem was a glass bottle has `tool_behaviour = rollingpin` and so
it took priority in this if condition
|
||
|
|
903eea5a69 |
Air Sensor are Craftable, Removed from RPD UI, Have New Linking System (#75869)
## About The Pull Request **1. Craftable & Removed from RPD UI** 1. Air sensor's are now craftable 2. You can turn them on/off with hand. Even though turning off the sensor will change it to a diffrent type[from `obj/machinery/air_sensor` -> `obj/item/air_sensor`] it's I/O port's are sill preserved when turning them on although you have to assign it a new name again which is usefull if you want to change the sensor's purpose in game. 3. They can now only be deconstructed by a welding tool and should be wrenched in place to turn them on. 4. Turned off air sensor's once unwrenched can be picked up like any regular item 5. Air sensor's are removed from the RPD UI because they don't go with pipes so it logically doesn't make sense to group them with pipe related device's Removed unused code in the process https://github.com/tgstation/tgstation/assets/110812394/3439a0f3-9c48-43ac-8f4b-98135435ec13 **2. New ID System** The problem with air sensor's is that each sensor is assigned a unique ID which is then stored in `GLOB.objects_by_id_tag` list. Each sensor name it's assigned based on the gas it's trying to sense(for naming only even though it can detect other gases) So if 2 sensor's having the same ID are made they will overwrite each other in this list leaving one sensor orphaned in the world which cannot be referenced because it's value was overwritten by a new sensor having the same ID in this list. The Solution? Rather than having all atmos computer's look up sensor's from this 1 global list make each computer keep track of all sensor's it's responsible for in it's own local list[which i called `connected_sensor's`] this way 2 sensor's can have randomly generated names in the global `GLOB.objects_by_id_tag` list but the computer will know what sensor to look up in this list based on the stored sensor ID's in the `connected_sensor's` list Basically what i am getting at is now you can make as many air sensor's as you wish but you will know have to connect that sensor to the computer using a multitool. Notice in the video how i made 2 sensor's called `Supermatter Chamber Sensor's`] and every time you try to connect an sensor which has the same name[`Supermatter Chamber Sensor's` in this case] they will ovewrite the old sensor in it's list as shown in the video https://github.com/tgstation/tgstation/assets/110812394/b5283c3b-c8a1-4b94-a6a8-8ba7a0007615 **Why it's good for the game**  I agree. Also air sensor's taking up a full Tab/Section in the RPD UI wasted a lot of UI space so that's removed now. Also making the air sensor's wrenchable and pickable item's was also requested in https://github.com/tgstation/tgstation/pull/72019#issuecomment-1355499873 so you relate them to device's like meter's Another huge issue was that the number of air sensor's you can make in the world was limited because each sensor in the world must have a unique ID but that's finally fixed now so yeah make as many sensor's as you want. ## Changelog 🆑 add: air sensor's are craftable refactor: air sensor's can now be turned off by hand and can only be deconstructed by a welding tool refactor: removed `Params()` proc qol: unwrenched air sensors can be picked up & recycled like regular item's del: air sensor are removed from the RPD UI qol: air sensor's are no longer restricted by their unique ID's which mean you can craft as many air sensors as you want. /🆑 --------- Co-authored-by: Time-Green <timkoster1@hotmail.com> |
||
|
|
48fa7744df |
Burner can be crafted from any open container (#75978)
 ## About The Pull Request Expands the options for making burners (makeshift igniters) by requiring any open container (bottles, cans, cups) instead of beaker subtypes. ## Why It's Good For The Game Makes ghetto recipe a bit more ghetto-friendly ## Changelog 🆑 qol: Chemical burner can be crafted from any open container, not just beakers /🆑 |
||
|
|
df7f509185 |
Fixes crafting using tool implants eating the implant if the tool is part of the crafting recipe (#75813)
## About The Pull Request Fixes an issue where crafting something that uses a tool as a part of its recipe using an integrated arm implant would delete the cyborg tool from the implant. Technically the flamethrower was not eating the implant, but it was doing other weird stuff. The tools can still be used if they are part of the needed tools to put together the item. fixes: #74081 ## Why It's Good For The Game We don't want players losing their tool implants from crafting an item. ## Changelog 🆑 Seven fix: Crafting recipes will not eat your implanted toolset if the recipe calls for a tool /🆑 |
||
|
|
191459a86f |
Hot Stuff(Igniter's & Sparkers) are buildable. (#75722)
## About The Pull Request **1. Igniter's** Those things which you see in atmospheric's incineration chamber & ordanance lab used to ignite gases, they can now be crafted  - **Interactions** a) attack with hand to turn it on/off b) use a multitool to change it's ID(how that's useful? keep reading) c) use welding tool to deconstruct it **2. Sparker's** No they aren't a new thing, you probably woudn't have noticed them but it's this thing in xenobiology lab for example, and you use the button to turn it on  They function the same as igniter's(i.e. combust gases) except as the name implies they emit spark's to get the job done These can now also be made in the autolathe as a wall mount  Yup just stick it on a wall and your done - **Interactions** a) use a multitool to change it's ID(how that's useful? keep reading) b) use welding tool to deconstruct it To turn this on see the last section **3. Ignition Switch Controller** These function just like blast door controller's except they can control only sparker's & igniter's Also printable in autolathe  - **How it work's(or a reminder if you already know)** a) First use multitool on sparker/igniter to set their ID's b) Use multitool on this controller to set it's ID to be the same as your sparker/igniter ID. If the igniter, sparker & this controller all share the same ID you can use this controller to turn all device's on/off at once c) stick it in a button frame & close d) use button Hot Stuff https://github.com/tgstation/tgstation/assets/110812394/8b59a71e-8992-428e-a629-5c371b5c0c3d Ok so really what's the actual difference's between an igniter & sparker 1. Igniter's are built on the floor while sparker's are mounted on wall's 2. Igniter's have `max_integrity = 300` while sparker's have it s normal `max_integrity = 100` so yeah igniter's are more durable than sparker's 3. Igniter's keep the turf hot continuously as long as it's on so they take up power continuously, so their operation cost is high whereas sparker's emit spark's only once and use power only that one time so they are cheaper to operate **Why it's good for the game** Make your own combustion chamber professionally and not in an improvised way. Honestly I'm tired of seeing people chuck in lit welding tool's/ Zipo lighter's to ignite the gases and we loose those item's so yeah now we have the tool's to do it the right way ## Changelog 🆑 add: Igniter's can be crafted add: Spraker's can be printed in the autolathe add: ignition controller can be printed in the autolathe /🆑 --------- Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> |
||
|
|
4b4aec191d |
Adds a crafting recipe for the atmospherics gas mask. (#75476)
## About The Pull Request Adds a crafting recipe for the atmospherics gas mask, allowing them to be replaced. It requires a sheet of metallic hydrogen for the frame, painted with zaukerite via a welding tool in the crafting menu. ## Why It's Good For The Game Allows atmospheric gas masks to get replaced. ## Changelog 🆑 add: Crafting recipe for atmospherics gas mask. /🆑 |
||
|
|
07912a8bd0 |
Fixes some missing textures on the labcoat suit storage + makes the paper hat a craftable item (#75681)
## About The Pull Request Fixes epipens, pillbottles, and test tubes having a missing texture when put into suit storage. Makes pills and patches invisible on the player when put into suit storage. Turns the paper hat into a craftable item, and by extention fixing an issue where a paper hat would appear on your head when you put paper into suit storage. fixes: #69504 ## Why It's Good For The Game Fixes some missing texture sprites, makes it so the paper hat does not appear on your head when you put it in suit storage. Pills and patches also appeared on your body when put into suit storage, which I thought looked weird, since they would be in your pocket or something. ## Changelog 🆑 Seven fix: Fixes epipens, pillbottles, and test tubes missing texture when put into suit storage fix: A paper hat no longer appears on your head when putting paper into suit storage add: The paper hat is now a craftable item image: Pills and patches are no longer visible on a person when put into suit storage /🆑 |
||
|
|
14411daa11 |
Fix broken icons in the crafting menu (#75649)
## About The Pull Request **1. Rolling Pin Icon Fix** The rolling pin icon shows up correctly under the tools section  The problem was with the text `#define TOOL_ROLLINGPIN "rolling pin"` `"rolling pin"` has a space in it's name, so when it's sent to the UI and used as a css class identifier it get's treated as 2 separate classes class1 = rolling class2 = pin Causing undefined results. So i made sure to remove this space when inserting this name as a sprite sheet and also remove the space manually in the Client-Side UI Fixes #75525 **2. Basketball Hoop Icon Fix** The basket ball hoop has the correct icon in the crafting menu  This is not an `32 x 32` icon but an `32 x 64 ` icon so we assumed the icon size wrong hence it got rendered incorrectly. Now in the back end we query the size of the icon using the datum sprite sheet before sending it to the UI, so this should also fix a lot of other broken icon's that are not the standard `32 x 32` that went un noticed ## Changelog 🆑 fix: rolling pin icon show's up correctly under the tools section in the crafting menu i.e. for those recipes that require it fix: basketball hoop icon and other sprites that are not the standard `32 x 32` now show's up correctly in the crafting menu /🆑 |
||
|
|
199c250975 |
Reworks gym equipment (#75389)
## About The Pull Request Gym equipment are currently ported from Goon code, and I didn't like how it currently worked as it was buggy and the code was a mess. I decided to just rework how they worked entirely. I left the parts that weren't Goon code (like tooltips & deconstruction) alone because it's not goon code and I think it's fine that way. - Now you buckle yourself to it (like a chair, I didn't like how it didn't work like one) and can work out with an action button you get on buckle, you can do as many sets as you want, then unbuckle & go. - You aren't hardstunned for 8 seconds for clicking on it anymore, you aren't flying around because the stun doesn't even last the duration of the animation anymore. Video demonstration https://github.com/tgstation/tgstation/assets/53777086/f5ae86f1-65fb-46c6-8a5f-8f9d9f0548b3 ## Why It's Good For The Game Reworks old code Removes un-documented Goon code Makes gym equipment less broken than it currently is. ## Changelog 🆑 qol: Gym equipment was reworked. You now buckle yourself to weight machines to use them, rather than clicking on it and getting stunned for a few seconds. It also means it works like a chair now. qol: Gym equipment no longer breaks a sweat in no gravity. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
475d5b9cc5 |
Makes elder atmosian statue craftable (#75475)
## About The Pull Request Fixes https://github.com/tgstation/tgstation/issues/74534 by making elder atmosian statue craftable. I am not 100% sure if this is the intended way for it to be able to be made or if it's even the right amount of materials but if I need to change it please let me know. ## Why It's Good For The Game Fixing issues is good, having uncraftable things is bad. ## Changelog :cl:Reality Overseer fix: makes elder atmosian statue craftable /🆑 --------- Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> |
||
|
|
dff70625e7 |
Bible refactor (#75350)
## About The Pull Request This started as a simple addition where burning a bible would curse you, but then I realized... Bibles aren't even proper books, thus can't be burned! So yeah, since that is not necessary due to how atom_storage works, I reworked that. ## Why It's Good For The Game Because burning bibles and getting cursed for it is funny.   ## Changelog 🆑 add: You can burn bibles now! But heresy has a steep cost... /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
2068ea9ab5 |
Crate, Closet Refactors & Access Secured Stuff (#74754)
## About The Pull Request This PR is actually 2 parts, one that fixes runtimes with crates & the other that allows secured closets to be crafted along with a secured suit storage unit **Crate Fixes** Fixes #74708 The problem starts here |
||
|
|
154c9ebe82 |
Stock Part Resprite (#75149)
## About The Pull Request Resprites stock parts to bring them up to date, changes manipulators to servo motors as I couldn't make manipulators work well at this scale.  (Power cells sold separately) ## Why It's Good For The Game The old stock parts are dated, in some cased quite ugly, and in the case of manipulators a ball of assorted pixels. Incidentally removed a couple of single letter var names. ## Changelog 🆑 image: Stock parts have been resprited. code: Manipulators have been renamed to servo motors, all related types have been repathed to match. /🆑 |
||
|
|
4de3df461e |
[MDB Ignore] Adds a unit test for typepaths that are required to be mapped onto each station map (#74985)
## About The Pull Request Inspired by #74967 and #68459 , and the fact that Tramstation regresses very often - Adds a unit test, `required_map_items`, which ensures that certain typepaths which should definitely be mapped onto every map is mapped onto every map It can also be used to ensure that items which should not be mapped in multiple times are not, among other things. I included a few examples - - Min 1, max inf of each head of staff stamps - Min 1, max 1 departmental order consoles - Min 1, max inf comms console - Min 1, max 1 Pun Pun - Min 1, max 1 Poly - Min 1, max 1 Ian If, in the future, a mapper decides they (for some reason) do not want a certain previously-required item on their map, the test can be adjusted such that it allows excluding or something, but currently it should be for items which require conscious thought about. #### QA: Why not make this a linter? I attempted to make this a linter before realizing two things 1. Someone might make a spawner which spawns the items, or they might get placed in a locker, in any case this accounts for everything on init 2. Linters run on every map, non-station maps included So I went with a test ## Why It's Good For The Game #50468 #61013 #74967 Why is it always the CMO stamp? ## Changelog Not necessary (unless I find a map missing something, then this will be updated) |
||
|
|
f2fd69a49a |
Minerals have been refactored so costs and minerals in items are now in terms of mineral defines. (#75052)
Ladies, Gentlemen, Gamers. You're probably wondering why I've called you all here (through the automatic reviewer request system). So, mineral balance! Mineral balance is less a balance and more of a nervous white dude juggling spinning plates on a high-wire on his first day. The fact it hasn't failed after going on this long is a miracle in and of itself. This PR does not change mineral balance. What this does is moves over every individual cost, both in crafting recipes attached to an object over to a define based system. We have 3 defines: `sheet_material_amount=2000` . Stock standard mineral sheet. This being our central mineral unit, this is used for all costs 2000+. `half_sheet_material_amount=1000` . Same as above, but using iron rods as our inbetween for costs of 1000-1999. `small_material_amount=100` . This hits 1-999. This covers... a startlingly large amount of the codebase. It's feast or famine out here in terms of mineral costs as a result, items are either sheets upon sheets, or some fraction of small mats. Shout out to riot darts for being the worst material cost in the game. I will not elaborate. Regardless, this has no functional change, but it sets the groundwork for making future changes to material costs much, MUCH easier, and moves over to a single, standardized set of units to help enforce coding standards on new items, and will bring up lots of uncomfortable balance questions down the line. For now though, this serves as some rough boundaries on how items costs are related, and will make adjusting these values easier going forward. Except for foam darts. I did round up foam darts. Adjusting mineral balance on the macro scale will be as simple as changing the aforementioned mineral defines, where the alternative is a rats nest of magic number defines. ~~No seriously, 11.25 iron for a foam dart are you kidding me what is the POINT WHY NOT JUST MAKE IT 11~~ Items individual numbers have not been adjusted yet, but we can standardize how the conversation can be held and actually GET SOMEWHERE on material balance as opposed to throwing our hands up or ignoring it for another 10 years. |
||
|
|
fefd9aa4ea |
Craftable material sniffers (#74798)
## About The Pull Request Are YOU annoyed about never finding the fucking mats you need? Slap some cable coil on an analyzer and find that untouched sheet of iron and or glass. It's a pinpointer for basic sheets. ## Why It's Good For The Game Originally I meant to give this as something borgs might want, but I realized they really won't have a great time using it and the situation is more about botanists not being asked, and not knowing how to grow lots of iron, repeat for all other departments. Awareness problems!!! But I still like the item as a miscellaneous craftable. ## Changelog 🆑 add: Craftable Material sniffers /🆑 --------- Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> |
||
|
|
f1996656cb |
Fixes crafting tools not taking into account subtypes (#74971)
## About The Pull Request Does what #74968 intended to do, it fixes crafting tools checking if the required item is a subtype of the available items, instead of the other way around. What this meant is for example  this wouldnt work, even though cheap lighters are a subtype of lighters, as /obj/item/lighter/greyscale but if i instead spawned the base /obj/item, which /obj/item/lighter is a subtype of  it would work. obviously this is funnily broken ## Why It's Good For The Game Bug gone! ## Changelog 🆑 fix: Fixes crafting tools not taking into account subtypes, i.e. you can craft a filet migrawr with any lighter. /🆑 |
||
|
|
981aad4239 |
Fixes spawners being forcemoved during crafting (#74946)
## About The Pull Request Lizard skin boots create a spawner as their crafting result. The spawner works fine and creates the boots, but then then the crafting system moves the spawner into the world after it has been marked for deletion. So you end up with both the boots and the spawner, with the spawner covering up the boots and being non-interactive.  This PR just adds a check for spawners to ensure that doesn't happen. Closes https://github.com/Skyrat-SS13/Skyrat-tg/issues/20728 ## Why It's Good For The Game Fixes some jank. It's a pain to craft these, so having this be the payoff is disappointing. ## Changelog 🆑 fix: crafting lizard skin cowboy boots no longer places a spawner object over the created boot item /🆑 |
||
|
|
821123b598 |
Makes a whole bunch of wooden objects flammable (#74827)
## About The Pull Request This whole PR started because I realized that baseball bats are not actually flammable which I found weird, then I looked at a whole bunch of other stuff that really should be flammable but also isn't. ## Why It's Good For The Game Makes wooden objects behave slightly more consistently? Honestly, most of these seem like oversights to me. ## Changelog 🆑 balance: The following structures are now flammable: Picture frame, fermenting barrel, drying rack, sandals, painting frames, paintings, spirit board, notice board, dresser, displaycase chassis, wooden barricade balance: The following items are now flammable: Baseball bat, rolling pin, mortar, coffee condiments display, sandals, wooden hatchet, gohei, popsicle stick, rifle stock /🆑 |
||
|
|
d3fffa79d2 |
Labels security equipment as being lethal, nonlethal, less-than-lethal or highly destructive. (#74548)
## About The Pull Request Labels a few bits of security equipment as lethal, nonlethal, less-than-lethal or highly destructive (in the case of ion carbines or flamethrowers). For shotgun shell boxes, ammo boxes and weapon crafting kits, it clarifies this in the name. For printable individual ammo, it clarifies this in the print name. ## Why It's Good For The Game [This thread](https://tgstation13.org/phpBB/viewtopic.php?p=676311#p676311) reminded me that I've seen a lot of confusion about various pieces of security equipment and what exactly the distinction is between lethal, nonlethal and less-lethal actually is. People actively use a lot of less-lethal equipment while thinking that it is nonlethal. It isn't. You absolutely can kill someone with rubber shot and beanbags, and the AI will get up in your grill about it. The same can be said about weapons such as the energy crossbow. I saw one person flabbergasted that by repeatedly shooting someone with it, they killed their prisoner with toxin damage. While the weapon is mostly stamina damage, it still deals a hefty amount of toxin damage, so shouldn't be used necessarily in place of a disabler or baton. Equally, I've seen some people using temperature guns recklessly and finding out far too late that they've murdered a lizardperson by shooting them once, or wondering why the AI is angry at them for using it when it doesn't _seemingly_ cause damage immediately. This has resulted in administrative issues. We can't assume our players know these distinctions before utilizing this equipment, so having some helpful gear titles will hopefully inform them before they walk into these problems. ## Changelog 🆑 qol: Clarifies in various names and descriptions whether security equipment is lethal, nonlethal, less-than-lethal or destructive. /🆑 |
||
|
|
bd4392ab74 |
New inhand icons for light tubes, makes latex balloons craftable, and various other fixes/improvements (#74576)
## About The Pull Request This ended up turning into a bit of a junk drawer of a PR I'll admit, but there's really not a whole lot to it. There are three parts: ### Part I - Inhand sprites for light tubes. Adds inhand sprites for light tubes. No more cardboard tube placeholder. This is self explanatory-they have unique sprites for all 3 states (normal, broken, and burnt out). The broken version has sharpness now. Also refactored light_items.dm a bit, it was using a bespoke proc called `update` to do icon updates. Now it has been _updated_ to use `update_appearance` instead.  ### Part II - Latex Balloons Latex balloons, a very old piece of code that was full of typos, has had some life breathed back into it. It is a fun little item, and I saw no reason to let it rot. It can now be crafted using a latex glove and some cable. Also, you can pop them using anything sharp... such as a broken light tube! Aha! We've come full circle.  ### Part III - update_inhand_icon proc A new atom helper function, `/atom/proc/update_inhand_icon(mob/target = loc)` I was struggling to find an existing proc that could update inhand icons of a mob that was holding any given atom, without necessarily having a ref to the mob yet. So I ended up writing one that did that, and finding the spots in the code which were using a similar way of doing it (that is in fact how I stumbled upon the latex balloon item). ...........But then Iearned of the `/datum/element/update_icon_updates_onmob` component and ended up using that instead. There are still some very niche cases where you might not be able to use the component where the proc would come in handy however e.g. in transforming.dm--and if anything, I think it could serve as a good spot to leave a comment informing would be users of `update_icon_updates_on_mob` as an alternative. For that reason especially I thought it worth keeping. ## Why It's Good For The Game New inhand sprites, and a fun little craftable balloon. What's not to like? ## Changelog 🆑 add: latex balloons can now be crafted using a latex glove and some cable. You can fill them with air using a tank. They also have a new sound effect. imageadd: light tubes have a new inhand sprite fix: broken light tubes now actually have sharpness to them as they are basically spikes of glass. refactor: refactored latex balloon code /🆑 |
||
|
|
997dac9616 |
Imports and Contraband: Different! Cargo crates without locks! MEAT! (#74490)
## About The Pull Request ### **Cargo Black Market goods should stay in cargo's hands** #### New Cargo Console Category: Imports This category is explicitly the non-departmental category beyond simply having a Misc category. It is meant for material that nobody is meant to be buying for their departments, and mostly for the odd-ball crates that might show up. It also allows us to maintain contraband as exactly that; contraband that the departments shouldn't have access too whatsoever. If someone is buying from this category, they probably intend to be a cheeky fuck. <details> <summary>The New Changes</summary> #### Baseline Imports MEAT: MEAT (meat backpack you can eat) <details> <summary>MEAT</summary>   </details> Duct Spiders: They're adorable and cause a mess, but that doesn't stop Nanotrasen from importing them from the Australicus sector to your station! Stack of 50 Bamboo Cuttings: Pretty expensive and kind of a premium. Allows for those people looking to make bamboo decorations without hoping botany exists, and are at least willing to pay. Also lets them make horribly dangerous stuff with bamboo, of course. A Single Sheet of Bananium: The problems this will cause I think speak for themselves. (mostly due to a clown fruitlessly attempting to make something actually disruptive while bankrupting cargo) Natural Fish Bait: It isn't cheating, it's homemade. (Really good bait but expensive and obviously drugs) A dumpster...: A corpse in a dumpster, doesn't get more complicated than that. Useful for corpse reasons. Made using some code I borrowed from over here! https://github.com/lizardqueenlexi/orbstation/pull/354 #### Contraband Imports Foam Force Pistols: Same as it ever was with a price reduction. I brought it down because riot darts are like 8 bullets a clip, and do less damage than a disabler using riot darts. It feels like a sidegrade weapon, and even if it technically is a ballistic weapon, it...isn't that strong. I think this is pretty safe. Definitely Not a Duct Spider: It's actually a giant spider in a box. If you want to waste cargo's money while also sending them a mess to deal with, this is the crate for you. Russian Surplus Military Gear Crate: I took this opportunity to futz with boltaction rifles. There are two kinds of mosin nagant you can get in this crate. One of them is the good kind (no jamming). The other is the shit kind (yes jamming), but you get more of them. You can get the good ammo, or you can get the shit ammo. You'll have to pick through it a lot more carefully to make sure you know which ones you've received. Since this dilutes the pool even further, getting a good number of mosins that aren't trash is even more expensive, and even if you do get mosins at all, you might still only get the bad ammunition that doesn't work against actual human threats as well. It also now cannot be purchased through the security cargo supply console, and as to why they could in the first place baffles me. Doesn't have a lock anymore because...it's contraband? Who is locking this stuff? **Side note: _You can make surplus 7.62 in the autolathe as well. It is not very good except to fight fauna or naked assistants._** **Side Side note: _I've killed off the shitty brand_new subtype and brought peace once more to this land._** #### Illegal Imports (Emag) NULL_ENTRY: A journal that suggests how to make a...very interesting weapon. The Regal Condor. Kind of an evolution on some other ideas I've had over the years. This one is basically a secret weapon with a few hurdles to jump through. Very lethal. Very expensive. **Side note: _For reference, it's effectively 19 TC worth of gear to make, but there does exist some methods to acquire this more cheaply if you can get some bits and pieces from world spawns. Given it requires you to get some pieces of equipment that might require additional purchases of contraband, and getting into the captain's office to loot a specific piece of clothing, the stakes more than make up for the effectiveness._** Smuggled WT-550 Autorifle Crate: This is basically the same, but you might have noticed had you recently attempted, like me, to buy these when you emagged them using a personal account and discovered a tragic oversight. You couldn't, because they still needed armory access. This removes that access, because you've already gone to the effort of getting your hands on an illicit firearm through cargo, and if they techs somehow miss the fact that you've purchased a WT-550...all the better for you! Smuggled WT-550 Ammo Crate: Includes AP and Incendiary! **Side note: _You can get WT-550 ammo again via the Illegal Technology node._** Shocktrooper: Replaces the Special Ops crate. Contains a box of EMPs, smoke grenades, a couple of gluon grenades and a couple of frag grenades. Funsies. Special Ops: The NEW Special Ops crate. Contains a chameleon mask, jumpsuit and agent card. And a knife. **Side note: _This is what appears in some cargo loan events._** Refurbished Mosin Nagant Crate: The actual good mosin nagants. There are 6 of them. But they don't come with spare ammo. Hand them out to your techs! </details> #### New Crates - MEAT crate - Standard - Duct Spider crate - Standard - Giant Hostile Spider crate - Contraband - 50 sheets of Bamboo crate - Standard - A single sheet of bananium crate - Standard - Natural (drugs) fish bait - Standard - Dumpster with a corpse in it - Standard - Shocktrooper crate (Grenades) - Emag - Special Ops crate (Disguise) - Emag - Appears in some cargo loan events - Refurbished Mosin Nagant crate - Emag - Regal Condor construction journal (NULL_ENTRY) - Emag #### Changed Crates - Foam Force Pistols (cheaper) - Contraband - Russian Surplus Crate (less reliable, can't be bought by security console) - Contraband - WT-550 crate (more obtainable via personal accounts, thus incriminating, not armory locked) - Emag - WT-550 ammo (includes incendiary and AP) - Emag #### Crates that got moved, unchanged, into Imports - Foam Force Crate - Cosa Nostra Crate - Black Market LTSRBT - 'Contraband' Crate - Biker Gang Crate #### Not crate changes - You can print Surplus 7.62 (same as normal 7.62 but it sucks against armor) from hacked autolathes. - You can get WT-550 ammo from illegal tech. - Removes the redundant Brand New Mosin subtype - Fixes a potential exploit with jamming chance on Mosins. ## Why It's Good For The Game I just think some of the magic of Cargo getting their hands on obviously dangerous equipment and either hording it for themselves or attempting to pawn it off was lost in recent times. A lot of this 'black market' gear, however, suddenly became openly available to the crew anyway. For _free_. Contraband crates and mafia crates could be purchased via the Service budget. Security could just stock up en masse on mosins through their console. And one fairly unfortunate consequence of a few recent changes has made it nearly impossible to actually get illicit gear in the first place, even if you did go to the effort of getting the money for it. On top of this, most of cargo's goods are pretty safe purchases. There isn't much that would be considered 'actually a really bad idea to buy' other than maybe supermatter shards. I wouldn't mind there existing ways for someone to waste cargo's money while also causing them to have to clean up the mess. ## Changelog 🆑 balance: A significant overhaul of various illicit and dubiously legal goods and gadgets available via cargo. balance: Cargo now has an Import category for all non-departmental goods. (And black market goods) balance: Most contraband that already exists has been moved into Imports. adds: Includes several new imports of dubious quality. You get what you pay for. code: Removes the brand new mosin subtype as it is now defunct. fix: Fixes potentially exploitative code in the jamming proc. Cleans up that code while I'm at it. /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com> |
||
|
|
6085e3b5ee |
Reagent soup / Soup rework / Stoves - A kitchen expansion (#74205)
## About The Pull Request  **This PR:** - Reworks most* existing soup into reagents. - Adds Stoves and Ranges. Ranges replace most* existing ovens. - Adds soup pots, to cook soup **How does it work?** In the kitchen you will find a stove now. Stoves act as a "reagent container heater", essentially a chem heater. You can set a pot onto the stove. To make soup, visit the cooking recipe book for a guide. Most recipes are the same as before, just tweaked slightly - Add water to the pot (50 units for 1 batch generally), then add all the corresponding ingredients to the pot. Set the pot out on the stove and right click it to turn it on. If the recipe's correct, shortly it will start to mix and give you soup! One soup recipe will give you roughly 3 servings of soup. You can pour our the soup into a bowl using a ladle or just by pouring it manually. Of note: **All of the reagent contents of the ingredient are transferred into the soup.** Better, more nutrient rich ingredients produces more soup, and poisoned produce will pass it on. If you place the soup into a chem master, you will notice it's roughly half "soup reagent" and half a variety of reagents, including nutriments / proteins. This is your soup! It is recommended you serve your soup with the reagents included, as they make up more nutrition for the customer, however you can separate it out if you're picky. **Todo:** - [x] Fill out the PR body a bit more - [x] Mapping (wait for big merge conflict pr to go past) - [x] Soup colors - [x] Balance pass over for soup recipes - [x] TODOs - [ ] Unit tests - [x] Cullen Skink's recipe is invalid - [x] Try to see if there's an easy way to prevent soup from fattening you up too easy. ## Why it's good for the game Adds some more depth to the kitchen and moves chef away from the click-button-get-food style that exists. Allows for inherently custom soups by the way of making it reagents, so no need to support custom soup food items. ## Changelog 🆑 Melbert, stove and pot sprites by Kryson, ladle sprite by Kinneb add: Kitchens are now stocked with Ranges. add: You can now print (and create) Stoves. add: The dinnerware vendor now dispenses ladles. add: Spoons can now actually spoon... things. add: Soup has been reworked entirely. Soups are now reagents, cooked via a soup pot on a Stove or Range. Simply add water and your required items, then apply heat. Be careful not to boil over! add: Stoves, Ranges, and Griddles will now heat up their surroundings - don't turn them on around plasma! fix: Fixes being able to cook in an Oven while the room is depowered qol: Hitting a customer bot with an incorrect recipe no longer counts as a hostile attack leading to your demise shortly after refactor: Customer bots that request a reagent now use custom orders code: Cut down a lot of code in the crafting menu code, and removes some ugly ispaths del: Soup is no longer food items, so can't appear in random food pools (at least not yet). balance: Virus Food recipe now requires you cool it to 200k. /🆑 |
||
|
|
11cbbba018 |
Replaceable Traitor Uplinks (#74315)
## About The Pull Request Following [from the suggestion in this hackmd ](https://hackmd.io/IkDWWkpfQa2lkdevsnLqhA?view#Replacement-Uplinks)with a few twists of my own, I have made a method for traitors to acquire a replacement traitor uplink that has its own set of flaws and limiters in order to prevent abuse.  The basic pitch is as follows, all traitors now start with a new, crafting recipe exclusive to them, it costs a teleport beacon, a bluespace crystal, and some iron and cable coil, and then allows them to build a static, dense machine that they can synchronize with, which allows the machine to know what signal it should be looking out for from the traitor.  The traitor then uses any radio, sets it to the frequency that has been added to their static antagonist ui, and then speaks their codeword, also in the ui, and then a few things happen.  Most obviously, they get a replacement uplink that is in the conspicuous shape of the nukie or lone op uplink. This uplink can be unlocked by speaking your replacement codeword to it again, it remembers your previous TC amount and locks all other uplinks associated with your uplink handler(they can then be unlocked as normal). It also destroys any other replacement uplinks associated with your uplink handler, which means you can never have more than one replacement uplink. This means that if your uplink has been confiscated and you left it unlocked, if it hasn't been emptied out you can continue from where you were, and if you want to get back on the TC grind you won't lose the new TC to whoever stole your uplink. Of course, the new uplink can not be locked, so you have to be more careful with it or buy an uplink implant and destroy it. You can destroy your replacement uplink with a screwdriver right click, same for the machine. Additionally, the Syndicate Uplink Beacon has another quirk to it, which is that the teleporter beacon used to create it is intact, which means people eagle eyed on the teleporter console could go find you, not to mention that if you use an existing teleporter beacon, someone might notice its gone missing... oh also while making the replacement uplink i found a bug caused by a recent pr that broke debug uplinks due to them not having a purchase log. thats fixed too ## Why It's Good For The Game It can be easy to lose your uplink, and as a traitor having your uplink confiscated, even if it is locked, feels really bad. While the old traitor objectives were added back to prog traitor to prevent situations where a confiscated uplink meant that you were completely aimless, I think that having a backup solution would be good for more inexperienced traitors or for ones who get unlucky. Hopefully this is generally balanced well enough but there are a few levers that can be pulled, but overall I do think that making it so that traitors can always get a chance to get an uplink and do some objectives is good for the game. I like the idea of someone getting perma'd, someone breaks them out, they both craft a new uplink beacon, and then they go back and get the traitors old gear with stuff they got from the new uplink, I think that's a cool possibility to throw into the sandbox. ## Changelog 🆑 add: Added new syndicate uplink beacon and associated systems that allow you to get a replacement traitor uplink fix: Debug & nukie uplinks no longer runtime and work properly again /🆑 |
||
|
|
bf37597c24 |
"Biscuit" cards, and also now slip papers are actually paper! (#74329)
## About The Pull Request **This is not a literal biscuit which you eat. "Biscuit" is just a nickname of this kind of snap-cards.** Slip paper is now actually paper, before that, it was just literally nothing, an object which does nothing. Because of that, the paper cutter was useless as well, as it turned normal paper into useless paper slips. Because of this now paper cutters are placed at: - Bridge - HoP office - Warden office - Cargo Also adds biscuit cards. If you have no idea what it is, it's a kind of card placed around a piece of paper usually to conceal some document and it can be opened by cracking it with a crunchy sound (that's why it's named a biscuit). Those are usually only opened in certain situations or emergencies (The most famous example is the US president's nuclear biscuit, which contains nuclear codes) There are 2 biscuits: Normal and Confidential. Normal is a plain biscuit with nothing really special, can be coloured if you want as it's white.  The confidential biscuit is blue and has "NT" on it.  There is a not-sealed biscuit you can print in autolathe, it starts open so you can put paper in and seal later making it a normal crackable one. Now spare ID safe code automatically spawns in a confidential biscuit in a new paper slip subtype - corporate slip paper. It's a plastic card which is sturdier than the normal paper clip.  You can also create the corporate paper slip paper using - normal paper slip, plastic, and captain rubber stamp (making this paper having a rare status)   ## Why It's Good For The Game Paper slips being not paper is stupid and has no point in being that way. This also made the paper cutter useless; hence, it was never placed on any map (and never used). This PR makes it paper, so it's usable when crew members need a paper slip instead of a full-size sheet. Placing paper cutters around the station makes it so the crew can produce paper slips when they need them, this also gives it finally a use and place on the station. The 'biscuits' are cool and give more flavour to the spare ID safe codes, as well as to other documents people might put in future PRs. This also makes those paranoid captains which are scared of their spare ID safe code being stolen and read can sleep tight, as now if someone opens it up it's really obvious. Now also you can really make sure if that head is lying about "not touching the spare ID", _but not as anyone cares really._ **Okay, it's draft for now just so I can add some new things, and fix the dupe bug:** - [x] Being able to fax the paper biscuits - [x] Make it impossible to cut paper slips into paper slips - [x] Make corporate paper slips craftable or printable - [x] Make confidential biscuits craftable or printable - [x] Make paper cutters orderable at the cargo _CRUNCH_ ## Changelog 🆑 DrDiasyl aka DrTuxedo#0931 add: Added 'biscuit' cards! They can contain documents and can only be accessed by cracking them open, you can't close them back. Nanotrasen now stores spare ID safe codes in them. add: Placed paper cutters around the station. They're in Bridge, HoP office, Warden office, and Cargo. add: Now you can order paper cutters at cargo. fix: Now the paper slip is actually paper. imageadd: The paper slips sprite was slightly tweaked to have text lay more logically, added the corporate paper slip. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
ccef887efe |
Lints Against Unmanaged Local Defines (#74333)
# MAINTAINER - USE THE BUTTON THAT SAYS "MERGE MASTER" THEN SET THE PR TO AUTO-MERGE! IT'S MUCH EASIER FOR ME TO FIX THINGS BEFORE THEY SKEW RATHER THAN AFTER THE FACT. ## About The Pull Request Hey there, This took a while to do, but here's the gist: Python file now regexes every file in `/code` except for those that have some valid reason to be tacking on more global defines. Some of those reasons are simply just that I don't have the time right now (doing what you see in this PR took a few hours) to refactor and parse what should belong and what should be thrown out. For the time being though, this PR will at least _halt_ people making the mistake of not `#undef`ing any files they `#define` "locally", or within the scope of a file. Most people forget to do this and this leads to a lot of mess later on due to how many variables can be unmanaged on the global level. I've made this mistake, you've made this mistake, it's a common thing. Let's automatically check for it so it can be fixed no-stress. Scenarios this PR corrects: * Forgetting to undef a define but undeffing others. * Not undeffing any defines in your file. * Earmarking a define as a "file local" define, but not defining it. * Having a define be a "file local" define, but having it be used elsewhere. * Having a "local" define not even be in the file that it only shows up in. * Having a completely unused define* (* I kept some of these because they seemed important... Others were junked.) ## Why It's Good For The Game If you wanna use it across multiple files, no reason to not make it a global define (maybe there's a few reasons but let's assume that this is the 95% case). Let me know if you don't like how I re-arranged some of the defines and how you'd rather see it be implemented, and I'd be happy to do that. This was mostly just "eh does it need it or not" sorta stuff. I used a pretty cool way to detect if we should use the standardized GitHub "error" output, you can see the results of that here https://github.com/san7890/bruhstation/actions/runs/4549766579/jobs/8022186846#step:7:792 ## Changelog Nothing that really concerns players. (I fixed up all this stuff using vscode, no regexes beyond what you see in the python script. sorry downstreams) |
||
|
|
0e70a14d24 |
Adds The Sturdy Shako (HoS Hat) (#74277)
## About The Pull Request Adds a new craftable HoS shako, made from the standard peaked cap and some plasteel and gold.  Moves the HoS cap into a subtype `/obj/item/clothing/head/hats/hos/cap` to avoid catching the beret in the crafting recipe, the base type `/obj/item/clothing/head/hats/hos` is now a generic subtype which should never exist. (Yes there's a TF2 reference included with the hat) ## Why It's Good For The Game Adds an additional level of style for an HoS willing to put a little effort into gathering the required materials. As it is crafted as a one-to-one trade with another headgear there is no additional spare headgear introduced. ## Changelog 🆑 add: The Nanotrasen Costuming Department has released specifications for how to convert the Head of Security's cap into a shako. /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> |
||
|
|
8115310c6f |
More stuff to construct & destroy (#73942)
## About The Pull Request
**1. Suit Storage Units**
- What about them?
1. You can print "suit storage unit" circuit boards from engineering &
science circuit printer's after research to make more suit storage
units, now since they behave like regular constructable machines you can
deconstruct them via screwdriver & crowbar.
2. You can upgrade its capacitor to get faster charging speeds
- Why its good for the game?
1. You can rebuild these in the event they get destroyed
2. Better tier capacitors = faster charging speeds
3. More storage units = More places to decontaminate your equipment +
Recharge more mod suits made in robotics
4. If you decide to leave the game or your done using a mod suit e.g. a
mining mod suit rather than keeping it to yourself or throwing it away,
just build a suit storage unit and hang it there so other players can
use it i.e., sharing is caring.
**2. Freezer Cabinet**
- What about them?
1. They are now craftable

3. You can deconstruct them with a welding tool.
- Why its good for the game?
1. You can now make more of them if they get stolen/destroyed
2. More places to store food, dead bodies, whatever
**3. Flood Lights**
- What about them?
They can now be fully deconstructed in the exact opposite sequence you
constructed them.
- First use screwdriver to open its panel
- Then use empty hand to remove light
- Then use screwdriver to unscrew the wiring from frame
- Use wire cutter to remove wiring completely
- Finally use wrench to completely deconstruct frame
- Why it's good for the game?
Reclaim used material to build flood light else where . Also much more
clean than what the wiki is suggesting.

## Changelog
🆑
add: suit storage unit circuit boards to engineering & science
department circuit printers.
add: freezer cabinet as a craftable & destructible item.
qol: flood light can now be deconstructed rather than destroyed/thrown
away.
/🆑
---------
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
|
||
|
|
6d55729502 |
Adds the Snatcherprod. It steals stuff from peoples hands and puts it into yours! (#73746)
## About The Pull Request Adds the Snatcherprod, the telecrystal version of the teleprod. It yoinks an item out of the victim's hand, and puts it into yours. Or on the ground, if your hands are full. You make it like you would a teleprod, but using a telecrystal instead. ## Why It's Good For The Game It was a funny joke I observed. Also I'm deeply sleep deprived and so my better judgement eludes me during these capricious moments. ## Changelog 🆑 add: Adds the Snatcherprod. Like a teleprod, but it steals stuff from peoples hands instead. Made using a telecrystal, rather than a bluespace crystal. /🆑 --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> |
||
|
|
1dad66101d |
All hail The Pickle Jar, harbringer of better crafting (#73939)
## About The Pull Request Fixes #73841 --- _It is the 12th of March, 2023. Around 3am. I have published a Pull Request which involves circuits, and got reminded of my low GBP. I go into the issues tab to see if there's anything someone of my low skill caliber could tackle. I see it; Pickles. "How hard could I be?" I ask myself, foolishly unaware of the dangers that would soon overcome me. Surely it must've been a mistype, I thought. Surely someone accidentally confused pickles and cucumbers. "Wait, the pickles are supposed to be created on the jar when the jar is created", I say foolishly. "Wait, its putting the ingredients used for the jar in the jar, that doesn't explain why the pickles aren't there though", I say foolishly "Wait, whoever tried fixing this earlier fucking qdel'd the beaker and called it a day????", I say, foolishly._ --- Anyways I changed how the crafting menu distincts between categories, instead of checking whether or not the path is for food, it checks the actual categories themselves (why didn't it do this already), meaning that you can have non-food items on the food tab if it has a food category. Did this by adding a list that includes all crafting categories, so in the future when adding new categories you'll have to add them twice, which sucks, but oh well. Also added a new variable to craftable items, which makes it so that you can not delete a container's contents if you so wish (why was this the default). All this so that when you craft pickles, it actually crafts pickles instead of cucumbers. I spent hours on this, its 6:30am as I'm typing this. I'm tired. Fucking pickles. Super duper ultra thanks to FinalPotato for guiding me and suffering with me through this and teaching me so much about DM and BYOND. I cannot emphasize just how helpful and awesome they were thank you thank you thank you <3 ## Why It's Good For The Game Bug fixing be good ## Changelog 🆑 fix: The jar of pickles, after millenia, finally actually contains pickles. All hail the jar of pickles. /🆑 |
||
|
|
c2f6a4408d |
Fixes toilet bongs, and fixes a serious bug in the crafting system (#72893)
## About The Pull Request The PR everyone has been waiting for...fixed toilet bong crafting. Now you can craft them just as before using the new crafting system.  In attempting to fix this I encountered one of the gnarliest, nastiest, meanest and most infuriatingly difficult to debug bugs I have come across so far. And it's existed for as long as the crafting system has, but due to unique circumstances it has been allowed to go unnoticed this whole time. Technical details below. Full list of changes here: - crafting recipes can now contain structures as part of their requirements - removed deprecated var 'additional_req_tex' and changed text to use the 'steps' list instead so they actually show in the gui - toilet bongs are now passable terrain like normal toilets are - fixed an atrocious bug with crafting that was by pure coincidence not causing any problems - this bug would prevent any recipes that did not contain a material from deleting properly - this bug would also cause any recipes that are supposed to use but not consume machinery to consume them regardless --- Basically, the bug that took me hours upon hours of debugging and head-scratching to find is this: from crafting.dm: ``` main_loop: for(var/path_key in requirements) amt = R.reqs[path_key] || R.machinery[path_key] if(!amt)//since machinery can have 0 aka CRAFTING_MACHINERY_USE - i.e. use it, don't consume it! continue main_loop ``` specifically this line: `amt = R.reqs[path_key] || R.machinery[path_key] ` The culprit ended up being that if you do machinery[path_key] on an empty list, it can lead to very unexpected behavior (see: EXITING THE FUNCTION without actually doing anything). I spent so much time thinking that item deletion wasn't working because amt was being set to 0, false, or null perhaps when no, it wasn't that. The function was just exiting out even before the (!amt) check due to the atrocities committed by someone before me. Setting amt = `R.reqs[path_key] || R.machinery[path_key]` on the other hand always evaluates to a positive integer (either the successfully retrieved reqs amt, or a 1 from the OR expression). It was only by coincidence that the code did what it was supposed to, because: 1) Every single recipe has R_reqs, so the first part will never cause the function-exiting failure because the list is never empty. 2) As for the second part of the expression, there are no recipes that make use of CRAFTING_MACHINERY_USE, so the fact that machinery[path_key] was never actually being accessed and thus set to a var (which is what causes the function to exit) didn't matter. So these two things together have basically allowed a really bad bug to go unnoticed this whole time. I only noticed it because when trying to add a third part to the expression it just did not work at all how you would expect. The solution is rather simply to add a check like so: ``` main_loop: for(var/path_key in requirements) amt = R.reqs?[path_key] || R.machinery?[path_key] if(!amt)//since machinery can have 0 aka CRAFTING_MACHINERY_USE - i.e. use it, don't consume it! continue main_loop ``` Fixes https://github.com/Skyrat-SS13/Skyrat-tg/issues/18732 . ## Why It's Good For The Game Fixes a bug with crafting that would inevitably torment someone else as soon as they tried to add the right kind of recipe, if that hasn't already happened by now. <details> <summary>Toilet bongs are back baby!!</summary>  </details> ## Changelog 🆑 fix: toilet bongs crafting recipes fix: fixed crafting itself refactor: cleaned up some old code in the recipes file, added support for structures in recipes /🆑 |
||
|
|
57e88e6091 |
Crafting fireaxe cabinets, mech removal cabinets, and mirrors (#72856)
## About The Pull Request Breaking down #72371 because it's... unreasonably large. So this PR splits the crafting recipe file, and adds 3 new recipes for fireaxe cabinets, mech removal cabinets, and mirrors. ## Why It's Good For The Game Wallening compliance, and more of me on my shit breaking down long files. ## Changelog 🆑 Tattle qol: fireaxe cabinets, mech removal cabinets, and mirrors can now all be crafted /🆑 Co-authored-by: tattle <article.disaster@gmail.com> |
||
|
|
3365e8987a |
Fixes Black Carpet and Paper Frames crafting recipes only giving you 1 item in return. (#72434)
Fixes #72381 🆑 ShizCalev fix: Fixed Black Carpet and Paper Frames crafting recipes only giving you 1 item in return. /🆑 |
||
|
|
2465e5cdc1 |
Boxes created through the crafting menu no longer spawn with their contents full (#72397)
## About The Pull Request What it says on the tin. Since the contents weren't emptied you could get infinite beakers, donk pockets, chicken nuggets etc. by making and remaking a box over and over. Fixes #72385. ## Why It's Good For The Game Bugfix. The world does not deserve infinite chicken nuggets yet ## Changelog 🆑 fix: Boxes created through the crafting menu no longer spawn with their contents full /🆑 |
||
|
|
0818d6ae4c |
Crafting/Cooking menu update (#71779)
## About The Pull Request Updated crafting menu, adding a lot of new functions and recipes that were not in the crafting menu before. <img alt="cult" src="https://user-images.githubusercontent.com/3625094/206009533-aec3a1dd-cbe5-45eb-8515-1b75fabb65c5.PNG"> <img alt="nH77dLyyGx" src="https://user-images.githubusercontent.com/3625094/206009786-b6706f70-0599-40bf-b051-8f499de43abd.png">  https://user-images.githubusercontent.com/3625094/206009841-738e4a03-0660-45b7-8d83-15eeb6501967.mp4 ## Why It's Good For The Game It is easier to use, and it has a lot of recipes that were spread throughout the game, some of which weren't even on the wiki. Crafting and cooking now count about 1200 recipes in total, including conditionally available ones. ## Changelog 🆑 qol: Rewrote the crafting/cooking menu UI qol: Split crafting and cooking menus in two different menus qol: Crafting is no longer blocking the entire UI, only the "Make" buttons are disabled qol: Added stack crafting recipes to the crafting menu qol: Added cooking recipes that were absent in the crafting menu before (tool recipes, machine recipes, reactions) qol: Added option to search recipes by title qol: Added option to filter recipes by required materials/ingredients qol: Added food types to the cooking menu, highlighting diet of your species (liked, disliked foods) qol: Added total nutrition value of the result to the cooking menu qol: Added option to filter cooking recipes by the food type of the resulting food qol: Added "Can make" category that lists all currently craftable recipes throughout all categories refactor: changed categories and reshuffled some items in them code: Reagents now have default container to get an icon from the reagent datum code: Objects now have `desc_controls` var for OOC information about mouse controls that are visible on examine, but not in the description fix: Fixed alignment on many food icons fix: Fixed missing icon for beef stroganoff /🆑 Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com> |
||
|
|
9b1be9ef13 |
Investigate logs include ckey of source (if applicable) (#71833)
## About The Pull Request All investigate logs start with [src], which can be any atom. So sometimes names and items get printed twice. Adds ckeys to the investigate_logs of living mobs.  ## Why It's Good For The Game Better logging, includes the ckey for living mobs in investigate logs, and fixes some investigate_death logs that weren't properly attributed to mobs. ## Changelog 🆑 Tattle admin: investigate logs include ckey of source (if applicable) /🆑 Co-authored-by: tattle <article.disaster@gmail.com> |
||
|
|
e60f548de1 |
OpenDream Cleanup Pass - Unused Vars (#71428)
## About The Pull Request OpenDream (@Altoids1 specifically) discovered that BYOND will not throw an unused variable warning if its type doesn't exist. So this removes those from TG. Co-authored-by: ike709 <ike709@github.com> |
||
|
|
87f5f2ecfa |
What if meteorslugs were mini cannonballs (#71137)
## About The Pull Request Meteorslug shells fire effectively mini cannonballs. They're not as strong, but they tear through everything they shoot, including walls and airlocks. They're not as lethal as the real deal or go nearly as far (range of 7, not even a screens length), but they are still pretty destructive. They don't fling people, but they could potentially barrel over several people, which I think is a good trade-off. Meteorslugs need gunpowder (for a bigger shot) and rum (yarr) to construct. ## Why It's Good For The Game Only through sleep deprivation do I get such diabolical ideas. Also, the original functionality wasn't very interesting except for like, maybe a few niche silly things, but the real value was using them to get into places. This version still definitely does that. But it's _cooler_. (The object displacement was pretty jank and I think this accomplishes a very similar effect without actively harming why people would look to use meteorslugs) ## Changelog 🆑 balance: Meteorslugs are now miniature cannonballs. They also need more gunpowder and rum to be constructed. /🆑 |
||
|
|
590847bdf7 |
Biogenerator tweaks, leather makes more belts and clothing (#71175)
## About The Pull Request ### Revamped the biogenerator UI: https://user-images.githubusercontent.com/3625094/200973283-b703f21b-c747-493e-98d9-043eef86d410.mp4 ### Changed biogenerator icon to use layers and see the biomass level: https://user-images.githubusercontent.com/3625094/201396065-caeaa412-6676-46f6-875e-efa2dca34985.mp4 ### Biogenerator rebalance: - Now you don't need the beaker to print solid products. - Biogenerator now accepts all food, not just plants. - Biogenerator now treats all nutriment subtypes as nutriments, so vitamins and proteins also turn into biomass. - Biomass now has the same units as other reagents (you get 5 biomass from 5 nutrient with tier 1 parts). - Doubled the cost of all items and reagents. (biomass generation reduced by 10 and prices - by 5) - Chemicals output amounts are now in units and you can select how much you want to output exactly. It will not let you specify more than the size of container or above 50 units with one button click. - Reduced the amount of stored items and introduced a limit to the biomass, both tied to the matter bin tier. ### Recipes changes: Made biogenerator more dumb by moving the clothing out from the biogenerator designs, and extending leather recipes instead. The biogenerator is a grinder/recycler style machine so it doesn't make sense that it outputs clothing. Also you need to make leather to craft the toolbelt, while you can't do the same to craft job-specific belts. Now you can print leather in biogenerator and craft the leather clothing by using the leather in-hand. And the rice hat is now crafted from bamboo, instead of biogenerator. Also added paper to the biogenerator recipes as it makes stuff from cellulose and barely anyone knows that you can craft paper from 1 log and 50 water. And paper is needed in large quantities to craft some items, like paper frames. And it doesn't output a pack of rolling paper. It's dumb now. It prints the rolling paper sheets instead. ## Why It's Good For The Game Biogenerator had terrible UX and backend logic. I didn't improve much on BE though, but now it should be less frustrating to use. Also I hate how biogenerator is superior to all other means of obtaining its products. It doesn't make sense to grow and grind wheat, for instance, when you can just throw shit into biogenerator and get the flour fast. And the costs are ridiculous - you can get a couple of bottles of fertilizers just from one medium potato. It honestly begs for more nerfing, at least to make the nutriment - chemicals exchange rate 1:1. The reason for the biomass cap is because people use it as a sink for veggies and generate infinite biomass. Maybe the limit will make them care more about the part upgrade and offload some of the veggies to the fridge for the Cook. Also it was weird that biogenerator could tailor some things, while others have to be crafted in-hand. Now you can print leather and craft all types of belts and leather clothing. ## Changelog 🆑 refactor: biogenerator UI revamped qol: biogenerator no longer requires beaker for materials, monkey cubes and nori balance: biogenerator accepts all food, not just plants balance: biogenerator treats all nutriment subtypes as nutriments (vitamins, protein, etc.) balance: biogenerator product prices doubled balance: biogenerator biomass storage is limited depending on the level of matter bins balance: cowboy boots recipe moved from crafting to leather recipes balance: leather clothing & belt recipes moved from biogenerator to leather recipes balance: rice hat recipe moved from biogenerator to bamboo recipes balance: biogenerator now outputs rolling paper sheets instead of a pack add: biogenerator can now print paper imageadd: biogenerator icons now use overlays, have emissive layer and indicate the biomass volume /🆑 |
||
|
|
be16ca37e3 |
Visually update containers when crafting (#71135)
## About The Pull Request Makes reagent containers update their appearance when crafting. Fixes #69935, minor but annoying bug, especially when you are playing as chef. ## Changelog 🆑 fix: Containers visually update after crafting. /🆑 Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> |
||
|
|
de662db397 |
Excercise Equipment is now craftable (#71190)
## About The Pull Request Imagine if you will a humble chaplain who wants nothing more than for all of the spiritual folk on the station to get as massive gains as they can, after finding that they can not just make more exercise equipment and that the station does not have any in public places, they go annoy security enough to get into permabrig only to find out that they cant even unwrench the equipment and move it to the church!!! NOT ANYMORE!!!  crafting recipies  demonstrating unwrenching and wrenching equipment  crafting a punching bag and punching it Now you can craft as much exercise equipment as you want! May everyone on the station get as strong as possible and not just prisoners. Also I changed the message that plays when you try to use exercise equipment someone else is using into a balloon alert.  ## Why It's Good For The Game Access to exercise equipment on some maps is limited to static positions and is currently mostly only for prisoners as every map does not have public exercise equipment. Expanding the access means that you can have a Drill Sargent Head of Security or Captain who commands people use these or allows a psychologist to prescribe healthy exercise habits to their patients. I think having the potential for exercise equipment on every map is more fun and also if prisoners get their hands on tools they should be allowed to mess with these to annoy security or aid in their escape. ## Changelog 🆑 add: the punching bag, bench press, and chest press are all able to be crafted and unanchored. add: crafting recipes for the above qol: changed a chat message into a balloon alert qol: adds screentips to equipment (thanks for suggesting i do this mothblocks!) /🆑 |