mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-22 13:34:44 +01:00
ba4fa8fe0760d3b1b39ebee4b2b1ccb4bf526ed2
79 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
ba4fa8fe07 |
What you wear and on what chair you sit on can now influence fishing difficulty (#86646)
## About The Pull Request A foreword, I had to refactor a few bits of shitcode my past self added first. For context, the "gone fishing" and "actively fishing" traits only had one source, which is the fishing challenge itself, ad there was no way to access the challenge from outside its code, except for a few weakrefs which were being used as sources for the aforementioned traits (the shitcode in a nutshell). There were also a few signals that I didn't like because they were being sent to the harder-to-access challenge datum rather than the user. So I scrapped the traits for a couple signals to send to the user, then added a global list as a mean to easily access the challenge datum, and lastly changed the code to accomodate the titled feature (and allow the challenge to recalculate its difficulty DURING the minigame phase) Moving on to the actual feature: I've added a component that can be added to objects on which mobs can be buckled to or items. When equipped in the right slots or buckled to, the object will adjust the difficulty of current and future fishing challenges by a certain amount (more often than not positive, but there're many exceptions) as long as the object isn't equipped or the user is unbuckled. I've been having some fun adding component to a ton of clothes in the game as well as chairs. Way too many objects to enumerate, so I'll give you the general idea: - each carp-themed article provides a slight positive modifier (easier) - some (not all) doctor-related garbs provide a marginal positive modifier each (fish doctor jokes) - floortile camo clothes have positive modifiers - Tuxedo, laceups, gowns provide negative modifier (more difficult) - utility garbs such as bio/bomb/rad hoods and suits are quite bad. Riot armor too. - boxing gloves are very, very bad. Insulated gloves and haul gauntlets are also very bad, to a lesser degree. - **tackle** gloves are good. (pun intended) - wizard garbs are good, because wizards are good at casting. (also a pun) - magboots slightly bad. Space suits bad. - Blindfolds and welding protection are also bad. Gas masks marginally bad. - Pirate attire is nice to have. (I just vibed a little on this one) - plastic chairs are quite versatile because they can be carried around, but the mime chair is the best, followed by ratvarian chairs. - Fishing toolboxes, analyzers and the fish catalog are a plus, because they can be held. - And the fishing hat, obviously (not as great as you'd think) Some of these may be subject to change depending on what people say. ## Why It's Good For The Game A hundred lines of fishing challenge code made ever-so-slightly less awful, and a way to modify fishing diffculty beside skills and bait. ## Changelog 🆑 add: Your current clothes and what chair you sit on can now influence the difficulty of fishing minigames. Having a bare minimum of fishing skill will let you distinguish which objects can help and which won't, so keep an eye out. Holding fishing toolboxes, fish analyzers or fish catalogs can also help. /🆑 |
||
|
|
e61afc4318 |
New Syndicate Stealth MODule: Wraith. (#86449)
## About The Pull Request Introduces a new MODule in the uplink, makes the user transperent and grants the ability to siphon light sources to recharge your suit. Ingame demonstration: https://www.youtube.com/watch?v=bhXNOAMDy4U ## Why It's Good For The Game I've been playing a ton of Splinter Cell and Intravenous recently and this random idea popped in my head. "Wouldn't it be cool if traitors could blend in the darkness to get a jump on their opponents?" Also unrelated "Wouldn't it be cool if tots had a tool to recharge their suit that didn't involve sitting in a pod for 10 minutes?" This PR introduces a new module to the uplink, the Wraith. It comes with a passive and active component. Passively it works exactly like the crew version of the cloaking module with just a couple of differences. 1) Doesn't need to be manually activated, if you lose the cloak it's regained after 5 seconds. 2) Lower stealth alpha value( how trasperent you are basically), slightly less visible than the crew version, not as good the ninja module however , I tuned it just enough so that you are more or less undetectable in the dark. The active component of the module lets you destroy stationary lights to recharge your suit power, if used on handheld or borg lights it turns them off for a minute. **Why do we need this module when we already have the stealth implant and the chameleon projector?** I can think of a few reasons. 1) MODsuits were designed to be customizible, traitor suits range between 6 to 16 TC, having to invest in a 7-8 TC item after you already bought a suit is fairly expensive. 2) This MODule would be a better fit for ambushes, as it doesn't have the *uncloaking* delay of its counterparts. It is however considerably worse if you get caught, as the cloak is disrupted on bump or damage. 3) It has better interactions with the sandbox. Lights can go out for many reasons, maybe it’s just a power outage, or some assistant broke it, or maybe it was anightmare. It leaves room for plausible deniability, adding to the paranoia. It's also not complete invisibility, if you want to stay undetected you need to lurk in the darkness, you might expand your domain, at the cost of the crew eventually wising up to your shaeneningans. Lastly, since the active component of the module uses the same proc of the saboteur handgun, I've updated the code to be a generic proc rather than a signal, to make it easier to reuse in the future. Item desc provided by NecromancerAnne. Module sprite made by Orcacora. ## Changelog 🆑 add: The Wraith Cloaking Module is now available in the uplink, costs 3 TC. code: the saboteur handgun now uses a generic proc rather than a signal /🆑 --------- Co-authored-by: Xander3359 <66163761+Xander3359@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
3dde6f43b3 |
Resprites civilian MODsuit (#86108)
## About The Pull Request   Civilian MODsuit got its visor back but lost its lower helmet piece, exposing the mouth and chin. It also decided to hit up the gym and lost weight, as after it became a separate theme it no longer has a slowdown. Additionally, made sure that mouthhole module cannot be installed on MODsuits that don't have a helmet or a mask that cover the face. ## Why It's Good For The Game It looks extremely odd and bulky despite not providing a slowdown. Also the visor was cool. ## Changelog 🆑 fix: Mouthhole module can no longer be installed on MODsuits that don't cover the mouth image: Civilian MODsuit got a resprite /🆑 |
||
|
|
c77c50ae3d |
Athletic Fishing Gloves and Fishing Module to fish without a fishing rod (#85415)
## About The Pull Request This PR adds a pair of fishing gloves that let you fish and work out at once, and also a MODsuit module that lets you use MOD gloves to do the same thing (without the workout, an external fishing rod has to be inserted first). In both cases, you can equip or unequip bait, hook and line by using the fishing rod interface which you can open by right-clicking the gloves. To get both of them, you've to perform the first fish scanning experiment. I had to refactor the profound fisher component a bit to do this. ## Why It's Good For The Game Interweaving a few different features with fishing. Fishing and Athletics are both skills, so I thought it'd be nice if it were a way to take advantage of both, and level them up accordingly. Also fishing gloves with maxxed out athletics can make fishing a lot noticeably easier at higher difficulty. ## Changelog 🆑 add: Added Athletic Fishing Gloves and Fishing Glove Module to the advanced fishing tech node. Both can be used to fish without having to hold a fishing rod. The athletic fishing gloves will also train your athletics skill. /🆑 |
||
|
|
06aa7b846a |
Fixes Donk Co. & Waffle Corp Trademark Issues (#85686)
## About The Pull Request All references to "Waffle Co" and "Waffle Company" have been scrubbed and replaced with appropriate branding. "The Waffle Corporation" may be shortened to "Waffle Corporation", "Waffle Corp" or "Waffle Corp." only. All references to "Donk Corp." and "Donk Corporation" have been scrubbed and replaced with appropriate branding. "Donk Company" may be shortened to "Donk", "Donk Co" or "Donk Co." only. ## Why It's Good For The Game Keeps these names consistant and lore accurate. ## Changelog 🆑 spellcheck: fixed many incorrect spellings of Waffle Corp and Donk Co. /🆑 --------- Co-authored-by: BlueMemesauce <47338680+BlueMemesauce@users.noreply.github.com> |
||
|
|
3b364b1cea |
Mining MODsuit sprite changes + balance (#85353)
## About The Pull Request Slightly slimmed down the helmet, changed belt into plates, recolored brown parts to blue and added a few more glowy bits to the mining MODsuit.  Here's what it looks like currently  Mining MODsuit now hides belts, has THICKMATERIAL while active and got large capacity storage. Eating apparatus no longer has an on-person sprite. Adjusted drill module active sprite to actually fit on your hand instead of being slightly to the side. ## Why It's Good For The Game Currently the MOD looks a bit goofy, I tried making it a bit more streamlined without removing the bulk and look of a reinforced explorer exosuit. Belts are hidden for the sake of visuals, as almost all miners wear riggings which do not fit with the MOD spritework at all. While inactive it has THICKMATERIAL but for some reason loses it when activated, which doesn't make much sense. Its a thick, armored spacesuit. Eating apparatus isn't a module that people around you need to be acutely aware of, nor did it look particularly good. I tried respriting it but there's not much to be done with 12 pixels worth of space. Large storage is a rather impactful change - currently only loader and advanced (CE's personal) MODs have it, and more can be printed after researching advanced engineering MODsuit designs (from my experience, usually done by ~40 minute mark). Storage space is a very important aspect, and mining MODs already have high competition with ash drake and H.E.C.K. armors. Having less storage makes them a weird sidegrade, arguably even a downgrade, to roundstart explorer gear that has been upgraded with plates; its only real advantage is being able to pass through lava and freeing a pocket previously occupied by your ore satchel due to arcmining nerfing its main purpose (ore mining). While this still is technically worse than roundstart backpacks, this should allow them compete with with other equipment in terms of usability. ## Changelog 🆑 balance: Mining MODsuits are now considered thick clothing and gained expanded storage. image: Mining MODsuits got a slight glowup and hide belts now /🆑 |
||
|
|
2535df375d |
Carps, frogs and young lobstrosities now fear the fishing hat! (#85380)
## About The Pull Request Carps, frogs and young lobstrosities now fear legendary anglers wearing the legendary fishing hat and will flee. The item is skill-locked, so only those that have maxxed out the skill can wear it. Differently, adult lobstrosities and megacarps (and suicide frogs, which are used nowhere) do not flee but will still prioritize them over the rest. ## Why It's Good For The Game I'm putting some emphasis on the "fish fear me" _(lobstrosities and frogs aren't exactly fish but it'd been quite boring to only include carps)_ and also making the hat a bit more than just some cosmetic novelty. ## Changelog 🆑 add: Carps, frogs and young lobstrosities now fear people wearing fishing hats! Adults and megacarp favour the 'fight' part of the fear reflex however. fix: The hat stabilizer module now inherits the clothing traits of the attached hat. /🆑 |
||
|
|
13c713b3f3 |
Projectile dampener, recycler and ninja stealth MOD modules now work properly (#85307)
## About The Pull Request Closes #85207 Projectile dampener didn't delete the field, recycler didn't work period (how did nobody notice it?) and ninja stealth didn't apply silent footsteps trait. Since the beginning. Yeah. I think I got all of these, it shouldn't call empty parent and especially should it not check for returns from it. ## Changelog 🆑 fix: Projectile dampener, recycler and ninja stealth MOD modules now work properly /🆑 |
||
|
|
ddd9f6e05d |
Makes mirage grenade dispensers and ionic jump jets work (#85253)
## About The Pull Request Partially handles #85207 ## Changelog 🆑 fix: Mirage grenade dispensers and ionic jump jets now work /🆑 |
||
|
|
27b6279ce1 |
All jetpacks are no longer full-speed (#84712)
## About The Pull Request Full-speed has been removed from jetpacks All jetpacks are now modsuit jetpack speed Due to having no purpose now, Adv. Ion Jetpack has been replaced with its lesser form, Ion Jetpack ## Why It's Good For The Game The meta to just blow up gravity and use your jetpack that makes you faster than 99% of the projectiles ingame and faster than a healthy full mood human to dunk on literally anyone you see because they cant click you because youre going mach 3000 is absolutely not fair With jetpacks being reasonable speeds this is no longer a problem ## Changelog 🆑 balance: All jetpacks are now modsuit jetpack speed del: Adv. Ion Jetpack module has been removed /🆑 |
||
|
|
bfd539e9a0 |
The Syndicate MODs are now resistant to batons knockdown. (#83510)
## About The Pull Request Adds a new Module preinstalled into the nukie suits, and purchasable in the uplink, grants resistance to batons knockdown. ## Why It's Good For The Game At the last coderbus meeting, i personally asked to Fikou and Mothblocks for more baton counters to be introduced, they seemed to be ok with the idea, so here we are. Introduces an unremovable module which grants to the wearer resistance to baton knockdown, it comes preinstalled in all syndicate modsuits. With the fix of "rest to prevent disarm", stun batons have gotten even more powerful than they once were, and while i do agree secret kinda abusable tech is bad for the health of the game, the end result is that the stun meta is even more prominent than ever, so it's a good time introduce a small counter to it. From a thematic perspective, Syndie suits should at least make people feel afraid, which is hard to do when a single prod from a stun stick will make you drop like a sack of potatoes, lose your desword and get slashed to bits. On the gameplay side, wearing one of these will make you a target for the entire station, if a traitor is willing to expose themselves, or in the case of nukies, forced to; they should probably have a small edge on what's the most common tool used to stop them. Keep in mind that this only prevents the knockdown, it does nothing for the stamina damage, you'll still get stamcritted in a couple of hits, nothing changes on that front. This is merely to prevent a scenario where a single baton hit will immediately lose you a fight. ## Changelog 🆑 add: adds the MOD shock-absorption module, into the game. add: The MOD shock-absorption module into the the uplinks, costs 4 TC. balance: Nukie modsuits come with the shock_absorption module preinstalled. /🆑 |
||
|
|
49dccad3a0 |
unhardcodes modsuit parts (#82905)
## About The Pull Request see #70061 but i almost finished it, i only need to go through every single module and assign it a fitting part ## Changelog 🆑 refactor: modsuits have been refactored if you see bugs report them fix: admin cargo tech modsuit outfit now works correctly /🆑 --------- Co-authored-by: Andrew <mt.forspam@gmail.com> |
||
|
|
bc4e7d3b4e | Remove data systems in favor of global datums (#82943) | ||
|
|
6b018aae7d |
Removes the stun from longfall modules activating. (#82824)
## About The Pull Request What it says on the tin. When you fall with the longfall module active, you do not get stunned. If you fall from more than one z-level, however, you will be staggered from the fall, with a length based on the number of levels fallen. ## Why It's Good For The Game I noticed that while using these as a felinid that I actually was stunned utilizing them. dropping the equipment I was carrying and being rooted in place for a bit. And I thought to myself 'wait, hang on, by taking this thing out, out I'm actually WAY better off than if I kept them in, what gives?' They just got powercreeped, unfortunately. Freerunner and being a catgirl is stronger than this very niche module, because they're equipment independent and also not a hard stun (I know faceplanting with freerunner is still a bit of a stun, but you can still move and potentially avoid losing equipment by falling while prone). And maybe it functions a lot stronger in situations where those two traits just don't apply (or apply in a very negative fashion in the case of felinids), I don't see why they shouldn't be superior to those traits. You have to have a modsuit, and you need to be on a map that makes use of multi-z. And additionally be in gravity. Typically, I would think equipment benefits should be stronger than innate/roundstart features. Most of the time, it is easier and more beneficial to be in constant flight while using a modsuit than to prepare for longfalling. So let's just make it better overall. I don't know how many people would even use it, but I know I will and I love tossing myself into the void below. ## Changelog 🆑 balance: Longfall modules no logner stun you when they activate. balance: Falling from a height greater than one z-level while using the longfall module will still stagger you. /🆑 |
||
|
|
c1a775efe1 |
Implements data systems (#82816)
## About The Pull Request Subsystems currently come in two different flavors: 1. Systems that process at intervals with the master controller 2. Global data containers that do not fire And I think they should be split up... This moves 4 non firing, non init subsytems -> datasystem ## Why It's Good For The Game Clarity in code |
||
|
|
c1f11f26ce |
Converts arbitrary energy units to the joule. Fixes conservation of energy issues relating to charging cells. (#81579)
## About The Pull Request Removes all arbitrary energy and power units in the codebase. Everything is replaced with the joule and watt, with 1 = 1 joule, or 1 watt if you are going to multiply by time. This is a visible change, where all arbitrary energy units you see in the game will get proper prefixed units of energy. With power cells being converted to the joule, charging one joule of a power cell will require one joule of energy. The grid will now store energy, instead of power. When an energy usage is described as using the watt, a power to energy conversion based on the relevant subsystem's timing (usually multiplying by seconds_per_tick or applying power_to_energy()) is needed before adding or removing from the grid. Power usages that are described as the watt is really anything you would scale by time before applying the load. If it's described as a joule, no time conversion is needed. Players will still read the grid as power, having no visible change. Machines that dynamically use power with the use_power() proc will directly drain from the grid (and apc cell if there isn't enough) instead of just tallying it up on the dynamic power usages for the area. This should be more robust at conserving energy as the surplus is updated on the go, preventing charging cells from nothing. APCs no longer consume power for the dynamic power usage channels. APCs will consume power for static power usages. Because static power usages are added up without checking surplus, static power consumption will be applied before any machine processes. This will give a more truthful surplus for dynamic power consumers. APCs will display how much power it is using for charging the cell. APC cell charging applies power in its own channel, which gets added up to the total. This will prevent invisible power usage you see when looking at the power monitoring console. After testing in MetaStation, I found roundstart power consumption to be around 406kW after all APCs get fully charged. During the roundstart APC charge rush, the power consumption can get as high as over 2MW (up to 25kW per roundstart APC charging) as long as there's that much available. Because of the absurd potential power consumption of charging APCs near roundstart, I have changed how APCs decide to charge. APCs will now charge only after all other machines have processed in the machines processing subsystem. This will make sure APC charging won't disrupt machines taking from the grid, and should stop APCs getting their power drained due to others demanding too much power while charging. I have removed the delays for APC charging too, so they start charging immediately whenever there's excess power. It also stops them turning red when a small amount of cell gets drained (airlocks opening and shit during APC charge rush), as they immediately become fully charged (unless too much energy got drained somehow) before changing icon. Engineering SMES now start at 100% charge instead of 75%. I noticed cells were draining earlier than usual after these changes, so I am making them start maxed to try and combat that. These changes will fix all conservation of energy issues relating to charging powercells. ## Why It's Good For The Game Closes #73438 Closes #75789 Closes #80634 Closes #82031 Makes it much easier to interface with the power system in the codebase. It's more intuitive. Removes a bunch of conservation of energy issues, making energy and power much more meaningful. It will help the simulation remain immersive as players won't encounter energy duplication so easily. Arbitrary energy units getting replaced with the joule will also tell people more meaningful information when reading it. APC charging will feel more snappy. ## Changelog 🆑 fix: Fixes conservation of energy issues relating to charging powercells. qol: APCs will display how much power they are using to charge their cell. This is accounted for in the power monitoring console. qol: All arbitrary power cell energy units you see are replaced with prefixed joules. balance: As a consequence of the conservation of energy issues getting fixed, the power consumption for charging cells is now very significant. balance: APCs only use surplus power from the grid after every machine processes when charging, preventing APCs from causing others to discharge while charging. balance: Engineering SMES start at max charge to combat the increased energy loss due to conservation of energy fixes. /🆑 --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
8c6f4180ae |
Adds a collar bomb to the black market. (#81898)
## About The Pull Request Originally part of the other blackmarket PR, but it seemed a tad awkward to have it mandatorily installed on mobs rescued from the holding facility. But yeah, this PR adds a neck item that causes the wearer's death with a 5 seconds countdown when triggered, which can be bought from the market uplinks. The box comes with a yellow button to trigger it, but it can also hold a signaler (which the wearer cannot tamper) if you wish to use assemblies. Take note that, upon being worn, the item cannot be removed by any mean beside beheading iirc (so HARS should counter it), and fire/acid if you have a ton of patience because of its high armor values. ## Why It's Good For The Game More mean and evilish stuff to populate the black market with. ## Changelog 🆑 add: Added a collar bomb to the black market. add: Added a possible kit to the special syndie bundle B, which also has uses these collars. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
9f4a8dfc50 |
Buffs the SC/FISHER Saboteur Handgun. (#81553)
## About The Pull Request The saboteur gun will now silence pAIs, toggle off radio broadcasting (won't auto-relay nearby speech), disable turrets, chill out secbots a little, and turn off APCs like power outages do. The disrupt duration has also been buffed from 10/20 to 15/25 for ranged and point-blank respectively. Removed a conspicious chat message from an otherwise inconspicious gun. Brought the code up to date. ## Why It's Good For The Game The concept is cool, alas it's also undermined by how much of a joke it's right now, and the game has plenty already. The amount of interactions it has with things is underwhelming, so you could barely consider it a stealth tool. The duration is also quite scarce, I pointed that out in the original PR too. Basically, I want to make the item cooler. ## Changelog 🆑 balance: Buffed the duration of the SC/FISHER Saboteur Handgun's disruption effects. It's also stealthier and it won't conspiciously alert living mobs hit by it. add: Added saboteur interactions with radios, pAIs, turrets, secbots and APCs. /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
9ac81e1a64 |
New station trait job: Human AI (#81681)
## About The Pull Request This PR does many things, I'll try to explain the basic/background stuff to the main thing first: 1. Adds a new remote that allows a human to function like an AI. It controls a fly that will fly around the station slowly, and when it reaches a machine then the person can interact with it as if they were an AI. This required changing a lot of silicon/AI checks with one that also checks for this remote, and some messing with shared ui state. 2. Moves req_access from the obj and bot to ``/atom/movable`` which lets it be shared between the two, no more copy-paste and one side lacking features/checks/signals the other has. 3. Adds a check for AI config for AI-related station traits, which was lacking prior Now for the good part... Adds a new station trait that replaces the AI with a Human. This person is equipped with an AI headset (including Binary), an advanced camera console, an omni door wand, the machine controller, and their laws. They are immune to the SAT's turrets (even if set to target borgs) and are slow outside of the SAT, mimicing the actions of the AI. They interact with the world through their advanced camera console, which allows them to do most AI stuff needed, and the holopad they can connect to without having to ring first (like Command can). They are given a paper with the laws they must follow, but since they are human they are able to bend it. Cyborgs that run the default lawset are "slaved" to them via an unremovable law 0, so the Human AI can bend the laws if they really need to (for their own survival n such), and make the cyborgs obey their commands above laws, but in general this shouldn't be a frequent occurrence. This does take into account the unique AI trait, so it's not guaranteed Asimov. When this station trait rolls, all Intellicards, AI uploads, and AI core boards are destroyed and are unresearchable. They can be spawned by admins in-game if necessary. Maybe in the future we can also exclude Oldstation from this but I haven't really decided. Extra perks: Human AI spawns with a Robotic voicebox (unless they are a body purist) and teleport blocking implant, so they can't use teleporters to bypass their on-station slowdown. They also have an infinite laser pointer that can be used to blind through their camera console. This is unfortunately nerfed from the recent borg balance PR that removed its stun. This was meant to be the alternative to no longer being able to permanently lock borgs down like AIs can (or more than one, for that matter). They aren't affected by Roburgers, Acid, and Fuel's toxicity. Bots salute them like they do Beepsky (which is now a trait) They spawn with SyndEye to replace the AI's tracking ability They do not have a bank account ### The machine remote The machine remote has a little fly in it that flies to the machines it is pointed to, working as the arms and legs of the Human AI. It scans the machine and punches in the action the AI does, and is how the AI accesses basically anything. This fly slowly moves from one machine to the next, and can be recalled with Alt Click. It works on machines and bots. ### Video (Low quality to fit Github) https://github.com/tgstation/tgstation/assets/53777086/e16509f8-8bed-42b5-9fbf-7e37165a11e8 ## Why It's Good For The Game I've seen a funny screenshot one day of a person replacing the AI by using a bunch of door remotes, camera console, crew monitoring console, and a few other things. I've been thinking about that for a few years and really wanted to make it official if not easier to make possible, because it is an incredibly funny interaction. This makes it a reality, and while they aren't as powerful as regular AIs, I think it makes for better and funnier in-game moments. With the same weight as Cargorilla (1), I hope this wouldn't be rolling too often and ruin rounds, but instead show off the different capabilities that Humans and AIs can do, to do the job of an AI. You win some you lose some. ## Changelog 🆑 JohnFulpWillard, Tattax add: Adds a new station trait job: The Human AI. /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
55ef6a6219 |
Use a common list for acceptable silo materials (#81790)
## About The Pull Request This list containing the same material values was copy pasted all over. It's already cached in the subsystem so let's just use that. Renamed ore category into silo category. ## Changelog 🆑 code: Use a common list for acceptable silo materials for some stuff. Renamed ore category into silo category. /🆑 |
||
|
|
70651816c2 |
Fixes complex lights not handling moving well, renames lighting defines (#81423)
## About The Pull Request [Fixes static lights not moving](https://github.com/tgstation/tgstation/commit/ffef43c05a55dae414ef94558ecf9b9df709ded7) Worked fine when the owner moved, but if the owner was inside something else, it would try and trigger an update on the PARENT's lights, which are obviously not us. [Renames MOVABLE_LIGHT and STATIC_LIGHT to better describe what they do](https://github.com/tgstation/tgstation/commit/de73a63bd4d97783c69c95370726d1c253ffb8fe) People keep trying to change the lighting system of lamps and it makes me mad. I choose OVERLAY_LIGHT and COMPLEX_LIGHT here, I couldn't figure out a better name for turf matrix lighting. Suggestions welcome ## Why It's Good For The Game Closes #80005 Hopefully improves understanding of lighting at a glance ## Changelog 🆑 fix: Fixes fancy lights not updating their source location when picked up and moved /🆑 |
||
|
|
12afcb911e |
Comprehensive cleanup of storage datum, replaces the weakrefs with just refs (because they were managed already) (#81120)
## About The Pull Request
- Large amount of storage datum cleanup.
- Documentation.
- Maybe more consistent use of parent vs real_location.
- Removes the weakrefs, replaces it with just references.
- These were already managed references anyways so why bother?
- Removes a bunch of arguments no one used and would ever used so only
the most useful args are left.
- Some bugfixes.
## Why It's Good For The Game
Aiming to make storage easier to work with. The whole intent of this was
to bugfix the whole "weight class" thing that keeps popping up but I had
to do this first.
## Changelog
🆑 Melbert
fix: When placing an item into storage (such as backpacks), all nearby
mobs now get a message, rather than just the first mob.
fix: TGC decks of cards should act a bit less odd when looking inside.
refactor: Refactored a bit of storage, cleaned up a fair bit of its
code. Let me know if you notice anything funky about storage (like
backpacks).
/🆑
|
||
|
|
d36a5af64f |
Removes material breakdown flags, traits & miscellaneous fixes. (#80389)
## About The Pull Request 1. Removes material breakdown flags i.e. all flags with the format `BREAKDOWN_XXX`. These flags do nothing, there are no special checks to transform materials based on these flags, they are passed around just because certain procs require them for syntax purposes only. Apparently there were plans to make these flags do something special from the comment https://github.com/tgstation/tgstation/blob/302247c0d1e980478f59d9c497169290ee259887/code/__DEFINES/construction/material.dm#L43 But nobody got any ideas for years now. The only special thing we can do with them now is remove them and reduce code clutter, so let's do that The only flag that ever did something was the `BREAKDOWN_INCLUDE_ALCHEMY` flag. This only worked when coupled together with `TRAIT_MAT_TRANSMUTED` trait(which is only used by the reagent metalgen) and when both this trait & flag are combined together... they still do nothing https://github.com/tgstation/tgstation/blob/302247c0d1e980478f59d9c497169290ee259887/code/game/atom/atom_materials.dm#L41-L42 Yup they cancel out each other to prevent returning an empty list, the traits only job was to prevent materials from being recycled (like why? what's the benefit of that? nothing) and the flag was meant to bypass this restriction so both the trait & the flag cancel out each other therefore doing nothing meaningful. Best remove them both and call it a day. 2. Fixes an error in displaying number of sheets inserted into a mat container when that sheet is made up of alloy materials. it would count as 2 or more because it would take the sum of total material amount inserted and not the actual sheets. That's fixed now. 3. Remote materials now properly respect the `MATCONTAINER_NO_INSERT` flag 4. Adds helper proc to insert materials via the remote material component with proper context ## Changelog 🆑 fix: mat container displays correct number of sheets inserted for alloy materials. fix: remote materials now properly respect the `MATCONTAINER_NO_INSERT` flag. code: removes material breakdown flags and related traits. code: adds helper proc to insert materials via the remote material component with proper context. /🆑 |
||
|
|
14d1482fc7 |
Falling down a z-level while standing up can (occasionally) break your legs. Felinids will now always land on their feet (for better or for worse). (#80054)
## About The Pull Request
- Falling down a z-level while standing up will apply the damage
directly to your legs.
- This damage has the chance of rolling wounds, so falling z-levels ->
broken legs.
- If you are lying down when you fall, the damage is spread through your
body like normal.
- Felinids who fall down a z-level while standing will always land on
their feet.
- Instead of being floored for 5 seconds / levels fallen, you will
receive a slowdown for 2 seconds / levels fallen.
- However, while they have cat reflexes, they do not have cat legs.
Landing on your feet will deal additional damage.
- For falling 1 z-level, this is ~18 damage (instead of ~12).
- For 2 z-levels, this is ~50 damage (instead of ~32).
- Cats (basic mobs) are capable of falling down z-levels without
sustaining damage.

## Why It's Good For The Game
Add some more depth to falling down. (No pun intended)
Rather than dropping down a level and walking it off after getting up,
you might dislocate your leg.
Also adds some more species interactions. Felines might be able to give
people the slip easier when dropping down into the undertram, thanks to
their cat-ness.
## Changelog
🆑 Melbert
add: Falling down a z-level while standing now damages your legs rather
than your entire body. This also means falling down multiple z-s may
rarely break your legs.
add: Felinids now land on their feet if they fall down a z-level while
standing. This replaces the knockdown with a short slowdown, and also
has the trade-off of causing more leg damage.
add: Cats can now fall z-levels without sustaining damage.
/🆑
---------
Co-authored-by: san7890 <the@san7890.com>
|
||
|
|
d1ad9b6658 |
Nukie Update Followup: Returns CQC to the previous price range, Core Gear kit for newbies, hat stabilizers for everyone (#79232)
## About The Pull Request Brings the CQC kit back down to the same price range of 14 TC (it's 1 more than before weapon kits). It feels like currently that CQC is overpriced, even with the stealth box coming along with it, and by comparison the energy sword and shield got a huge value increase by combining the two. They're both melee styles and also equally difficult play styles. It isn't really necessary to make one more expensive than the other. Also now comes with syndicate smokes. It's a whatever change, ops get these for free on the base. Adds a core gear kit in the weapon category. This kit comes with a doormag, a freedom implant, stimpack and c-4 charge. All of these are items almost every nukie buys if they want to succeed, so let's inform newer players by putting it RIGHT on top of the list. This isn't at any discount, this is mostly to help inform players what items help make you successful. Hat stabilizers are now a part of every syndicate modsuit for FREE. It comes built in, can't be removed, and has no complexity cost. Now everyone can wear their wacky hats as they operate. ## Why It's Good For The Game CQC felt like it got shafted waaay too hard with the weapon case changes. Definitely don't believe that it is punching at the same weight as many of the other high cost weapons. So we've dropped it down a category. 14 TC is still a large upfront cost, even if it comes bundled with a lot of goods. Melbert gave me the idea of a core bundle kit to help newer players and I was really taken with that. So I added it as part of this followup. I want people to wear their hats goddamnit, and I didn't learn my mistake with the tool parcels. So now everyone has hat stands on their suits. WEAR THE SOMBRERO YOU **FUCK**. ### THIS IS NOW A THREAT. ## Changelog 🆑 balance: Operatives can once again read about the basics of CQC at a reasonable price of 14 TC. qol: All Syndicate MODsuits come with the potent ability to wear hats on their helmets FOR FREE. No longer does any operative need be shamed by their bald helmet's unhatted state when they spot the captain, in their MODsuit, wearing a hat on their helmet. The embarrassment has resulted in more than a few operatives prematurely detonating their implants! BUT NO LONGER! FASHION IS YOURS! qol: There is now a Core Gear Box, containing a few essential pieces of gear for success as an operative. This is right at the top of the uplink, you can't miss it! Great for those operatives just starting out, or operatives who need all their baseline equipment NOW. /🆑 |
||
|
|
ef10313b70 |
[no gbp] Jump jets activate a linked jetpack in a more sensible way (#78296)
## About The Pull Request
fikou pointed out that the code I wrote not only wasn't reliable on
destroy but also was overengineered
but only _after_ he merged it 😠
now we just ask the jetpack module if it is on rather than using a weird
trait
## Changelog
not player facing
|
||
|
|
172f65989e |
Nuclear Operative Jump Jets (#78088)
## About The Pull Request This PR gives operative MODsuits access to "jump jets". This is an activated module (starts pinned) with a 30 second cooldown which removes your personal gravity for 5 seconds and (if possible) pushes you upwards by one z level. In combination with your regular jetpack this allows you to fly over gaps, and (most importantly) out of pits such as you may inadvertently find yourself wandering into on Icebox. I have a few other changes I want to make specifically targetted at the experience of Icebox station destruction causing people to fall several z levels and get trapped, but this is the first one. You have to stand still for 1 second to activate the jump jet. This is because jetpack movement without gravity is actually usually faster than an operative will walk, and I don't want them to just toggle it as a sprint button while running around. If people find other tactical uses for this though I think that's cool. This module currently isn't available to crew on the tech web, although maybe someone could add it later if they wanted to. It's not quite so useful if you don't _also_ have a jetpack though. I bumped the available complexity of the suits I attached it to up by the complexity cost of this module so it's not taking up previously available space. ## Why It's Good For The Game It's funny when the whole ops team falls in a hole after an explosion they caused and gets stuck in there fighting Snow Legions but they should probably have some method for dealing with that. It also lets them pop back up from the tram hole, a risky proposition because any flying mob hit by the tram dies almost instantly. ## Changelog 🆑 add: Operative MODsuits now have an attached "jump jet" which sends you upwards and allows you to use your jetpack under gravity for a few seconds, perfect for navigating the pits and valleys of Icebox Station. /🆑 |
||
|
|
19233741c4 |
[NO GBP] Fixes more retrieve typos (#78069)
## About The Pull Request Continuation of https://github.com/tgstation/tgstation/pull/77946, I missed quite a few of these it seems. ## Why It's Good For The Game Stop the spread of these typos!! ## Changelog Nothing player facing |
||
|
|
9aed3b6a8f |
General code maintenance for Mat container related stuff (#77671)
1. Removes `/obj/machinery/ore_silo/proc/remote_attackby()`. This proc calls `datum/component/material_container/user_insert()` anyway which performs all the checks necessary for inserting stuff into the ore silo and `/obj/machinery/ore_silo/proc/remote_attackby()` was just repeating its code & checks. So now inserting into the ore silo is directly handled by the mat container without this proxy proc making the operation slightly faster 2. Removed silo `attackby` code. Same operations can be done via `screwdriver_act` & `crowbar_act` procs much cleaner 3. The ore silo now hooks onto signals `COMSIG_MATCONTAINER_ITEM_CONSUMED` and `COMSIG_MATCONTAINER_SHEETS_RETRIVED` and logs into silo when they are triggered. This means when you insert/eject sheets from the silo the connected machine performing the operation no longer has to do the logging manually thus the proc `silo_log` has been removed from a lot of places ,reducing overall code size 4. A lot of stuff that use materials from the ore silo follow this pattern. i.e. They first use the materials from the silo and then log it via `silo_log` proc. This code pattern is repeated in a lot of places so let's just merge these 2 lines with some extra sanity checks into a single proc inside `remote_materials` itself. That's what was done and the number of places where you log manually into the silo has been removed further reducing code size everywhere. 5. Added auto doc & cleaned up some procs Since logging is now done by the ore silo directly, we need a way to pass the machine that is inserting items into the silo to the signal handlers of the ore silo [via the `context` var]. So other code changes elsewhere is because of this var |
||
|
|
ba6c2ffa4c |
kinesis changes + smaller misc modsuit stuff (#77241)
## About The Pull Request renames plasmaman helmet exempt flag to stackable helmet exempt. hat stabilizer now cares about this instead of letting you stack eva helmets on top of modsuit helmets improves some code that dripped in quality when i was on break kinesis has some tweaks previously it used to stun for a set amount of time - i think this is because the creator couldnt figure out how to stop movement while being held? this is changed, now as long as youre holding someone they are immobilized you can cancel your kinesis without throwing or moving out of range by using right click on the click catcher adds an admin version of kinesis just for the admin suit. it can grab (almost) ANYTHING and config menu lets you enable phasing, which makes it so the atom you grabbed phases through everything. pick up that can. ## Why It's Good For The Game its fun ## Changelog 🆑 balance: hat stabilizer module can now hold what plasmaman helmets can hold qol: kinesis module can be stopped without launching an object with right click balance: kinesis module stuns last until the kinesis stops add: admin suit has a version of kinesis that can pick up anything at any range and can be configured to make grabbed mobs phase through walls :) /🆑 |
||
|
|
be4f3dd47b |
Bluespace MOD Storage can now hold bulky storage items. (#77211)
## About The Pull Request The admin-only bluespace MOD storage can now hold bulky storage items (backpacks, belts) without needing a varedit to do so, kinda like the bag of holding can do. Is this even a rebalance if it's very likely an oversight on an admin-only item? ## Why It's Good For The Game The bluespace MOD storage is pretty much just a super snowflakey bag of holding for modsuits, so this brings it more in line. ## Changelog 🆑 balance: The bluespace MOD storage can now hold bulky storage items (backpacks, toolbelts) just like the bag of holding. /🆑 |
||
|
|
c92d338dad |
Refactors chameleon actions, Adds chameleon outfit saving, Adds chameleon scanner (#77140)
## About The Pull Request - Refactors chameleon actions a good bit, reducing a lot of the boilerplate copied around chameleon items. - I noticed that the EMP comsig completely disregarded any EMP protection the mob might have. I split the comsig into `COMSIG_ATOM_PRE_EMP_ACT` and `COMSIG_ATOM_EMP_ACT` - the former now used to aggregate protection flags and the latter to actually do EMP stuff. - As a result of above, this fixes a few oversights in which things using `COMSIG_ATOM_EMP_ACT` disregarded EMP protection. - Adds Chameleon Outfit saving. - RMB clicking the "Select Chameleon Outfit" will now save your current chameleon setup as a custom outfit. They become selectable as any other outfit afterwards. - Because it might be *too* easy to bamboozle people / might make people think you're a ling, I added a slight "animation" to swapping whole chameleon outfits. It's less than a second long. - Adds the Chameleon Scanner. - The chameleon scanner is, surprise, a chameleon item that can disguise as small gadgets or items (toys, cameras, analyzers, etc). - On LMB, the chameleon scanner will copy the outfit of the target to a custom outfit slot, allowing you to mimic them entirely without going through all the menus. - RMB does the same, but instantly equips the disguise you select in addition to saving it to a slot. ## Why It's Good For The Game Right now traitor stealth is very capable but cumbersome, which makes it much less appealing than just running and gunning. One big problem with it is that the chameleon kit is rather time consuming to use. You have to sort through hundreds of items for each of your chameleon items to find exactly the one you need. These items seek to amend that time gate, allowing for much quicker swapping between disguises or picking up the disguise of someone you kill to replace them like a pseudo-changeling. ## Changelog 🆑 Melbert refactor: Refactored chameleon actions a fair bit add: Adds outfit saving to chameleon clothes. RMB the "chameleon outfit" action to save your current chameleon setup for quick swapping. add: Swapping between chameleon outfits now has a slight "animation" associated, to distinguish traitors from lings slightly. add: Adds a new chameleon item, the "Chameleon Scanner". Use it on other crewmembers to stealthily save their current outfit as a custom outfit to use later. And of course, it's chameleon too. fix: Ethereals, the DNA lock mod, GPSs, and storage items now respect EMP protection /🆑 |
||
|
|
f83e03252f | New MOD Suit UI (#77022) | ||
|
|
e92ae5b75b |
Material container & related stuff ui refactors & clean-up (#76220)
## About The Pull Request **1. Material container clean-up & refactor** - Replaced `total_amount` var with `total_amount()` proc, this var can be easily computed by summing up all material amounts rather than storing it as a var which is tedious to update & keep track of when materials are added/removed - Removed unused procs `transer_amt_to()`, `can_insert_amount_mat()`, and `get_categories()`. These procs are not used anywhere in the codebase so let's remove them & make some space. - Callbacks are replaced with signals, the callbacks don't need to be explicitly garbage collected & having macros & procs marked with `SIGNAL_HANDLER` makes your intentions more readable & explicit. - Fixes #76151 All material adding, removal, checking operations are "Integer" operations, i.e. the final value is rounded & them made 1 if the final value is 0 using the macro `OPTIMIZE_COST`[coudn't come up with a better name]. No more dealing with decimal value materials The problem was after the protolathe was upgraded with better parts all the design costs were multiplied with a decimal `efficiency_coeff` value, this means even though in the UI the cost was displayed as 60 bluespace crystals its actual cost was `60.0001` something in the backend causing this check for materials to fail & print the error message. - Replaced `GetComponent(/datum/component_material_container)` with just a simple ref to the material container when adding the component, so we can save some overhead from calling this proc - Gave all procs a ton of documentation with documentation having documentation - Fixes #76506 RCD and other devices that uses the silo link upgrade now have the correct material usages - Fixes #72096. It wasn't just a problem with ancient protolathe but with all machines that used `datum/component/remote_materials` the problem was remote materials would add an instance of `datum/remote/material_container` if it wanted to use local storage but this component would get added before `datum/component/remote_materials` could be registered i.e. it comes before remote_materials in the component list. So when the machine is destroyed it will first destroy `material_container` & then `remote_materials` therefore destroying the materials before they could get ejected - Silo link is established when parent is registered with remote materials raher than adding an external timer which is faster - Everything that uses a material container will auto eject their sheets when destroyed - Moved this & remote materials into its own folder for better organization **2. Material UI Changes** - Removed the x25 & x50 print buttons from the autolathe, now they just have x5 & x10 buttons like the protolathe, These buttons were of no use since you could just type the exact amount you want to print in the `[Max: <some amount>]` side bar. The code to compute these buttons was just plain right nasty & some of it unused in the UI. - The material eject button in the material bar does not gray out when you can eject exactly one sheet - All material cost are integer values rounded - Fixes #76253 Exosuit Fabricator sends the material container static data to the UI so its material bar is not greyed out when there are sufficient materials to eject - Component printer material bar sends the material container static data to the UI so its material bar is not greyed out when there are sufficient materials to eject - Autolathe Material bars now display number of sheets available - Max printable amount of items are now computed & updated correctly in the UI. They were displaying wrong values & now get updated when items are printed, materials are removed - Silo hold actually works now. When a machine is put on hold it calls this proc https://github.com/tgstation/tgstation/blob/e929cf39cded5207d63df1fa8521f41f2816b383/code/datums/components/remote_materials.dm#L78-L87 Notice how the key is `src` so we should be consistent during checking if a machine is on hold using the same `src` var. But for some reason we did dumb shit like this https://github.com/tgstation/tgstation/blob/e929cf39cded5207d63df1fa8521f41f2816b383/code/datums/components/remote_materials.dm#L150-L153 What is category? Why do we care for the area the machine is in? None of it made sense so i removed all that junk and just made it check for `src` like it should - Removed redundant `removable` & `sheets` var from the material container ui_data. These vars are unused in the UI - If an item does not have the required materials then upon clicking that item you will not get any error message but instead nothing happens ## Changelog 🆑 fix: items can be printed from autolathe & protolathe when the exact material amounts are present in them after upgrading fix: max printable amount now shows the correct value & updates when items are printed, materials are removed in the autolathe & protolathe fix: component printer material bar is not greyed out when there are sufficient materials to eject fix: rcd and other devices that uses the silo link upgrade now have the correct material usages fix: silo hold actually works fix: machines using local storage to hold materials will eject it's materials as sheets when deconstructed/destroyed refactor: Autolathe Material bars now display number of sheets available refactor: printing an item that does not have enough materials will fail silently with no error messages refactor: Drone dispenser will eject sheets upon deconstruction refactor: all things that store materials will auto ejects its sheets(if there is sufficient material) when destroyed refactor: inserting an item into the material container will display the units consumed as sheets not absolute units refactor: removed x25 & x50 print buttons from the autolathe |
||
|
|
2f3b186e21 |
Removes the hat whitelist from the hat stabilizer mod (#76962)
## About The Pull Request This PR allows you to use any hat with the hat stabilizer module. Before, it was limited to a pretty small, very arbitrary list of hats (captain's hats, centcom hats, and a few gimmicky hats), making it disappointingly limited to both the captain, and anyone who finds the thing in maints. I'm guessing this limit was put in place to avoid janky looking hats, but plasmamen get the exact same thing without the restriction, and there haven't really been any complaints there. While I did not test this with every single hat, I *did* test it with every hat currently in the autodrobe, and there wasn't any jank there, even with things like wigs, and hats that cover the entire head. There was also a bug/oversight where the MOD eating apparatus module didn't properly disable pepper spray protection like it was supposed to. It was literally just a matter of missing parentheses, so i fixed that too. Not super sure what to mark this change as btw (qol? balance? removal?) so if I should change it, let me know. ## Why It's Good For The Game Allows both the captain and anyone who finds/steals the module to actually wear the hats they want to wear, instead of being limited to a small, mostly arbitrary list of hats, and having less outfit choice that a plasmaman. ## Changelog 🆑 qol: You can now use any hat with the hat stabilizer MOD fix: The MOD eating apparatus module now properly disables pepper spray protection /🆑 |
||
|
|
ccf547c142 |
Adds an extra malf AI ability: Remote emagging. Also tidies up emag code and coverts a lot of things to balloon alerts (#76669)
## About The Pull Request New malf AI upgrade Remote safety overrides: Mid-cost, Mid-supply. Allows the AI to remotely emag things it can see and can access. 1. Very useful for psychological warfare (Emagging APCs to throw the crew off their trail) 2. Logically makes sense - why, of all things, can the AI not emag anything when it's fundumentally integrated with the station's electronics? 3. Generally speaking can only access things that make sense for it to access - it cannot emag ethereals, sadly In order for this to work, emag_act now returns a boolean, designating if the emag had any effect. While I was in there, I also added args to every single emag_act I could find and added far more feedback/converted a lot of things to balloon alerts to allow the AI to see if its emag had any effect. ## Why It's Good For The Game It just makes sense that the AI, the most electronically-sensitive entity in the game, would be able to emag things. Plus, more options given to malf that aren't strictly MURDER KILL MURDER are always a plus, especially if they allow for fancier plays. ## Changelog 🆑 add: New malf ability: Remote safety overrides. Allows the AI to remotely emag things it has access to. code: emag_act() now returns a boolean designating it's success in emagging code: All instances of emag_act() now have the proper arguments qol: Most usecases of emagging now have some kind of feedback, and existing feedback has been sanity checked and converted to balloon alerts. /🆑 |
||
|
|
5b7cfa70b0 |
Failed MOD auto-storage attempts now tell you that it failed (#76673)
## About The Pull Request title; if you try to retract your suit and it fails to store your suit slot item (tank/gun/etc) into storage, now it tells you with both a balloon alert and chat that you dropped something   ## Why It's Good For The Game "oh shit where'd i put my oxygen tank" (you left it behind 3 Zs ago or something) ## Changelog 🆑 qol: When a MOD fails to store something in itself when retracting, you're now notified in both the chat and by a balloon alert. /🆑 Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com> |
||
|
|
6ae976d0bb |
Infiltrator MODs don't have a plasma visor anymore (#76164)
## About The Pull Request Disables the plasma stabilizer's visor for any MODsuit that has an infiltrator module ## Why It's Good For The Game It doesn't make sense that a suit designed for concealing your identity gave away your species. This changes that, allowing plasmamen to freely use this MODsuit. ## Changelog 🆑 StaringGasMask qol: Now plasmamen can use the infiltrator MODsuit without having their species revealed. The helmet's still not sealed, so remember your mask. /🆑 |
||
|
|
d4cdd6b63e |
Replaces lava and chasm's "safeties" and ignoring turf slowdown on catwalks with traits and a new element. (#76376)
## About The Pull Request This adds a new element for movables that grants turfs they're in traits, changes lava and the chasm component to check for traits instead, ditto for turf slowdown. It also implements another trait that prevents wet floor from slipping people, as well as some other changes (feel free to opine on them really): - Tables and conveyor belts now stop turf slowdown, much like catwalks, as I imagine people walking on them are not really touching the floor. (I'd include protection against lava too... until they melt, but that'd mean finding a way to have these objects burn in the first place, and lava code is still stupid despite a years old refactor I did) - Tables also stop slippery turfs from slipping (bananas, soaps etc. still apply). I wish there were a way to make some objects slippery by coating them in water vapor or splashing water/lube, but that's outside the scope of this PR. - Fixed an edge case in which a mob standing on a lava turf would be left permanently visually on fire if the lava is changed to another kind of turf. - Removed unused code from stone tiles. I'm going to include these traits in that global list for admin-added traits... tomorrow perhaps. 💤 ## Why It's Good For The Game Replacing some hard-coded mechanics with easier to use traits and an element, which I also need for the submerge element PR. ## Changelog 🆑 refactor: Replaced hardcoded "safeties" for lava, chasms and ignoring turf slowdowns on catwalks with traits. balance: much like catwalks, tables and conveyors also disable turf slowdowns. balance: slippery turfs won't slip you when walking on a table. fix: Fixed an edge case in which a mob standing on a lava turf would be left visually but permanently on fire if the lava is changed to another kind of turf. /🆑 |
||
|
|
0d3558542f |
Generic Crew-Available Status Readout Module - Continued (#76117)
## About The Pull Request  continues and closes tgstation/tgstation#75708 - adds a generic status readout module that doesn't have a round timer or round ID display - the health analyzer's info display can now be toggled via a setting  - adds the generic status readout module to the advanced medical MODs node  - it has a death sound now yippee (sound and volume are vareditable. shoutouts to fikou for giving me a sound that was better) - ninjas still get the one with round timer/ID display ## Why It's Good For The Game it's a neat little module that tells you things about your spaceman that you might want to keep track of, like viruses and health and nutritional status ## Changelog 🆑 add: A really old data disk with the MOD module designs for the status readout was recovered, and has been haphazardly hotpatched into the research networks. add: Also, the status readout module now plays a sound on death. qol: The MODsuit health analyzer's info tab health readout can now be disabled in its settings. /🆑 --------- Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com> Co-authored-by: san7890 <the@san7890.com> |
||
|
|
0d4804cfca |
MOD Complexity rebalance (#76077)
## About The Pull Request Reduced the cost of a lot of MODules. Pathfinder 2 -> 1 Tether 3 -> 1 Temperature Regulator 2 -> 1 DNA lock 2 -> 1 Health analyzer 2 -> 1 Sonar 2 -> 1 Microwave beam 2 -> 1 Drill 2 -> 1 All visors (including NV and thermals) 2 -> 1 Circuit Adapter 2 -> 1 The Mining MODsuit has had its complexity increased to 15 and now starts with the eating apparatus module, with a total base complexity of 10/15 now. The Prototype MODsuit's active slowdown has been decreased from 1.5 (!) to 1. ## Why It's Good For The Game > Reduced the cost of a lot of MODules. There's lots of cute little MODules here, and they are all despite their 'small' cost far too expensive for them to ever be used. The small little cost adds up, when you consider that two 2-complexity modules cost FOUR, which is more than most good modules (that are 3), especially when storage modules take up 3 complexity already. Think about it like genetics, imagine if geladikinesis cost 40 instability. It'd be pointless and just make it not used. > Pathfinder 2 -> 1 Pathfinder is a little buggy, a bit janky, and still just a commodity, so this might let captains keep it for themselves more often when they're kitting out their MOD. > Tether 3 -> 1 Tether costing 3 complexity is ABSURD. That's as much as the actual ion jetpacks, and that's for something which you can replace completely with a fire extinguisher, not even including the tiny 4 tiles tethering range. > Temperature Regulator 2 -> 1 This is vital for spacewalking, I really don't know why it's this expensive. Hell it should be the norm, but whatevs. > DNA lock 2 -> 1 Nobody's ever going to use this if it can just be EMPed and broken... especially when it costs 2 complexity, which is the same cost as defibs, surgical processor, holster, criminal capture.. > Health analyzer 2 -> 1 This is just a health analyzer. A small item that you're paying for the privilege of being able to have it in your janksuit. It really shouldn't cost 2 complexity, nobody ever takes this. > Sonar 2 -> 1 I don't think there's much of a reason for sonar to be 2 complexity. You might think it's nuts, but sonar really isn't that useful as it's a windup with a screen-only range. Making it 1 might let it be seen ingame at some point. > Microwave beam 2 -> 1 Despite the cool name this just fries food. I don't think that should be expensive! > Drill 2 -> 1 The drill module is mostly redundant when by the time you get it, chances are you have a plasma cutter already which is usually better, if not as space-efficient. There's also the dumb issue with drilling into gibtonite which instantly blows it up. > All visors (including NV and thermals) 2 -> 1 Similarly to the health analyzer, chances are if you HAVE the module you don't actually *need* it as you're already.. that job. Additionally, and this is also part of the reason for the NV, thermal, and even the health analyzer modules, is that traitors/nukies now have to balance MOD economy alongside TC count, and I can't tell you just how frustrating it is to buy something and be told I don't have enough complexity to put it into the MODsuit. I already spent the damn TC! > Circuit Adapter 2 -> 1 This thing seems pretty useless. All it can really do is open and close your modsuit, which like, wow okay. No need for it to be expensive. > The Mining MODsuit has had its complexity increased to 15 and now starts with the eating apparatus module, with a total base complexity of 10/13 now. The complexity increase is because for some reason the MODsuit is already filled to the brim by default, which means that actually interacting with robotics in any way is thoroughly disincentivized as you'd need to take so many modules out to do so that it makes the purchase and interaction pointless. Now you CAN go and ask robotics for anything you need, though there isn't much a miner would want and value enough to trek across the station, for now. Also, it starts with the eating apparatus because it really looked like it should! The flavor text even talks about miners, it's strange for that to be there if miners won't use it. It'll also encourage it to actually be bought more by allowing you to eat through it. > The Prototype MODsuit's active slowdown has been decreased from 1.5 (!) to 1. 1.5 is a lot, A LOT, of slowdown. For such an incredibly rare mod, it completely kills the damn thing, even for the charlie station crew! You can't fight xenos with 1.5 slowdown! Having Kinesis isn't enough of a reason to cripple it so thoroughly and pointlessly. It's 0.4 now, which is a nice middleground between 'fast' suits like the medical and security ones, and the 'slow' ones like civilian, engineering, science. ## Changelog 🆑 balance: Reduced the complexity cost of a lot of MODules. balance: Pathfinder 2 -> 1 balance: Tether 3 -> 2 balance: Temperature Regulator 2 -> 1 balance: DNA lock 2 -> 1 balance: Health analyzer 2 -> 1 balance: Sonar 2 -> 1 balance: Microwave beam 2 -> 1 balance: Drill 2 -> 1 balance: All visors (including NV and thermals) 2 -> 1 balance: Circuit Adapter 2 -> 1 balance: The Mining MODsuit has had its complexity increased to 13 and now starts with the eating apparatus module, with a total base complexity of 10/13 now. balance: The Prototype MODsuit's active slowdown has been decreased from 1.5 (!) to 1. spellcheck: Fixed a type on the energy net module. /🆑 |
||
|
|
8c2c72b0ed |
Duiffel Spotfix (#76442)
## About The Pull Request Gives duffelbags their proper slot count They inherited this from backpacks, but I sorta just forgot about that [Creates "levels" of locked objects, uses that to make locked duffels work](https://github.com/tgstation/tgstation/pull/76442/commits/c613c00f62fa3ff03bb33737d24da9acbf2050e3) [c613c00](https://github.com/tgstation/tgstation/pull/76442/commits/c613c00f62fa3ff03bb33737d24da9acbf2050e3) Turns locked into something that holds defines, this makes life a lot easier. Requires a lot of boilerplate because of how many uses of these procs there are and all the passthrough and shit. Adds a few outfit subtypes to avoid this class of failure in future. Renames the args in a few but not all touched procs, one thing at a time Closes #76407 Closes #76430 Had the lock check in the wrong place Closes #76441 GOD I HATE TK SO MUCH Wrote half the pr without glasses so if it's weird gimme some grace yeah? ## Changelog 🆑 fix: Fixes some fuck with duffelbags, them not holding enough + issues with spawning gear in them (job shit and all) /🆑 |
||
|
|
dcd20ab4a0 |
Jetpack component & Modsuit module signal clean-up & fixes (#76133)
## About The Pull Request 1. Removed the `get_mover` callback, the mover can be retrieved during activation itself 2. Fixes #76116 the user is passed correctly during activation & deactivation same for modsuit modules and this also fixes the same bug for `/obj/item/organ/internal/cyberimp/chest/thrusters` as it's signal was also not registered correctly with the user 3. Timestop module on `on_module_triggered()` accepts user as 2nd param ## Changelog 🆑 fix: jetpack modules work on mod suits again fix: jetpack cyber implants also work refactor: removed `get_mover` callback, user is retrieved during activation refactor: timestop module on `on_module_triggered()` accepts user as 2nd param /🆑 |
||
|
|
2bb4dfe76c |
Expanding the Experimental MODsuit Bepis Node with three new modules. (#75801)
## About The Pull Request So, I've had this idea to make a contribution to the Bepis feature with some modsuit stuff. The gimmicky stuff is ok and a good way to even out the better content since it has game of chance design it has (you can find those disks in space anyway so...). However, the Experimental MODsuit node feels very underwhelming right now, compared to how big that feature is. This PR adds three MOD modules to the Experimental MODsuit node, plus two more: - Magneto Charger: While the Modsuit is activated, each step the user takes will charge the installed power cell by a tiny bit, enough to sustain a standard modsuit of generic slow speed with only a few, easy modules installed. It won't work in zero G, while flying, pulled by someone else, on a conveyor belt, riding a vehicle or crawling on the floor, though. - Recycler: It collects (most) garbage and casings off the ground and recycles them into material sheets that can be dispensed on an adjacent location or storage with with Middle Mouse Button. Doesn't clean debris, and scuffed because most trash doesn't yield material anyway. - - It also has two subtypes, unbound from the node: one that dispenses riot foam darts and can be found on the black market, and another that dispenses the more innocuous foam darts, rarely found in maints. - Shooting Assistant: A configurable module. On Stormtrooper mode, it will give the user a faster fire rate (the double tap trait) at the cost of accuracy. On Sharpshooter mode, it will improve the user accuracy and make their shots ricochet against walls at least once (if the hit atom allows that, that is, e.g. lasers don't ricochet against iron walls), at the cost of movement speed. Both modes also prevent the user from dual wielding guns. To make the Stormtrooper mode stackable with the poor aim quirk and refrain from making a new trait for the sharpshooter mode, the gun spread code in gun.dm has also received a little refactor and cleanup. Also, it's been tested. ## Why It's Good For The Game The Experimental MODsuit node is quite shabby and could use something extra to make it more appealing to MODsuit enjoyers. Also doubles down as a small addition to the black market and maint loot, and code cleanup, since gun code gives off some garbled vibes. ## Changelog 🆑 add: Expanded the Experimental MODsuit Bepis node with three new modules: Magneto Charger, Recycler and Shooting Assistant. add: Added a Riot Foam Recycler module to the black market, as well a more innocuous version as maint loot. /🆑 |
||
|
|
ae5a4f955d |
Pulls apart the vestiges of components still hanging onto signals (#75914)
## About The Pull Request Signals were initially only usable with component listeners, which while no longer the case has lead to outdated documentation, names, and a similar location in code. This pr pulls the two apart. Partially because mso thinks we should, but also because they really aren't directly linked anymore, and having them in this midstate just confuses people. [Renames comp_lookup to listen_lookup, since that's what it does](https://github.com/tgstation/tgstation/commit/102b79694fa8eb57ecf7b36032616a9e368ccced) [Moves signal procs over to their own file](https://github.com/tgstation/tgstation/commit/33d07d01fd336726b4f6f6f1b61bb0b3f11a00dc) [Renames the PREQDELETING and QDELETING comsigs to drop the parent bit since they can hook to more then just comps now](https://github.com/tgstation/tgstation/commit/335ea4ad081ec63c42cfa05856e582cca833af6e) [Does something similar to the attackby comsigs (PARENT -> ATOM)](https://github.com/tgstation/tgstation/commit/210e57051df63f88dac3dd83321236da825aae5e) [And finally passes over the examine signals](https://github.com/tgstation/tgstation/commit/65917658fb8a1e7d28ae23c9437a583d646f0302) ## Why It's Good For The Game Code makes more sense, things are better teased apart, s just good imo ## Changelog 🆑 refactor: Pulled apart the last vestiges of names/docs directly linking signals to components /🆑 |
||
|
|
0c99bd28f4 |
Makes gasses use defines (#75542)
## About The Pull Request Adds defines for gasses and replaces uses I've found to instead use the defines. Can you believe I made this PR while trying to work with Xenos? This sucks! ## Why It's Good For The Game There's a lot of different uses of things like "o2" and "plasma", and they are pretty inconsistent. In some places, it's "hydrogen", in others it's "h2". In some it's "plasma", others "plasm". This unifies it all under defines so it has a less chance of breaking in the future. ## Changelog Nothing player-facing. |
||
|
|
fd329744ea |
death squad officer outfit works (#74734)
## About The Pull Request makes the death squad officer modsuit use the hat stabilizer module to wear the beret simultaenously with the suit ## Why It's Good For The Game it was an outfit that spawned you in a not working suit ## Changelog 🆑 fix: death squad officer outfit works /🆑 |
||
|
|
4c48966ff8 |
Renames delta time to be a more obvious name (#74654)
This tracks the seconds per tick of a subsystem, however note that it is not completely accurate, as subsystems can be delayed, however it's useful to have this number as a multiplier or ratio, so that if in future someone changes the subsystem wait time code correctly adjusts how fast it applies effects regexes used git grep --files-with-matches --name-only 'DT_PROB' | xargs -l sed -i 's/DT_PROB/SPT_PROB/g' git grep --files-with-matches --name-only 'delta_time' | xargs -l sed -i 's/delta_time/seconds_per_tick/g' |
||
|
|
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>
|
||
|
|
a97c68a6df |
Infiltrator Suit Rework: MODsuit edition (#70303)
* Reconfigures the Infiltrator armor set into the Infiltrator modsuit. Comes with a brain agony demoralizer device, and makes it literally impossible to examine you. |