mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-06-05 14:17:12 +01:00
133d5b4a8564bb372bcffd3d403529de14b747cb
457 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
c4dc58f184 |
Modular Shield Generators, Also Adds a new perimeter algorithm to _helpers/math_dm (#75328)
Disclaimer im mostly making this pr for the experience if anything. Also anyone can replace the sprites if they want to I`m just making them so itl be done, idk what a plasteel machine is supposed to look like. The circuit boards to make these machines are unlocked by the advanced power manipulation tech The entire shield - Has one big healthpool (base of 50) - Has a configurable radius - Takes damage from hot gas and emp - Has regeneration (it gets nerfed by alot of things that I have to talk about separately) - When the shield is broken the generator must regenerate at 0.25x speed before coming online again - can be configured to either only generate a shield externally (in space) or both internally and externally at the cost of half the regen rate - Regen rate is also reduced based on the ratio of the shield radius and the max radius that the generator is capable of generating - Alot more that im too tired to explain at the moment The base stats of the shield (max health, regen rate, max radius) all scale with the tier of parts used in the main generator. 4 other machines (3 are finished code-wise as of now) the charger (regen rate), the relay (max radius) the well (max health) the node (allows for more connections) can all be connected to the main generator to boost its core stats based on their part tiers In the future there is a possibility of specialization / modifications to the forcefield at the cost to the core stats |
||
|
|
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. /🆑 |
||
|
|
1674f25725 |
New Medical job: The Coroner (#75065)
## About The Pull Request HackMD: https://hackmd.io/RE9uRwSYSjCch17-OQ4pjQ?view Feedback link: https://tgstation13.org/phpBB/viewtopic.php?f=10&t=33972 Adds a Coroner job to the game, they work in the Medical department and have their office in the Morgue. I was inspired to make this after I had played my first round on Paradise and messed around in there. The analyzer is copied from there (https://github.com/ParadiseSS13/Paradise/pull/20957), and their jumpsuit is also mostly stolen from it (i just copied the color scheme onto our own suits). Coroners can perform autopsies on people to see their stats, like this  They have access to Medbay, and on lowpop will get Pharmacy (to make their own formaldehyde). They also have their own Secure Morgue access for their office (doubles as a surgery room because they are edgelords or whatever) and the secure morgue trays. Secure Morgue trays spawn with their beepers off and is only accessible by them, the CMO, and HoS. It's used to morgue Antagonists. Security's own morgue trays have been removed. The job in action https://cdn.discordapp.com/attachments/950489581151735849/1102297675669442570/2023-04-30_14-16-06.mp4 ### Surgery changes Autopsies are a Surgery, and I tried to intertwine this with the Dissection surgery. Dissections and Autopsies both require the Autopsy scanner to perform them, however you can only perform one on any given body. Dissections are for experiments, Autopsies is for the paper of information. Dissected bodies now also give a ~20% surgery speed boost, this was added at the request of Fikou as a way to encourage Doctors to let the Coroner do their job before reviving a body. I also remember the Medical skill, which allowed Doctors to do surgery faster on people, and I hope that this can do something like that WITHOUT adding the potential for exploiting, which led to the skill's downfall. ### Morgue Improvements Morgue trays are no longer named with pens, they instead will steal the name of the last bodybag to be put in them. Morgue trays are also removed from Brig Medical areas and Robotics, now they have to bring their corpses to the Morgue where the Coroner can keep track and ensure records are properly updated. ### Sprite credits I can't fit it all in the Changelog, so this is who made what McRamon - Autopsy scanner Tattax - Table clock sprites and in-hands CoiledLamb - Coroner jumpsuits & labcoats (inhand, on sprite, and their respective alternatives) - Coroner gloves - CoronerDrobe (the vending machine) ## Why It's Good For The Game This is mostly explained in the hackmd, but the goal of this is: 1. Increase the use of the Medical Records console. 2. Add a new and interesting way for Detectives to uncover mysteries. 3. Add a more RP-flavored role in Medical that still has mechanics tied behind it. ## Changelog 🆑 JohnFulpWillard, sprites by McRamon, tattax, and Lamb add: The Coroner, a new Medical role revolving around dead corpses and autopsies. add: The Coroner's Autopsy Scanner, used for discovering the cause for someone's death, listing their wounds, the causes of them, their reagents, and diseases (including stealth ones!) qol: Morgue Trays are now named after the bodybags inside of them. balance: The morgue now has 'Secure' morgue trays which by default don't beep. balance: Security Medical area and Robotics no longer have their own morgue trays. balance: Dissected bodies now have faster surgery speed. Autopsies also count as dissections, however they're mutually exclusive. /🆑 --------- Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> |
||
|
|
61a034bcd9 |
Service Borger Upri- Kitchen Upgrades (#74938)
## About The Pull Request I decided that Service Borgs had been left in the dust for too long, and that since they're named 'Service' cyborgs and not 'Bar' cyborgs I'd give them upgrades to let them assist in the kitchen. To do this I've made 4 upgrades. First up, rolling table dock, to provide mobile service. Nothing worse than offering someone a drink in a hallway and having to drag them to the nearest table or having to drop it on the floor. That's poor service. Secondly there's a condiment synthesizer, which can produce solid condiments like flour, cornmeal, salt, coco powder, etc. Thirdly a kitchen toolset, a knife that can switch to a rolling pin. The blade dulls when not used for cooking. Fourthly, A service apparatus, which can pick up food, oven trays, soup pots, plates, bowls and paper. The upgrades are locked behind a new techweb node, Cyborg Upgrades: Service. This node is locked behind the same nodes as the janitorial cyborg upgrade node. And outside the upgrades, I've also given the cyborg a rag so it can finally clean it's glasses and tables. I've also given it a money bag, to store the profits. This gives cyborgs an opportunity to save up for getting on the deluxe shuttle. Or giving people a new target to hold up and shake down for their hard earned money. Please don't law 2 them into giving you their lunch money. Or do. I've also enabled the RSF to print a few more things. Plates, bowls, plastic cutlery and paper cups. I've also enabled borgs to open and close the oven. Alas, they still can't pick up food or the oven trays from the oven, since the oven is sticky in a manner. I've also added a little bit more to the borgshaker, and moved sugar from the borgshaker to the condiment synthesizer. And not only the borgshaker, but the emagged shaker too. The emagged shaker has been given blood and carpotoxin. And you may ask 'Why those two ingredients?' Both can be used like fernet, both for nice things, and harmful things, staying in line with fernet. Blood can be used to mix drinks or be used for food, or for disease, since the borg or anyone with access to milk and water can easily produce virus food. Meanwhile carpotoxin is well, a rather weak toxin but can also be used to make imitation carpmeat. This'l give more reason to also consider the borg for emagging, or giving illegal tech, instead of just speedlining for the nearest engineering borg or medical borg.  The Condiment Synthesizer uses the same UI as the medical hypo, due to it's ingredient list being low in comparison to the shaker  I've been trying to figure out how to get an item to allow the borg to open the cooking menu when used inhand/inmodule. But I can't figure that one out, sadly. Nor how to let the Service Apparatus pick up trays from the oven. So for now, service borgs will have to settle for simply assisting in the kitchen. ## Why It's Good For The Game Allows Service Cyborgs the tools to help in the kitchen, and elsewhere too. ## Changelog 🆑 add: Damp rag and Money bag to service borg add: Service borg upgrades, with accompanying tech web node add: Sprites for kitchen toolset, and service apparatus balance: The RSF can print a few more things, paper cups, seaweed sheets, plates, bowls, plastic cutlery and standard decks of cards. balance: Sugar moved from borgshaker to condiment synthesizer. Berry juice, cherry jelly and vinegar added to borgshaker. balance: Both shaker and synthesizer can also be adjusted to give 1 unit at time, so it goes 5, 10, 20 then 1, and back around. balance: Adds blood and Carpotoxin to the emagged borgshaker. fix: Money bag was missing a description, it now has one. /🆑 |
||
|
|
1c69ffa642 |
Refactors Navigational Beacons (#74575)
## About The Pull Request This PR refactors navigational beacons. In detail, this PR does the following: **General Interactions** - You can now print boards. They are unlocked at Basic Robotics Research, and can be printed both at engineering and robotics. - The constructed machine requires no stock parts. When constructed, the floor tile pops up, so you can actually interact with the device from the get go. - Made interacting with it more standardized, you no longer have to screwdriver it to access the interface, instead you just click on it. - Screwdrivering is instead part of the regular screwdriver -> crowbar deconstruct process. However, you have to unlock the maintenance hatch through the UI first. - You can now use wallets too, to unlock the control interface, using the GetID() proc. - Interacting with tools uses balloon alerts where its possible. **UI Interactions** - New tgUI interface! - Previously, you could put in anything as codes, and there was no guide in game about what codes and values were valid. This has been replaced by buttons with pop up text boxes, checkboxes and dropdowns. - You can also reset the code values to roundstart values, or to blanks, if the beacon had none. - InterfaceLockNoticeBox component allows the silicons to unlock the controls **Other backend changes** - Autodocs vars and procs in the navigational beacon file. - Added defines for the various nav beacon codes. - The freq var on beacons and the beacon_frequency var on robots did absolutely nothing, so I have removed them, along with the map varedits, and the frequency define. Maybe in the future one can readd them, to make bots that only patrol specific areas (though you can still do that with good next patrol location tagging). - Mulebots were using the navbeacon's direction itself to figure out the direction they have to put down crates, instead of the direction tag. Now the tag actually works, allowing me to remove a bunch of varedits. I did keep the beacon's direction as a fallback, in case no direction tag is set, which should be South always. - I audited and touched up the directions tags that were not in line with the previous beacon directions (which caused things such as the mule trapping themselves behind the crate. - Sadly, making it use the default screwdriver construction means it is no longer transparent in maps editors 😔  ## Why It's Good For The Game Closes #38064 . More items being constructable is more fun, and its better if you can use an item without checking the map about how it is supposed to work. ## Changelog 🆑 refactor: Refactored navigational beacons, making them constructable, deconstructable, and generally easier to use /🆑 |
||
|
|
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. /🆑 |
||
|
|
302060acda |
Removes bepis Techweb and reworks tech disks in general (#74147)
## About The Pull Request Did you know that there's 2 types of disks Science can print? One of them creates a whole new techweb and is used to transfer data to and from techwebs (which used to be for Theft objective, but nowadays all it's used for is Admin techweb). The other one is these disks you can find from Lavaland & for the Limbgrower which holds nodes on them directly, they don't need anything else. These are both printable and have very similar names which could easily confuse people, especially since they are both printed and used at the same place, being the R&D room and R&D console. This will hopefully simplify it, by removing the base Tech disks from being printable. The only one that can be printed now is for Limbgrowers, which can't be easily mixed with the other type of Disk. Outside of that, Lavaland disks are staying the same, but I've moved Bepis disks to use this, which allows us to remove Bepis techwebs being made every single time a new bepis disk is created. Examples of it in-game    ## Why It's Good For The Game There's no reason why every single Bepis node should be making a whole new techweb set with experiments to complete, roundstart nodes researched, being constantly checked if it should gain research points, have a list of papers to publish, and everything else that techwebs do. Can you guess which disk does what in this screenshot?  ## Changelog 🆑 balance: You can no longer print Technology data disks. You can still print Tech disks, which hold techweb information on it, just not the one that holds up to 5 nodes. balance: ^ Because of this, there's no way to download nodes from an RD console and upload them to an Autolathe to bypass departmental restrictions, you have to go through a Techfab/Circuit imprinter for your needs. balance: Ones that are found cannot have anything uploaded/deleted off of them either, you can only upload them to the Web. code: Every individual Bepis disk no longer create an entire techweb /🆑 |
||
|
|
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>
|
||
|
|
296c996434 |
Completing experiments after their associated nodes have been researched gives back a partial refund of the discount lost (#73814)
## About The Pull Request So we're like simultaneously moving two vague directions with research. One being "experisci grants discounts for prohibitively expensive nodes so you want to do the experiments to discount them" and the other being "Let's give Heads of Staff a way to research anything they want without any communication to the research department, including the very expensive nodes that scientists may be working on" You already see the issue, right? You can't have your cake and eat it too. It sucks for scientists to be working on a complex experiment like weapons tech for that huge 90% discount only for the HoS to stumble onto the bridge and research it anyways. Your time is wasted and RND is slowed down massively. We can do something to assuage that. This PR makes it so completing an experiment which discounts already completed nodes will refund a partial amount of the discount that would've applied. For example, researching industrial engineering without scanning the iron toilets will refund ~5000 points. This can only apply once per experiment, so if an experiment discounts multiple technologies, they will only get a refund based on the first technology researched. ## Why It's Good For The Game This accomplishes the following: - Expensive research nodes with difficult experiments remain expensive without completing the experiments. If no one does the experiment, they act the same as before. - Expensive research nodes with very easy experiments (but time consuming) no longer put RND on a time crunch to beat the itchy trigger finger of the Heads of Staff. Stuff like scanning lathes allow the scientists to work more at their own pace: they can talk to people or maybe stop at the bar or kitchen between departments without feeling pressure to get it done urgently. - Scientists are able to complete experiments which previously were no longer deemed relevant if they need a point injection. Experiments left behind are no longer completely useless bricks. Maybe even gives latejoin scientists something to do. - Scientists mid experiment can still complete it to not feel like their time is wasted. Overall I think this has many benefits to the current science system where many have complaints. ## Changelog 🆑 Melbert qol: Completing an experiment which discounts a researched tech node will give a partial refund of the discount lost. For example, researching the industrial engineering research without scanning iron toilets will refund ~5000 points if you complete it afterwards. This only applies once per experiment, so experiments which discount multiple nodes only refund the first researched. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
6950032e8e |
Adds the universal scanner to lathes (#73006)
## About The Pull Request Adds the basic tool back to autolathes and cargo protolathe This was in the game before #70314 so I think it's a fix more than an addition, but whatever ## Why It's Good For The Game Sometimes I like to sell things from custom vendors and I don't want to have to hunt down a roundstart cargonian just to get a price tagger. ## Changelog 🆑 add: You can print universal scanners (export scanners, price taggers, sales taggers) from the lathe again /🆑 --------- Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> |
||
|
|
4fcedc9226 |
R&D Monitoring console TGUI + Can see RD consoles (#72987)
## About The Pull Request I wrote this while constantly rushing lol This PR does many things, the largest is that the R&D Monitoring console (the RD's one) is now TGUI It also changes how researching loggings work, bringing the RD console and NtosRD app on par with eachother The type of person is also logged differently, instead of ``Cyborg: [name]`` and ``User: [name]``, humans do not have a prefix and cyborgs will say ``CYBORG [name]``. ``research_logs`` also works differently now to make it easier to reference each needed data from the list. Lastly, I added the ability to see R&D consoles from the console, and the ability to remotely un/lock them down. This currently is pretty useless as it can't control the tablet app variant, and anyone with Science access can just unlock it, however with some minor future changes I think this can be turned into a good way for the RD to get control of their department. Video demonstration, mostly (I made a few edits after this): https://user-images.githubusercontent.com/53777086/215005387-817106f4-5237-4f2e-b0ac-da28e6a17f9c.mp4 ## Why It's Good For The Game This console is overhyped by the game, being hidden behind an RD-locked Command-colored door, in the same room as one of the most damaging theft objectives, yet it is one of the most useless and forgotten consoles in R&D if you don't count everything outside of researching, experiments and robotics. This adds a nice TGUI menu while making it a little more worthwhile to use. ## Changelog 🆑 balance: The R&D monitoring console now shows R&D consoles and their locations. refactor: The R&D monitoring console now has a nice TGUI menu. /🆑 |
||
|
|
fff4119b67 |
Add clown firing pin to techweb (#72930)
## About The Pull Request This adds the clown firing pin to the `Clown Technology` node. ## Why It's Good For The Game Clown technode should have all the funny clown items. The firing pin is something you get from cargo, but I think it's okay to have it as a techweb item since it requires `bananium` which is one of the rarest ores in the game. ## Changelog 🆑 qol: Add clown firing pin to techweb /🆑 |
||
|
|
37b3427158 |
Add mining scanners to techweb (#72931)
## About The Pull Request This adds basic mining scanners to the `Mining Technology` node ## Why It's Good For The Game A mining scanner is a basic tool, much like mesons or a bag. It should be available to any person who wishes to mine for ore. There are a limited number of them on the station that can run out and this is a good way to encourage more people to mine since it's apart of the basic kit. ## Changelog 🆑 qol: Add mining scanners to techweb /🆑 |
||
|
|
e066e9d28a |
Add advanced fire extinguisher to techweb (#72933)
## About The Pull Request This adds the advanced fire extinguisher to the `Experimental Tools` node. ## Why It's Good For The Game There are several advanced engineering tools in this node. This is an item that is considered a better version of a regular fire extinguisher for atmos techs. It makes sense to put this with the other upgraded tools in techweb, since ya know, it's technically an advanced version. It does spawn empty, so it needs to be refilled with a foam tank dispenser. ## Changelog 🆑 qol: Add advanced fire extinguisher to techweb /🆑 |
||
|
|
617b447890 |
Add pickaxe to basic tools techweb (#72938)
## About The Pull Request Adds the pickaxe to basic tools techweb that can be printed the cargo lathe or autolathe. ## Why It's Good For The Game This is a basic mining tool and should be available at roundstart. It wasn't possible to create pickaxes, despite it being a T1 item. It should be as easy to make as a shovel since these usually are mapped together. I was tempted to put this into mining technology, but that already has advanced drills that are T2 versions of the pickaxe. ## Changelog 🆑 qol: Add pickaxe to basic tools techweb /🆑 |
||
|
|
26fc7fc438 |
Adds the 2 new components to the techweb (#72910)
## About The Pull Request Adds the 2 new components I made in my prior PR to the basic circuit research also fix an issue with associative pick list ## Why It's Good For The Game Being able to print them would be usefull Reason I didn't notice was properly since I ran on debug station and it never crossed my mind that they where research thingy ## Changelog 🆑 fix: You can print the new list pick and associative list pick components fix: Associative list pick works as intended now /🆑 |
||
|
|
78a5e90375 |
Rapid Wiring Device(RWD) (#72802)
## About The Pull Request Just a big roll of cable(7 stacks worth of cable) you carry around it has the following features 1. Dual wield it and just walk across plating to lay new cable. Make sure you wear insulated gloves 2. If you just have it in one of your hands it can pick up any stray cable pieces lying around 3. Right click on it to dispense a custom amount of cable 4. Refill with cable 5. Alt click to change cable layer 6. Available in autolathe & engineering protolathe round start https://user-images.githubusercontent.com/110812394/213224959-f393e849-2e0a-4314-ab0e-c10924cf8fce.mp4 ## Why It's Good For The Game 1. Clean up cable pieces bitten by rats and lay fresh cable in maintenance very quickly. 2. For big construction projects. Carrying one big roll of 7 stacks of cable is much more storage efficient than carrying 7 separate stacks individually. 3. For wiring Solars very quickly Also, I'm pretty sure something like this exists in real life so why not. It's just the rapid pipe cleaner but for cables. ## Changelog 🆑 add: Rapid wiring device imageadd: Sprite for RWD /🆑 |
||
|
|
8fb004b623 |
Improved engineering tools patch 2: Bolter Wrench (#72445)
## About The Pull Request This adds a new wrench that can be printed after Advanced Engineering is researched or as a rare mail gift for engineers. The Bolter Wrench is medium sized (fits on toolbelts and bags but not on boxes) and can grab into the bolting system of airlocks, raising it's bolts after a 5 second `do_after`, even if the airlock has no power or the wires are cut, as long as you can access the inner wires. (Won't work if the panel is closed or has it's wires reinforced.) Codersprite blatantly inspired by Iconoclast's wrench and looks like this:  ## Why It's Good For The Game  Right now, the only way to fix a powerless bolted down airlock is by fixing the power first, this becomes an issue if the APC is behind the airlock. If that is the case, the only way in is to break through walls/windows or destroy the airlock if you can, both add more things you need to repair, making reconstruction times longer and longer... Or you use an RCD to delete the airlock in 5 seconds, while faster than the above method still is another thing to the repair list... Repairing damaged and bolted down airlocks is such a hassle that doormag'd airlocks bypass the default deconstruction system and just let you deconstruct them directly without the steps of unbolting and welding, something that could be removed with this tool but I won't defend the pros and cons of it now. Reconstruction is slow and cumbersome without an RCD. (And even with one...) I've been trying to make it smoother without using RCDs or a future RAT on previous PRs and future ones to come, this tool is part of those plans. ## Changelog 🆑 Guillaume Prata add: Bolter Wrench as a new tool, it can raise the bolts of airlocks regardless of it's power status to smoother station repairs. It can be printed and is unlocked on the same tier as RCD. It can also rarely be a mail gift for engineers. /🆑 |
||
|
|
9f28c46ef8 | fixes generic tanks not being printable (#72743) | ||
|
|
63d5ff6db8 |
Ties research servers to Techwebs and de-hardcodes research point gen (#72513)
## About The Pull Request Research point generation is now done on all techwebs that have ``should_generate_points`` set to TRUE, which by default is only the Science techweb. I also entirely replaced the old 'servers' and 'master_servers' lists on SSresearch with the individual 'techweb_servers' (that already existed prior to this PR, the title is a little misleading) which are all stored on the individual techwebs, so we no longer store these in 2-3 different lists. Funnily enough, master server's list was unused as their behavior was refactored a good while ago. Sabotaging a master server now only affects the techweb the master server is connected to, rather than cut everyone's by half I also removed ``calculate_server_coefficient`` instead of reworked it to work with techweb servers, because it was entirely unused. ## Why It's Good For The Game Better consistency for several techwebs, as sabotaging one techweb won't sabotage all of them. This was also at the request of one of our contributors who wanted to make use of this system but didn't know that non-science techwebs didn't generate points, so here you go. ## Changelog 🆑 fix: If there are several techwebs, sabotaging the master server of one of them will no longer cut research point generation of the rest. /🆑 |
||
|
|
6d757e8bec |
Autounlock techwebs are shared between machines that use them. (#72515)
## About The Pull Request Did you know that for every Autolathe, Limbgrower, Biogenerator, ORM, and Smelter that was built, an entire new techweb was made? The average round has 2 ORMs (smelters count) if not more from ORM deconstruction objective, 2 biogenerators, several autolathes and generally 0-1 limbgrower, I think there's more techwebs being created than we need. Creating a whole techweb was a pretty terrible way to optimize this, so I made a global list that stores these techwebs. Created on demand, these autounlocking techwebs now share between the machines that use them. It also generate all hacked nodes which will be visible if the machine is hacked, instead of 'researching' them for each hacked individual machine. The 'specialized' techweb subtype was removed because its sole purpose was to allow autounlocking to be a subtype of it. Now autounlocking is just the direct subtype. I also removed mechfab autounlocking type because it wasn't used, mechfabs use techwebs directly. Autolathes and Limbgrowers now locally store 'imported designs' which are things uploaded from technology disks. Outside of this, the autounlocking techweb subtype now stores 'hacked designs' which unlocks when the machine is emagged. While doing this, I saw ORMs and Biogenerators had disks you can insert into them, but I did not find anything that can actually be uploaded to them (I saw Alien Alloys as a possibility, but there's no such disk to allow uploading this alloy to the machine, and I didn't think an entire system for 1 single alloy was worth keeping around), so I removed this unused feature from both machines. I merged 'Hacked' and 'Emagged' categories because they served the same purpose, 'hacked' being on hacked autolathes and 'emagged' being on hacked (emagged) limbgrowers. Tech disk techwebs (which is created every time a disk is made, however I hope to change this in the future) into it's own subtype, so admins understand where its from when looking in VV panel (because I was confused when I saw them at first). ``autolathe_crafted`` proc was removed because it was entirely unused too. Now it looks like this, which I consider an improvement:  ## Why It's Good For The Game We no longer initialize a brand new techweb for no reason whatsoever. Each techweb made is making entire lists of experiments and research papers, all of which is never to be seen in-game and is completely useless to the player. Cutting down on these techwebs is a good first step to this needless initializing. ## Changelog 🆑 qol: Removed the tech disk part of the ORM's UI as it was entirely unused, now it's a little more compact with less scrolling needed. refactor: Autolathes, Limb growers, Biogenerators, ORMs and Smelters now share techwebs with other machines of their types, rather than all make new techwebs each time. This means they only build their nodes once, including hacked ones. Instead of researching nodes on hacking the machine, they now show hacked ones depending on if it's hacked. /🆑 Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com> |
||
|
|
2532317da4 |
RTD Rapid Tiling Device (#72256)
## About The Pull Request Interior decor at its finest & fastest available in engineering Proto lathe after research - Left click on a tile to infer its type. If the tile is supported by the RTD then a balloon alert will be displayed showing "Tile changed to XXX". If not supported, it will tell you that - Right click on tile to convert it back to plating. It can only deconstruct floor types which are supported - Left click on plating to place your floor tile - Only iron & glass floor types are supported because you can only feed iron & glass to the RTD to keep it consistent Also, this is my first time ever making sprites so expect less. https://user-images.githubusercontent.com/110812394/209545438-6a51e7bf-163a-4a18-9102-7b77107eb1b7.mp4 Cleaned up some code in the RCD file as a bonus some notables ones are - moved `update_overlays()` from rcd to `obj/item/construction `so any class extending from this can use it - removed `do_after()` when changing turf types cause its unessassary & doesn't play well with the RTD ## Why It's Good For The Game - Replace damaged or dirty tiles without the need of a janitor, crowbar & removes manual labour by hand - Give your room some style quickly maybe replace the whole station floor with glass tiles I don't know you decide - Maybe lay floor tiles quickly in maintenance to stop rats from chewing on those cables ## Changelog 🆑 add: RTD Rapid Tiling Device imageadd: Sprite for RTD code: moved update_overlays() from rcd to obj/item/construction so anyone can use it del: cooldown of 3 seconds when changing turf type qol: Faster Turf decoration /🆑 Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> |
||
|
|
2e4ea9afa6 |
Removes gibber showing up twice in the R&D console (#71988)
## About The Pull Request Removes the gibber showing up twice in the R&D console, which has likely been unnoticed for so long because of how similar their sprite is to the food processor. ## Why It's Good For The Game Minor bug fix that I found annoying when I noticed it. ## Changelog 🆑 fix: Gibbers no longer show up twice in their techweb node. /🆑 Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> |
||
|
|
2425531eb2 |
Removes tablets (not PDAs) entirely. (#71507)
## About The Pull Request **Comes with an UpdatePaths!** Removes the tablet subtype, PDAs now replaces them entirely. Nukie and Silicon tablets are now subtypes of the PDA instead, while contractor ones were removed entirely as they didn't do anything and were unused (though it wouldn't be hard to re-add). Nukie PDAs are now the only type of PDA that uses modular_tablets.dmi, which is just larger icons of modular_pda. Each application requires an icon state in both of these, for 2 different sizes, which makes it annoying to make new applications, especially if it can also run on computers/laptops. ### Icons Because Silicon tablets are now a subtype of PDA, they use PDA icons instead of tablet ones. Luckily for us, they already exist in code.  AI's don't use a tablet icon though, so they aren't affected. ## Why It's Good For The Game There's very little difference between tablets and PDAs, PDAs overshadow them in every single way, so at this point I don't see why we should have both of these, and if you compare the two in usefulness and actual in-game use by players, it's a no-brainer than the item all players get roundstart and comes with a messenger should be the one we go with. Also as said in the about section, when making an app you would need to make icon states for the program running for all hardware it can run on, which is Computer, Laptop, PDA, and Tablet. Laptop is just a smaller computer icon PDA is just a smaller tablet icon However, you can't simply shrink the size of the icon, instead you have to completely resprite the same app icon FOUR TIMES for it to not bluescreen on all these different devices. <details> <summary> Here's examples of it </summary> Computer (NOTE: *They share the same icon file as regular computers*) <img src="https://user-images.githubusercontent.com/53777086/203876801-486a8054-489a-4983-bdad-a2599b4dc379.png"/> Laptop <img src="https://user-images.githubusercontent.com/53777086/203876333-58e5d135-f4c6-4a02-8948-1df771e294a4.png"/> Tablet <img src="https://user-images.githubusercontent.com/53777086/203876352-816c7fb1-c681-40b9-99e0-052f49632c7f.png"/> PDA <img src="https://user-images.githubusercontent.com/53777086/203876358-1cf7253d-3c6a-456a-8133-ebf7f0351637.png"/> </details> If we wish to help in simplifying this, we should remove tablet icons entirely, which means 1 less icon to worry about. To do this, we'd need to resprite nukie PDAs, however I am very much not a spriter and never tried GAGS, so I'll leave it to someone else to do. ## Changelog 🆑 del: Tablets are now removed, PDAs are now the base 'tablet'. Silicon and nukie tablets are now PDAs. /🆑 |
||
|
|
cd79c672fd |
Only log research when the MC is running (saves 0.4s of init time, but it depends on I/O) (#71584)
The recent R&D PR introduced a very large regression in init time performance, as this always logs 300+ lines every single round, from the station techwebs, CentCom techwebs, and more. This isn't helpful for developers or admins, so limits logs to only after the MC is running, which will mean user triggers. |
||
|
|
60b47e2bd5 |
Mech camera (#71392)
## About The Pull Request This PR implements a new add-on for mechs that functions as a ~~EMP-proof~~ borg security camera. Unlocked in Basic Robotics Research node. Mechs with a camera installed will have a unique diagnostic HUD blip.  Getting EMPd temporarily sets the camera's view range to 1.  ## Why It's Good For The Game Bodycam footage of the mech in action; AIs piloting a mech with this add-on can actually see what's happening around the mech, much like following a borg. ## Changelog 🆑 add: robotics now has access to a mech camera add-on, which installs a security camera into the mech. bodycam footage from the big leagues! qol: cyborg cameras should be more active with updating static when moving (ideally down from 2.5 seconds to 0.5 between updates), make sure to report any jank if you happen on some /🆑 Co-authored-by: Time-Green <timkoster1@hotmail.com> |
||
|
|
4bd357a7cb |
Stops tech disks from creating two techwebs & Adds more research logging (#71442)
## About The Pull Request This hopes to stop floodings in SSresearch.techwebs by making tech disks not initialize techwebs twice each time, especially since techwebs never get deleted currently. I also added some loggings to research because currently its only use is when completing an experiment. ## Why It's Good For The Game Better logs for research stuff and prevents a flood of techwebs when trying to find one specific one in SSresearch's techweb list. It would also slightly help with https://github.com/tgstation/tgstation/issues/71434 because I don't know what would cause this as bepis isn't logged. ## Changelog 🆑 admin: Researching nodes and bepis unlocking stuff is now logged in research. /🆑 |
||
|
|
118299b70b |
More expanded multi-web support (#71402)
## About The Pull Request This is a continuation of my previous PR https://github.com/tgstation/tgstation/pull/71070 That one tackled techwebs and syncing it to machines, this one primarily focuses on Generic techwebs and Experiment handlers. ### What it does * Experiment handlers now only broadcast completed experiments over the node they're connected to * RD consoles once again no longer bluescreen if not connected to a techweb * RD servers now delete their techweb on deconstruction if they're the creator of it * 'Generic' techwebs are now capitalized * Experiment handlers now see all techwebs instead of all servers being listed under the same web, allowing there to have more than 1 techweb on the same Z level but not list it as the same. They don't show the location of the server anymore, I don't know if that's something that's wanted or not. In-game screenshot:  ## Why It's Good For The Game Mostly the same reason as my previous PR, this opens up more ways to modularize techwebs and give more possibilities for ghost roles and downstreams. ## Changelog 🆑 fix: Experisci handlers no longer show all servers as being on the same techweb if they aren't. fix: RnD consoles no longer bluescreen if they aren't connected to a techweb, instead it will give an error message. balance: Experisci handlers no longer show the location of RnD servers. /🆑 |
||
|
|
f45e58cf0e |
Coffee Shop DLC - done right this time edition (#70991)
## About The Pull Request this is a re-attempt at PR #70725 that was practically ready but was ruined in the course of my hardships with git. Mistakes were made. In this re-edition I also addressed a few suggestions from the comments of the original pr. There is a shaker added in the meta station cafe and the pill bottle is moved out of sight to the fridge (I still left it cause it contained antidepressants for the especially overworked NT employees). Additionally, the naming of `/cup/glass/coffee` has been handled differently this time to minimize the need of changing the code in multiple places. Please refer to the original PR for all details concerning the content, below I add just a rough line-out for the sake of coherency.  The content of the pr extends to: - a new coffee bean driven coffeemaker - syrup bottles - a coffee condiment display box - almost complete make-over of the meta station cafe - adding the new coffeemaker in a few break rooms on delta and tram (2 machines per station) ## Why It's Good For The Game Please refer to #70725 ## Changelog 🆑 add: After a massive success of the Modello 3 series, Piccionaia Home Appliances rolls out a completely new coffeemaker model and renovates the meta station cafe for free in a promotional campaign! add: Syrup bottles, condiment displays, and more, to make the spess coffee experience even better /🆑 Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: Tastyfish <crazychris32@gmail.com> |
||
|
|
0747099063 |
Adds a reagent injector component and BCI manipulators to all circuit labs (#71236)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request This PR adds a reagent injector component that's exclusive to BCIs. (Requested to be integrated into BCIs by Mothblocks.) When outside of a circuit, the component itself stores the reagents. However, if it's inside of a BCI, the storage is moved to the BCI. The storage can contain up to 15u of reagents and acts like an open container. (However, it won't spill even if you throw it, it just acts like an open container code-wise, don't worry about it.) You can only have one reagent injector in a circuit. Trying to insert multiple will give you an error message. The entire dose is administered at once. (Requirement set by Mothblocks.) Please don't try to dispute any of the specific limitations in the comments as they're out of my control. They're reasonable anyways. Reagent Injector Input/Output: Inject (Input Signal) - Administers all reagents currently stored inside of the BCI into the user. Injected (Output Signal) - Triggered when reagents are injected. Not triggered if the reagent storage is empty. New BCI Input: Show Charge Meter (Number) - Toggles showing the charge meter action. (Adds some capacity for stealth.) Install Detector Outputs: (Added following a comment about having to use weird workarounds for proper loops.) Current State (Number) - Outputs 1 if the BCI is implanted and 0 if it's not. Installed (Signal) - Triggered when the BCI is implanted into it's user. Removed (Signal) - Triggered when the BCI is removed from it's user. This PR also adds BCI manipulation chambers to all currently present circuit labs. (Solution proposed by Mothblocks.) Yes I had to do some other mapping changes to allow for this. No I don't have any mapping experience, why do you ask? <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> ## Why It's Good For The Game One small step for BCIs, one giant leap for circuit kind. (First "proper" circuit to human interaction in the entire game!) This allows for some funky stuff and also makes it less of a pain in the ass to use BCIs. What's not to love? <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game in the first place. --> ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 add: Added a reagent injector component and BCI manipulators to all circuit labs. (+ install detector component) /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> |
||
|
|
b8d86849c8 |
Removes ID computer parts (Removes computer hardware) (#71320)
## About The Pull Request Removes the last computer part in the game: ID parts Because this is removed, I also removed all computer hardware in the game, and removed mentions of it in the game. There is still 'hardware', as in Computer, Tablet, or Laptop. Computers now all hold one ID slot by default, the only time a second ID was needed was to use the access of both at once, and for the ID modification application. This was now replaced with a new UI that only has one tab, one ID slot: https://user-images.githubusercontent.com/53777086/202801939-151b783f-75c8-46bf-a6c5-1b57b0d0da8e.mp4 ## Why It's Good For The Game Computer hardware is finally dead 🦀 ## Changelog 🆑 balance: All modular computers now only have one ID slot, and cannot be upgraded. qol: The HoP's access application now only has one app, logging in will directly modify the ID that's in it, making it less confusing to swap back and forth. /🆑 |
||
|
|
ad5ceb5583 |
Removes tablet cell parts (#71078)
## About The Pull Request Removes cell parts and cell part cells, now tablets directly stole a power cell in them, and uses regular stock cells like every other machine in the game. This also makes it less confusing because people are more used to stock cells over computer cells. Because cells generally hold more power than computer ones, I bumped up the active power usage from 50 to 75. ## Why It's Good For The Game We are nearly finished removing all parts, holy cr*p ## Changelog 🆑 balance: Tablets now use regular cells instead of computer cells. balance: Tablets no longer need a power cell component to hold power cells. /🆑 |
||
|
|
d402ce4ee2 |
New Station Trait: Cybernetic Revolution + Body Purist Quirk (#71229)
## About The Pull Request Adds a new station trait, the Cybernetic Revolution It causes every crewmember to spawn with a cybernetic implant/organ (it depends on their job). For example. the bartender has an upgraded cybernetic liver, security officers have extendable flashes, prisoners have flash shielded eyes. For AIs, they get the surveillance upgrade. The trait also lowers research costs for the cybernetic designs, triples the price of EMP kits and EMP flashlights, doubles price of EMP bombs, and allows traitors to buy autosurgeons, so they can implant themselves with whatever they ripped out of the crew. If you do not wish to partake, you can also take the Body Purist quirk, which prevents you from getting a cybernetic, but everytime you have a mechanical limb/organ from some other source, you will take a severe mood penalty. ## Why It's Good For The Game This could be a cool modifier to rounds once in a while, slightly modifying the gameplay of all the crew. Also our implant system is very barely used, so why not?  ## Changelog 🆑 add: New Station Trait: Cybernetic Revolution add: Body Purist Quirk /🆑 Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> |
||
|
|
4d6a8bc537 |
515 Compatibility (#71161)
Makes the code compatible with 515.1594+
Few simple changes and one very painful one.
Let's start with the easy:
* puts call behind `LIBCALL` define, so call_ext is properly used in 515
* Adds `NAMEOF_STATIC(_,X)` macro for nameof in static definitions since
src is now invalid there.
* Fixes tgui and devserver. From 515 onward the tmp3333{procid} cache
directory is not appened to base path in browser controls so we don't
check for it in base js and put the dev server dummy window file in
actual directory not the byond root.
* Renames the few things that had /final/ in typepath to ultimate since
final is a new keyword
And the very painful change:
`.proc/whatever` format is no longer valid, so we're replacing it with
new nameof() function. All this wrapped in three new macros.
`PROC_REF(X)`,`TYPE_PROC_REF(TYPE,X)`,`GLOBAL_PROC_REF(X)`. Global is
not actually necessary but if we get nameof that does not allow globals
it would be nice validation.
This is pretty unwieldy but there's no real alternative.
If you notice anything weird in the commits let me know because majority
was done with regex replace.
@tgstation/commit-access Since the .proc/stuff is pretty big change.
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
|
||
|
|
910b97cd37 |
Save 0.4s by shaving off a lot of smaller init costs (#71007)
Starts shaving off a lot of less than 0.1s performance killers by, in nearly every case, just writing better code. Numbers are amount saved. - /obj/machinery/bluespace_vendor/LateInitialize -> 29.4ms Changes a loop over all machines to a specialized list. - /obj/structure/table/glass/Initialize -> 42.53ms Stops every table from initializing glass shards and table frames before any destruction. - /obj/structure/chair/Initialize -> 24.64ms Removes an unnecessary addtimer that existed for chairs that weren't anchored in emergency shuttles. Didn't do anything. - /datum/orderable_item/New -> 44.3ms Instead of initializing every item to get its desc, just uses initial. Added a unit test to make sure none are dynamic. - /obj/machinery/computer/slot_machine/Initialize -> 26.19ms Currently goes through every coin subtype, creates it, calls a proc, then qdels it. Changes that to only run once. Could be optimized further by making the coin info on a datum to avoid creating the object, but it currently sits at 7.82ms, far below worth caring about for now. - /obj/machinery/door_buttons/airlock_controller/findObjsByTag -> 3.51ms Loops over just doors instead of typechecking airlock in machines. - /obj/structure/closet/Initialize -> 60.57ms Moves the code for taking everything on the tile from a next-tick timer to LateInitialize. - /obj/machinery/rnd/experimentor/Initialize -> 36.92ms Changes a list that is generated by going through every item in the game and getting information from a large amount of them to only run when needed. - /obj/structure/tank_dispenser/Initialize -> 20.81ms No longer initializes every tank in it right away, only when needed. - /obj/machinery/telecomms/LateInitialize -> 16.63ms Removes `urange` to instead just loop over telecomms machines and check distance. There's not that many of them. - /mob/living/simple_animal/hostile/carp/cayenne/Initialize -> 3.17ms Defers a GAGS overlay creation until its needed. BTW GAGS is *horrendous* on init costs, and is the root cause for a lot of pretty terrible performance. I investigated precompiling but the gains weren't crazy, but likely could be the more stuff is GAGS'd. - /turf/open/floor/engine/cult/Initialize -> 14.64ms Temporary visual effect that is created is no longer done on mapload, since nobody will see it. - /datum/techweb/specialized/autounlocking/proc/autounlock -> 5.55ms Changes some loops to shorter checks. This whole proc is pretty bad and it's still 14.21ms for 17 calls. - /matrix/New -> 13.41ms - /matrix/proc/Translate -> 42.06ms ~~Changed the mineral matrice to only generate once, then take it from a static.~~ An extra ~0.05s taken off by avoiding setting icon and transform every Initialize. |
||
|
|
5ab4e151c5 |
Fix for the missing Exofab modules for mining borgs (#70502)
When the big nice rework went through i think an oversight happened and the PKA upgrades were lost to the void even though they could be researched, this just re-adds them back to the exofab. The values were taken from pre-change so nothing really changed from a cost/time perspective. |
||
|
|
673ee5eee0 |
Bluespace Light Replacer!! (#70743)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request port of https://github.com/BeeStation/BeeStation-Hornet/pull/7414 Adds a bluespace light replacer, which acts as a researchable upgrade for the light replacer. You can replace lights without having to be next to them, through bluespace tech! Due to its unstable nature (and game balance), emagging it is impossible. Also standard light replacer is moved to a roundstart <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> ## Why It's Good For The Game Lets janitors/others replace lights in restricted areas as long as theres a window line of sight, which helps janitors with not having to beg crew/ai to let them in and the like <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game in the first place. --> ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 add: bluespace light replacer /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> Co-authored-by: etherware-novice <candy@notarealaddr.com> |
||
|
|
f3ca3424c9 |
Merges the Export Scanner, Sales Tagger, and Price Tagger into one item. (#70314)
About The Pull Request The Export Scanner, Sales Tagger, and Price Tagger are all niche, cargo adjacent items that each perform a different minor task and if using one, requires usually one of the three extremely rarely. Each one requires printing a new item at the lathe, all for maybe one or two uses before it needs to be replaced. This PR merges the three into a singular, modular item. Existing export scanners have been reflavored the "universal scanner". When used in-hand, it produces a radial to swap between the three modes, Each mode has identical function to their previous scanner, with the only functional difference being that the sales tagger now prints new tags on secondary attack as opposed to primary. The other two items lathe recipes have been removed, as their functionality has been fully moved to the universal scanner. Also flips the export scanner icon state to match the other 2 scanner items that have been lumped together. Why It's Good For The Game Cargo now only needs to swap between 1 of three nearly identical barcode scanner looking items at a time, as opposed to having to print an item that sees functional use once every thousand rounds. By increasing the ease of use, it will also make it easier to use custom vendors, as well as print sales tags on regular rounds, as the universal scanner can still be found in shipping boxes located around the station and in tool storages. Arguably not a balance change, as the three tools are extremely cheap to print, and don't have a formal impact on cargo balance except for tedium. |
||
|
|
3c9b0c2bc1 |
Forensics scanner can't be printed anymore (#70788)
* Removes the forensic scanner's design, which now makes it unprintable. It can only be required through the Detective or from Cargo. |
||
|
|
f1f46275f0 |
Removes tablet hard drives entirely (HDD & SSD) (#70678)
* Removes HDD's entirely HDDs have been removed, though the code for it is still currently lingering as it's required for portable disks. I'll have to find a solution to this one day, but as I am going to sleep, this is a problem for future me. * starts on removing SSD * updatepaths and kills off SSD * update path :D * Fixes to programs and icons * Ready for review now I read over everything I did and tried to fix anything I saw wasn't done right. Hopefully better comments now. * merge conflict fix * can't win them all * takes viruses into account in paths, fixes it in snowcabin * Renames the updatepaths * removes the qdel loop * accidentally new'ed programs twice * Fix program's computer var * destroy pen and disk, dont run kill program on something killed * more fixes for pens and idle threads * Fixes PDAs installing apps twice. * simplifies inserted disk & PDA disk * fuck's sake * Use istype instead * revert * Revert "revert" This reverts commit 9ede628c6fef9c7c86417234f6d8ada1ff9e2fef. * why did that happen * Update code/modules/modular_computers/computers/item/tablet.dm * MC_SSD added to master lol Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com> |
||
|
|
bd12e19692 |
Adds bot launch pad (#70267)
* Adds botpad and remote * Update botlaunchpad.dm * Update code/modules/research/designs/misc_designs.dm Fikou's suggested change Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> * converted chat messages to balloon alerts * simplified ballon alerts and added 2 new ones * adds a clicking sound effect to controller * Typo * removed a duplicate ballon alert * last tweaks to balloon alerts * Update code/game/machinery/botlaunchpad.dm Co-authored-by: VexingRaven <msgerbs@users.noreply.github.com> * Update code/game/machinery/botlaunchpad.dm Co-authored-by: VexingRaven <msgerbs@users.noreply.github.com> * Update code/game/objects/items/botpad_remote.dm Co-authored-by: VexingRaven <msgerbs@users.noreply.github.com> * Update code/game/objects/items/botpad_remote.dm Co-authored-by: VexingRaven <msgerbs@users.noreply.github.com> * Update code/game/objects/items/botpad_remote.dm Co-authored-by: VexingRaven <msgerbs@users.noreply.github.com> * requested changes * parent calling * test * Update code/game/machinery/botlaunchpad.dm Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com> * Update code/game/machinery/botlaunchpad.dm Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com> * Update code/game/machinery/botlaunchpad.dm Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com> * Update code/game/objects/items/botpad_remote.dm Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com> * Update code/game/machinery/botlaunchpad.dm Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com> * Update botpad_remote.dm * Update botlaunchpad.dm * Update botlaunchpad.dm * Update botlaunchpad.dm * Update botpad_remote.dm * Update machine_designs.dm * changed the research category * Update code/game/machinery/botlaunchpad.dm Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> Co-authored-by: VexingRaven <msgerbs@users.noreply.github.com> Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com> |
||
|
|
14c96d05b8 |
TGUI for Techfabs II: The Great Recategorizing (AND ICONS) (AND MECHFABS) (AND AUTOLATHES) (#69990)
I recategorized EVERY /datum/design/ IN THE GAME to be more UX friendly and I HATE MYSELF FOR IT
I refactored techfab UI to WORK ANYWHERE for ANY MACHINE THAT USES /datum/design as a SET OF MODULAR COMPONENTS
I moved a lot of DESIGNS EXCLUSIVE TO THE AUTOLATHE to also work IN PROTOLATHES
I made MATERIAL ICONS animate between ICON STATES for STACKS
I PUT ICONS IN ALL OF YOUR FABRICATORS
I SOMEHOW DID ALL OF THIS WITHOUT LOSING ANY PERFORMANCE
ALSO SUPPORTS COMPONENT PRINTERS AND MODULE DUPLICATORS
Other garbage:
Fixed numerous spelling and consistency issues in designs
Removed Machine Design (<x>) and Computer Design (<x>) from all relevant designs
All designs are now in title case
Numerous designs that were formerly autolathe exclusives can now also be printed at a protolathe (but not all); this is mostly just service equipment like drinking glasses and plates and silverware
Circuits components can no longer be printed at a circuit imprinter (fixes
Integrated circuit components printed in the component printer/module printer cost twice as much than from an un upgraded circuit printer #67758)
Designs that are not sensible for a department to have are no longer accessible to that department (read: medbay printing turbine parts)
Why It's Good For The Game
Improved UX for techfabs, but also for mechfabs and autolathes, and oh look it's pretty!
also I spent like eight hours doing nothing but categorizing /datum/designs and I'll cry if some version of this doesn't get merged eventually
Changelog
cl
refactor: mechfabs, autolathes, component printers, and module duplicators now use techfab tgui components
refactor: every single design is now categorized and subcategorized
refactor: mechfabs and autolathes are now in typescript
qol: techfabs now have icons for what you're about to print
qol: techfab material icons are now animated
qol: techfab material icons now fade when no materials are available
qol: techfab searching no longer lags like hell
qol: techfab searching now searches all recipes instead of just the current category
qol: techfabs now have subcategorization (stock part users rejoice)
qol: techfabs now announce when new recipes are available
qol: numerous other techfab ui tweaks
balance: some designs that were formerly autolathe exclusive can now be printed at some departmental techfabs
|
||
|
|
d8b7ac5161 |
Cargo boxcutter (#70170)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> |
||
|
|
7c990173e0 | Removes network cards and printers from tablets (#70110) | ||
|
|
ca229574f6 |
Removes AI and Charge parts from tablets, adds support for more later. (#70012)
* Removes recharger tablet parts Removes 'advanced' tablet subtypes that we used before PDAs were added, in some jobs. Replaces Roboticist's advanced tablet mail with a laptop Moves the notepad's note var from the tablet, to the note app Moves modular computer's defines into their own file Machine computers now directly use power from the machine they're in, while the rest uses power cells. Silicon tablets don't use power at all. Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> |
||
|
|
e0349431b1 |
Add the atmos thermal imaging goggles (#68878)
* add atmos thermal imaging goggles, which shows the temperature of the gas mixtures around the user. |
||
|
|
3a88f338a5 |
Adds a Service Plumbing Constructor (#69717)
* Basic outline for Bartender RCD * Alphabetically sorted drink and booze dispenser reagent lists * Added soda/booze synthesizers to the service plumbing constructor * name change * Syntax Error fixing * Name and research updates * Updated constructor selection * Mixing chamber sister class * brewery RCD redo again * Custom Mixing Chamber UI * Finalized plumbing reskins * Allowed the service techfab to print chemical recipient boards * added test sprites and removed un-needed renames * Last Rename * leftover whitespace fixes * more whitespace removal * one more name update * refactor for upstream * fixing TGUI i broke * last whitespace fix * last last whitespace fix * please have this fix the whitespace * updated doc comments * updated ui_data and ui_act procs make more sense * Update code/modules/plumbing/plumbers/reaction_chamber.dm Co-authored-by: lex <alexdpow@gmail.com> Co-authored-by: Seth Scherer <supernovaa41@gmx.com> |
||
|
|
e82f728b09 |
medical/security modsuit updates and modules (#69194)
tweaks the colors on the security modsuit to be lighter, i think i did that on the original pr but it got reverted due to merge conflicts makes the standard quick carry module have nitrile level carrying instead of latex level environmental bodybags are now always pressurized adds medical and security hardlight bags, which are environmental bags you can use to move people through space, security ones can be sinched to prevent escape adds a medical version of the prisoner capture module, for patient transport, prisoner capture and patient transport now use the medical/security holobags, medical one deploying them faster. when you move too far out of range the holobag dissipates adds a defibrillator module, extends shock paddles adds a thread ripper module, this module temporarily rips away the matter of clothing, to allow stuff like injections, surgery, defibrillation etc through it adds a surgery processor module, essentially a portable surgery computer like borgs have fixes a bug where you can unwield defibrillator paddles just after starting the do_after to defib onehanded fixes a bug where the modsuit gps would have a broken name when renamed |
||
|
|
540afdc04b |
Coffeemaker Fixes (#69347)
Fixes issues with coffeemakers, as detailed in #69344: Adds coffeemaker boards to the techweb. Readds sprites for coffee cartridges, which were lost due to merge skew with Adding tempeh (tem · pay) #68359. Fixes the in-map-editor sprite, which was set to an invalid value. The others were either unreproducible (I attempted on live, and could not find an issue that lead the coffeemakers to not work) or are simply not something promised in the original PR (they were deliberately not added to maps to avoid the otherwise inevitable map merge conflicts that would arise, and the sprites are the best I can personally muster). |