mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 20:45:28 +01:00
docker-container
979 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
f601a6ddaf | Merge remote-tracking branch 'tgstation/master' into upstream-6-2-2026 | ||
|
|
fd308fa6fd |
Securiy (#96271)
## Securiy Securiy ## Changelog 🆑 spellcheck: Securiy /🆑 |
||
|
|
2405d431b8 |
Mapped in boulder smelter/refinery fixes (#96254)
## About The Pull Request Fixes the mapped in refinery/smelters facing the wrong direction, causing them to not automatically smelt/refine boulders. Fixes #96253 ## Why It's Good For The Game The best miner on the station should be able to work without supervision, also bug bad. ## Changelog 🆑 fix: Starting boulder refineries and smelters should start facing the correct direction. /🆑 |
||
|
|
fd08322655 | Fixes the slow tile in Icebox perma (#96209) | ||
|
|
64f76f52a9 |
Interface Science | The Mariana Trench of Feature Content (#95857)
## Interface Science You know what the problem is with our features? They're all too easy, too optimized to use. Look at Genetics; we went from a confusing UI that a 14 year old hardcoded with html into byond to a polished UI using tgui, optimized for player comfort, and gameplay has suffered. Too long we have coddled players with fun and easy content, no more I say!!! To fix ss13, I have added a feature with the most awful, unusable UI ever. It's just wires with random sequences that may or may not do something. And yet, you will use it till your fingers bleed and your eyes go white, and you will be grateful. "Thank you coder daddy", you say as you sacrifice yourself to a display of unending, procedurally generated dogshit. <img width="563" height="294" alt="image" src="https://github.com/user-attachments/assets/e56c947f-a40c-4df9-beed-672812357576" /> Or maybe you're a sick little deviant, and you don't respect me. Instead of using my awful UI, you start optimizing. You've forced the secret pulse code, and you're not going to pulse them again and again. You make your own interface by connecting it with signallers, or integrated circuits. Ahhh, you beat me! Damn it, and you're gonna get away with it too. ## About the Pull Request Adds new job content to science. Science spawns with a few "gizmo" devices and can order more through cargo. These gizmo's have random functionalities, like the strange objects you can find in maintenance. These functionalities come with different settings to change how they operate. However, there are no buttons, just wires or a voice interface. You need to solve, for example, a wire puzzle. You just pulse the wires, and if you hear ping the sequence is good, if you hear buzz its bad. Just keep going till you hear a creak sound. If you do a sequence correctly, there are a bunch of randomly generated ways this interacts with the functionality, mimicking real life settings and interactions. Imagine a TV remote with randomized buttons, and you have to map them out again. Once you've mapped the sequences, you can make an interface. For simple ones, you can just make some signaller assemblies. For the best control, you could connect it with a bunch of integrated circuit signallers, and program sequences into an integrated circuit machine. Below is a short video of how the puzzle solving works. (I can't be arsed to figure out how to record tgui, here's a video I made with my phone. Also I had the sequences written down, which I STRONGLY recommend you do.) https://github.com/user-attachments/assets/93f79f0f-df14-4ff9-8096-f079ebae7e91 <details> <summary>Actual details</summary> I have hidden the details to make exploring the feature itself more fun. The whole thing was written to be convoluted, but intuitive. You should be able to hit it with a multitool, and figure out everything from there. It will take a bit to get the gist of it. Nonetheless, for review purposes I have written down the details here. If you're reading this for non-review purposes, you should know I have embedded an internet curse that will at some point in 2026 teleport you 2 meters in a random direction. Continue reading at your own discretion. The gizmo objects is usually generated with 1 or 2 'gizmodes'. 'Gizmodes' contains the fun-ctionality, and holds different operating modes (so dubbed 'gizpulse'). You can't directly select a gizpulse, but instead it generates a bunch of mode selections. For example, a function that toggles lights has two gizpulses: toggle_on and toggle_off. There are four different mode selects: Cycle mode: Adds signal to cycle to the next gizpulse, and to activate the current gizpulse Select mode: Adds a signal for selecting every gizpulse, and a signal to activate whatever the activate gizpulse is Direct activate mode: Adds a signal for selecting every gizpulse, and also immediately activates that gizpulse Cycle-active mode: Cycles to the next mode, and activates it (inconvenient but only has 1 signal to worry about) So a light gizmode with the randomly selected 'select mode' has three signals: select toggle_on, select toggle_off and trigger the currently selected gizpulse. Currently implemented gizmodes: - Lights: toggle on, toggle off - Move: start moving, stop moving - Food printer (its filled with the spongebob grey goop thing): print food (donut or burger) - Mood pulser (AOE): happy pulse, sad pulse, radiation pulse - Mopper: select different reagent, dump onto tile (1/2/3 range), make smoke cloud - Teleporter (5 to 15 tiles, random dir): Teleport self, teleport mobs in range 1, do both - Electric: charge from nearest cell (looks into objects and stuff), magically gain some charge, make lightning, make emp, charge nearby object, defibrillate in an area - Copier (makes fake copies of mobs and objects, visual copy only): scan objects, print objects, erase all copies - Sputter: dump oil and shake, throw self - Bad: explode, explode, explode harder, explode with fire, stab you, warning, make robot spider, breaks your bones, throws a grenade at you, radiation pulses - Some behind the scenes gizmodes (language toggle for voice interface, for example) The voice interface starts with wires, with signals to toggle the language or dump the code words. After that, you can talk to it using the code words similarly to the wire sequence to solve the rest of the gizmodes. </details> I've added two to every map, somewhere in or near the experimentor room. They may ocassionally spawn from a maintenance crate spawner <img width="611" height="331" alt="image" src="https://github.com/user-attachments/assets/3782700f-57d3-4591-9282-e0de590056e1" /> ## Why It's Good For The Game It's really difficult to have "experimentation" type features in the game. It all has to fit into 1h rounds, and people get used to it real quick. The experimentor and strange objects kinda try, but it's just one button and praying a bear doesnt spawn you explodes you. I don't claim to have solved this perfectly, but I think this is fun. You truly have to start experimenting, be systematic and write things down. If you figure out how something works, you can go to the next stage of making it more convenient to use. I think it's really fun to mess around with integrated circuits and USB's, and make, for example, a BCI controlled bluespace launchpad. So I lean into it! There's different settings to account for, and its up to you to make it usable! If you like integrated circuits, you'll love this (maybe). The gizmo functions are aimed at benefiting the station as a whole in some ways, to motivate people to make some fun systems for these to get maximum benefit! A mood pulser near a busy area will make everyone happier! (I do need to add more like these, I got distracted doing stupid shit.) |
||
|
|
eaba74a2eb |
Fixes for boulder processing machines (#96033)
## About The Pull Request - Opening the panel of a boulder refiner machine or un-wrenching it now turns off its environment light - The boulder refiner machine has reagent holder of type `/datum/reagents/plumbing` which fixes rounding errors & has other plumbing optimized features - The boulder refiner machine now only takes in booster reagents & only outputs waste reagent. This means even if you have a tank with random reagents attached to it, it will only take in booster reagents if present & exclude the rest thus saving you time & space from taking in other reagents - booster reagents is now a static list shared by all machines thus saving memory - Removed `supply_offset` & `demand_offset` vars from core plumbing component. These vars were making the pipes extend outside the tile causing it to overlap with adjacent tile machine pipes making everything ugly. Now the pipes are perpendicular to the conveyer belt sprite and will only take in boulders from the conveyer belt direction https://github.com/user-attachments/assets/5583a790-32b6-40df-a414-1602dd84fefd - Map edited smelters so the conveyer belt is in the direction of the refiner ## Changelog 🆑 fix: opening panel of boulder refinery with screwdriver or un-wrenching it turns of its light fix: boulder refinery only takes in booster reagents and excludes others and only outputs waste chemicals as intended fix: boulder refinery machines outputs waste reagents without rounding errors in them qol: removed conveyer sprite from boulder smelter & pixel shifts the refiner so you can see it's plumbing pipes properly sprite: smelters will now only take in boulders in the direction of its conveyer belt. It's plumbing pipes are perpendicular to its conveyer belt /🆑 |
||
|
|
7dafa080d9 |
Adds beartraps to janitor closets on wawastation and icebox (#96077)
## About The Pull Request Adds beartraps to stations that were missing them, specifically wawastation and icebox. ## Why It's Good For The Game Makes janitor's starting gear more consistent across different maps. ## Changelog 🆑 add: Added beartraps to the janitor closets of wawastation and icebox /🆑 |
||
|
|
3edf7f0099 |
[Icebox] Half remaps security, deletes the labor shuttle because it made no sense (#95766)
## About The Pull Request Click the triangles to see pictures <Details> <Summary> Top floor security has seen some changes, with EVA being attached to the security lockers, and the firing range being added in the place of the old transfer center </Summary> <img width="1029" height="803" alt="image" src="https://github.com/user-attachments/assets/c84065f6-6e92-4a0a-b6b4-c323f948fc38" /> </Details> <Details> <Summary> The middle floor didn't see a ton of changes, though visitation has shifted left to make room for the new labor camp exit </Summary> <img width="616" height="574" alt="image" src="https://github.com/user-attachments/assets/44658fe1-a048-4c3c-a951-3727d9b710f4" /> </Details> <Details> <Summary> The biggest changes are seen on the bottom floor - the lowest perma-brig floor was trimmed down in size ab it, and the room has been replaced with the Labor camp.</Summary> <img width="993" height="950" alt="image" src="https://github.com/user-attachments/assets/446a1677-3f67-4f8e-933e-92a20d22aa36" /> </Details> This also comes with some mechanic changes to icebox labor, given there's no more shuttle: You still teleport people into the labor camp, but when the amount of points have been achieved, you can walk through the point gate rather than needing to fly a shuttle home. ## Why It's Good For The Game The labor shuttle didn't have much of a reason to exist on icebox, you weren't flying anywhere, you were just walking a few steps downwards Integrating it into the perma-brig allows for a more unique labor experience than other maps, and one that fits the setting a bit more ## Changelog 🆑 Melbert add: [Icebox] Security saw a minor remapping, with most notably the removal of the labor shuttle and the integration of the labor camp into the bottom floor of the perma-brig. /🆑 |
||
|
|
5d7fca1675 |
Makes genetics more public (#95931)
## About The Pull Request what it says in the title, i added another way to get in genetics without crossing entire science department for that (or breaking desk lol). ## Why It's Good For The Game ppl really shouldnt walk in 10 rooms just to get their insulatd mutation ## Changelog 🆑 map: Genetics Lab was made less secure and more public on every map, try it out! /🆑 |
||
|
|
21b4095dfd |
[MDB IGNORE] [IDB IGNORE] Upstream Sync - 04/17/2026 (#5453)
Upstream 04/17/2026 fixes https://github.com/Bubberstation/Bubberstation/issues/5549 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com> Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com> Co-authored-by: rageguy505 <54517726+rageguy505@users.noreply.github.com> Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Aliceee2ch <160794176+Aliceee2ch@users.noreply.github.com> Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> Co-authored-by: Tsar-Salat <62388554+Tsar-Salat@users.noreply.github.com> Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Co-authored-by: Maxipat <108554989+Maxipat112@users.noreply.github.com> Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com> Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com> Co-authored-by: loganuk <fakeemail123@aol.com> Co-authored-by: Leland Kemble <70413276+lelandkemble@users.noreply.github.com> Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com> Co-authored-by: Lucy <lucy@absolucy.moe> Co-authored-by: siliconOpossum <138069572+siliconOpossum@users.noreply.github.com> Co-authored-by: Isratosh <Isratosh@hotmail.com> Co-authored-by: TheRyeGuyWhoWillNowDie <70169560+TheRyeGuyWhoWillNowDie@users.noreply.github.com> Co-authored-by: Neocloudy <88008002+Neocloudy@users.noreply.github.com> Co-authored-by: Alexander V. <volas@ya.ru> Co-authored-by: ElGitificador <168473461+ElGitificador@users.noreply.github.com> Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: Cameron Lennox <killer65311@gmail.com> Co-authored-by: Tim <timothymtorres@gmail.com> Co-authored-by: Iamgoofball <iamgoofball@gmail.com> Co-authored-by: Layzu666 <121319428+Layzu666@users.noreply.github.com> Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com> Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> Co-authored-by: mrmanlikesbt <99309552+mrmanlikesbt@users.noreply.github.com> Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: John F. Kennedy <54908920+MacaroniCritter@users.noreply.github.com> Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com> Co-authored-by: Josh <josh.adam.powell@gmail.com> Co-authored-by: Josh Powell <josh.powell@softwire.com> Co-authored-by: Yobrocharlie <Charliemiller5617@gmail.com> Co-authored-by: Hardly3D <66234359+Hardly3D@users.noreply.github.com> Co-authored-by: shayoki <96078776+shayoki@users.noreply.github.com> Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
fa6f5e2b2d | Fixes Icebox boulder processing room being exposed to ice wastes (#95882) | ||
|
|
7763db34a1 |
Basic beepskies and some ED209 additions (#95783)
## About The Pull Request this PR refactors beepskies and ED209s into basic mobs. ive also added a few features for the ed209 because i cant keep my hands to myself: ED bots can now wear hats! a few hats give them some new unique dialogue. Putting a cowboy's hat on an ED will have it acting like a town Sherrif EDs are now rideable when emagged. theyll still be shooting people while ridden. youll also have the ability to charge at people full throttle running them over ive also added a new Nukie variant, purchasable from the uplink. These versions come fitted with an LMG and will patrol the station and shoot all walks of life. If emagged, theyll blow up people with (weaker) rockets (im still working on balancing this). they are rideable but i highly suggest against it; youll be caught in the crossfire. (i understand if ud prefer i atomize this feature) ## Why It's Good For The Game gives some personality to EDs, as well as updating all these bots to the cool new ai system ## Changelog 🆑 refactor: beepskies, and ed209s have been refactored. please report any bugs add: ed209s can now wear hats! some hats give them new dialogue add: emagged ed209s are now rideable! add: added evil versions of the ed209s to the syndie uplink /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
0c91535120 | Arcmining: Chemical Boosting (#95530) | ||
|
|
ed54499828 |
[MDB Ignore] Medical larp: Adds the IDC-27 as an analog to the SDSM-35 for viruses (#95465)
## About The Pull Request Continues the work of #94761 by adding an analog for virus references It contains a majority of viruses - including some that are not-quite-viruses like parrot possession Some are excluded, some are combined into others It also contains all advanced virus symptoms <img width="859" height="509" alt="image" src="https://github.com/user-attachments/assets/c73f56c0-5a11-4643-9a97-1e2a06ade0c1" /> Other changes - Refactored the SDSM to have use a generic "PaginatedBook" component for reuse - Adjusted flavor of all of the diseases - Flu / Spanish Flu and Cold / Cold 9 now properly act as antibodies for one another as implied by cure text ## Why It's Good For The Game Refer to #94761 : De-wikification and larp. This one is a reference to the IDC-11. ## Changelog 🆑 Melbert refactor: Refactored the SDSM-35 to allow for new books of similar styles, report any oddities with it. fix: Fixes the broken image(s) in the SDSM-35. add: Adds the IDC-27 in Medbay, the CMO's office, Virology, and possibly the Library. It's a reference book to all viruses you may experience, similar to the SDSM-35. add: Several diseases/viruses received minor flavor adjustments, primarily to cure text, agent, description, and form. add: Getting cured of the Flu provides immunity to Spanish Flu (and visa versa) as implied in cure text. add: Getting cured of a Cold provides immunity to Cold-9 (and visa versa) as implied in cure text. /🆑 --------- Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> |
||
|
|
14c77736e7 |
Slot Machine DLC - Diversified Debt for Every Department (#95513)
## About The Pull Request This PR takes the improvements from: - #95313 And builds on it quite a bit. Slots now have: - New symbol icons based on SS13 objects instead of Font Awesome icons - Several new slot machine subtypes for every department - New slot machine random spawner that is used to replace all slot machines on all maps - ~~Greyscaled the slot machine sprite and replaced it with GAGs (to color them by department)~~ - New rare trap/hazard abilities depending on symbols (syndiebomb = flashbang, handcuffs = cuff, singulo = shock, etc.) - Syndie slot machine that comes preinstalled in all syndie outposts/nuke bases - Slot machines circuits can be configured with a screwdriver to change the type and emagging results in the syndicate version - Tweaked the pixel offset for the jackpot flashing icon so it is in the correct position - Improved the name generator with more adjectives and nouns for all subtypes (ex. clown slot machine = "Lucky Giggles") - IDs and Department budget cards can be linked as the owner of the slot machine, however NT takes a 40% cut off the profits since jackpots/bonus spins are paid out by NT ##### And yes... there is a clown and mime subtype... honk ## Why It's Good For The Game <img width="1503" height="791" alt="dreamseeker_t8lLODECva" src="https://github.com/user-attachments/assets/597355be-aee0-483a-82a4-7f8d6fa9ae90" /> Better slot machine icons and code. ## Changelog 🆑 add: To help cover budget expenses, NT has redesigned and installed new slot machines that are themed by department. Slot machines can also be linked to bank accounts via ID cards or department budget cards. NT takes a 40% cut of profit to payout major jackpots and bonus spins. Please gamble responsibly. map: Replaced all slot machines with slot machine random spawners. Added syndicate slot machines to Syndicate bases and nuke outposts. /🆑 --------- Co-authored-by: Lucy <lucy@absolucy.moe> |
||
|
|
ef28e00690 |
[MDB Ignore] Refactors gauze, adds Tourniquets (#95041)
## About The Pull Request 1. Refactors gauze Removes gauze var from `/stack`, adds a shared parent between tape and gauze. Behavior of "sticking thing on limb" is now a bit more generic, with there being a component to facilitate it and a framework on `/bodypart` Closes #92990 2. Adds Tourniquets A first aid item, when attached to a limb it reduces blood loss from that limb by 90%. However while attached you walk slower (if on a leg), interact slower (if on a arm), and yes, you rapidly die if you put it on your head Paramedic belts have their starting equipment changed again for the 500th time. Surgical tape -> Tourniquet Bone gel -> Bonesetter <img width="604" height="224" alt="image" src="https://github.com/user-attachments/assets/443dd5c0-44a3-4ccb-9f6a-c561bbf2fba9" /> ## Why It's Good For The Game Adds some more variety for field treatment of bleeding wounds, and in the future we can add things like "improvised tourniquets" or "improvised splints" with wooden planks. ## Changelog 🆑 Melbert add: Adds Tourniquets. While attached to a limb, reduces blood loss from that limb by 90%, but makes you walk / interact slower. (Or if you put it on your head, you die.) add: You can purchase Tourniquets from the premium section of the medical vendor add: Paramedic belt setup has changed yet again: Surgical tape replaced with Tourniquet, Bone gel replaced with Bonesetter. add: You can use all forms of tape as splint - like Gauze. Will secure a fracture but won't stop your blood from exiting. refactor: Refactored gauze entirely, report any strangeness with it (or tape, or tourniquets) /🆑 |
||
|
|
00ccf0c6b5 |
Merge remote-tracking branch 'tgstation/master' into upstream-feb12-2026
# Conflicts: # .github/CODEOWNERS # .github/workflows/compile_changelogs.yml # .github/workflows/stale.yml # SQL/database_changelog.md # _maps/map_files/CatwalkStation/CatwalkStation_2023.dmm # code/__DEFINES/atom_hud.dm # code/__DEFINES/inventory.dm # code/__DEFINES/mobs.dm # code/__DEFINES/species_clothing_paths.dm # code/__DEFINES/subsystems.dm # code/__DEFINES/surgery.dm # code/__HELPERS/global_lists.dm # code/_globalvars/lists/maintenance_loot.dm # code/_globalvars/traits/_traits.dm # code/controllers/subsystem/minor_mapping.dm # code/controllers/subsystem/processing/quirks.dm # code/controllers/subsystem/shuttle.dm # code/datums/components/palette.dm # code/datums/components/surgery_initiator.dm # code/datums/diseases/advance/advance.dm # code/datums/hud.dm # code/datums/mood.dm # code/datums/mutations/chameleon.dm # code/datums/quirks/negative_quirks/nyctophobia.dm # code/datums/status_effects/debuffs/debuffs.dm # code/datums/status_effects/debuffs/drunk.dm # code/datums/status_effects/debuffs/slime/slime_leech.dm # code/datums/weather/weather.dm # code/game/data_huds.dm # code/game/objects/items.dm # code/game/objects/items/devices/scanners/health_analyzer.dm # code/game/objects/items/frog_statue.dm # code/game/objects/items/rcd/RLD.dm # code/game/objects/items/robot/items/hypo.dm # code/game/objects/items/stacks/medical.dm # code/game/objects/items/stacks/wrap.dm # code/game/objects/items/storage/garment.dm # code/game/objects/items/tools/medical/defib.dm # code/game/objects/items/weaponry.dm # code/game/objects/items/weaponry/melee/misc.dm # code/game/objects/structures/crates_lockers/closets/secure/security.dm # code/game/objects/structures/curtains.dm # code/game/objects/structures/dresser.dm # code/game/objects/structures/girders.dm # code/game/objects/structures/maintenance.dm # code/game/objects/structures/mirror.dm # code/modules/admin/greyscale_modify_menu.dm # code/modules/admin/verbs/light_debug.dm # code/modules/antagonists/ashwalker/ashwalker.dm # code/modules/antagonists/heretic/knowledge/starting_lore.dm # code/modules/antagonists/ninja/ninjaDrainAct.dm # code/modules/art/paintings.dm # code/modules/client/preferences.dm # code/modules/client/verbs/ooc.dm # code/modules/clothing/head/wig.dm # code/modules/events/disease_outbreak.dm # code/modules/holodeck/holo_effect.dm # code/modules/jobs/job_types/head_of_security.dm # code/modules/jobs/job_types/security_officer.dm # code/modules/library/skill_learning/generic_skillchips/point.dm # code/modules/mining/lavaland/ash_flora.dm # code/modules/mining/lavaland/mining_loot/megafauna/ash_drake.dm # code/modules/mob/dead/new_player/new_player.dm # code/modules/mob/living/basic/guardian/guardian.dm # code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm # code/modules/mob/living/carbon/carbon.dm # code/modules/mob/living/carbon/human/human.dm # code/modules/mob/living/carbon/human/human_defines.dm # code/modules/mob/living/carbon/life.dm # code/modules/mob/living/living.dm # code/modules/mob/living/living_defines.dm # code/modules/mob/mob.dm # code/modules/mob_spawn/ghost_roles/mining_roles.dm # code/modules/mod/mod_control.dm # code/modules/mod/modules/modules_general.dm # code/modules/modular_computers/computers/item/computer_ui.dm # code/modules/paperwork/paper.dm # code/modules/paperwork/paperbin.dm # code/modules/power/lighting/light.dm # code/modules/projectiles/guns/energy/kinetic_accelerator.dm # code/modules/projectiles/projectile.dm # code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm # code/modules/reagents/chemistry/reagents/food_reagents.dm # code/modules/reagents/chemistry/reagents/other_reagents.dm # code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm # code/modules/research/xenobiology/crossbreeding/_clothing.dm # code/modules/research/xenobiology/crossbreeding/prismatic.dm # code/modules/surgery/advanced/brainwashing.dm # code/modules/surgery/advanced/lobotomy.dm # code/modules/surgery/amputation.dm # code/modules/surgery/blood_filter.dm # code/modules/surgery/bodyparts/_bodyparts.dm # code/modules/surgery/brain_surgery.dm # code/modules/surgery/cavity_implant.dm # code/modules/surgery/coronary_bypass.dm # code/modules/surgery/gastrectomy.dm # code/modules/surgery/healing.dm # code/modules/surgery/limb_augmentation.dm # code/modules/surgery/organ_manipulation.dm # code/modules/surgery/revival.dm # code/modules/surgery/sleeper_protocol.dm # code/modules/surgery/surgery_helpers.dm # code/modules/surgery/surgery_step.dm # code/modules/unit_tests/_unit_tests.dm # code/modules/unit_tests/designs.dm # code/modules/unit_tests/icon_state_worn.dm # code/modules/unit_tests/screenshots/screenshot_antag_icons_cultist.png # code/modules/unit_tests/screenshots/screenshot_antag_icons_headrevolutionary.png # code/modules/unit_tests/screenshots/screenshot_antag_icons_provocateur.png # code/modules/unit_tests/screenshots/screenshot_husk_body.png # code/modules/unit_tests/screenshots/screenshot_husk_body_missing_limbs.png # icons/map_icons/clothing/head/_head.dmi # icons/map_icons/clothing/shoes.dmi # icons/map_icons/items/_item.dmi # icons/mob/huds/hud.dmi # icons/mob/inhands/64x64_lefthand.dmi # icons/mob/inhands/64x64_righthand.dmi # icons/obj/machines/computer.dmi # tgui/packages/tgui/interfaces/OperatingComputer.jsx # tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/MainPage.tsx # tgui/packages/tgui/interfaces/PreferencesMenu/types.ts # tgui/packages/tgui/interfaces/SurgeryInitiator.tsx # tools/icon_cutter/check.py |
||
|
|
5566102824 |
Deletes Icebox engi circuit lab window firelocks (#95054)
## About The Pull Request Deletes firelocks placed within the windows of Icebox's engineering circuit lab, as is standard because if you put firelocks in windows to the outside they will go off and be unfixable at a slight breeze. Also tightens up the piping and cabling there. ## Why It's Good For The Game You shouldn't have to deconstruct firelocks to get alarms to go away ## Changelog 🆑 map: Icebox engineering circuit lab no longer has firelocks placed in the windows /🆑 |
||
|
|
baeb6e4fe2 |
Adds doppler radar towers with an anomaly core "upgrade" (#94893)
## About The Pull Request 1. Adds doppler radar towers to Lavaland and the Icemoon Weather radios now need a doppler radar on the target z-level to get an accurate reading. Without a radar tower, the expected timing of incoming storms will be off by a random factor. Lavaland and the Icemoon both have a few towers mapped into them. The towers themselves can be constructed with plasteel if they some how get destroyed. They also have an in built GPS. Each tower requires a cable connection to function. They need a pretty small amount of power to function. 2. Adds anomalous radar towers Attaching a weather anomaly core to a radar tower results in an anomalous radar tower. <img width="260" height="409" alt="image" src="https://github.com/user-attachments/assets/3430b0aa-0bbc-44df-ae75-67c2c3cca5a6" /> This allows you to cancel ongoing storms **or summon storms yourself**. Each cancellation and summon uses a percentage of the core's charge. After the charge runs dry, the core is destroyed, and the tower goes back to being normal. Yes, you can construct a radar tower on the station to summon storms on the station, *including* rad storms. All storms summoned abide by radstorm rules, meaning maint is safe. Summoning onto the station uses significantly more charge. 3. Limits weather anomaly cores to 5 Because they are charge based and spamming weather events all round would be annoying, slightly lowers the max core count. ## Why It's Good For The Game Weather manipulation seems super appropriate for weather anomaly cores. Initially it was just going to be the machine, but then I thought "what if I want the frame of the machine to be available roundstart on Lavaland to encourage cooperation with miners" and then I thought "what if it tied into the weather radios, which opens up rare sabotage methods" So that's how we got here. The towers exist to facilitate the anomaly use while also allowing enterprising traitors to sabotage, potentially leaving their target unaware in a storm. ## Changelog 🆑 Melbert add: Adds doppler radar towers to Lavaland and the Icemoon. These towers ensure weather radios have accurate readings. add: Adding a weather anomaly core to a radar tower upgrades it, giving you control of weather - allowing you to cancel storms or even spawn a weather event of your choice. However, the core will expire after use, requiring replacement. add: You can construct radar towers with plasteel. Even on the station. Yes, you can summon weather onto the station. balance: Limits weather anomaly cores to 5. /🆑 |
||
|
|
057cb60a96 |
Finishes up the remnants of surprise barricades (#94894)
## About The Pull Request Some full barricades still managed to crop up in places they shouldn't due to unnoticed barricade spawners, these have now been replaced by new crude barricade spawners(so it keeps 20% chance to not be there) where relevant and the maplint has been updated to keep them out of where they don't belong ## Why It's Good For The Game If a door is barricaded it should be visible ## Changelog 🆑 map: The last full wooden barricades on top of dense objects have been excised /🆑 |
||
|
|
f3e48b5c71 |
Adds a Circuit Workshop to engineering department. (#94789)
## About The Pull Request smartkar wanted it, i was bored, so i added it <img width="666" height="277" alt="image" src="https://github.com/user-attachments/assets/ce1d2b6b-8261-4ef5-a793-e73210fbd163" /> TL;DR, every map (except tram, because its modular maintence makes carving out space for a new room difficult, someone else can do that) now has a small extra room in engineering, the circuit workshop, basically, talking with smartkar, engineering can take advantage of circuits better than science can, as they have the tools and the access, but we werent removing sciences lab, so to not be confusing, the engineering circuits is a "Workshop" whereas science circuits is the "Lab". for the most part it was a simple matter to cut into a bit of maint or space to make the room, it doesnt really change the size of the already existing rooms and i tried my best to avoid too much structural changes, (icebox has perhaps the largest change followed by delta) heres what they look like Meta: <img width="700" height="591" alt="image" src="https://github.com/user-attachments/assets/6aa7496a-48ff-44c7-abab-f2a2c4951682" /> Delta: <img width="1056" height="770" alt="image" src="https://github.com/user-attachments/assets/14e9c45e-cf22-4a41-80b0-0ad8f749c735" /> Icebox (I swapped the ladder for proper stairs): <img width="649" height="566" alt="image" src="https://github.com/user-attachments/assets/b264e4e5-117f-4963-82be-b53f7ba823ce" /> <img width="966" height="843" alt="image" src="https://github.com/user-attachments/assets/746fdb5e-dc0e-4713-826f-1c26ceedd57b" /> Catwalk: <img width="973" height="877" alt="image" src="https://github.com/user-attachments/assets/77349c1a-dc0e-456d-8637-35abf9973e2e" /> Wawa: <img width="992" height="708" alt="image" src="https://github.com/user-attachments/assets/17d406e7-bbde-4a18-91c8-92703c5f0074" /> Nebula: <img width="897" height="615" alt="image" src="https://github.com/user-attachments/assets/a5ce7b2b-c6c5-4a65-a3a6-65c8e95a2c03" /> <img width="802" height="662" alt="image" src="https://github.com/user-attachments/assets/83197298-c11d-413f-b9e4-e23cac8d8103" /> ## Why It's Good For The Game as stated above, after speaking with smartkar with a little input from mothblocks and someone else we figure that engineering would utilize circuits better ## Changelog 🆑 Nari Harimoto map: Nanotrasen found the budget to add a small circuit workshop to the engineering department on every station except for tramstation. /🆑 |
||
|
|
d8be8572a0 |
Makes AI sat accesses between upload/minisat more consistent. (#94852)
## About The Pull Request Standardizes the accesses to rooms within and peripheral to AI satellites across maps, with the goal of making it easier to guess which access a door takes. The set of standards I'm operating under & enforcing are laid out as such: - "AI Upload access" is "AI access", IE you get access to the whole sat, especially the most direct route to the AI. - - Several maps have made areas that are pretty explicitly denied from AI upload accesses, that are (dead-end) maintenance areas. These have been kept, as every room that can do it without collateral damage currently does it, but not added, as every room that can do it without collateral damage currently does it. - - "The Whole Sat" does not include telecomms, if telecomms is part of the sat. Telecomms takes telecomms access. - - - This does mean that wawa's AI is directly accessible via tcomms access and a climbing hook. There's simply nothing to be done about it, that's how the room is made. - "Minisat" access is non-sensitive maintenance access. It's what engineers get, and they get it so they can access the air and power. Basically, the assumption made is that minisat access is what its code comment says it is: "...for the small maintenance cubicle some AI satellites may have". This access gets you any of those supplemental areas, but as far as possible from the AI itself. - - Maintenance accesses that lead directly adjacent to the AI room are considered "sensitive", and fall under AI upload access. - - On tramstation, the maintenance cubby is accessible via only a door within the lower floor of the AI's front door, and thus is considered "sensitive" - Both accesses get you teleporter access. Only tram, nebula & wawa don't already have this, and wawa's a special case. Catwalk has not been touched out of fear of the pending large-scale modifications, but oh, it will be. That place uses GENERAL COMMAND access for EVERY DOOR except the one directly into the ai's room. Space Christ. Here's a list of what I personally consider high(er)-impact changes. - Tcomms access will no longer access two doors on tram(which does not have tcomms inside of it) - Delta AI upload requires upload access, not general command - Icebox transit tube accepts minisat access, so you don't have to go outside to get in like some vagrant. - The whole of wawa sat takes upload access. Previously, not a single door but the actual upload doors took upload access, meaning someone with upload but not minisat access(hop) could not access upload. Also, people with minisat but not tcomms access could not use the front elevator door, and had to use the side, because it took ONLY tcomms access for some reason(I think whoever made it initially didn't know you could have multiple accesses on doors) - The aformentioned teleporter accesses on tram, nebula and wawa ## Why It's Good For The Game Consistency, clear standards. You should be able to intuit whether you can open a door, especially given that if you think you can and you can't you're gonna be convulsing on the ground. I think that these standards are reasonable, and simple enough that people will get a feel for it. ## Changelog 🆑 map: AI satellite accesses have been made more consistent across maps. /🆑 |
||
|
|
71a232f03b |
Makes lizard skin and lizardskin items inherit their "donor's" skin color (#94751)
## About The Pull Request As title says, skin butchered from humans (currently only applies to lizardskin) now inherits their owner's skin color, and so do items (lizardskin boots and hats) made from it. Also this PR gagsifies lizardskin hats and boots for this very reason. ## Why It's Good For The Game Consistency, when you butcher a purple lizard you should get purple lizard boots. ## Changelog 🆑 add: Made lizard skin and lizardskin items inherit their "donor's" skin color /🆑 |
||
|
|
45b23412f8 |
[MDB Ignore] Medical larp: Adds the SDSM-35 (an in game brain trauma reference) (#94761)
## About The Pull Request Medbay, the CMO, the Psychologist, (possibly) the Library, and some maint rooms across all maps now have multiple copies of the SDSM-35 This exists as an in game ability to reference what brain traumas do. No special bells or whistles, not even a search bar - it's a book after all. <img width="819" height="589" alt="image" src="https://github.com/user-attachments/assets/ace867b9-a0f0-4302-99f9-46ed4d6fe377" /> <img width="802" height="546" alt="image" src="https://github.com/user-attachments/assets/c96941d3-8da8-48f7-859b-93953fe01473" /> ## Why It's Good For The Game De-wikification: Rather than needing to pull up the wiki to figure out what the brain trauma is doing, you can refer to the in game book and cross reference the patient's behavior. Medial larp: It's a reference to the DSM-5. If that wasn't obvious. ## Changelog 🆑 Melbert add: You can now find the SDMS-35 in Medbay, the CMO's office, the Psychologist's office, and possibly the Library. Quite simply, it's a reference book for all the brain trauma's you may experience. /🆑 |
||
|
|
51635b2bdb |
Removes two ways into science with just maintenance access on Icebox (#94763)
## About The Pull Request Changes the access into the penguin pen(and by extension science general) to science general access, and the access into the ordnance firing room to ordnance access, on icebox. ## Why It's Good For The Game Door into science should require science access ## Changelog 🆑 map: Icebox science now requires science access to enter /🆑 |
||
|
|
7558dc8e4b |
Replaces instances of mapped in normal wooden barricades on top of objects with crude wooden barricades (#94755)
## About The Pull Request We've all seen that thing that happens where you open a door in maintenance, and a large barricade of wood materializes where the door just was. That's not right. The obvious solution would be to make the barricade appear on top of the door beforehand, and while that works in terms of behaviour, it looks really weird: <img width="82" height="82" alt="image" src="https://github.com/user-attachments/assets/e2c170d8-8a3d-4f09-80a4-976c525bed9f" /> and even weirder on objects such as windows & shutters. I suppose that's why you're not able to build them on top of these things in actual gameplay. Instead, this replaces every instance of a mapped-in wooden standard barricade that appears on top of an object (save for one on top of a girder in icebox) with a crude barricade, causing it to both appear on top of the object and look right doing so. Additionally, comes with a linter for big barricades on top of airlocks & windows. ## Why It's Good For The Game It doesn't look weird nor act weird. Even aside from the airlocks, these things are weird with windows, acting like they're inside the glass. Additionally, while this does technically reduce their integrity, increase projectile passing rate & reduce plank drop amount, so I'm labeling it balance out of good faith, the only actual balance implication this has is that the barricade being on top of the door prevents it from being opened via a simple bump, which could and does effect atmos situations, but I'd sooner call that a bugfix than a balance change. ## Changelog 🆑 balance: wooden barricades mapped on top of objects are now crude barricades, preventing them from materializing when you open a door. /🆑 |
||
|
|
36dc39053a |
Medical larp: Adds vitals monitors to medbay (#94704)
## About The Pull Request Adds vitals monitors to medbay <img width="368" height="292" alt="image" src="https://github.com/user-attachments/assets/af32ef4b-5d20-4d9d-bb0d-bec554dd4dbc" /> These are wall mounted monitors that display a patient's state visually: - The doll on the left shows bodypart damage + missing bodyparts - The droplet next to the head shows blood level, from a bright red to a grey - The top bar shows heart rate (an approximation - stops when dead, speeds up in hard crit), as well as overall health - The second to the top shows respiration (stops when not breathing) - Second from the bottom bar shows oxyloss level - Bottom bar shows toxloss level You can **examine** a vitals display to get a condensed health analyzer output to your chat. (This lets the AI see health scans as well) They beep as patient conditions betters or worsens, though I didn't add any sound FX to it (yet), it's just a runechat message. They can link to most machines that accept an occupant - such as cryo cells and stasis beds - as well as operating tables. They are printable in two forms - basic and advanced, the latter requiring tech and does advanced scans on examine, rather than basic scans. The displays are mapped in every surgical theatre, as well as over most stasis beds and by a few cryo cells. ## Why It's Good For The Game I made these to cut down on juggling the health analyzer when trying to determine how a patient is faring. (And also to add to medical larp.) Currently while monitoring a patient's state you have to spam click them with your scanner and fill up your chat. This is cumbersome and distracts you from the rest of chat. The vitals display provides a visual feedback for how a patient is doing, no spam clicking needed unless you need specific details like... organ health. Some other benefits: - AI can now monitor patient health without a shell. - Other doctors don't need to crowd around a patient, they can step back to watch the screen instead. - Visitors don't need to rush in and print an analyzer to see how a patient is doing either. ## Changelog 🆑 Melbert add: Adds vitals monitors, mapped into the medbay treatment center, cryogenics, and every surgical theatre. They act as wall mounted health scanners, providing visual feedback for a patient's health. /🆑 |
||
|
|
3799968eb3 |
feat: new floppy disk sprites; most disks are now under the /item/disk type; adds disk stacking, uqinue styling and wrapping (#94112)
## About The Pull Request Floppy disks received a sprite upgrade, as well as unique wraps: <img width="364" height="150" alt="image" src="https://github.com/user-attachments/assets/0ac433e3-7432-4c06-bec2-aeae00b6852f" /> <img width="786" height="527" alt="image" src="https://github.com/user-attachments/assets/0f36bd0d-0362-4431-8131-49060a2fe348" /> You can now stack floppy disks! They also scatter around when thrown. The video also showcases new styling options with a selection of stickers! You can also write something on the disk instead of selecting an icon: https://github.com/user-attachments/assets/ff0a8542-9d79-4108-ae46-672ca5d620a2 MOST disks now inherit the `/item/disk` type to properly stack and do... stuff. An updatepaths script included. ## Why It's Good For The Game Old school is cool. Stacking disks makes them feel more authentic, while styling allows for more crearivity! ## Changelog 🆑 add: New unique wraps for floppy disks qol: Floppy disks can now be stacked image: New sprites and stickers for floppy disks map: Added and ran an updatepaths script refactor: Most disks are now under the base disk item type /🆑 --------- Co-authored-by: The-Tyrant <tyrantofgaming@gmail.com> |
||
|
|
edea3dab20 |
[MDB IGNORE] Icebox piping and cabling lookover (#94367)
## About The Pull Request Looks over all of Icebox, tweaking pipes and cables to remove unnecessary extra pipes while still keeping them in line with standard placement guidelines, as well as bringing some pipes/cables more in line with standard placement even if it doesn't save on length. Nothing has been moved but pipes and cables. MDB ignore is because almost all of these changes are under floors, so it'd be enormous pictures of three separate z levels with a grand total of two changes visible. Other than just efficient and standardized design, during this sweep a few (actively) gameplay-effecting issues were resolved: A prison air scrubber was placed on layer 4, and was thus disconnected. A vent in left-side AI satellite maintenance was facing the wrong way, and was thus disconnected. A missing pipe to R&D server room caused its vent to be disconnected. A missing set of pipes to Medbay Treatment Center's lower side caused its lower vent and scrubber to be disconnected. A lack of piping to Departures Secpoint caused its vent and scrubber to be disconnected. ## Why It's Good For The Game Nanotrasen will save tens, perhaps even hundreds of credits on station construction, and will certainly transfer that saved money directly into bonuses for their workforce. YOU might even get a raise! Standardized and efficient design, without any drawbacks. Nothing has been compromised for efficiency(aside from what was already compromised prior to this pr. No further compromises were made on top of these existing ones). Solves the issues mentioned above ## Changelog 🆑 map: Several disconnected vents and scrubbers on Icebox have been reconnected /🆑 |
||
|
|
6e9f2ccfc0 |
Merge remote-tracking branch 'tgstation/master' into upstream-12-15
# Conflicts: # .github/workflows/compile_all_maps.yml # .github/workflows/run_integration_tests.yml # _maps/map_files/CatwalkStation/CatwalkStation_2023.dmm # code/_onclick/hud/credits.dm # code/controllers/subsystem/networks/id_access.dm # code/datums/diseases/advance/advance.dm # code/datums/diseases/advance/symptoms/heal.dm # code/game/machinery/doors/door.dm # code/game/objects/structures/crates_lockers/closets/secure/medical.dm # code/game/objects/structures/crates_lockers/closets/secure/security.dm # code/modules/antagonists/malf_ai/malf_ai_modules.dm # code/modules/jobs/job_types/_job.dm # code/modules/loadout/categories/accessories.dm # code/modules/loadout/loadout_helpers.dm # code/modules/loadout/loadout_items.dm # code/modules/loadout/loadout_preference.dm # code/modules/mob/living/silicon/robot/robot_defense.dm # code/modules/mod/mod_theme.dm # code/modules/projectiles/ammunition/energy/laser.dm # code/modules/reagents/reagent_containers/cups/drinks.dm # code/modules/shuttle/mobile_port/variants/supply.dm # code/modules/surgery/organs/internal/eyes/_eyes.dm # code/modules/unit_tests/screenshots/screenshot_antag_icons_heretic.png # icons/hud/screen_full.dmi |
||
|
|
f640a0e972 |
Enhances algorithm for finding an atom mount (#94076)
## About The Pull Request Depends on #94064 for the unit test but offers a better method for finding an atom to mount on - Finding a mount now takes into consideration the objects pixel x & y offsets meaning diagonal mounting is now supported. Gives great flexibility for mappers - If you don't want to use pixel offsets but default back to using the objects direction that behaviour is still preserved. Useful if your object uses directional icon states(lights & cameras for now) AND don't use offsets - If no direction could be specified then as the last resort it defaults back to the objects local turf for mounting ## Changelog 🆑 fix: all mounted objects on tables, fences, windows & walls should fall of correctly when the atom it is placed on is destroyed fix: security telescreen now falls off when their mounted wall is destroyed fix: defib wall mount falls off when their mounted wall is destroyed fix: floor lights are mounted to the ground/catwalk/tram floor they are sitting on meaning destroying it will destroy the light fix: wall mounted plaques now fall off when their mounted wall is destroyed /🆑 |
||
|
|
956eb96a17 |
Adds a power cable from morgue to chemistry on icebox (#94369)
## About The Pull Request Adds a power cable coming out of the top of chemistry(factory, to be clear) that goes to the cable/pipe line to the left of morgue. ## Why It's Good For The Game Currently, morgue is powered by an extremely long single cable that goes almost the whole way around chemlab, which means it is constantly depowered by single mouse bites, due to lacking any redundancy over such a long distance. No other place is depowered by bites as constantly as morgue is, and losing power because of random bites half of icebox rounds isn't very interesting. ## Changelog 🆑 map: Icebox morgue has been given an additional redundant power line /🆑 |
||
|
|
e0827de4b5 |
[MDB Ignore] Unrestricted Airlocks - Door Delays (#94040)
## About The Pull Request This PR adds a change to a pretty prevalent feature that's been around since #66588 (April 28th, 2022). Although it has been controversial to some extent, I believe that it was a good change in principle for reasons I will later get into. For now, this is what the PR does: * All _station_ unrestricted door helpers (e.g. those in maintenance) have been replaced with a subtype that adds a random 2-3 second delay to opening the door, using a new "unrestricted latch" feature. **This does not occur if the user has regular access to that door.** * The unrestricted side will initiate a do_after and plays a distinct small hissing sound (because I presume you're disengaging some hydraulic lever on that side), after which the door will open as players have come to expect. * While you're engaging the lever, you will be resistant to pressure movements as you are presumably holding onto the lever or something. All other movements (e.g. voluntary, being shoved, etc.) will continue to function as expected. * We will statistically tabulate each time someone attempts to use the unrestricted "lever", and every time one successfully occurs. This is just for analysis to see player trends as we have lacked this over the last 3.5 years. Here's a link to the sound I added: https://freesound.org/people/Usernameis1337/sounds/632755, the version in this PR was converted using OGG Vorbis. https://github.com/user-attachments/assets/4167bda4-63b5-4dc0-a7b2-694a9e3d3201 ## Why It's Good For The Game Back in 2022, I was one of the major proponents for adding such a change to the game. This is for a few reasons: * It doesn't really make human sense for a station to have hallways/spaces that you can enter and then just get completely trapped in. The station is a deathtrap because of _who_ is on it, not because it _is_ a death trap. I have always maintained that we should assume that the station is competently made to give the hijinx a much more jarring background. To me, maintenance isn't old sections of a station (although it can have those elements), but vital side pathways in the event of emergencies, like having extra fire stairs in a building. The doors to those fire stairs are always unlocked because they need to ensure that people are able to efflux to save themselves from danger rather than die. * It was easily subvertable anyways. You can easily ask the HoP for maintenance access or AI to let you out of maintenance (although the latter was a bit harder to articulate). I don't find myself agreeing with this as much nowadays but I remember the frustration I felt waiting for minutes for someone to open the door had something occurred for me to have found myself in maintenance. It's simply not fun and doesn't make sense for a station to have this. * I thought that it added a unique element to antagonism. You can't drag someone in maintenance and then have the whole entire subsection of the station be your den. It's important for you to secure your base should you be dragging people in there instead of just always being able to win via dragging. * People tend to forget this point, but it actually did cause a lot _more_ deaths in situations where threats originate outside the station/in maintenance. It was much easier for the killy-stabby mass murderers to ingress into main hallways and get to killing faster. This is why the change felt "equal" in a way. ### Why not remove it outright? I believe that a lot of balance changes over the last 3.5 years (30000 issues ago!) have been weighting for these interactions, and I think removing it all cold-turkey like will cause a huge upturn in deadliness and just not be what players are looking for in the new game loop. To me, this was a vital step in getting more towards 90-minute rounds, and I think we would see a drop in that. I also have those above three reasons that I am still a firm believer in, but I am still interested in seeing what a different system might entail and how that could play out. I added stat gathering so after we get 4-6 weeks of data, we can determine to keep or shelve this feature. I will probably always be on the "blocking" side of removing it outright unless there's some severe data that can convince me (which will probably need it's own test-merged PR, while this is meant to be added into the game right now). ### Why are we changing it? I think not enough people are dying. I played a few rounds yesterday and while a decent chunk of people were dying, I saw a few follies in my original line of thought. Maintenance should be a bit creepier and not auxiliary hallways (in normal circumstances), I already thought we did a really good job of that but I noticed that it wasn't as good as memory served me. I think maintenance should have a little bit more difficulty to navigate (i.e. if you're being chased down by someone and it's taking 2.5 seconds to open, that would be an excellent heart-pounding tension moment) and would overall be more interesting than the status quo. It is a bit sillier to me but some IRL buildings do have to have you hold down the push bar for a few seconds until it disengages, so this is agreeable. I also don't think the unidirectional exit design flow standards are where they were due to drift in application, so this is also a better way to uniformly apply it. ## Changelog 🆑 balance: After noticing it was too easy for animals to crawl through maintenance by abusing the Easy-Exit sensors, Nanotrasen has replaced all unrestricted door sensors (like in maintenance) with a pull-down lever that should take around 2-3 seconds to engage. It has been designed to allow the employee to actuate it despite any pressure differentials within an area. balance: The above change does not apply to select doors in the medical section of the station, which will continue to use the "older" Ready-Exit system. sound: In order to ensure that staff in high-traffic areas don't go bonkers due to this new change, sound dampeners have been installed to prevent the hydraulics from being heard for super long distances. However, they skimped out on the quality for the ones in maintenance... /🆑 FYI Mappers/Tweakers: This PR replaces all station map unres mapping helpers with the new subtype. You are welcome to replace certain doors with the old helper (the base type) to get the old behavior as you see fit, just explain why that behavior is desired in that location. Otherwise, it would be appreciated if we have this new behavior >95% of the time. |
||
|
|
be1f231869 |
Lock R&D console boards by default (#94114)
## About The Pull Request This PR makes all R&D console boards that are either printed or sourced from tech storage start out locked. They can be unlocked by swiping them with an ID that has research access. R&D consoles can also be unlocked with an emag, but doing so will break their comms circuit as well, making all researched nodes broadcast over public comms. You can still emag the console itself after it's been constructed without breaking it in any way, while also silencing announcements instead. (that's definitely a noob trap, but it's out of scope for this PR) The reason why the tech storage board is locked as well is because the goal of this PR is to stop engineers from making R&D consoles, and engineers have access to tech storage. Leaving the board unlocked and moving it to secure tech storage would make engineers break in there every shift. The changelog basically has a FAQ for "Okay, so what do I do instead?", because I know people will be confused about what route they're intended to take when science closes their desk shutters for the umpteenth time this week. ## Why It's Good For The Game Engineering has a habit of making an R&D console every round to bypass having to ask science or a head of staff to research things. Locking the consoles at least makes engineers consider asking science to do science's job. Note that this doesn't solve the issue entirely, it just removes the easiest and most convenient way of bypassing science. Engineers can still break into R&D extremely easily using their wire knowledge, and do so regularly. More importantly though, this might shine some light on the fact that heads of department like the CE have remote access to the research network via their PDAs. This means engineers can ask the CE to research things for them. Asking people with access to the research network to research things is a lot better for roleplay and immersion than having engineering construct R&D consoles every shift. ## Changelog 🆑 balance: R&D console boards sourced from printing or tech storage are now locked by default. It's recommended to ask your respective head of department or the science department to complete research for you. Heads of department can remotely access the research network using their PDAs. /🆑 |
||
|
|
9f7dc7c970 |
[MDB IGNORE] Make /obj/item/stamp abstract, create proper granted stamp subtype (#94139)
## About The Pull Request There is technically an `/obj/item/stamp/granted` in that one traitor objective refers to it and tries to override a proc on it thus making it a valid type, but not really. This changes the base `/obj/item/stamp` from being the granted stamp to being an abstract type, and creates a proper subtype for the granted stamp. ## Why It's Good For The Game Base types being concrete outside of scenarios where its intuitive are very annoying ## Changelog 🆑 code: makes /obj/item/stamp abstract, creates /obj/item/stamp/granted /🆑 |
||
|
|
2424103245 |
Replacing objects with their mapping directional helpers Part 2 (#94181)
## About The Pull Request Continuation of #94059. Replaces the following signs with their directional helpers - `/obj/structure/sign/warning -> /obj/structure/sign/warning/directional` - `/obj/structure/sign/warning/radiation -> /obj/structure/sign/warning/radiation/directional` - `/obj/structure/sign/warning/secure_area -> /obj/structure/sign/warning/secure_area/directional` Depends on #94076 for diagonal wall mounts ## Changelog 🆑 qol: added mapping directional helper for warning, radiation & secure area sign allowing them to interact with fire/acid on their mounted turf qol: adds mapping helper to create diagonally shifted objects /🆑 |
||
|
|
f7bc204bf7 |
Replacing objects with their mapping directional helpers Part 1 (#94059)
## About The Pull Request Improving upon #93662 where i noticed a lot of objects don't have directional helpers Replaces the following mapped in objects with their directional counterpart - `/obj/structure/sign/nanotrasen -> /obj/structure/sign/nanotrasen/directional` less var edits & also more realistic interaction with fire/acid etc if the turf on which they are placed on is attacked which isn't the case if they are directly mounted on walls ## Changelog 🆑 qol: adds mapping directional helper for nanotrasen sign & replaces all var edited instances /🆑 |
||
|
|
39a196824a |
Enhances algorithm for finding an atom mount (#94076)
## About The Pull Request Depends on #94064 for the unit test but offers a better method for finding an atom to mount on - Finding a mount now takes into consideration the objects pixel x & y offsets meaning diagonal mounting is now supported. Gives great flexibility for mappers - If you don't want to use pixel offsets but default back to using the objects direction that behaviour is still preserved. Useful if your object uses directional icon states(lights & cameras for now) AND don't use offsets - If no direction could be specified then as the last resort it defaults back to the objects local turf for mounting ## Changelog 🆑 fix: all mounted objects on tables, fences, windows & walls should fall of correctly when the atom it is placed on is destroyed fix: security telescreen now falls off when their mounted wall is destroyed fix: defib wall mount falls off when their mounted wall is destroyed fix: floor lights are mounted to the ground/catwalk/tram floor they are sitting on meaning destroying it will destroy the light fix: wall mounted plaques now fall off when their mounted wall is destroyed /🆑 |
||
|
|
fc2c3d826e | Reset Maps to TGstation | ||
|
|
baf3837ae8 |
Merge remote-tracking branch 'tgstation/master' into upstream-2025-11-29
# Conflicts: # _maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm # _maps/RandomRuins/SpaceRuins/garbagetruck2.dmm # _maps/map_files/CatwalkStation/CatwalkStation_2023.dmm # _maps/map_files/tramstation/tramstation.dmm # code/_onclick/hud/new_player.dm # code/datums/components/squashable.dm # code/datums/diseases/advance/symptoms/heal.dm # code/datums/diseases/chronic_illness.dm # code/datums/status_effects/buffs.dm # code/datums/status_effects/debuffs/drunk.dm # code/datums/status_effects/debuffs/stamcrit.dm # code/game/machinery/computer/crew.dm # code/game/objects/items/devices/scanners/health_analyzer.dm # code/game/objects/items/wall_mounted.dm # code/game/turfs/closed/indestructible.dm # code/modules/admin/view_variables/filterrific.dm # code/modules/antagonists/heretic/influences.dm # code/modules/cargo/orderconsole.dm # code/modules/client/preferences.dm # code/modules/events/space_vines/vine_mutations.dm # code/modules/mob/dead/new_player/new_player.dm # code/modules/mob/living/carbon/human/death.dm # code/modules/mob/living/carbon/human/species_types/jellypeople.dm # code/modules/mob/living/damage_procs.dm # code/modules/mob/living/living.dm # code/modules/mob_spawn/ghost_roles/mining_roles.dm # code/modules/mob_spawn/mob_spawn.dm # code/modules/projectiles/ammunition/energy/laser.dm # code/modules/projectiles/guns/ballistic/launchers.dm # code/modules/projectiles/guns/energy/laser.dm # code/modules/reagents/chemistry/machinery/chem_dispenser.dm # code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm # code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm # code/modules/reagents/chemistry/reagents/medicine_reagents.dm # code/modules/surgery/healing.dm # code/modules/unit_tests/designs.dm # icons/mob/inhands/items_lefthand.dmi # icons/mob/inhands/items_righthand.dmi # tgui/packages/tgui/interfaces/ChemDispenser.tsx |
||
|
|
81427cd5cf |
Unit tests, refactor & realignment for map loaded wall mounts (#93662)
## About The Pull Request This 1st has to be PR'd so the integration tests can point out all wallmounts that could not find a support structure to mount on. I then will do many map edits to align them onto the closest atom Yes we no longer use wall mount but atom mounted component. All objects that are mounted on windows/tables & fences now also fall off when destroyed It'll probably be a WHILE before I can fix all wall mounts. Long day. Expect me to misalign many stuff to fix failing CI so make sure to provide suggestions when possible Improved wallmount code overall - Fixes #93793 ## Changelog 🆑 fix: fixes all incorrectly maploded wall mounts that aren't actually hanging on any support structure fix: objects mounted on tables, windows & fences also fall off now when destoryed qol: lights can be mounted on windows qol: cameras can be mounted on windows qol: buttons can be mounted on tables refactor: improved how wall mounts interact with objects as a whole report bugs on github /🆑 |
||
|
|
4d9471ee95 |
Fix grilled cheese sandwich never burning [MDB IGNORE] (#93957)
## About The Pull Request `/obj/item/food/sandwich/cheese/grilled` inherited `/obj/item/food/sandwich/cheese`'s `make_grillable()` definition so the product of grilling a grilled cheese sandwich was a grilled cheese sandwich. Repaths grilled cheese to not be a subtype of cheese ## Why It's Good For The Game grilled cheese sandwiches should burn eventually ## Changelog 🆑 fix: fixed grilled cheese sandwich grilling into grilled cheese sandwich /🆑 |
||
|
|
416dea02aa |
[MDB IGNORE] isolates signpost teleporting into new component /datum/component/houlihan_teleport (#93810)
## About The Pull Request Isolates signpost teleport code into a component `/datum/component/houlihan_teleport`, which takes a question argument and a list of zlevels. Removes `/obj/structure/no_effect_signpost` and turns existing mapped-in instances into `/obj/structure/signpost`s Adds/documents/fixes some attack signals that were added to the element ## Jebediah <img width="100%" alt="image" src="https://github.com/user-attachments/assets/b227e5bd-1c93-41b3-b87f-1a559cf81112" /> ## Changelog 🆑 refactor: Signposts have had their code improved internally. Please make an issue if a signpost that should teleport you no longer can. /🆑 |
||
|
|
4c61766121 |
Adds Visitation Shutters Control button to Icebox Security (#93896)
## About The Pull Request Adds a control button for visitation shutters ## Why It's Good For The Game For whatever reason Icebox perma has been missing a shutter control button for a while, now it has one. https://github.com/user-attachments/assets/78f544c7-6e85-4bae-9e33-ae064cad510d ## Changelog 🆑 map: adds visitation shutter control button to icebox perma /🆑 |
||
|
|
71faa643bf | Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-2025-11-12 | ||
|
|
e30b7d97ef |
Add constructable floor lights + mapping subtypes (#93537)
## About The Pull Request Features: - Floor lights can be constructed using a small light fixture on the turf you are standing on - Floor light construction sprites - `/burned` subtypes for lights - Convert `/build` subtypes to `/empty` subtypes with `UpdatePaths` script ## Why It's Good For The Game Floor lights can now be constructed in game using the same mechanics as other lights. The `/burned` and `/empty` subtypes might be useful for mapping. ## Changelog 🆑 add: Add constructable floor lights by using a small light fixture on the floor. They are constructed the same way as other lights. qol: Add `/burned` subtype to `/obj/machinery/light` for mapping shenanigans image: Add floor light construction sprites map: Converted the `/built` subtype for `/obj/machinery/light` to be `/empty` and added an UpdatePaths script. /🆑 --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> |
||
|
|
d0ca474789 | Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-2025-11-05 | ||
|
|
14d2514aa9 |
[MDB IGNORE] Refactors away /area/station/ai_monitored and its subtypes (with bonus neat repathing) (#93704)
## About The Pull Request /area/station/ai_monitored's behaviour was isolated into a component, `/datum/component/monitored_area`, which itself uses `/datum/motion_group`s to query cameras. Functionally, it (should) work identically to the old implementation. I'm sure that behaviour could have been further cleaned up, camera code is quite dreadful, but it's better to focus on isolating the behaviour first. Baby steps. Areas that want to opt into monitoring can set `var/motion_monitored` to TRUE (this approach was taken to make subtyping easier). The following non-AI areas were changed: - /area/station/ai_monitored/security/armory -> /area/station/security/armory - /area/station/ai_monitored/command/nuke_storage -> /area/station/command/vault - /area/station/ai_monitored/command/storage/eva -> /area/station/command/eva All other `/area/station/ai_monitored` subtypes were repathed into `/area/station/ai` and cleaned up in a way that I thought made logical sense. It is **much** more readable now. For example: - /area/station/ai_monitored/turret_protected/aisat -> /area/station/ai/satellite - /area/station/ai_monitored/command/storage/satellite -> /area/station/ai/satellite/maintenance/storage - /area/station/ai_monitored/turret_protected/ai -> /area/station/ai/satellite/chamber |
||
|
|
face687e41 |
General Map QoL Tweaks & Fixes (#93667)
## About The Pull Request below - don't want to clog PR ## Why It's Good For The Game - map: ALL - ensure department maint access consistency for their own respective maints. fixes a lot of maint access oversights. previously departmental maint access was inconsistent and sometimes bias (unintentional). I suppose the reason for the maint access inconsistencies is because it hasn't been thoroughly looked at until now. - map: CATWALK MEDBAY - adds plumbing multitool (oversight - for multi-z plumbing chemical beacons), unbolts upstairs door (arbitrary roadblock for chemists to do their job - gimmick still there), adds unrestricted access helper in medbay lobby for people to leave (queue gimmick still there) <details> <summary>images</summary> <img width="667" height="615" alt="image" src="https://github.com/user-attachments/assets/2eea6d17-61ee-4025-947f-02051ffc97da" /> <img width="1185" height="825" alt="image" src="https://github.com/user-attachments/assets/b1e5f40d-a182-43f2-9cc0-4305512a66e1" /> </details> - map: CATWALK, TRAM, META - syringegun consistency (now total 2). consistency, less confusion. likely oversight - map: CATWALK, ICEBOX - adds shower soap spawn chance - oversight, consistency, on theme - map: NEBULASTATION - add missing unrestricted access helper in medbay - possible oversight. ease of access for cryo patients to leave <details> <summary>image</summary> <img width="800" height="583" alt="image" src="https://github.com/user-attachments/assets/f8613fd8-07ad-4e86-aafa-7a0a70e23d05" /> </details> - map: DELTA - fix auxiliary tool storage access inconsistency. delta auxiliary storage access is different from all other maps. oversight & minimizes confusion - map: ICEBOX - moves syringeguns moved into windoors. syringeguns should be secure items <details> <summary>image</summary> <img width="726" height="907" alt="image" src="https://github.com/user-attachments/assets/46a62fba-5559-43ec-a2f8-e12d60ab3836" /> </details> - map: TRAM - add pharmacy igniters. possible oversight & useful chemist item that appears on all other maps. ## Changelog 🆑 ArchBTW map: ALL - fix departmental maint access consistency map: CATWALK (MEDBAY) - add chemlab multitool, add unrestricted access helper in medbay lobby, unbolt chemlab door map: CATWALK, TRAM, META - syringegun consistency (now total 2) map: CATWALK, ICEBOX - add shower soap spawn chance map: NEBULASTATION - add unrestricted access helpers in medbay map: DELTA - fix auxiliary tool storage access consistency map: ICEBOX - move syringeguns moved into windoors map: TRAM - add pharmacy igniters /🆑 |
||
|
|
4bd11ea2b3 |
Adds a missing fire alarm sanity ignore landmark to icebox (#93644)
## About The Pull Request While testing locally, I have noticed a flaky test on icebox. The central medical maintenance sometimes failed the firelock sanity unity test, caused by an airlock on the atmospherics mulebot dropoff point. Couldn't found if this was caused by the Grille/Trash spawner, or the abandoned airlock spawner (that has a chance to replace the airlock with a wall), but either way, there is a lot of precedent for excluding a chunk of maintenance from this unit test, if it is adjacent to a firelock. The marker has been placed in the following location: <img width="611" height="287" alt="image" src="https://github.com/user-attachments/assets/1e263299-b5b2-4a65-a75f-cb665f633dd5" /> ## Why It's Good For The Game Flaky unit tests are not good. ## Changelog Nothing player facing. |