mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-17 02:54:44 +01:00
privacy-policy-sql
79 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
f24d464abc | Updates silent jaws of recovery (#94082) | ||
|
|
0b0c5ea91e |
Unit test material checks are now performed on all crafting recipes by default. All stack recipes now transfer mats to the results (#92620)
## About The Pull Request Extends the part of the crafting unit test that ensures consistency between the total mats of the components of a recipe (or rather, the result of said recipe) and a generic instance of the same type as its result, previously only implemented on food recipes. ## Why It's Good For The Game This ensures a degree of consistency with the material composition of various objects in the game. I couldn't do it in the original PR as that one was too big already and it took months to get it merged, and have the relative bugs fixed. Currently a WIP as I slowly deal with the unit test reports. ## Changelog 🆑 refactor: Follow-up to the crafting/material refactor from months ago. All objects crafted with stacks now inherit their mat composition (not necessarily the effects and color) by default, while previously only a few things like chair, sinks and toilets did. Report any object looking or behaving weirdly as a result. fix: The material composition of ammo boxes is no longer a 1/10 of what it's supposed to be. It was a shitty hack to make it harder to recycle empty ammo boxes. Instead, they lose materials as they're emptied now. /🆑 |
||
|
|
51a01efdab |
Jaws of Recovery QOL's (#93454)
## About The Pull Request changelog should say pretty much enough, dont want to double it here. ## Why It's Good For The Game as paramedic later into the game you'll prefer jaws of life over jaws of recovery because theyre both silent AND have no area restrictions, but heres the thing: you cant wear it in suit storage, nor it can act as bonesetter additionally (why would paramed need wirecutter?) this PR is aimed to combie both of those jaws into one modified, that would be useful for paramedic. also you really should be able to wear them in mod suit storage, trust me, it sucks to carry paramedic jacket/coat in inventory everytime and waste time on swapping ## Changelog 🆑 qol: Jaws of Recovery can be worn on medical MODSuit suit storage now. add: Added modified Jaws of Recovery and recipe for them. Made from regular Jaws of Life they act like one, without area restrictions and radio announcements. /🆑 |
||
|
|
86c499ebc3 |
Adds the Jaws of Recovery, a specialized form of Jaws of Life for paramedics with heavier limitations. (#93021)
## About The Pull Request Adds the Jaws of Recovery, a form of Jaws of Life. These spawn in cabinets in medical, similar to the fireaxe and mech removal tool. Jaws of Recovery have two heads; prying, like a standard set of jaws of life, and bonesetting. Jaws of Recovery cannot be used to open windoors, and cannot be used to open certain restricted doors. These doors include command staff private offices, any command specific areas, AI upload areas and security areas that aren't the brig entrance. Jaws of Recovery also send out an alarm whenever used to open a door that is of meaningful significance, like a departmental area. This does not happen when opening maintenance airlocks, public accessible doors, external airlocks and the auxiliary base. The standard Jaws of Life and Syndicate Jaws of Death are entirely untouched and function as expected. <img width="240" height="177" alt="image" src="https://github.com/user-attachments/assets/4e661720-25c7-42b5-963d-707b77d3683f" /> ## Why It's Good For The Game In my last PR I removed the broad access available to paramedics. https://github.com/tgstation/tgstation/pull/92751 I have already explained my reasoning as to why this broad access is a mistake. This is not anywhere close to that broad access being returned. This is a slow, deliberate interaction meant to create friction when someone is moving around using this tool. Now, obviously, the change was something of a kick in the teeth for paramedics (which I won't apologize for doing). I hadn't received any moderate alternatives that sounded like a good idea for months. That is, until the PR was merged and someone told me about how paramedics over on Baystation have jaws of life, but they alert people over the radio when they are used. Seemingly they were as much worried about paramedic tiders as we are, and they're a high roleplay environment. We clearly invited a problem on our end that they had sought to resolve because they too realized that it was a mistake to just give the role this access. Now, obviously, [RETA exists to get medical staff into an area](https://github.com/tgstation/tgstation/pull/92753). That's all well and good and I like that system. This does not detract from that PR whatsoever either. This is meant to serve as an extra emergency measure in the event a paramedic REALLY needs to get into an area while trying to create some kind of accountability for their actions by telling sec when they start being used to pry open airlocks. If sec doesn't like how much the paramedic is invading areas without reason, they at least know where and when they've been going into locations and might be incentivized to go investigate. ## Changelog 🆑 add: Adds the Jaws of Recovery. One can be found in a locked glass cabinet in medical. These jaws of life are restricted on what they can force open, and alert security and medical whenever they are utilized to pry open departmental doors. They can't be used to open high security doors whatsoever. And they come with a bonesetter attachment instead of wirecutters. You know, for power-relocating your arm. /🆑 |
||
|
|
92cf3871a8 | Makes mech removal crowbar remove mech sleeper patients (#92281) | ||
|
|
1d535fada6 |
Fixes jaws of life losing hit sounds when swapped twice (#91758)
## About The Pull Request Closes #91756 ## Changelog 🆑 fix: Fixed jaws of life losing hit sounds when swapped twice /🆑 |
||
|
|
57624ca1e2 |
Rebalances wound determination values, wounding escalation and wound armor to hopefully be less explosive (#91099)
## About The Pull Request This is a big one so please bear with me, wounds are complicated ### Max Potential Wound Rolls We've decreased the max contributed damage to wound rolls from 35 to 25. This results, after the exponent, a max possible wound roll of 1 to 91 before any modifiers (assuming the attack, after armor, is 25 or above). The minimum value to wound is still 5. ### Wound Escalation Penalties Most wounds were contributing significant numbers per wound type to the potential for a new wound to occur. Getting wounded once meant you were getting wound a lot, but actually getting past that first wounding may be the tricky part. We have significantly reigned in the wound penalty that having a wound contributes, and instead utilize the series wound penalty to allow same type wounds to escalate themselves faster as a priority. Having wounds still makes you more wound vulnerable, just not to such an extreme degree. The priority here for what wounds matter most for contributing to overall wounding vulnerability is ``Infected BURNS > BURNS > SLASH|PIERCE > BLUNT.`` ### Wound Armor Wound armor, unlike all other kinds of armor, was used as a additive value to the wound roll modifiers rather than a multiplicative value. We have reworked how wound armor is determined by changing how wound modifiers are calculated. Firstly, we're passing our entire injury roll into the ``check_woundings_mod()`` proc, as we're not treating this as a proc that just adds values anymore. Secondly, bare wound bonus only applies if there is no potential wound protection from any source, as expected. But it comes last in the calculations. Thirdly, wound protection is applied to the injury roll last, after wound bonuses from the attack, wound bonuses from other wounds and wound bonuses from a disabled limb are applied. This does not include serial wound bonuses, which are determined outside of this proc. Wound protection comes from two sources. Clothing and limb wound resistance. Your chest and head have an amount of wound resistance so long as they are not mangled in any fashion. Being mangled means having either a hairline fracture or a weeping avulsion wound. Wound protection reduces the final injury roll by a percentage. Say our roll is 50, and we have effectively 50% wound protection. The final roll would be 25. ### ~~Wound Armor on Clothing~~ Reverted ~~Most clothing have had their wound armor values changed. As a loose rule, I used the highest of melee or bomb armor, except where that value was 100, in which case I used the lowest instead. I'm basing this decision on how embeds are calculated, which is attack type agnostic.~~ ~~Some armor have inconsistent values because they are alternative armors to an existing armor type or are hyperspecialized armor. Ablative, bulletproof and security vests all share a value of 35, despite the former two not having decent melee or bomb armor.~~ ~~Some clothing missing wound armor that should have had them now have wound armor.~~ ~~This may need a bit of scrutiny in case one or two seem weirdly high. Some have maybe become too low. Its a bit hard to say.~~ ### The ``bare_wound_bonus`` variable I changed it to ``exposed_wound_bonus`` to better represent when it applies. You can be naked and still not be affected by this bonus if the limb has wound resistance. ## Why It's Good For The Game I'm not promising anything with this PR, but this is an attempt to sanity check the values on wounds so that we're not seeing what the data that determined the removal of beheading presented. An extreme over-representation of tier 3 wounds. ~~And, from that, maybe I can argue for beheadings coming back. That's my goal. I think beheadings happened so much because the numbers were in need of work.~~ Well okay I just wanna make wounds a bit more workable actually more than I want beheadings. Why is it that tier 3 wounds were so over-represented? Because wounds will often force more severe wounds of other types by merit of any wounds existing at all on a limb. Having **_a_** wound makes you more wound prone for any kind of wound, and not just making you more likely to suffer a more severe type of the same wound. The threshold mechanic was intended to simulate making a wound worse, but oddly just made a limb broadly more prone to getting worse from any kind of attack to such a degree that future wound rolls of different types were often going to start at the threshold necessary to be a tier 3 wound. Dismemberment, mind you, requires you to suffer a flesh wound while you have a bone wound of tier 2 or higher (with tier 3 giving a bonus to this). You can do this readily via just a sharp weapon, because having a mangled limb causes the wound to turn into a bone wound. Technically, this is meant to be less likely as the effective damage for this wound is halved. But the wound bonus from having a flesh wound was almost always significant enough to kick your new bone wound up to a tier 3. In other words; its not surprising that you saw so many beheadings, because the system wanted to behead you as fast as it possibly can thanks to all these escalating values. Wound armor was only applied as a flat reduction on the roll. The average for wound armor was 10. After receiving a single wound, you can expect wound rolls to reach upwards of 100, even if the actual damage roll was not particularly high, due to wound stacking bonuses form being wounded. This meant that wounds, if they happened, came thick and fast after the first, regardless of what your protection might be to wounds. It was just a matter of getting past the initial bump. This is why effects that forced wounds were so powerful. They basically made a given limb more prone to taking a wound without having to deal with the protection problem first. Finally, this is just a broad flaw with the system that is not its fault. It is actually a problem that isn't a problem. Most people in the game are not wearing helmets that protect their head. So most people are going to suffer from a higher proclivity of being wounded if people are aiming for the head. There is this...kind of cargo cult belief that aiming for the head means you do more damage, or can stun someone if you're lucky or what have you. It's entirely nonsense, but it has a grain of truth in that people rarely wear, or even have access too, headwear that provides wound protection or any protection at all. People have jumpsuits, which are universally wound protected, but that isn't true of the head. Look, the point is, they're not aiming at the head because it is usually less armored, its for other reasons but it just so happens to become true due to wounds and how wounds roll their type. To soften this issue, I've decided to treat wound resistance as armor until the limb suffers a tier 3 wound. This way, hits to the head MAY not necessarily escalate to tier 3 instantly as they would on live even from relatively low power weapons. Some weapons have very low force, but have extreme bare wound bonuses. This should be less likely after this change. I doubt this will necessarily make high damage high wound weapons like energy swords any less prone to cutting you clean open, but it might thanks to the reduction to contributed damage to the injury roll. The system is now _a bit more random_. ## Changelog 🆑 balance: Wounds do not make you as vulnerable to suffering wounds of all types as before. Instead, wounds make you more vulnerable to suffering worse versions of themselves as a priority. balance: Wound armor is now more impactful when protecting you from wounds when you have already been wounded. balance: Your head and chest are more difficult to wound until they have been mangled; either from suffering from a weeping avulsion or a hairline fracture. code: Changed the variable for bare_wound_bonus to exposed_wound_bonus to better explain what that variable is doing. /🆑 --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> |
||
|
|
6fae47a2e5 | Lets you test brain health with the carpenter hammer (#91028) | ||
|
|
7ddc30783a |
Adds better attack animations and alternate attack modes (#88418)
## About The Pull Request This is the first PR in a series attempting to modernize our damage and armor, both from a code and a gameplay perspective. This part implements unique attack animations, adds alternate attack modes for items and fixes some minor oversights. Items now have unique attack animation based on their sharpness - sharp items are now swung in an arc, while pointy items are thrust forward. This change is ***purely visual***, this is not swing combat. (However, this does assign icon rotation data to many items, which should help swing combat later down the line). Certain items like knives and swords now have secondary attacks - right clicks will perform stabbing attacks instead of slashing for a chance to leave piercing wounds, albeit with slightly lower damage - trying to stick a katana through someone won't get you very far! https://github.com/user-attachments/assets/1f92bbcd-9aa1-482f-bc26-5e84fe2a07e1 Turns out that spears acted as oversized knives this entire time, being SHARP_EDGED instead of SHARP_POINTY - in order for their animations to make sense, they're now once again pointy (according to comment, originally they were made sharp because piercing wounds weren't very threatening, which is no longer the case) Another major change is that structure damage is now influenced by armor penetration - I am not sure if this is intentional or not, but attacking item's AP never applied to non-mob damage. Additionally, also fixes an issue where attack verbs for you and everyone else may differ. |
||
|
|
bbb94de166 | Repaths heavy crowbar so people don't map it in accidentally (#88384) | ||
|
|
6d384051ed |
carpenter hammer fits on belt slot (#88109)
## About The Pull Request bro its a hammer (speaking of, i feel like it should fit on the toolbelt & be a crowbar. but that's basically 1:1 the preexisting claw hammer, idk) ## Why It's Good For The Game bro it's a hammer. ## Changelog 🆑 qol: carpenter hammer fits on belt slot code: renames belt_icon_state to inside_belt_icon_state for intelligibiility /🆑 |
||
|
|
58501dce77 |
Reorganizes the sound folder (#86726)
## About The Pull Request <details> - renamed ai folder to announcer -- announcer -- - moved vox_fem to announcer - moved approachingTG to announcer - separated the ambience folder into ambience and instrumental -- ambience -- - created holy folder moved all related sounds there - created engineering folder and moved all related sounds there - created security folder and moved ambidet there - created general folder and moved ambigen there - created icemoon folder and moved all icebox-related ambience there - created medical folder and moved all medbay-related ambi there - created ruin folder and moves all ruins ambi there - created beach folder and moved seag and shore there - created lavaland folder and moved related ambi there - created aurora_caelus folder and placed its ambi there - created misc folder and moved the rest of the files that don't have a specific category into it -- instrumental -- - moved traitor folder here - created lobby_music folder and placed our songs there (title0 not used anywhere? - server-side modification?) -- items -- - moved secdeath to hailer - moved surgery to handling -- effects -- - moved chemistry into effects - moved hallucinations into effects - moved health into effects - moved magic into effects -- vehicles -- - moved mecha into vehicles created mobs folder -- mobs -- - moved creatures folder into mobs - moved voice into mobs renamed creatures to non-humanoids renamed voice to humanoids -- non-humanoids-- created cyborg folder created hiss folder moved harmalarm.ogg to cyborg -- humanoids -- -- misc -- moved ghostwhisper to misc moved insane_low_laugh to misc I give up trying to document this. </details> - [X] ambience - [x] announcer - [x] effects - [X] instrumental - [x] items - [x] machines - [x] misc - [X] mobs - [X] runtime - [X] vehicles - [ ] attributions ## Why It's Good For The Game This folder is so disorganized that it's vomit inducing, will make it easier to find and add new sounds, providng a minor structure to the sound folder. ## Changelog 🆑 grungussuss refactor: the sound folder in the source code has been reorganized, please report any oddities with sounds playing or not playing server: lobby music has been repathed to sound/music/lobby_music /🆑 |
||
|
|
9a9b428b61 |
Wallening Revert [MDB Ignore][IDB Ignore] (#86161)
This PR is reverting the wallening by reverting everything up to
|
||
|
|
fec946e9c0 |
/Icon/ Folder cleansing crusade part, I think 4; post-wallening clean-up. (#85823)
Hello everybuddy, your number three rated coder-failure here to clean up some mess. This PR accomplishes some of the more major structural clean up changes I wanted to do with /obj/ folder, but decided to wait on until wallening gets merged, and so, time has come. Several things to still be done, although I know these cleaning PR's are quite a load, so will wait for this one to get done with first. ## Why It's Good For The Game Saner spriters, better sprites, less annoyance. Also deleted a whole load of redundancy this time around, a lot of sprites which existed simultaniously in two places now got exit their quantum superposition. |
||
|
|
93e81ee348 | Adds some missing Knife worn icons (#85488) | ||
|
|
9425ce1484 |
Syndicate jaws of life are now jaws of death (#84421)
## About The Pull Request Syndicate jaws of life are now jaws of death! Made its desc. more descriptive, stating that its faster. ## Why It's Good For The Game Funny name. Better desc. ## Changelog 🆑 spellcheck: Syndicate jaws of life are now jaws of death! spellcheck: Made its desc. more descriptive, stating that its faster. /🆑 |
||
|
|
6a9ca67482 |
New operating sounds for wrench, crowbar and wirecutter (#83462)
## About The Pull Request Medical tools have some operation sounds that added to the aesthetic of their work so I thought why not engineering. https://github.com/tgstation/tgstation/assets/92416224/30e4558c-8a64-407b-a7fb-b1ad30966fe5 ## Why It's Good For The Game People play engineering to fix stuffs so making the aesthetic of using the tools better should make it fixing more enjoyable. ## Changelog 🆑 sound: added operating sounds for wrench, wirecutter and crowbar /🆑 --------- Co-authored-by: Afevis <ShizCalev@users.noreply.github.com> |
||
|
|
b11bdb1910 |
Adds Omnitools for engineer and medical cyborgs, reducing on inventory clutter. (#82425)
## About The Pull Request [This PR is a bounty requested by Ophaq and worked on by Singul0.](https://tgstation13.org/phpBB/viewtopic.php?f=5&t=36013) All of the following description in this PR is written by Ophaq as to what this PR entails: In this PR, the medical and engineering cyborg's tools are completely reworked and condensed into an arm similar to the implant a carbon would get. The tools are shown in a radial wheel around the character to quick select what is needed instead of looking for it in a cluttered bag of items. There are a few tools such as the blood filter for the medical cyborg, as well as the welder, gas analyzer, and t-ray scanner for the engineering cyborg excluded from the radial wheel. mostly due to their inherent inmodularity   Each cyborg gets two arms in case the player wishes to have one on the side to quick swap to, like having a scalpel in one arm and a hemostat in the other on the hotbar for convenience or just preference. An upgraded version of the tools has been added to each respective cyborg upgrade node with somewhat faster action speed. The upgrade replaces the arms and transforms them into the "advanced" version which is currently the same sprite as the regular but just a faster and more efficient version. The sprites for the surgical arm currently look good but may need replacing later if someone who wishes to resprite them down the line decides to do so. ## Why It's Good For The Game As it currently stands, the medical cyborg's magical bag of gadgets takes up a lot of your screen space and as a player who plays medical A LOT, this was a MUCH NEEDED quality of life feature. The amount of clutter in a medical cyborg's bag makes it in my opinion, hard to see at the bottom of the screen and a nuisance to constantly close compared to other models. My standard set up for playing medical cyborg on the hotbar is 1=med analyzer, 2=usually a secondary surgery tool or injector, and 3=another surgery tool. The flow of gameplay during surgery ends up being surgery tool, hit 3 and drop it, surgery tool, repeat or for efficiency using X to swap between the two surgery tools I need on 2 and 3. This gets tedious especially after so many hours of playing medical cyborg. I know some people may disagree, but I think it would help a lot of help to speed up this flow of gameplay during surgery and declutter. By turning the medical cyborg's toolset into an omni-surgery tool which functions like the surgery arm implant's radial wheel, this would greatly declutter by like an entire row and make things easier on medical cyborg players. Having a secondary in the bag helps with efficiency for those players who like having an extra tool on their hotbar and swapping back and forth would also improve efficiency and make less swapping by hitting Z needed. Additionally with the upgraded version as an optional upgrade in the mediborg tech, this also lets them be on par with players who use advanced tools late game but not at the level of alien tools where players would obviously out compete a mediborg in terms of action speed. Engineering models also benefit from this rework but at a slightly different and lesser way whereas certain tools are excluded such as the welder, due to the way they work on refill and the gas scanner and t-ray scanner not counting as tool components are not included in the arms. Syndicate versions of the engineering and medical cyborg also get these arms, unupgraded. ## Changelog 🆑 add: Adds an omnitoolset for both engineering and medical cyborgs, containing various basic tools qol: Engineer and Medical module inventory space is now significantly decluttered /🆑 --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> |
||
|
|
bc88f1f58d |
Destructive Analyzer input fixes and response (#82386)
## About The Pull Request Fixes destructive analyzers to let it get screwed, and accept wire cutters, and emags. Changes some messages to be more helpful. ## Why It's Good For The Game Closes https://github.com/tgstation/tgstation/issues/81705 Fixes destructive analyzers can now get screwdrivered instead of put it in. Changes some messages to be more helpful and techinacally correct. ## Changelog 🆑 fix: destructive analyzers can now get screwdrivered instead of put it in. fix: destructive analyzer now accepts alien wire cutters, and emags. /🆑 |
||
|
|
46eb5bb38a |
Fixes open-air mechs (Ripley, Paddy) not pushing projectile damage to the pilot (#80844)
## About The Pull Request Moves parent call for mech bullet_act() to after the enclosed and occupant check, so that the rest of the proc has a chance to send the damage to the pilot ## Why It's Good For The Game Bugfix. ## Changelog 🆑 fix: Ripley MK-Is and Paddys now correctly make incoming projectiles hit the pilot again. /🆑 |
||
|
|
7f7688b60a |
Demotes the "electrical conductivity" flag from flags_1 to obj_flags (#80033)
## About The Pull Request
Code to handle this flag only ever existed on the `/obj` sublevel, so
there's no need for it to be on the `/atom` level `flags_1`. There was
probably a point in time in which mobs or turfs conducted electricity
but there's zero code for it anymore so we truly just live in a society
now.
## Why It's Good For The Game
Frees up a slot on `flags_1` (which is really nice actually), proper
scoping of certain bitflag stuff, etc.
## Changelog
Not relevant to players.
I may have screwed something up, will be doing a few passes on this
myself to ensure all the search and replaces went alright but we should
be good™️
|
||
|
|
d751e1c642 |
Adds garbage dumpster ruins (#79446)
## About The Pull Request Adds 4 small space ruins. Each is a dumpster in space containing hostile mobs to fight and items to bring back to the station. There's a decommissioned garbage truck pulling each dumpster which acts as a staging area before you take on the mobs inside. All the fights are in cramped dark areas with full pressure, air is breathable but sometimes has miasma in it so beware of getting sick. So you can drop your space suit and put on armour, but PKAs won't fire at full power and keeping a gas mask on is recommended. Also all the dumpsters look the same from the outside so you gotta crawl inside to know what's inside. And no you can't metagame it with mesons either. Comes in the following flavours: Food Waste Full of trash from kitchens, and food. Some of the food is still edible. There's a lot of territorial rats. You can chop them up into meat if you want more food. The big prize is a big vat of cooking oil. Medical Waste Spare organs, cyberorgans and almost a full set of old surgical gear. There's a syndicate agent here up to no good and he has a GUN. The gun blows up when the agent dies so you can't get it. There's a few corpses of different species in bodybags and some spare corpse parts so you can bring them back to the station and give them to the coroner. Also a single use eyestealer in a safe (the cool way to do surgery) and a bug from the old traitor objective that doesn't do jack but can probably still get you thrown in perma. Construction Garbage Tools and construction materials here, including a cool hammer that fits in a tool belt and can function as a crowbar. There's also a drug lab with plenty of weird pills to eat, cigarettes to eat and an angry russian drug dealer who will stab you if he sees you. He has a badass lighter and a flamethrower you can take after you kill him. Setting fire to things in here is not recommended because of all the welding fuel. Mall Trash Action figures, trading cards, Christmas crackers and other trash the local mall tossed out. Also a mothman used to live here but he got eaten by giant spiders so you can grab his stuff, including snacks and a civilian modsuit with no mods (wow). You can cut through the webs to kill the spiders or let them eat you too if you want. ## Why It's Good For The Game More content for space explorers. More variety to the potential dangers of space, now u can get sick and die or get eaten by rats (this is hobo RP) Better environmental storytelling. Now instead of players left asking "what happens to the garbage when it goes into space" they can rest assured that there's busted ass garbage trucks in space. All their questions are answered. Loot that encourages working with people on the station. Raw food for the kitchen, rats for genetics, organs for the coroner, etc ## Changelog 🆑 add: 4 new space ruins /🆑 |
||
|
|
3c0159b143 |
replaces surgical and coroner duffels with surgery trays and medical carts, resprites razor (#77975)
## About The Pull Request replaces all instances of surgical duffels with surgery trays, and all coroner duffels with morgue surgical trays. they contain about the same items, with surgical trays/carts also having bone gel and tape, since their list of holdable items is much more limited. the surgery tray is a diagetic storage unit that displays any surgery tool it's holding in a small, almost world-state esque form on top of it. it can be carried around by dragging it on to yourself, but it will slow you down like an unzipped duffel would. it can also be deployed by activating it, and pulled around, but it will roll noisily in the process. currently, all tool tiers are supported - from alien, to advanced, to cruel, to normal.  here you can see just a few of the possible combinations of tools - default, default morgue, advanced, and alien. but any combination of these tools should work together somewhat cleanly, as you can see here:  also adds a medical razor variant, because otherwise they wouldn't fit with the look of the other tools on the tray, before and after here:  ## Why It's Good For The Game having constantly visible tool storage like this means you don't have to worry about the one tool you need from the bag being stolen - if it is, you can see it before an operation starts, and plan around that! it also gives a little flexibility to mappers - if they'd like a more mobile cart for their medbay, or if they'd like the somewhat stationary tray. it also plain looks cool, and isn't quite as clunky as a duffelbag would be. ## Changelog 🆑 add: adds medical carts and surgery trays image: gives the surgery razor a unique sprite /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: JohnFulpWillard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
fb10121022 |
Icons folder cleaning wave two (#76788)
## About The Pull Request Further continous organizing and cleaning the Icons folder. There are still some minior nitpicks left to do, but I reached my daily sanity expenses limit again, and the faster these get in the less issues for both me and others later. Also cleans some mess I caused by my blindness last PR. ## Why It's Good For The Game Saner spriters = better sprites |
||
|
|
43f1a52223 |
Removes some boilerplate from transforming component (#75998)
## About The Pull Request Removes some boilerplate from transforming component, uses traits in a similar way to the two-handed component Also fixes #74955 (If it's still broken?) ## Why It's Good For The Game Makes it a bit cleaner to work with. Cause I wanna do something with this in the future maybe. ## Changelog 🆑 Melbert fix: Fixed e-cutlasses and bananium swords having invisible inhands code: Removed boilerplate from transforming component /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
285c7acf24 |
Refactors snipping cuffs into a bespoke cuffsnapping element (#75432)
Refactors snipping cuffs into a bespoke cuffsnapping element, adding support for delayed cuffsnipping. Adds this element to box cutters! Effectively speaking everything is the same as usual. It's cool, it's based and elementized and modularized and not hardcodeized on the jaws of life anymore. Plus it could be used in the future for things (it won't) |
||
|
|
f2fd69a49a |
Minerals have been refactored so costs and minerals in items are now in terms of mineral defines. (#75052)
Ladies, Gentlemen, Gamers. You're probably wondering why I've called you all here (through the automatic reviewer request system). So, mineral balance! Mineral balance is less a balance and more of a nervous white dude juggling spinning plates on a high-wire on his first day. The fact it hasn't failed after going on this long is a miracle in and of itself. This PR does not change mineral balance. What this does is moves over every individual cost, both in crafting recipes attached to an object over to a define based system. We have 3 defines: `sheet_material_amount=2000` . Stock standard mineral sheet. This being our central mineral unit, this is used for all costs 2000+. `half_sheet_material_amount=1000` . Same as above, but using iron rods as our inbetween for costs of 1000-1999. `small_material_amount=100` . This hits 1-999. This covers... a startlingly large amount of the codebase. It's feast or famine out here in terms of mineral costs as a result, items are either sheets upon sheets, or some fraction of small mats. Shout out to riot darts for being the worst material cost in the game. I will not elaborate. Regardless, this has no functional change, but it sets the groundwork for making future changes to material costs much, MUCH easier, and moves over to a single, standardized set of units to help enforce coding standards on new items, and will bring up lots of uncomfortable balance questions down the line. For now though, this serves as some rough boundaries on how items costs are related, and will make adjusting these values easier going forward. Except for foam darts. I did round up foam darts. Adjusting mineral balance on the macro scale will be as simple as changing the aforementioned mineral defines, where the alternative is a rats nest of magic number defines. ~~No seriously, 11.25 iron for a foam dart are you kidding me what is the POINT WHY NOT JUST MAKE IT 11~~ Items individual numbers have not been adjusted yet, but we can standardize how the conversation can be held and actually GET SOMEWHERE on material balance as opposed to throwing our hands up or ignoring it for another 10 years. |
||
|
|
8284a7faab |
Fixes some invisible inhands from the transforming component (#73807)
## About The Pull Request The original issue caused by #70037 Esword issue caused by #73716 Originally the transforming component did not override the inhand icon state of the the item on its own (instead putting the onus on the item itself if they wanted unique behavior). It was changed to always update inhand icon state, most of which don't have one I don't really like this fix, it should be explicit "I want inhand to change" and not default, but this will work for now Also the PR that fixed the Jaws issue didn't actually set the var they created Fixes #73805 Fixes #73711 (Actually) ## Why It's Good For The Game Invisible sword bad ## Changelog 🆑 Melbert fix: Fixed a eswords, some tools, and some other misc. items from being invisible while extended / active fix: Teleshields and other misc items not extending in hand when active fix: Switchblades click on extend again fix: Pendrivers click on extend /🆑 |
||
|
|
b74c422d39 |
Fixes wrong inhand icon state for jaws of life (#73716)
## About The Pull Request Fixes #73711 ## Why It's Good For The Game ## Changelog 🆑 fix: fixed missing inhand icon state for jaws of life /🆑 |
||
|
|
6a0c884410 |
[no gbp] removes all duplicate armor datums (#72354)
## About The Pull Request closes #72348 Title ## Why It's Good For The Game My bad ## Changelog Heres the script I used this time if you want to ```cs var baseDir = Environment.CurrentDirectory; var allFiles = Directory.EnumerateFiles($@"{baseDir}\code", "*.dm", SearchOption.AllDirectories).ToList(); var known = new Dictionary<string, List<KeyValuePair<string, int>>>(); foreach (var file in allFiles) { var fileLines = File.ReadAllLines(file); for (var i = 0; i < fileLines.Length; i++) { var line = fileLines[i]; if (line.StartsWith("/datum/armor/")) { var armorName = line.Replace("/datum/armor/", "").Trim(); if (!known.ContainsKey(armorName)) known[armorName] = new List<KeyValuePair<string, int>>(); var knownList = known[armorName]; knownList.Add(new KeyValuePair<string, int>(file, i)); } } } Console.WriteLine($"There are {known.Sum(d => d.Value.Count)} duplicate armor datums."); var duplicates = new Dictionary<string, List<int>>(); foreach (var (_, entries) in known) { var actuals = entries.Skip(1).ToList(); foreach (var actual in actuals) { if (!duplicates.ContainsKey(actual.Key)) duplicates[actual.Key] = new List<int>(); duplicates[actual.Key].Add(actual.Value); } } Console.WriteLine($"There are {duplicates.Count} files to update."); foreach (var (file, idxes) in duplicates) { var fileContents = File.ReadAllLines(file).ToList(); foreach (var idx in idxes.OrderByDescending(i => i)) { string line; do { line = fileContents[idx]; fileContents.RemoveAt(idx); } while (!String.IsNullOrWhiteSpace(line)); } File.WriteAllLines(file, fileContents); } ``` |
||
|
|
72add64520 |
Refactors armor into dedicated subtypes (#71986)
## About The Pull Request See title. ## Why It's Good For The Game Code is cleaner, and more readable/intuitive Technically closes https://github.com/tgstation/dev-cycles-initiative/issues/8 ## Changelog 🆑 refactor: armor, from the ground up basically /🆑 Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> |
||
|
|
fdc05066a6 |
Adds falling hazard element, beware of falling tools, wear your hardhat, comically timed piano falling on the clown (#70970)
## About The Pull Request https://user-images.githubusercontent.com/82386923/199180691-6605c8cc-e8aa-490e-ab65-909d45d12ca0.mp4 Do note that the damage in this video is extremely exaggerated compared to what the normal value is. ## Why It's Good For The Game All these signs about engineers needing to wear their hardhat, and for what? For the assistant dropping toolboxes onto them from above, that's what! Also allows people to do as god intended by allowing them to drop pianos on people. ## Changelog 🆑 add: A variety of items, mainly tools, around the station might hurt if they fall on your head, remember to wear your hardhat and to avoid standing under large red X marks on the ground with a piano hanging above them. /🆑 Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
43bf6e2665 |
mech bustin update 2022 (#70891)
<!-- 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 <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> Adds a huge ass crowbar to robotics (the mech removal tool), it deals 5 damage unwielded, or 19 wielded. (should be fine, considering robotics also has the easiest access to the materials needed for a chainsaw) You can use it while wielded on mechs to break the occupants out. This takes 5 seconds (or 3 in an unenclosed mech like a ripley) When you die in a mech you no longer automatically get ejected. refactors fire axe cabinets to support more items than the fireaxe makes some vehicle code better closes #70845 (you can still enter a mech without limbs, i think thats fine because you can use it to protect yourself from death in a dangerous situation or something until someone breaks you out with the really large crowbar) video: https://streamable.com/x4gom2 ## Why It's Good For The Game <!-- 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. --> robotics having a giant ass crowbar to break people out of mechs seems like a fun idea you currently cant exit a mech if youre incapacitated inside it unless you DIE ## 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. --> 🆑 Fikou, sprites by Halcyon refactor: fire axe cabinets support items that aren't fire axes balance: mechs no longer eject you when you die in them add: Adds a giant crowbar to robotics, it can break open mechs to eject their pilots. /🆑 <!-- 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. --> |
||
|
|
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>
|
||
|
|
ad5debaaa1 |
Add investigate_deaths (#71112)
## About The Pull Request Adds INVESTIGATE_DEATHS, an investigate category intended to better show causes of death.   Also makes suicide_act take a `mob/living` as an argument instead of a `mob`, and some minor style improvements since apparently I hate atomicity. ## Why It's Good For The Game Inspired by a mysterious death and dusting. More logging and leads for admins investigating deaths. Also fixes #59028 ## Changelog 🆑 Tattle admin: added investigate deaths to shed some more light on unusual demises, dustings, and gibbings /🆑 Co-authored-by: tattle <article.disaster@gmail.com> |
||
|
|
1a32f60cf4 |
[ready] adds unit test for missing inhand icons. fixes a bunch of missing inhand icons (#70037)
fix: Fixed a bunch of missing inhand icons. fix: Fixed cables in electrical toolboxes not randomizing their colors. fix: Fixed the wrong colored icon showing when trying to make cable cuffs out of cables. fix: The collectable SWAT helmet is now using the proper icon again! refactor: Pipecleaners and power cables now share a unified color system, so they're once again available in ALL the same colors. imageadd: Updated the screwdriver belt overlay to represent the newer sprite. imageadd: Added a bunch of new inhand icons. Special thanks to Twaticus for doing the helmets! <3 fix: Wirecutters now have an icon when inside a belt again! admin: Added a new omnitool subtype that allows you to spawn all items in a typepath! fix: Explorer gaskmasks now properly reflect their adjusted state when held. fix: Fixed balaclavas having the wrong icon when pulled up. fix: Fixed the base energy sword (admin spawn only) being invisible. fix: The rainbow energy sword is now a little bit more rainbowy! fix: Fixed an tk exploit with orange handcuffed shoes. fix: The traitor outfit in the select equipment panel is now actually functional! |
||
|
|
92dc954ab5 |
Fixes 118(give or take) cases of mapload not being passed to initilaize (#69107)
fixes 114 cases of mapload not being passed to initilaize |
||
|
|
878e3b8d37 |
Implements a Demolition Modifier variable to items, affects damage vs structures and robots. (#66967)
Adds a modifier variable which can be used to increase or decrease a given items damage to structures, machinery, vehicles, and robots (including cyborgs, simple-bots, and anything else with the MOB_ROBOTIC biotype) |
||
|
|
619d272d79 |
adds crowbars to fire-safety closets without gutting red toolboxes (#67484)
* l a r g e * reduces confusion in the description |
||
|
|
04ecd0ab72 |
Advanced tools are medium sized, toolboxes can carry medium sized items. (#66900)
* Advanced tools are medium sized now. * Moves `w_class` 1 line down * Moves `w_class` MORE DOWN * Syndie Jaw pocket edition. * Toolboxes can carry medium items, pocket syndie jaw in desc. |
||
|
|
a020e28305 |
Removes "strandling" status effect from a bunch of random places / refactors it (#66711)
Refactors /datum/status_effect/strandling to utilize signals so that it's not present in a bunch of random places via hard checks and traits. |
||
|
|
9784d04d99 |
Belt sprites for the syndie screwdriver and alien tools (#65400)
* update * makes the alien toolbelt use the sprites * Revert "makes the alien toolbelt use the sprites" This reverts commit caea9f52741e4f1553f3b3812336b3a4a235b6aa. * Revert "Revert "makes the alien toolbelt use the sprites"" This reverts commit c60276e7aac93169a036bfe0bc42fb9c736d1d99. * please check gods * check pass? * forgot that * tabs |
||
|
|
684eab3d31 |
Converts SFX keys into DEFINES (#65146)
About The Pull Request Simply converts all instances of soundkeys that use get_sfx from strings into defines. E.g. "sparks" is now SFX_SPARKS Why It's Good For The Game It makes life a lot easier when you're looking for a sound effect. You just type SFX_ and you get suggestions in VSC. Plus, it looks better. image Changelog Not player facing. |
||
|
|
b84ad2dde8 | Removes useless status effect path defines. (#64490) | ||
|
|
72d1fd030c | nerf da crowbar (#64317) | ||
|
|
6c0aba5da4 |
removes double spaces AFTER symbols (#62515)
* removes double spaces AFTER symbols * found more |
||
|
|
0f3c4e51f7 |
Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed (#62265)
Implements the Modernizing radiation design document ( https://hackmd.io/@tgstation/rJNIyeBHt ) and replaces the current radiation sources with the new system, as well as replacing/removing a bunch of old consumers of radiation that either had no reason to exist, or could be replaced by something else. Diverges from the doc in that items radiation don't go up like explained. I was going to, but items get irradiated so easily that it just feels pretty lame. Items still get irradiated, but it's mostly just so that radiation sources look cooler (wow, lots of stuff around going green), and for things like the geiger counter. Instead of the complicated radiation_wave system, radiation now just checks everything between the radiation source and the potential target, losing power along the way based on the radiation insulation of whats in between. If this reaches too low a point (specified by radiation_pulse consumers), then the radiation will not pass. Otherwise, will roll a chance to irradiate. Uranium structures allow a delay before irradiating, so stay away! |
||
|
|
1eaaa68c4b |
Brings recycling results of advanced tools up to their printing costs (#62092)
Advanced tools have either been using their parent basic tools' custom_materials or their custom_materials were lowered for what I presume was destructive experimentor work. This counts for recycling these items in an autolathe as well. In the first case, alien tools were made out of the same material amount as their basic counterparts, and in the second case - the recycling results were heavily lowered. Also kills off some single-letter vars since I'm here. |
||
|
|
6c01cc2c01 |
every case of initialize that should have mapload, does (#61623)
## About The Pull Request stop forgetting to include mapload, if you don't include it then every single subtype past it by default doesn't include it for example, `obj/item` didn't include mapload so every single item by default didn't fill in mapload  ## Regex used: procs without args, not even regex `/Initialize()` procs with args `\/Initialize\((?!mapload)((.)*\w)?` cleanup of things i didn't want to mapload: `\/datum\/(.)*\/Initialize\(mapload` |
||
|
|
b3e8eebdc9 |
Kills /obj/item/melee/transforming, replaces it with a transforming weapon component (#60761)
This PR kills off the transforming subtype of /obj/item/melee and replaces it with a component to handle the transforming behavior, /datum/component/transforming.
The transforming component handles updating the variables of an item when it's transformed. Things like force, sharpness, whetstone force bonus, and attack verbs. Similar to the two-handed component, but instead of transforming into a two-hander it remains a one handed weapon.
The "nemesis" behavior (dealing addition damage to certain factions) of the transforming subtype was moved to the cleaving saw only, since it was the only transforming item that used it. In the future, this can be made into a bespoke element/component as well.
The following weapons and items have been updated to use this component:
Energy Swords / Sabers / Bananium Energy Sword
Energy Circular Saw
Energy Dagger
Energy Axe
Toy Energy Sword
Holographic Energy Sword
Switchblade
Advanced Medical Tools (Laser scalpel, Mechanical Pinches, Searing Tool)
Advanced Engineering Tools (Hand Drill, Jaws of Life / Syndicate Jaws of Life)
Combat Wrench
Cleaving Saw
Telescopic Batons / Contractor Batons
Roasting Stick
Telescopic Riot Shield
Energy Shield / Bananium Energy Shield
This PR also touches up the code around the various above items.
|