mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-26 17:41:05 +00:00
bac55e33fdec68e38f15d6b9f79bd8c6870036db
273 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
e421f8e7c4 |
Moved loose tiles and wallframes to crafting (#84210)
## About The Pull Request There were some tiles and wallframes in lathe designs, while most of these are already in the crafting menu. Moved all of them into the crafting menu to avoid confusion, when you can't find some wallframe in the menu because it must be built in lathe. Made the light tile craftable in menu, instead of slap-crafting, and made the circuit tiles use similar recipe (since they both are emissive tiles). And the circuit tiles can now be cycled in-hand:  ## Why It's Good For The Game Centralized place for tiles and wallframes. ## Changelog 🆑 qol: Made light tiles available in the crafting menu qol: Circuit tile variants can be cycled in-hand add: Moved loose tiles and wall frames from lathe designs to other tiles and frames in the crafting menu /🆑 --------- Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com> |
||
|
|
4aa7bae77a |
Moves tool use back higher in the chain, but makes it so tool acts are only called on non-combat-mode (#84083)
## About The Pull Request ### Dilemma So we've been running into a dilemma recently as we move more and more items over (#84070, #83910) Some things like modsuits, tables, washing machines, storage items want to do their tool acts before their item interactions In the past this was perfectly fine, because it was `tool_act` -> `attack`, but now it's a problem, because it's `item_interaction` -> `tool_act` -> `attack`. Rather than resort to snowflaking, my idea is that we can move tools back up the chain so deconstruction and other similar effects are handled first, before anything else like putting the tool onto the table. ### So why does it require non-combat-mode? A large amount of tool acts early return if the user's on combat mode to allow the user to smack the thing instead of using the tool on it. So I've decided to walk back on what I said like a week ago and make this standardized behavior. ### Misc Reintroducing `tool_act` as a proc that exist means that atoms can easily hook certain interactions that must happen very high in the click chain, such as doing something that block storage insertion. Moves some of the behaviors I put on the (admittedly rather hacky) new proc to that. (Also cleaned up a bit of lockbox and medbot code) ## Changelog 🆑 Melbert fix: Fixed modsuit interactions slightly. No longer requires combat mode to use tools on it, plasma core works as intended as well. (Using combat mode, however, will make you insert the item) refactor: Refactored lockboxes refactor: Refactored medbot skin application /🆑 |
||
|
|
13d759b1a8 |
basic firebots refactor (#83861)
## About The Pull Request this refactors firebots into basic bots. also this adds a small addition of emagged firebots giving out (extremely dubious) fire safety hazard tips!  ## Why It's Good For The Game refactors firebots into basic bots and makes them alot more responsive and helpful ## Changelog 🆑 refactor: firebots are now basic bots /🆑 Fixes #83568 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Afevis <ShizCalev@users.noreply.github.com> |
||
|
|
abbd040526 |
basic vibebot (and small rework) (#84143)
## About The Pull Request this refactors vibebots and reworks them to be a little more useful. vibebots can now play a range of MIDI songs. they will seek out depressed players and play an upbeat tune for them and celebrate with them to cheer them up and increase their mood a little bit. if its ur birthday, it will play a happy birthday tune for u. emagged vibebots are ruthless, they will look for sad people and go play grim music for them to ruin their day even more and decrease their moods. ## Why It's Good For The Game refactors vibebots into basic bots and gives them a bit more character ## Changelog 🆑 refactor: vibebots are not basic bots add: vibebots will now seek out the depressed and cheer them up /🆑 |
||
|
|
0db2a23faf |
Adds a new power storage type: The Megacell. Drastically reduces power cell consumption/storage. [MDB Ignore] (#84079)
## About The Pull Request As the title says. A standard power cell now only stores 10 KJ and drains power similar to how it did before the refactor to all power appliances. The new standard megacell stock part stores 1 MJ (what cells store right now). APCs and SMESs have had their power cells replaced with these megacell stock parts instead. Megacells can only be used in APCs and SMESs. It shouldn't be possible to use megacells in any typical appliance. This shouldn't change anything about how much 'use' you can get out of a power cell in regular practice. Most should operate the same and you should still get the same amount of shots out of a laser gun, and we can look at expanding what can be switched over to megacells, e.g. if we want mechs to require significantly more power than a typical appliance. Thanks to Meyhazah for the megacell icon sprites. ## Why It's Good For The Game Power cell consumption is way too high ever since the power appliance refactor that converted most things to be in joules. It's a bit ridiculous for most of our machinery to drain the station's power supply this early on. The reason it's like this is because regular appliances (laser guns, borgs, lights) all have a cell type that is identical to the APC/SMES cell type. And it means that if we want to provide an easy way to charge these appliances without making it easy to charge APCs/SMESs through a power bug exploit, we need to introduce a new cell type to differentiate between what supplies power and regular appliances that use power. This is primarily what the megacell stock part does. This moves us back to what it was originally like before the power refactor, where recharging power cells wouldn't drain an exorbitant amount of energy. However, it maintains the goal of the original refactor which was to prevent people from cheesing power generation to produce an infinite amount of power, as the power that APCs and SMESs operate at is drastically different from the power that a regular appliance uses. ## Changelog 🆑 Watermelon, Mayhazah balance: Drastically reduces the power consumption and max charge of power cells balance: Added a new stock part called the battery, used primarily in the construction of APCs and SMESs. add: Suiciding with a cell/battery will shock you and potentially dust you/shock the people around you if the charge is great enough. /🆑 --------- Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com> Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> |
||
|
|
4739cedebc |
Event Horizon Anti-Existential Beam Rifle. The ultimate conclusion to the arms race and the sniper's art. (#83934)
## About The Pull Request Replaces the Particle Acceleration Rifle, or the Beam Marksman Rifle, with the Event Horizon Anti-Existential Beam Rifle. In short, it shoots black holes. It takes five cores to make. It pretty much kills everything you point it at and their immediate bystanders as well. You can do this from the relative safety of a whole four screens away thanks to it having a scope. There can only ever be one vortex anomaly made in the round. The recipe, however, always requires the maximum number of cores that can be made in a round. If the number goes up for some reason (maybe someone wants to add more vortex items), so does the total number of cores needed to make an AEBR. ## Why It's Good For The Game Firstly; the beam rifle? Awful. Jank code. Bad performance. Ancient balancing considerations. Just too strong to bring out regularly against specifically blobs, but completely fucking useless against anyone else. So I'm hitting all these problems at once. I reduced a 600 line file to less than 60. I've removed all that bad code. I've also made it specifically unable to combat blobs at all because singularities send blobs off to safety. Secondly; this is maybe the first example of 'more cores = bigger power'. The rifle was already utterly trash to have around, and I just didn't think the way it worked currently could really excite anyone enough to go on a big ol' quest to get it. Solution? You will cause a shuttle call if you get this weapon. ## Changelog 🆑 add: Replaces the Particle Acceleration Rifle with the Event Horizon anti-existential beam rifle. It shoots black holes. You can make this in-game. That's right, YOU! balance: Only one vortex anomaly can be made in a round. /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
2589b63e35 |
Flatpacker (#83836)
## About The Pull Request adds the flatpacker, it flatpacks machines  it is unlocked at industrial engineering the default print time is 4.5 seconds, reduced by the servo tier divided by 2 matter bins increase material capacity better servos decrease material cost, and the flatpacker cannot print a machine if it contains parts that are of a tier larger than the servos tier explained in this vid https://github.com/tgstation/tgstation/assets/70376633/c26e4379-f49b-4b1d-a70c-61f1ba96a9e0 ## Why It's Good For The Game machine construction sucks, this should be more convenient, this does not replace machine construction at all compared to machine frames while this is faster and more convenient, it is significantly more costly in materials, and a better servo is needed to use higher tier parts, and the printed machines are always the lowest required tier ## Changelog 🆑 add: the flatpacker, a machine unlocked at industrial engineering /🆑 --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> |
||
|
|
ed4ba0d227 |
Adds Atmos-themed Rebar Crossbow Ammo Types (and minor balance changes) (#83310)
## About The Pull Request So this PR comes in two basic parts: the new ammo types and the minor balance changes. I'll go over each separately. **--- NEW AMMO TYPES ---**  -- Metallic Hydrogen Ammo: Made from Metallic Hydrogen, obviously. Has middling damage and no dismemberment chance, but pierces through armor and enemies like they weren't even there. -- Zaukerite Slivers: Made from a zaukerite crystal. Does high toxic damage, and has excellent wounding and embed chances, but lacking in armor penetration. Also gives 1 second of blurry vision if it hits you! -- Paper balls: Crafted from a sheet of paper. Mostly just a throwing joke item, and 99% nonlethal like donksoft. Can be fired from a crossbow, but also could be used if you wanted to have a snowball fight on metastation. -- Healium Crystal Bolts! Crafted (using menu) from the healium grenade item. Heals 30 of brute/tox/burn, but puts who is hit by it to sleep for three seconds, limiting its use in actual combat. -- Supermatter Bolts: Dusts whoever you shoot it at! Absurdly overpowered! Admin only! -- A makeshift quiver, made from cutting a o2 tank in half, to store all the ammo in. **MINOR BALANCE CHANGES** -- For some reason I thought the 357, which the traitor crossbow is a direct competitor to, did 40 damage when making the first version of the PR, instead of the reality of it doing 60. It's been buffed to 55 damage. (The basic engi one still does 35.) -- I've been informed that generally, the stressed rebar crossbow isn't ever used, as the misfire chance isnt worth the extra shot. As such, I felt it was thematic to say that the stressing procedure involves messing with the draw system in the fluff, and the stressed one now takes half as long to rack. **OTHER CRAP** -- The rods now drop themselves if you shoot them at a wall. Hopefully. -- Fixed the the non-bare wound chance on the traitor crossbow not being increased from the base version. -- Has a nice electronic discharge noise on firing. ## Why It's Good For The Game I'm very happy with the reception of the rebar crossbow, and felt that given it was an engi weapon at heart, giving it some engi-related ammunition would fit it very well (and also have a good reason for making zaukerite besides selling it.) The paper balls were more just so the crew could able to shoot their buddies with it and not maim them. As for the balance, I feel the tot crossbow being department restricted is already a strong factor in it being infrequently seen, and if someone is lucky enough to roll traitor in a job slot, it's a shame if their job's items aren't worth it. The stressed variant is a similar case, and I hope it's enough of a buff to encourage its use. ## Changelog 🆑 WebcomicArtist add: Added zaukerite (high damage/embed, low AP) and metallic hydrogen (High AP and piercing, but low embed) crossbow ammo for the rebar crossbows add: Added healium crystal ammo for the crossbow as well, which heals whomever you shoot it at. add: Added admin-only supermatter crossbow bolts that dust you, because why the hell not. add: Added non-harmful paper balls. Can be shot from a crossbow, or thrown at co-workers. add: Added a quiver made from cutting an o2 tank in half, to hold it all. image: added sprites for all the above. balance: Traitor Engineer Crossbow ammo now does 55 damage instead of 45, to make it compete with revolver. balance: Stressed Rebar Crossbow now has a shorter delay required to rack it, but can shoot you in the face on misfire. fix: fixed rebar crossbow shots not dropping items on hitting walls fix: fixed traitor crossbow having worse wound chance than the base one sound: added new crossbow firing sound effect /🆑 --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> |
||
|
|
73dfd61634 |
[NO GBP] Fixes drake empowerment for berserker armor by adding drake remains, which are used to make drake armor and empower the suit (#83700)
<!-- 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 Fixes https://github.com/tgstation/tgstation/issues/83684 Adds an intermediary item called drake remains, which are used to construct drake armor and empower berserker armor. There is no functional balance change here, as the components to make a drake armor are relatively the same. ## Why It's Good For The Game I borked it. This is the most reasonable and flexible method to fix the bug and what I should have done in the first place. ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 fix: Drake empowerment for berserker armor now uses valuable drake remains, made from ashdrake hides and bones. add: Drake armor is made use drake remains to construct. (This is a net neutral to the previous recipe) /🆑 <!-- 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. --> |
||
|
|
55c41fb9ad |
basic honkbots (#81920)
## About The Pull Request this refactors honkbots into basic mobs. its mostly a faithful 1:1 refactor but i couldnt keep my hands to myselves so i gave them some new behaviors. honkbots now love playing with clowns, they will go seek out for clowns and celebrate around them. also, if the honkbot finds a banana peel or a slippery item near it, it will actively drag people onto them honkbots will now go out of theirway to mess with secbots and annoy them ## Why It's Good For The Game refactors hinkbots into basic bots and also undoes some of the silliness i did in the previous basic bot prs. i also added lazylist support to remove_thing_from_list. ## Changelog 🆑 refactor: honkbots are now basic mobs, please report any bugs add: honkbots will try to slip people on banana peels /🆑 |
||
|
|
c1c43711f3 |
Mining armor and suit storage cleanup/generalization/modernization (#83437)
## About The Pull Request ### Suit Storage Makes the suit storage of the various suits consistent across one another. Now, all the mining suits use a single list which is easier to maintain. **The affected suit list is as follows;** Explorer Suits (and therefore Syndicate Explorer Suits), Goliath Cloaks, Bone Armor, Drake Armor, Godslayer Armor, Berserker Armor, Mining MODsuits, H.E.C.K. Suit. **The list of holdable items is as follows;** Flashlights, Proto-Kinetic Accelerators, Advanced Mining Scanners / Mining Scanners, Pickaxes, Upgraded Resonators / Resonators, Ore Bags, Air Tanks, Spears, special monster organs like Regenerative Cores, Knives, Proto-Kinetic Crushers, Cleaving Saws (the one that Blood-Drunk Miners drop), Grappling Guns and Climbing Hooks. ~~It probably doesn't matter too terribly much because you know only air tanks are going in that slot 95% of the time~~ ### Bone Armor and Goliath Cloaks Bone armor and goliath cloaks both have the same armor values, environmental protections and coverage as the explorer suit (bone armor includes the feet due to the sprite physically covering the feet, which is not a terribly significant balancing point but worth mentioning). They use the armor plate component to improve the parts of bone armor. However, they use bone talismans instead of goliath hide to be upgraded. Goliath cloaks come fully upgraded. You'll see why in a second. Their recipes are slightly different. Goliath cloaks take nine hides (I'm so sorry this is for consistency I promise you can't use the upgrade system with something that deletes its own armor values like this) and three sinew. Bone armor takes three goliath hides and 6 bone. ### Berserker Armor Berserker armor can now be improved to the same armor value as drake armor by using a full suit on both the body and the helmet of the berserker armor. (Each drake makes two suits, so you need to use up both suits). Instead of an armor boost, rage now halves incoming brute damage. Fuck you, Bubblegum! ### Minor Mining MODsuit Tweak and other armor value changes The base value for the armor is now 20, rather than 15, so that when it reaches max ash accretion it has equivalent armor to a fully upgraded explorer suit. This is only a value difference of 5, but it always annoyed me seeing it. All the above mentioned suits also now have a value of about 10 wound armor. This is because miners do actually experience wounding on lavaland. Some of the armors had this wound armor. Some didn't. Now they all do. I don't believe this to have been a deliberate design choice, but rather, an oversight. Iunno, someone who keeps track of this please tell me otherwise. Upgraded suits get a prefix to show they are upgraded. Now, never doubt whether the miner you are fighting is in a baseline explorer suit or a riot suit level improved explorer suit ever again! ### Berserker Armor actually covers up clothing/hair underneath properly and other minor stuff This is why I started this PR by the way. This one fix. I expand the scope of my horizons so broadly when I really sit down and PR, don't I? H.E.C.K. and Berserker helmets can be used for internals. ## Why It's Good For The Game There is a great deal of inconsistency with regards to the various lavaland armor you can find and use. Some armors were wildly inferior to others and only really having value for aesthetic. Some just seemed to have oversights that didn't seem quite right. And most importantly, the actual storage list for mining suits in general were not only inconsistent in of themselves, but were also not being updated as time goes on. Bringing them all into line allows for miners to have a bit of freedom of choice when it comes to appearance, without it becoming a balancing sticking point nor a detriment to their effectiveness. It is also much easier to maintain one list than six or seven lists. Assuming that the baseline of the explorer suit is a-okay for someone to possess, goliath cloaks and bone armor should now feel more like fashionable choices rather than, in some cases, being either a worse or better choice to take (its bone armor, bone armor is the best of these, its really good generalist armor). I don't care what effect it has on the ashlander economy. Neither should you. The minor tweaks and fixes are just stuff that annoyed me for autism reasons or were oversights due to changes to the items in question or the game around it. I doubt anyone but me cares very much about these minor differences, but I like consistency. ## Changelog 🆑 balance: The various mining related suits now have consistent suit storage. Try putting a knife into your explorer suit's suit storage today! balance: Bone armor work similarly to explorer suits, with similar armor values and options to upgrade their parts. However, they use bone talismans instead of goliath hides to upgrade. Magic? Just believing really strongly that the drake is hitting you slightly less hard because of the talismans? You be the judge. balance: Goliath cloaks come fully upgraded. However... balance: The recipes for bone armor and goliath cloaks are slightly different. Particularly goliath cloaks, which need a lot more dead goliaths to make. Sorry. balance: Mining MODsuits achieve at maximum ash accretion the same amount of melee armor as an upgraded explorer suit. balance: These various suits also consistently have wound armor. fix: Berserker armor properly hides underclothing and hair. balance: Berserker armor pieces can absorb drake armor to gain their enhanced protection. Become the warrior of Khorne you've always wanted to be. balance: Berserker rage now halves brute damage rather than just adding Melee Armor to you and your squishy body. qol: Berserker and H.E.C.K. helmets can be used for internals. /🆑 |
||
|
|
4a260d2827 |
Refactored ghetto chem separator (#83275)
## About The Pull Request
This completely reworks how ghetto chem separator works & brings more
depth & immersion to it. To understand the new system let's compare it
with the current one
**Old System**
1. You insert a beaker containing the reagents you want to separate.
2. You use a lighter/whatever to light a flame, Flame has _magic &
unrealistic_ properties such as
- It will never heat the beaker above 100k
- It doesn't burn oxygen or use fuel source to sustain it
- Distillation rate is a constant 5u/s. It doesn't increase as the
solution boils hotter
3. The apparatus sorts the reagents alphabetically? & transfers the 1st
reagent from sorted list to the target beaker. It does not care if each
individual reagent has their boiling points & how to separate them based
on that etc. It's just bland overall
**New System**
1. You insert a beaker containing the reagents you want to separate,
just lke the old system
2. You use a lighter/whatever to light a flame just like the old system,
however flame behaves in a more realistic fashion as follows
- It will heat the beaker all the way to 1000k if you let it run long
enough
- It now burns oxygen & uses a fuel source(a secondary beaker which you
must insert containing flamable reagents like oil, welding fuel etc).
When oxygen is the fuel source no O2 gas is required
- Distillation rate starts at 2u/s & increases with rising temps
- Intensity of the flame depends on the quality of reagents used as
fuel, Oil has best flammable quality & will heat the beaker faster,
other reagents mixed in various proportions can produce better quality
flames which you can understand by examining the aparatus
- The flame intensity can be adjusted via the burner knob setting
3. Each reagent now has their _boiling computed_ computed from their
mass allowing for realistic interactions, like having to control the
temp's just right to separate your required reagent
4. Temps automatically cooldown and you can install a condenser to
Facilitate faster cooling
Here's the demo video explaining everything
https://github.com/tgstation/tgstation/assets/110812394/ba591859-3fff-4d06-90f8-024c7266f830
## Changelog
🆑
refactor: ghetto chem separator has been reworked from scratch. See PR
83275 for details
qol: adds examines & screentips for ghetto chem separator
/🆑
|
||
|
|
d93d19c7d1 |
mobile defibrillator mount (#83000)
## About The Pull Request   5 iron and 1 sheet of silver and 15 cable to craft its a defib mount but mobile, thats basically it ## Why It's Good For The Game good for maps where there are no good spots to place wall defib mounts or if you cant or dont want to take off your backpack (maybe using a modsuit?) and theres no defib mount nearby ## Changelog 🆑 add: mobile defibrillator mount /🆑 |
||
|
|
6fd6ebd850 |
Pipegun updates and glowup (#83063)
## About The Pull Request Updates pipeguns with a brand new set of sprites. Also comes with pipe pistols; plinkier versions of the pipegun.    Alters pipeguns away from utilizing shotgun/rifle ammunition towards a bespoke junk round ammo. These shells are crafted similarly to current improvised shells. This also removes improvised shells as a shotgun ammo type. (these new shells aren't shotgun shells to begin with, they're more like rifle bullets) Crafting junk rounds produces an entirely unknown projectile in the shell. You won't know what you get until you fire the gun. Almost in every instance, however, the shot is beneficial towards killing things. And they all do about the same amount of damage, so there is hopefully never a round you didn't want to fire in the gun. Fighting someone with a pipegun is usually predictable for what amount of damage it will do, but any additional effects it might have is going to be an unknown factor. They also brutalize borgs, which is a quality that improvised shells had previously. Pipeguns operate as they did before, and do roughly 40 damage per shot with the majority of their ammo types (less than what they do currently with .310). They only have one shell in the gun at a time, so every time they're fired, they must be reloaded. Pipe pistols do roughly 15 damage per shot, but hold more ammo than the bigger pipegun. However, they're more likely to veer off-course. There are regal versions of each of these weapons, and each are more potent respective of their general rarity. Having one is going to be a lot more noteworthy. ### Minor changes Some more clothing items can carry pipeguns in their suit storage. The icemoon hermit spawns with a heroic laser musket rather than a regal pipegun (partially because it is too difficult for the hermit to get more ammo for their gun, and also because the regal pipegun is a more powerful weapon than previously) ## Why It's Good For The Game It has been a few years since I added the pipegun, and time was never particularly kind to it. There are alternative weapons now with interesting mechanics of their own. The ammunition it used has changed considerably. And it simply didn't ever feel like a 'junk gun' in a way that was fun. The original mechanics added to give it that feeling were just not fun to experience and were removed. So the pipegun has been left as 'a shitty version of X'. Even the regal pipegun was, at the end of the day, a shittier version of either a shotgun or cargo rifle. It didn't feel right not having some kind of unique quality to using these weapons that help them express themselves as unpredictable trash weapons built inside of maintenance. But I expressly didn't want to make it 'unpredictable' in a way that felt unfair on the person getting shot either. So just giving it more damage was right out. As a compromise, I reduced the overall lethality of the weapons while introducing a gimmick that will appeal to those wanting to play out the role of a homeless lunatic with a shitty homemade gun stalking maintenance. A 'chaos gun' so to speak. Maybe that will appeal to people. ## Changelog 🆑 balance: Reworks pipeguns to use an unpredictable 'junk round'. You won't know what you're shooting until you fire it. add: Introduces a pistol version of the pipegun; the pipe pistol. It is inaccurate and does significantly less damage, but more portable and has more ammunition in the gun. image: Updates the visuals of the pipeguns. balance: Also improves the Regal varieties of these weapons. By a lot. balance: More articles of clothing can be used to carry pipeguns in suit storage. balance: The Icemoon Hermit comes with a Heroic Laser Musket instead of a Regal Pipegun. remove: Improvised shells (the shotgun shell) has been replaced with improvised junk shells (which don't work with shotguns but do work with pipeguns). /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
e54ecf4b10 |
Fix crafting bypassing checks (#82833)
## About The Pull Request Backport from https://github.com/tgstation/TerraGov-Marine-Corps/pull/15701 Fixes crafting bypassing checks. ## Why It's Good For The Game Closes https://github.com/tgstation/tgstation/issues/82826 ## Changelog 🆑 fix: You can no longer bypass construction restrictions via the crafting menu /🆑 |
||
|
|
b5fa92d691 |
Adds Medieval Pirates (and small assault_pod change) (#82392)
## About The Pull Request (short, slightly outdated video compilation of the pirates) https://youtu.be/j9BNFzcUSjc Adds the **MEDIEVAL WARMONGERS** pirate gang, these pirates are focused on causing chaos directly on the station with the use of melee weaponry and swarming tactics. they are not very smart when it comes to using technology, so they crash in the station in an attempt to dock. the pirates spawn with the NOGUN trait as they have never used guns before but have access to dashing and the unbreakable component(small heal burst upon reaching crit). Warlord spawns with a better version of hulk(isnt removed upon crit and can still do stuff while critted) and gigantism mutation by default because ~~Chad Maximus~~ the other pirates require someone to run to when stuff like flashbangs, batons or lasers are present. The warlord spawns with a boarding axe which is a better axe that is good at destroying things and a meat hook. **there's a total of 5 pirates.** the pirate shuttle has: - thermite barrel and 3 large beakers - single weak claymore - 3 extra military spears - 3 kite shields - 3 heavy bolas - 4 regular bolas - a stack of wood - 2 stacks of mourning poultice (15 uses each) - one burn medkit **shuttle was made by striders18, big thanks to him**  things added: - the new pirate gang - a gamberson jumpsuit - crude armor (good melee and wound protection but lacks on the rest) - warlord armor (extreme protection at the cost of slowdown) - a shortsword(bootleg claymore with 30 block chance and goes on belt instead of back) - military spear (better at throwing, better wounding, deals blunt wounds instead of sharp) - axe with better damage and demolition mod for the warlord - a var to specify the name of the landing zone destination for the assaultpod - an assault pod targeting device item for the medieval shuttle - a thermite barrel - kite shields - new hulk variant that doesnt go away when crit and has tenacity ## Why It's Good For The Game I always liked the chaotic nature of the russian bounty hunters that would come from their extra numbers and lack of tools. i thought something of a similar idea on pirates would be good, a very direct and scary militia rushing in with sword and faith would create some awesome scenarios ## Changelog 🆑 add: New heavy weight pirates, medieval warmongers add: Adds military spear, shortsword, boarding axe, kite shields add: Adds warlord and crude armor add: Adds medieval shuttle (made by striders18) /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
654730b83d |
Mass Item Creation (#82455)
## About The Pull Request Have you ever had to click the "Make" button a dozen times for a chef making soup? I've also had it, so with this PR you can press the button and everything will repeat itself as long as possible. ## Why It's Good For The Game Makes life easier for chefs, now they can play chess on their cool smartphone and craft food. (actually you can transfer it to other items as well, see for yourself). |
||
|
|
e64331f678 |
Clowns can now make balloon... toys. And also mallets and hats. (#82288)
<!-- 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 Clowns will now start with a box of 24 random long balloons and a skillchip in their noggin allowing them to create balloon animals by combining two of them of different colour together. Owners of the skillchip also gain access to crafting recepies of balloon mallets, vests, helmets and tophats, all created from long balloons. A crate of long balloons, with a box of balloons inside, can be bought at cargo, in case the clown runs out. I might edit this once I wake up, its 3 in the morning right now. Oh also, resprited how balloons look in inventory.  ## Why It's Good For The Game Balloon animals funny. Silly features are my favourite kind of features, and this one's open-ended too. Someone on the coder chat recommended someone would do it that one time, here it goes. ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 add: Added long balloon box to the clown's starting inventory, and a skill-chip of long lost honk-motherian knowledge to their brain. add: Added long balloons. Consequently, added balloon animals to make from such balloons. Also, balloon top hat, vest, helmet, and a mallet. Don't ask about the mallet. add: A long balloons box harvested fresh from the farms on the clown planet will be able to be shipped in a crate to the cargo department near you! add: As per requests; water balloons can now be printed at service lathe, and entertainment modsuit can now blow long balloons! image: Balloons will now have an unique sprite when in the inventory, compared when to on the ground. /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> --------- Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
b602a8138c |
Watcher wreaths; Normal and Icewing varieties (#82457)
## About The Pull Request Adds Watcher Wreaths. An item that makes it look like you have a slightly floating thorn crown that you can make from some of their material parts (and the icewing crusher trophy for the icewing variant). The wreath has emissives. They don't do anything mechanically, they're just for show.    ## Why It's Good For The Game I really like the whole thing with turning lavaland monsters into trophies and cosmetics. Going down and coming back up looking like someone who just crawled through a horror movie and took some souvenirs is great. Stuff like the trophy accessories, bone and drake armor and many of the various lavaland items have this quality, and it always amuses me when a tech sees a dressed up miner and just goes 'holy shit, where did you get that'? Drip is the ultimate reward for playing miner. Nobody can tell me otherwise. this is the endgame every miner craves. And I crave a goddamn crown made from the broken remains of my enemies. ## Changelog 🆑 add: Watcher wreaths. Made from the mangled remains of a watcher, now a handsome accessory for you to wear a few inches behind your head. Comes in Normal and Icewing variants. add: Some bounties for the two variants of watcher wreaths. /🆑 |
||
|
|
21d72c49c0 |
Blocks (most instances of) screen elements from entering base atom /Click (#82236)
## About The Pull Request Fixes #76495 This PR prevents (most) screen elements from running base `/atom/proc/Click` and `/mob/proc/ClickOn()` when clickend. (The only exception I found to it was the cursor catcher for scopes.) Why? Most, if not everything in `ClickOn` is considered "in world" interacting. It abides by `incapacitated`, runs `faceAtom`, etc. This means, currently, you can "interact" with screen elements using in world elements. For example, TK-ing / pointing a gun at your mood face. Right now this affects very little, but there is a large potential for errors. All you have to do is forget a sanity check in `afterattack` and suddenly you have an item that can affect your screen objects. The only example I found was the `/item/godstaff`, which can color some of your screen elements. But there may be more. Like guns. Note: Many, many screen elements ALREADY do not fall down into atom click. They simply don't call parent. Which is totally fine. I am just ensuring ALL* screen elements do not fall down into atom click. ## Changelog 🆑 Melbert fix: Blocks mobs from trying to "physically" interact with some of their hud elements, such as using Telekinesis or point a gun at your mood meter. /🆑 |
||
|
|
f86004ef73 |
Moffers Crafting Recipe (#81829)
## About The Pull Request Adds a crafting recipe to make Moffers clown shoes, using 2 mothroach hides and 1 pair of clown shoes, to the entertainment section of the crafting menu. Only the basic clown shoes can be used to make it, so other clown shoes like meown shoes won't work. https://github.com/tgstation/tgstation/assets/105574010/527424d7-107b-4a62-aa29-92056be2b136  ## Why It's Good For The Game Creates an additional use for mothroach hides so that they're not only for making moth plushies, giving another mechanical reason to butcher mothroaches. This will also allow the clown to psychotically pull the hide of a mothroach over each of their shoes and parade them around proudly to the horror of anyone watching. ## Changelog 🆑 add: Added Moffers as a crafting recipe in the entertainment section. /🆑 |
||
|
|
086a879d61 |
General maintenance for grilling related stuff. (#81647)
## About The Pull Request Deals with `/obj/machinery/grill` & its related components & elements. **1. Qol** - Adds examines & screen tips for toolacts, adding fuel & food items on the grill, Converts some chats into balloon alerts - Grills can be safely deconstructed with a crowbar when not anchored - Food items can be grilled & re-grilled any number of times so you can achieve that perfect crispiness. Its also realistic because there is nothing physically stopping you from putting that item back on the grill - Monkey fuel & any other reagent(see examines) can be added into the grill from any open container & not just from glass bottles - Grills can now be constructed in the crafting menu. Cargo pack cost for purchasing grill has been halved **2. Fixes** - Grills now won't burn foods into a mouldy mess (if that item did that that on the girdle). You can safely grill any item without worrying about losing it. This also means grills no longer cook an item like a girdle does, for e.g. the grill now won't both cook a meat slab into a steak & grill it at the same time. You need the girdle for that. This is only realistic because unlike a girdle which exposes the food to direct heat the grill only exposes it to light heat & smoke so it does not have that energy to cook/burn that item. Also this creates immersion, you now need the girddle to cook the item & the grill to smoke it so you know more gameplay - The amount of time an item has been grilled for is now stored on that food item & not as a locale variable in the grill. This means if you remove & replace that item on the grill or move that item from 1 grill to another it will correctly remember how long that item has been grilled for so you don't have to re-grill that item on a different machine for the same length of time - Imposes a maximum limit on the amount of fuel you can put into an grill (roughly 50 coal stacks). Unlimited space for fuel is not realistic **3. Code Improvements** - Moved all non combat interactions to `item_interaction()` to end the attack chain early before we even reach `attackby()` - Removed trait `TRAIT_FOOD_GRILLED` no longer needed as we can re-grill items as many times needed - Converts some constant values into `SECONDS` for accuracy - Autodoc for vars & procs **4. Refactor** - Grills now process manualy upon placing food or fuel into it & not round start ## Changelog 🆑 qol: adds examines & screentips for grill (the machine for grilling food), converts some chats to balloon alerts qol: foods that can be re-grilled any number of times qol: grill (the machine for grilling food) can now be made in the crafting menu. Cargo pack cost for purchasing grill has now been halved. qol: monkey fuel & other reagents(see examines) can be added from any container & not just from glass bottles to the grill (the machine for grilling food) fix: grills (the machine for grilling food) now don't burn foods into a mouldy mess unlike the girdle fix: correctly computes grill times of items that were previously grilled fix: grills now have an upper fixed fuel limit code: autodoc procs & vars for the grill (the machine for grilling food) refactor: grills (the machine for grilling food) has been refactored. report bugs on github, also they only start processing after putting food/fuel into them. /🆑 |
||
|
|
e4082228ff |
Blesses the codebase with Blahaj (#81862)
## About The Pull Request Adds the Shark and Shork Costume to the game, craftable via carp scales. In addition, adds the ability to use a shark costume to craft a shark plushy.   It is five carp scales and five leather to craft the shark costume, take the costume and craft it with wirecutters to make a shork costume. Take a shark costume, 10 cotton, and five cloth to craft a shark plush. ## Why It's Good For The Game Good and funny costumes that give an additional use to pre-existing crafting materials = good Giving players another way to craft the shark plushie = good Todo: - [x] Make sure shit wont break - [x] Add the crafting recipe for the costume - [x] Add the crafting recipe for the shark plushie - [x] Profit?? ## Changelog 🆑 Drag add: Adds the Shark and Shork costume. Blahaj lovers rejoice! /🆑 --------- Co-authored-by: Aki Ito <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com> |
||
|
|
159561437b |
New Shields and Sprites for them (#81615)
## About The Pull Request Updates shield sprites to new more polished and 3/4 perspective ones. <details>  </details> Adds 2 new shield types: - **Improvised Shield.** Made out of 10 iron sheets and 2 sticky tape pieces. Weaker then buckler shield and breaks after 2 gunshots or 4 baton hits, but has a 50% (BASE FOR ALL OTHER SHIELDS) blocking chance instead of 30% that buckler has. Bulky - **Ballistic Shield.** Printed at Security Techfab for a lot of titanium after getting weapon research. Strong against projectiles, but weaker than riot shield against melee. Bulky Both of these shields break, and both of them are their own subtype. As such you can still only craft strobe shield with a riot shield. ## Why It's Good For The Game The sprites of shields were very ancient and extremely flat, this gives them a more refreshed look. Ballistic Shield is added because Riot Shield was weakened against projectiles, Ballistic Shield gives the crew a way to get access to protection against projectiles at some point in the round. Improvised Shield adds a second improvised shield in the game (after Buckler Shield). It's balanced by being weaker than Buckler, but higher block chance, this adds an interesting choice for players on which shield to craft. ## Changelog 🆑 add: Adds 2 new shields to the game! Ballistic Shield - researched by Science, and Improvised Shield - made out of iron and sticky tape image: Riot, Strobe, Telescopic, Energy shields got new less flat sprites! /🆑 |
||
|
|
d629b5f3f1 |
pipebomb (#81529)
## About The Pull Request  removes IEDs, these are its replacement  this recipe produces a finished pipebomb you can craft pipes (of the atmos kind) with some metal then you can make it into a pair of halved pipes with a welder then you stuff in items for extra effect (optional, only works if it does something) then you put in welding fuel OR gunpowder (no other options as of now, gunpowder is a better explosive) cable finishes that part after that, you can attach an unsecured assembly to finish the bomb also this is the math for the explosion, power is decided by fuel  using it in-hand activates the assembly, using it off-hand allows you to configure the assembly ## Why It's Good For The Game IEDs suck and stuff and this would be a better upgrade/replacement because with assemblies you could make a circuit sentient pipebomb or gift a pipebomb via cargo or something and gimmicks i guess ## Changelog 🆑 add: Pipebombs del: Improvised Firebombs /🆑 |
||
|
|
aa9caef0ed |
Fishing hook and reel line tweaks (also qol for the fish bounties) (#80599)
## About The Pull Request This PR includes a series of small changes and additions to hooks and reel lines, as well as the aforementioned bounties. My objective here is to make the (base) hook and reel line feel more useful. Ditto with a few other things. Here's the list of changes: - Almost all fishing rods come with a hook and reel line pre-installed. The rod from the fishing toolbox comes with separate hook and reel line. - Without a hook, you cannot fish. Without a reel line, the cast range is reduced (from 5 to 3). - Fishing with a reel line installed provides a mild boon to completion speed by default. - The sinewy reel line (craftable from lavaland mobs) can now be used to fish on lava / liquid plasma, but it's a bit stiff and gives a mild malus to completion speed. - Unlike other hooks, the rescue and jawed hooks now allow you to cast a line and reel in living mobs too, not only items. They even get a status alert they can click to un-snag themselves, or move away far enough to achieve the same effect. - Master fishing rod buffed. It now comes with a flexible reel line and weighted hook pre-installed, and can be cast further than other rods. - On top of that, the jawed hook will slow down living mobs snagged by it and is a bit harder to remove. - when casting a line, it will now show the icon of the current hook as projectile, not a generic one. - Reeling now correctly checks movement resistance and anchorage. - Reeling an object (or a mob) now plays a sound. Ditto for installing/removing slotted items. - A few balloon alert feedbacks. - Minor code improvements. - The jawed hook should look a smidge sharper. - reel lines are now small items. ## Why It's Good For The Game The base hook and reel line didn't do anything begin with, and you would do just fine without them. In the end it's just a bit unintuitive for them not to be a requirement. Beside that, it makes sense for the rescue hook to be able to snag mobs, so they may as well be used to drag people out of lava or liquid plasma. As for the jawed hook, it always felt to me a bit underwhelming and a bit of a filler I had cooked up on the moment. It really could have some 'tactical' utility in virtue of being one of those niche black market items. ## Changelog 🆑 add: Most fishing rods come with a hook and line preinstalled. Fishing toolboxes come with separate reel and lines as usual. balance: Fishing hooks are now required to fish. balance: Without a reel line, the range of fishing rods is reduced by two tiles. Conversely, having one installed gives a mild buff to the minigame completion speed. balance: The craftable sinewy reel line can now be used to fish on lava or liquid plasma, but it's a bit harder to use. balance: The rare-to-find-in-maintenance master fishing rod now comes with a flexible line and weighted hook preinstalled, and has better range than other rods. balance: Fishing reel lines are now small enough to fit pockets. add: The rescue and jawed hook can now snag and reel in mobs, not only items. The jawed hook also slows down when applied, a la beartrap. qol: Fish bounties now accept filled (stasis) fish cases. qol: Several balloon alerts for fishing rod interactions. fix: Reeling in items (and mobs) now respects movement resistance and anchorage. fix: Fixed the fishing rod equipment UI being too small to fit its components. sound: Reeling in something now plays a sound. /🆑 |
||
|
|
5970b6722b |
Makes lizard wine (and some other crafting menu drink recipe drinks) produce their intended reagents (#80874)
## About The Pull Request Crafting recipes now have an arg that decides if crafting results will retain their starting reagents, or have ingredient reagents transferred into them. So, previously, crafting a specialty drink (lizard wine, candycorn liquor) from the crafting menu would immediately empty the new bottle's reagents and replace it with the ethanol used in the recipe. Now, recipes can be prevented from modifying their result's reagents by setting unique_reagents to TRUE (False by default. I don't know what recipes really use this functionality but I wanted to preserve it for everything but the drink recipes it interferes with.) Bonus: This changelog entry I found from 3 years ago, apparently fixing this same issue.  ## Why It's Good For The Game Closes #80870. Makes some more reagents accessible again. ## Changelog 🆑 Rhials fix: Specialty drinks crafted in the crafting menu will now create the intended reagents, instead of containing the reagents used to craft it. /🆑 |
||
|
|
9f05a79b70 |
Sec Biosuit craft, more bio-emergency supplies (#80622)
## About The Pull Request Makes Security bio suit and bio hood craftable using a normal bio suit/hood and helmet/armour vest. Adds a box of sterile masks and latex gloves to the bio-emergency crate from Cargo. ## Why It's Good For The Game Security bio suit is the only one with different armour values, yet there is only one for the entire Security department. By giving them the ability to craft them we give more Security Officers protection from disease without losing their red colour and armour (which is worse in bio suits than on their armour vests). This makes Security more likely to care about roleplaying during outbreaks, like enforcing quarantines. This isn't creating any new bio-suits, as to craft a Security bio-suit you need to acquire a normal bio-suit and some spare armour. Adding a box of sterile masks and latex gloves to the emergency bio-emergency crate makes it more useful. There is only 1 box of sterile gloves and 1 box of latex gloves on all of the stations at medbay at the moment. This way they can get more sterile masks and latex gloves to protect themselves from diseases, which is cool to see players caring about not getting infected and being in fear. |
||
|
|
4476689439 |
hygeienbots basic bots (#80435)
## About The Pull Request turns hygenic bots into basic bots. also now PAIs and people can play as hygeinebots. and they can wear hats ## Why It's Good For The Game transforms hyginebots into basic bots. their old AI used to handle all the logic. i moved some of the logic to the mob itself so players can also clean (or burn) things. also this pr will add pathing limits to bots, in the case the jps movement thinks it can reach something, but actually cant, in which case the bot will give up the chase ## Changelog 🆑 refactor: hygeinebots are now basic bots. please report all the bugs fix: fixes hygenebots not being able to patrol add: hygeinebots can now be controlled by Players /🆑 |
||
|
|
c1d68698fb |
Micro-optimize qdel by only permitting one parameter (#80628)
Productionizes #80615. The core optimization is this: ```patch - var/hint = to_delete.Destroy(arglist(args.Copy(2))) // Let our friend know they're about to get fucked up. + var/hint = to_delete.Destroy(force) // Let our friend know they're about to get fucked up. ``` We avoid a heap allocation in the form of copying the args over to a new list. A/B testing shows this results in 33% better overtime, and in a real round shaving off a full second of self time and 0.4 seconds of overtime--both of these would be doubled in the event this is merged as the new proc was only being run 50% of the time. |
||
|
|
74761fd023 |
Crafting now transfers reagents from ingredients to final product (#80391)
## About The Pull Request - Fixes #80143 - Fixes #80381 Based on the ingredients required reagents of the final product can differ. It now transfers the olive oil from the bottle to the toasted seeds & the orange juice and grenadine reagent from the ingredients into the kasei dango. Snow cones are now also edible ## Changelog 🆑 fix: crafting now transfers reagents from ingredients to final product making previously inedible foods (toasted seeds, kasei dango & snow cones) edible. Other crafted food products/items now differ in reagents based on the ingredients required. /🆑 |
||
|
|
9e758e221f |
Fixes an inconsistency with ED-209's crafting recipe (#80364)
## About The Pull Request Makes the ED-209 crafting recipe only take security helmets, just as the Beepsky one does. ## Why It's Good For The Game As it stands right now, any helmet can be used to assemble an ED-209. This includes anything from your standard security helmet, to a hardhat, an envirohelm, or even a cheap toy roman helmet. This makes it so you need an actual security helmet, just like the Beepsky recipe does. ## Changelog 🆑 fix: ED-209s can no longer be crafted with most instances of helmet, you need security ones just like Beepsky. /🆑 |
||
|
|
edd0b68a54 |
Motorized Wheelchair improvements (#80045)
## About The Pull Request This PR improves motorized wheelchairs in the following ways: - On initialize, motorized wheelchairs will have the most basic possible stock parts inserted. This resolves a bug where motorized wheelchairs spawned by admins or other means (mail, mapping) were completely worthless, as they had no stock parts in them and you could not insert better ones. When crafted, these basic parts are deleted and replaced with the correct ones. - Power cells are now part of the motorized wheelchair recipe, instead of being inserted after. - When deconstructed or destroyed, motorized wheelchairs now drop their power cell on the floor with everything else instead of deleting it from existence. - Miscellaneous old code has been tidied up, removing one-letter var names, pointless code duplication, and the like. ## Why It's Good For The Game I've been talking to Dalm about this, and wheelchairs are in dire need of some improvements. Tidying up the mess that is the motorized wheelchair seemed like a good place to start. Firstly, it's good for motorized wheelchairs to function as expected when not specifically crafted by hand. This is helpful to admins, mappers, and anyone else who might have reason to make one of these appear. It's also good that all the parts in the wheelchair drop on the ground when destroyed, as there's no particular reason power cells should be lost. As for power cells being included in the recipe - it's not obvious at a glance that you _need_ to insert a power cell after crafting, until you try to drive your new wheelchair around. This extra step of annoyance is now avoided by making it required to stick one in when you build the thing. ## Changelog 🆑 fix: Motorized wheelchairs will no longer spawn in a bugged state where they have no parts and can't be upgraded. fix: Motorized wheelchairs will drop their power cell when destroyed or deconstructed. qol: Power cells are now inserted into motorized wheelchairs as part of the crafting recipe, instead of as an extra step afterwards. /🆑 --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> |
||
|
|
54ab1e3936 |
Organ movement refactor *Un-nullspaces your organs* (#79687)
<!-- 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. --> closes #53931, #70916, #53931 ## About The Pull Request Organs were previously stored in nullspace. Now they are stored in their prospective bodyparts. Bodyparts are now stored in the mob. I've also had to refactor a lot of code concerning organ movement. Previously, organs were only moved into bodyparts once the bodyparts were removed. To accomodate this change, two major distinctions have been made: **Bodypart removal/insertion** Called only when an organ is taken out of a bodypart. Bodypart overlays, damage modifiers or other changes that should affect a bodypart itself goes here. **Mob insertion/removal** Called when an organ is removed from a mob. This can either be directly, by taking the organ out of a mob, or by removing the bodypart that contains the organ. This lets you add and remove organ effects safely without having to worry about the bodypart. Now that we controle the movement of bodyparts and organs, we can fuck around with them more. Summoning someones head or chest or heart will actually kill them now (and quite violently I must say (chest summoning gibs lol)). https://github.com/tgstation/tgstation/assets/7501474/5efc9dd3-cfd5-4ce4-b70f-d0d74894626e I´ve also added a unit test that violently tears apart and reconstructs a person in different ways to see if they get put toghether the right way This will definitely need a testmerge. I've done a lot of testing to make sure interactions work, but more niche stuff or my own incompetence can always slip through. ## 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. --> A lot of organ work is quite restricted. You can't C4 someones heart, you cant summon their organs and a lot of exceptions have to be made to keep organs in nullspace. This lets organs (and bodyparts) play more nicely with the rest of the game. This also makes it a lot easier to move away from extorgans since a lot of their unique movement code has been removed and or generalized. I don't like making PRs of this size (I'm so sorry reviewers), but I was in a unique position to replace the entire system in a way I couldn't have done conveniently in multiple PRs ## 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. --> 🆑 refactor: Your organs are now inside your body. Please report any issues with bodypart and organ movement, including exotic organ, on github and scream at me fix: Cases of unexpected organ movement, such as teleporting bodyparts and organs with spells, now invokes a proper reaction (usually violent death) runtime: Fixes HARS runtiming on activation/deactivation fix: Fixes lag when species swapping /🆑 <!-- 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. --> |
||
|
|
af67bd7490 |
basic cleanbots refactor and new janitor skillchip (#80128)
## About The Pull Request this pr refacotrs cleanbots into basic bots. also adds a new skillchip for janitrs. this skillchip will allow janitors to communicate with cleanbots and order them around, like pointing at something and telling them to clean it. also now the cleanbot has an inbuilt mop which it will use to smack mice and cockroaches ## Why It's Good For The Game refactors cleanbots into basic bots and fixes them getting stuck sometimes while patrolling. also janitors being able to order them around can make them a bit more useful as tools for the janitor ## Changelog 🆑 refactor: cleanbots are refactored into basic bots. please report all bugs fix: fixes cleanbots getting stuck sometimes while patrolling add: janitors get a new skillchip which allow them to communicate with cleanbots /🆑 |
||
|
|
274eb2a52e |
Removes Clone Damage (#80109)
<!-- 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 Does what it says on the tin. We don't have any "special" sources of clone damage left in the game, most of them are rather trivial so I bunched them together into this PR. Notable things removed: - Clonexadone, because its entire thing was centered around clone damage - Decloner gun, it's also centered around cloning damage, I couldn't think of a replacement mechanic and nobody uses it anyways - Everything else already dealt clone damage as a side (rainbow knife deals a random damage type for example), so these sources were removed <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> ## Why It's Good For The Game Consider the four sources of normal damage that you can get: Brute, Burn, Toxins and Oxygen. These four horsemen of the apocalypse are very well put together and it's no surprise that they are in the game, as you can fit any way of damaging a mob into them. Getting beaten to death by a security officer? Brute damage. Running around on fire? Burn damage. Poisoned or irradiated? Toxin damage. Suffocating in space? Brute, burn and oxygen damage. Technically there's also stamina damage but that's its own ballpark and it also makes sense why we have a damage number for it. Picture this now: We have this cool mechanic called "clone pods" where you can magically revive dead people with absolute ease. We don't want it to be for free though, it comes at a cost. This cost is clone damage, and it serves to restrain people from abusing cloning. Fast forward time a bit and cloning is now removed from the game. What stays with us is a damage number that is intrinsically tied to the context of a removed feature. It was a good idea that we had it for that feature at the time, but now it just sits there. It's the odd one out from all the other damage types. You can easily explain why your blade dealt brute damage, but how are you going to fit clone damage into any context without also becoming extremely specific? My point is: **clone damage is conceptually a flawed mechanic because it is too specific**. That is the major issue why no one uses it, and why that makes it unworthy of being a damage stat. Don't take my word for it though, because a while ago we only had a handful of sources for this damage type in the game. And in most of the rounds where you saw this damage, it came from only one department. It's not worthwhile to keep it around as a damage number. People also didn't know what to do with this damage type, so we currently have two ways of healing clone damage: Cryotubes as a roundstart way of healing clone damage and Rezadone, which instantly sets your clone damage to 0 on the first tick. As a medical doctor, when was the last time you saw someone come in with clone damage and thought to yourself, "Oh, this person has clone damage, I cannot wait to heal them!" ? Now we have replacements for these clone damage sources. Slimes? Slime status effect that deals brute instead of clone. Cosmic heretics? Random organ damage, because their mechanics are already pretty fleshed out. Decloning virus? The virus operated as a "ticking timebomb" which used cloning damage as the timer, so it has been reworked to not use clone damage. What remains after all this is now a basically unused damage type. Every specific situation that used clone damage is now relying on another damage type. Now it's time to put clone damage to rest once and for all. Sure, you can technically add some form of cellular degradation in the future, but it shouldn't be a damage number. The idea of your cells being degraded is a cool concept, don't get me wrong, but make it a status effect or maybe even a wound for that matter. <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game in the first place. --> ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 del: Removed clone damage. del: Removed the decloner gun. del: Removed clonexadone. /🆑 <!-- 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. --> |
||
|
|
f8b41f9442 |
Changes occurrences of recieve in code to receive (#80065)
## About The Pull Request I've stumbled across this enough to finally go through the entire codebase and fix it. I left out changelogs simply because rewriting history logs is bad. ## Why It's Good For The Game I find it pretty annoying because I stumble across words that are misspelled for a few seconds, and I'm likely not the only one who feels like this. Less spelling mistakes in code are better. ## Changelog 🆑 spellcheck: Occurrences of "recieve" has been changed to "receive". /🆑 |
||
|
|
a3c24dd74e |
Basic bots (medibots) (#79955)
## About The Pull Request refactors bots into basic bots. i decided to do medibots first because they were the most complex bots and wanted to get them out of the way first. if this pr gets merged then i will be rolling out the rest of the bot refactors over the next months medibots can now wear any type of hats! some of these hats can trigger unique new recorded voicelines and interactions!   ## Why It's Good For The Game converts medbots into basic medbots. they are now a bit more responsive than before but overall they should act similarly to how they did. also adds the basic bot ai framework which has all the generic bot behaviors that the next bots may or may not need to have in their ai. i tried my best to improve their code and turned some of their bitflags into define bitfields. this pr may need a careful review because i did it from scratch as the old bot project branch was too outdated for me to use ## Changelog 🆑 refactor: medbots are now basic bots. please report any bugs add: medbots can wear hats! /🆑 |
||
|
|
92a2dd3c5c |
Fixes crafting menu incorrect use of reagents (#80046)
## About The Pull Request - Fixes #79931 The way crafting menu handles reagents is an abomination. It manually updates its volume, rather than calling the correct procs for it and also "clones" reagents like... it does some weird stuff that can leave the beaker in an inconsistent state let's just leave it at that. Now we properly consume the reagent via `remove_reagent()` proc and don't do stuff manually so it works now. Also added some sanity checks such as `>=` and not simply `>` when checking for reagent volumes and also checks if we actually found a container in our surroundings which could runtime if none was available Also for my sanity please don't tell me to change any single letter var names here. This whole file is crawling with them so let someone else get their GBP from that ## Changelog 🆑 fix: crafting food or any other items that require reagents will not leave behind blank reagents. That and properly updates the holder those reagents are stored in /🆑 |
||
|
|
464ba0af94 |
Final optimizations for reagent holder (#79862)
## About The Pull Request Yup this is the last time I'll lay hands on `holder.dm` after 2 rounds of code compression the file was still over 2000 lines long so now the next best thing to reduce it is organizing procs into logical files, that and even more proc removals. As you can see we are still able to reduce code size even further **1. Removes & merges `expose_multiple()` proc into `expose()`** Th only difference between these 2 procs is that `expose()` uses all reagents inside the holder whereas `expose_multiple()` uses a select few reagents. We can just add a 4th parameter to `expose()` that will accept a list of reagents thus achieving the same results and that was done reducing overall code **2. Removes `conditonal_update()` proc & `on_update()` proc** The proc `on_update()` definition is empty and no reagent was overriding it and as a result `conditonal_update()` that calls this proc is also functionally useless therefore both of these procs were removed reducing overall code **3. Finally splits `holder.dm` into logical files under the folder `code/modules/reagents/holder`** - `holder.dm`: this is the still the file for core functionality it's just now moved into this new folder. Added comments to group procs under separate categories for easy readability. - `mob_life.dm`: contains reagent code for metabolizing reagents and for handling stasis - `reactions.dm`: all code for reagents reacting inside the holder - `properties.dm`: procs for editing/reading the volume, temperature, ph, purity properties of reagents inside the holder, also for reading its taste description - `ui_data.dm`: all code for displaying & interacting with reagent data via UI ## Changelog 🆑 code: removes & merges `expose_multiple()` proc into `expose()` proc inside reagent holder code: removes `conditonal_update()` proc & `on_update()` proc inside reagent holder and reagent refactor: Reagent code has been trimmed and split into multiple files. report bugs on github /🆑 |
||
|
|
e4029ed9cd |
More code compression for reagent holder (#79796)
## About The Pull Request Part 2 of #79686 where we trim down the size of `holder.dm` even further and in the process give some procs more advanced features as they get merged with their counterparts. **1. Removes & merges `get_multiple_reagent_amounts()` proc with `get_reagent_amount()`** The proc `get_multiple_reagent_amounts()` was only used by bio generator and 1 other item with its only use being finding the sum of all reagents present in the list returned by `typesof(datum/reagent/consumable/nutrient)`. Currently the approach is very inefficient because. - `typesof()` is an expensive call which returns a long list of reagents - `get_multiple_reagent_amounts()` would then use 2 nested for loops. One to loop over every reagent in this holder & another inner for loop to loop over every reagent returned by `typesof()` operator so the time complexity of this proc is overall multiplicative which in lamen terms means "Bad" We can replicate the same behaviour of `typesof()` by using the `type2parent()` proc and 1 more direct type check to get the exact same behaviour but with much faster results, therefore reducing overall code **2. Removes & merges `get_reagent()` proc with `has_reagent()`** The proc `has_reagent()` is way more advanced than `get_reagent()` with arguments requesting for a specific amount, metabolization and now even has a new argument i.e. `chemical flag`. `has_reagent()` has always returned the reagent reference directly and not a simple TRUE/FALSE so it is a perfect replacement for `get_reagent()`, therefore reducing overall code **3. Removes & merges `has_chemical_flag()` proc with `has_reagent()`** The proc `has_reagent()` can now look for a specific reagent with a specific chemical flag as well as mentioned above thus it can replace `has_chemical_flag()` therefore reducing overall code ## Changelog 🆑 code: Removes & merges `get_multiple_reagent_amounts()` proc with `get_reagent_amount()` inside reagent holder code: Removes & merges `get_reagent()` proc with `has_reagent()` inside reagent holder code: Removes & merges `has_chemical_flag()` proc with `has_reagent()` inside reagent holder refactor: Reagent holder code has been further compressed. Report bugs on github /🆑 |
||
|
|
d47c5149d5 |
Emergency hotfix for engi crossbow [NO GBP] (#79606)
Hadnt added these commits when the PR got merged due to not expecting it oops ## Why It's Good For The Game See above, used to make my last pr actually function as intended. ## Changelog 🆑 fix: fixed engi crossbow being able to be used onehanded + ability to craft with sci inducers /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
ba076e94bc |
Adds engi improvised weapon - rebar crossbow + Engi Exclusive Tot Shop Variant (#78777)
<!-- 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  Engi now has access to a Half Life 2 Inspired rebar crossbow! Made of rods, wire, and an inducer, it shoots sharpened iron rods at a high velocity. High damage and good embed chance, but requires you to reload every shot which requires you to stand still for three seconds to pull the string back. You can also Use a wrench on it to force it to store more rods (read: more than one), but risks it exploding and shooting you instead. The syndicate variant, avaliable to traitor engis, can fire three rounds before needing a reload, and features a scope and better armor piercing ammpo, but costs 10TC. I see it as a sidegrade to the revolver - quieter and has much more widespread ammuniton, but holds less ammo and doesnt have the same burst stopping power. And, to those concerned about the balance of a non-traitor with this item - the AP ammo can only be made by the traitor who bought it, and anyone else has to use normal ammo. GUN STAT JUNK Normal one has 60% embed chance and does 40 damage (against unarmored targetd), but requires you to wait at least 3 seconds not moving to pull the string back. Good alpha strike but not sustainable in a long fight. Its akin to a pipegun. Lacks any AP qualities besides piercing a jumpsuit, because any wound chance it has is due to a bare skin bonus. Generally not a great weapon to fight sec with. Syndie version is generally the above but better. Takes less to pull the string back, slightly higher damage, better fire rate, etc. Doesnt fare well against any armor thats equivalent to sec gear or better due to most having low (relatively) AP and wound chance, but good bare wound bonus. STATS TLDR: Its good against unarmored chumps and greyshirts but anyone in armor that protects against bullets will kick your teeth in. Also, Ammo is crafted from an iron rod. I wanted to have it just fire rods as is, but theyre stacked items which you cant define projectiles or ammo from. ## Why It's Good For The Game I've always felt engi, for as big of a department as it is, is lacking in the "fun weapons" area. Sci has mechs and xenobio, med has chem nades and syringe guns, and cargo has anything the QM will buy - but other than the flamer and shocked doors, engi doesnt have much. Thats why I made this pr. it was originally just a traitor item, as they lacked many traitor items in their shop, but I felt like a worse, bootleg version would suit them. ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 add: Enginenering rebar crossbows + tot kit add: Added a bunch of ammos and crafting junk to make the ammo exist image: added icond for all the above /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
9ff9e4b9a8 |
Scatter laser shells now use the scatter laser beam, and makes them significantly easier to make. Projectiles can now have damage falloff. (#78927)
## About The Pull Request Allows for damage falloff to apply to more than just shotgun pellets. Now any projectile can have a damage falloff defined. Scatter Laser shells no longer use the minigun beams to determine their damage. Instead they use the actually defined scatter laser beams. Those beams do 7.5 damage per pellet, times by 6 pellets. Scatter laser beams now have damage falloff, a separately defined (positive) wounding power from normal beams, and wound falloff. Scatter laser shells can be printed from security protolathes once you have weapon tech. Scatter laser shells _may_ be damaged by EMPs based on severity. The result is that it fires a practically useless volley of laser fire. They cause a honk sound when they hit, so you know when you've shot one of these. ## Why It's Good For The Game Well, we want shotguns universally to not be defined by their damage output (especially extreme damage output) but by niche. What does the scatter laser shell currently occupy as a niche? The single highest damage output of any projectile weapon in direct damage. The thing we don't want of shotguns, and it is reigning champion of all guns. Okay, that's a bit misleading, because obviously it is competing with the likes of .50 BMG which does 70 damage outright and dismembers limbs, potentially doing upwards of 90 damage if it does, and also hard stuns people. Obviously _that_ is technically a stronger bullet. But not for raw damage, because the scatter laser does 90 damage out the gate, barring any potential wounding that might occur which increases the damage multiplicatively. No gimmicks, no extra procs, nothing. It's just 15 force lasers (with no damage dropoff) split between 6 beams. And the reason for this is because this shell has been nerfed once prior by making it not fire 6 normal laser shots into someone. That was 120 damage at the time, 120 to 90 was...I guess a nerf during the taser era. Depends on how you viewed it. Buckshot was doing like 80 at the time, believe me it was a wild period. But anyway, when we did the whole damage rearrangement over the course of the laser few years, every other shell got touched except this one for some reason. Even pulse slugs lost 10 damage while this was still sitting on 90 force point blank. So what is the new niche? Well, it's laser buckshot. That's not a niche but crew don't get buckshot, so this is their buckshot. It wounds real good. Real goddamn good. And its is a laser. It fits the aesthetic, obviously. Okay, thanks. ## Changelog 🆑 balance: Scatter laser shells actually utilize the _real_ scatter laser beam. This comes with damage changes. And wounding power. feature: EMPs can potentially damage scatter laser shells. refactor: All projectiles can now have damage falloff defined. Yay. balance: Scatter laser shells can be printed when weapons technology is researched. /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
9155407fc0 |
Reverts crafting hologram check (#79185)
## About The Pull Request
Reverts crafting check from #79028
I'm investigating this runtime

and - while the runtime points to a larger issue - this check is not
even necessary, as hologram items are already excluded from the list of
items.
|
||
|
|
1dccbdc191 |
Fixes crafting menu not detecting ingredients properly (#79141)
## About The Pull Request 1. Fixes #79089 This fix applies for the above issue and all crafting recipes that require some sort of reagent container containing reagents. It now adds the container & the reagents inside of it to the list of available ingredients & not just the reagents which was previously the case. 2. Fixes #79159 Other crafting ingredients in general were not being detected if it was not a stack type. That's fixed now too ## Changelog 🆑 fix: items that require reagent containers & the reagents inside it for crafting(e.g. molotov) now crafts properly. fix: most crafting recipes should work now /🆑 |
||
|
|
491ac3ca8f |
Fix holodeck items from being eaten, crafted, recycled, juiced, or grinded (#79028)
## About The Pull Request - Fixes #74612 The holodeck edibles could be eaten by the crew giving them nutrition and medicine reagents. This could be done an infinite amount of times since holodeck programs can be reloaded instantly. Holodeck items no longer can be: - Eaten - Crafted as an ingredient - Juiced into reagents - Grinded into reagents - Recycled into material ## Why It's Good For The Game No more free infinite heals from holodeck or other silly exploits. ## Changelog 🆑 fix: Fix holodeck items from being eaten, crafted, recycled, juiced, or grinded. /🆑 |
||
|
|
3aef9bd905 |
Added more slapcraft recipes, improved its component, fixed base cowboy hat type (#78854)
## About The Pull Request Added slapcraft recipes for: Pillow suits, pillow helmets, bone and sinew tailoring/weaponry, pipeguns, ghetto jetpacks, and pneumatic cannons. The base type of cowboy hats no longer looks and is named like a bounty hunter hat, clarifying the recipe for the heroic laser musket. Fixed an issue where if a slapcraft recipe required more than one instance of its 'primary' slapcrafting item, it wouldn't show the additional instance when examining its recipes. ## Why It's Good For The Game Idk lol ## Changelog 🆑 qol: Added slapcraft recipes for: Pillow suits, pillow helmets, bone and sinew tailoring/weaponry, pipeguns, ghetto jetpacks, and pneumatic cannons. code: The base type of cowboy hats no longer looks and is named like a bounty hunter hat, clarifying the recipe for the heroic laser musket. They need cowboy hats not bounty hats. fix: Fixed an issue where if a slapcraft recipe required more than one instance of its 'primary' slapcrafting item, it wouldn't show the additional instance when examining its recipes. /🆑 |
||
|
|
053e66b0d3 |
Makes the Regal Condor realistically simulate being shot dead with a high caliber hand cannon by making it HITSCAN (#78674)
## About The Pull Request The Regal Condor come with a magazine and ammo already inside. The recipe for the magazine now no longer needs TC, but does need donk pockets (sponsored murder gear, you see) and a hell of a lot more materials per magazine (you're looking at like 40 sheets of various materials all up). It also needs you to make the Condor first. But it comes preloaded with ammo. The Condor is 1 whole TC more expensive. Also needs some metal. The old recipe is there in spirit. The Regal Condor and the magazines come with 10mm Reaper bullets. They're high damage. They're high AP. They are also hitscan. ## Why It's Good For The Game Apparently people don't like the Condor. Too much effort for not enough reward. After all, revolvers exist. 'It must be a joke' they say! 'It's joke content! I went to all that effort to make it for nothing! That slut Anne tricked us!' **Wrong, bitch.** If you want the Condor to make you shit yourself the moment someone with it appears on the screen, then fine! ### **You get what you fucking deserve.** ## Changelog 🆑 balance: Despite earlier reports suggesting that the famous lethality of the Regal Condor was largely a myth, there has been rumors that the gun has once again started to display its true killing potential on any station that it 'manifests'. /🆑 |
||
|
|
0b8f4dc9ce |
adds boxes of bandages, and bandages to go in them (#78406)
## About The Pull Request have you ever walked into medbay, picked up a suture, and asked yourself "how do i know how to stitch myself up?" do you long for the simplicity of a bandage that can be popped on, no thought required? well, look no further! now introducing, the DeForest First Aid Bandage!  each box of bandages holds five each, which are all one time use items. using one heals up to 25 brute damage from a single part of the body. boxes of bandages will drain much faster than sutures, and are much less precise for healing specific increments of damage, but heal more in exchange. they are also worse at stopping blood loss, but not completely useless for it. they can be found in a handful of places: (some) high value medkits in paramedic's pockets some medbay lobbies some cargo holds all sec infirmaries in goodies on the cargo console maint loot and nanomeds! i considered making these replace brute kits, but those are used in a lot of old references, so it felt a bit passe. so i made a new item that is a bit more balanced, so they can be mapped in and added to vendors without much worry. ## Why It's Good For The Game cute item, heals the people who wouldn't really be going into medbay anyways, and is fairly flavorful. if it's a bit too strong as is i can tweak the number, but the goal is to not be powerful enough to outshine sutures, while still offering somewhat effective healing for rough housing assistants and antags ## Changelog 🆑 add: adds boxes of bandages, a quick healing item /🆑 |