mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-27 17:41:50 +00:00
dc651ea8e2fa07dc092114b5dcffebc9058fbeeb
2219 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
6b0c26bd9c |
[MIRROR] Converts ore_mined talley into only recording typepaths. (#26957)
* Converts ore_mined talley into only recording typepaths. (#82098) ## About The Pull Request This Pull request makes it so that the blackbox `ore_mined` talley will now only record the mineral stack's typepath as opposed to a 50/50 mix of names and typepaths. ## Why It's Good For The Game Fixes #82042. Logging should be as descriptive as possible while also avoiding the possibility for misunderstanding, so using the typepath for logging on the blackbox is preferred. ## Changelog 🆑 code: Mineral logging now collects ore names more cleanly. /🆑 * Converts ore_mined talley into only recording typepaths. --------- Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> |
||
|
|
5fdf13293f |
[MIRROR] Crushers and PKAs: Coop Upgrades (#26882)
* Crushers and PKAs: Coop Upgrades (#81940) ## About The Pull Request This PR makes 2 changes, one to the crusher and one to the PKA Crushers: Their projectile no longer overrides eachother, so a mob can have the blue bubble from several crushers. Triggering it will only trigger the one that you own, so each player has to go hit the mob to strike. PKA: Fixed the minebot passthrough upgrade, and also adds a human passthrough upgrade. They are incompatible with eachother, so you choose between solo+minebot or coop, which is a compromise I thought as a better alternative to taking mod space (the minebot passthrough currently takes none). This upgrade is available solely at the mining vendor, for 750 points. ## Why It's Good For The Game The new mining has been great, and one thing I love is that it encourages more coop play. Excavating boulders with other miners is much more engaging and has good teamwork in it, and also is a good way to encourage miners to stick together more and even fight megafauna in pairs. This hopes to make that easier to do, because currently having anyone with a crusher is sort of a detriment to the whole team. Either the PKA dude will accidentally shoot the crusher user while they're going in for a melee kill, or 2 crusher users will be constantly erasing the mark of the other. This will hopefully make that aspect better, and make mining with friends a little better. ## Changelog 🆑 balance: Crusher marks no longer overwrite eachother, fauna can have one from each crusher. balance: Ash drake's crusher trophy no longer affects people the same faction as you (like hiero trophy), so you won't friendly fire people with it. add: Added a new upgrade: Human Passthrough. You can shoot your PKA without having to worry about friendly fire with this, for 750 mining points at your mining vendor. fix: Minebot passthrough upgrade now properly makes PKAs pass through minebots. /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> * Crushers and PKAs: Coop Upgrades --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> |
||
|
|
e5bae97fc8 |
[MIRROR] Gulag boulder mining adjustments (#26867)
* Gulag boulder mining adjustments (#81971) ## About The Pull Request This PR does two fairly simple things. Firstly, it triples the gulag point value of every material except glass. Secondly, it allows mining skill increases to effect the speed of boulder breaking and reduce the stamina "exertion" you take. I tried this out personally on Lavaland and Icebox and while this is very much dependent on RNG (and storm timing) this got earning 1000 points purely from mining and smashing boulders down to _about_ ten minutes of work, which I believe is the rough estimate of how much effort it was before that. It may skew a bit higher than that if the ash storm happens at a bad time or the game gives you predominantly iron, but not a _lot_ higher. The mining skill = faster smashing thing is... barely perceptible after ten minutes of mining to be honest but it's saving _some_ time and I think if it gives you the exp it might as well benefit from it too. I didn't do anything for _glass_ because you can just pick that up off the ground in Lavaland and I didn't want to make _that_ the ideal route to getting your sentence finished. ## Why It's Good For The Game Since ArcMining was merged, the gulag has changed to a system primarily about digging up boulders and smashing them with a pickaxe for random rewards. I think the chain gang thing is pretty flavourful, but the inability to just target high-value materials (because you could see them on the mining scanner) and the overall decrease in output has made it take a lot longer to get a similar amount of points. People are sending prisoners out to mine for 1000 points of materials assuming this is about 10 minutes work, when in reality it was more like 30-35 minutes. Longer on Lavaland, where you need to take breaks for ash storms. This was not an intentional "nerf" to prisoner miners and should hopefully bring it back down to somewhere closer to the previous level. ## Changelog 🆑 balance: All materials except glass are now worth more gulag points than before. balance: Mining skill decreases the time it takes to break boulders, and makes it less tiring. /🆑 * Gulag boulder mining adjustments --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
3b134f2e85 |
Missingmirrors (#26743)
* [NO GBP] Extremely tiny stupid nitpick changes to the smoking room ruin (#81767) ## About The Pull Request Ok so this just does some really really tiny changes to the smoking room of the smoking room ruin. I added this way back during march mapness and have always wanted to touch up this last area. These are basically just touch-ups that are two years too late because they felt so insignificant and small that making an entire PR to change them felt excessive. I still feel that way but I'm also a perfectionist and this would linger in my head until the day I die. Anyways, there should be slightly less awkwardly placed spawners, decals blocked from view. You also have to walk past the smoky remains to reach the second special lighter, instead of the first. That's it, that's everything. You don't even get screenshots here. Sorry. ## Why It's Good For The Game I have an obsession with revisiting and completing old, unfinished work. ## Changelog 🆑 Rhials fix: Some tiny tiny changes to the smoking room ruin to make it a little less ugly. /🆑 * Tram tile/bench fixes (#81798) ## About The Pull Request - Tram benches can be rebuilt after deconstruction - Tram tiles build the correct amount inhand - Tram tiles available in the engineering protolathe with other items - Tram tiles create the right stack type when pulled up - Tram tiles have inhand/obj icons for both types ## Changelog 🆑 LT3 fix: Tram floor tiles constructed inhand provides 4 instead of 1 fix: Tram floor tiles provide correct stack item when pulled up image: Tram floor tiles have their own inhand icons qol: Tram floor tiles available in the engineering protolathe fix: You can reconstruct deconstructed tram benches /🆑 * Tram icon cleanup (#81797) ## About The Pull Request - Deletes an unused tram_wall.dmi - Renames tram frame to tram girder - Tram girder looks like girder, not lattice  ## Why It's Good For The Game More straightforward for players. Since it acts like a girder, it should look like a girder not a lattice. ## Changelog 🆑 LT3 image: Tram frame is now tram girder, because it acts like one /🆑 * Autotucking On Map Load (#81782) ## About The Pull Request Doesn't really do much currently but without it wallening beds look fuckin DUMB Plus I think this better matches what is intended ## Why It's Good For The Game  --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> Co-authored-by: san7890 <the@san7890.com> * Makes Ethereal Charging Loop Just About Everywhere (#81775) ## About The Pull Request Basically, For APCs.  For recharging APCs.  For recharging from cells. The Ethereal offscreen was blue, you'll just have to trust me that this was a color-coded PR.  ## Why It's Good For The Game It's kind of CBT as-is right now to have to click this stuff over and over, especially when light tubes have it that much more convenient than everything else. I figure some while loops would make the situation better for them. ## Changelog 🆑 qol: Ethereal charging now loops when they're charging (from) APCs or from power cells! /🆑 * Lots of description changes and grammar fixes for heretics (#81761) ## About The Pull Request Changes a lot of text. Apart from grammar fixes, here are the notable changes: - Ash jaunt description just said it is a "short range jaunt" without explaining what exactly a jaunt is. I believe it is better to describe without comparing to another spell the player may not have experience with. - Cosmic grasp now explains what the deal is with star marks and cosmic fields. It is still possible to crosspath into a star mark spell, skipping this description, but I assume a player like that is experienced enough to know what the star mark does anyway... - The knowledge for ash spirits no longer refers to them as "Ash Men" - "Ash Spirit" is the mob's actual name. If you think "Ash Man" is a better name, I can change it around so that the mob gets renamed that instead. - Removes the lines from paradoxical curio's description about causing brain damage on examination - many heretic items cause adverse effects to heathens who try to interact with them, and there is never a need to clutter the description with them. - Changes the eldritch coin description, because the old one was, in my opinion, awkward. I changed it to be more inline with the other items' descriptions, and to not tell non-heretics what its purpose is. If you liked the old one better, I can revert this change. ## Why It's Good For The Game Grammar good. Accurate descriptions good. ## Changelog 🆑 fix: made some heretic descriptions more accurate spellcheck: improved english of the heretical eldritch patrons /🆑 * Makes Medbay surgery on Metastation a bit more inline with other maps (#81786) ## About The Pull Request Makes it so paramedics can't access the surgery theater in Metastation ## Why It's Good For The Game Paramedics can't access surgery on the other maps, and can't use the front door to the surgery theater, They shouldn't have access to it through maints ## Changelog 🆑 fix: Makes Metastation surgery access more consistent with other maps /🆑 --------- Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com> Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Nerevar <12636964+Nerev4r@users.noreply.github.com> Co-authored-by: ViktorKoL <44502667+ViktorKoL@users.noreply.github.com> Co-authored-by: starrm4nn <139372157+starrm4nn@users.noreply.github.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> |
||
|
|
f8b87b994b |
[MIRROR] Overlay Lighting Color/Intensity Pass (#26825)
Overlay Lighting Color/Intensity Pass Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> |
||
|
|
571fd77b39 |
[MIRROR] Minor cleanup for machine frames & boulder machines (#26810)
* Minor cleanup for machine frames & boulder machines (#81706) ## About The Pull Request - Moves call to `update_appearance(UPDATE_ICON_STATE)` to `/obj/structure/frame/Initialize()` for both computer & machine frames cause both do that anyway - Fixes wrench screentip for machine frames - Screw driving an incomplete machine frame won't display the "you need to unsecure it first" along with "missing components" balloon alerts - Moved boulder refinery code to `item_interaction()` - Autodoc some golem procs for refineries - Gives the secured machine frame an icon state of `box_1` so it looks wired in the rcd menu as well - Fixes screentips(like wrench act) for boulder machines ## Changelog 🆑 fix: fixes toolact screentips & balloon alerts for boulder machines & machine frame /🆑 * Minor cleanup for machine frames & boulder machines --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> |
||
|
|
9079534cf1 |
[MIRROR] Use a common list for acceptable silo materials (#26817)
* Use a common list for acceptable silo materials (#81790) ## About The Pull Request This list containing the same material values was copy pasted all over. It's already cached in the subsystem so let's just use that. Renamed ore category into silo category. ## Changelog 🆑 code: Use a common list for acceptable silo materials for some stuff. Renamed ore category into silo category. /🆑 * Use a common list for acceptable silo materials --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> |
||
|
|
2dc0bd272a |
[MIRROR] fix ore vents spawning the wrong wolves and remove simple wolves (#26791)
* fix ore vents spawning the wrong wolves and remove simple wolves (#81864) ## About The Pull Request wolves got refactored but the ore vents were still spawning the old versions, this fixes it and removes the old wolves from the code ## Why It's Good For The Game fixes ore vents spawning old wolves ## Changelog 🆑 fix: fixes ore vent spawned wolves being untammable /🆑 * fix ore vents spawning the wrong wolves and remove simple wolves --------- Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> |
||
|
|
755a3be445 |
[MIRROR] Boulder refineries can process golems (#26777)
* Boulder refineries can process golems (#81849) ## About The Pull Request Golems (if lying down) can enter (and be processed by) boulder refineries. ## Why It's Good For The Game Rocks are rocks ## Changelog 🆑 Melbert add: Boulder refineries and smelters can refine Golems. /🆑 --------- Co-authored-by: jimmyl <70376633+mc-oofert@ users.noreply.github.com> * Boulder refineries can process golems --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: jimmyl <70376633+mc-oofert@ users.noreply.github.com> |
||
|
|
f05ef9688d |
[MIRROR] Fixes mining cyborg ore scanner shutting off when stored. (#26615)
* Fixes mining cyborg ore scanner shutting off when stored. (#81604) * Fixes mining cyborg ore scanner shutting off when stored. --------- Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com> |
||
|
|
677afadade |
[MIRROR] General maintenance for all things boulder related. (#26557)
* General maintenance for all things boulder related. (#81358) ## About The Pull Request **1. Qol** - Adds screen tips & examines for screwdriver & crowbar acts on BRM, Refinery & Smelter - Adds examines to display number of boulders stored inside a refinery & maximum number of boulders it can hold. Right click screentip to remove boulders - Adds examines to display maximum number of boulders than can be teleported by a BRM & screentips for interacting with wires - More audio & visual feedback for refinery processing. If a boulder requires multiple steps you will get a balloon alert saying "crushing" for refineries & "smelting" for smelters along with a sound per process tick(which is every 2 seconds so no need for cooldown) giving you a better idea of what's happening in the pipeline - BRM now will display all lights when the "Automatic boulder retrieval" is on & turn off the lights when disabled along with examines giving you a visual indicator of its state **2. Code Improvements** - Splits types of boulders into its own file `boulder_types.dm` for easy maintainability - Moves beacon for refinery machines into its own file `boulder_processing/beacon.dm` for easy maintainability - Moves the cooldown for processing a boulder `processing_cooldown` into the refinery machine itself. Since 100's of boulders can be created per round this var can take up memory quickly so by moving them into the refinery machine it gives us some savings - Compressed & merged procs such as `create_mineral_contents()` , `flavour_boulder()` etc with the vent code. These procs were only used by the vent 1 time & by merging the code we removed if conditions to check if a parent vent was passed or not(since now that's always the case). Helped in removing boilder plate code **3. Fixes** - **Fixes vents always spawning "Small size boulders" & not medium, nor large boulders.** Once a vent generates a boulder it calls `flavour_boulder()` |
||
|
|
5f75f23458 |
[MIRROR] Monster cores work while resting (#26577)
* Monster cores work while resting (#81548) ## About The Pull Request Currently to use items like the regenerative core, you can either attack yourself (or someone else), or use Z to use the item in-hand, unless you are lying down in which case you have to specifically click, and can't use in-hand. It's kinda dumb and this has been an issue I had since I've started playing, and today I thought "wait why did I just never fix it then?", so now I am. ## Why It's Good For The Game Mostly explained in the about section, you can already use cores while resting, this just means you can't use Z instead of having to click on your character sprite. ## Changelog 🆑 fix: Regenerative cores (and other monster organs) now work when using it in-hand while resting. /🆑 * Monster cores work while resting --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> |
||
|
|
806f038524 |
[MIRROR] Refactors how machines are deconstructed (#26466)
* Refactors how machines are deconstructed (#81291) ## About The Pull Request This refactors how machines are deconstructed in the following ways - You can no longer override `obj/machinery/deconstruct()`. If you want customized behaviour then override `on_deconstruction()` instead. This comes with the added benifit of no longer needing to check for the `NO_DECONSTRUCTION` flag because the machine base proc does that for us & if it finds that flag it won't proceed to call `on_deconstruction()` meaning no machine will have a chance to spawn anything which is the current behaviour. This is required to make #81290 work for all machines at least so that machine can send the `COMSIG_OBJ_DECONSTRUCT` signal without subtypes overriding & forgetting to call the parent proc - `dump_contents()` only gets called when the machine is deconstructed not destroyed thus not leaving behind any of its contents inside. Fixes https://github.com/tgstation/tgstation/pull/81290#issuecomment-1925752583 ## Changelog 🆑 fix: machines that should not drop contents when deleted no longer do. refactor: refactors how machines are deconstructed. report bugs on github. /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> * Refactors how machines are deconstructed * is this it? --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> |
||
|
|
67e6d25e8d |
[MIRROR] deathmatch (#26556)
* deathmatch (#81444) ## About The Pull Request  adds a deathmatch minigame, a port and slightly redone version of the aetherstation deathmatch (by TheChosenEvilOne) the goal is to kill everyone else with loadouts ## Why It's Good For The Game CTF sucks and this is probably better to filter out the bloodthirsty terry players anyway ## Changelog 🆑 add: deathmatch minigame /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com> * deathmatch --------- Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com> |
||
|
|
faf5f25531 |
[MIRROR] General maintenance for ore box (#26526)
* General maintenance for ore box (#81459) ## About The Pull Request **1. Qol** - Adds examines & screentips for crowbar, ore & boulder insertion - Empty button of ore box greys out when the box is empty **2. Code** - Cleaned up `dump_box_contents()` proc. It was doing way too much excessive checking for if the box or its contents was deleted & was setting the plane of the ore when dropped onto the turf via tick check? Just completely unnecessary - Removed `type` when sending ui data, use the `id` provided by the ui instead. Boulders & ores are wrapped up in the same `materials` list & we use only 1 for loop when checking for content types - Corrected return value of `crowbar_act` - `attack_hand()` & `attack_robot()` are unnecessary because `ui_interact()` covers both cases **3. Spellcheck** - Corrected description & ui notice of ore box to specify it can carry boulders as well ## Changelog 🆑 qol: adds examines & screentips for ore box code: cleans up some procs for ore box spellcheck: corrected description & ui notice of ore box to specify it can hold boulders too /🆑 * General maintenance for ore box --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> |
||
|
|
4a0653bf54 |
[MIRROR] Fix lag when viewing ore silo long logs list (#26491)
* Fix lag when viewing ore silo long logs list (#81232)  ## About The Pull Request - Logs tab is now using a virtual list that renders only visible components, thus preventing lag when logs list grows too long. More about it [here](https://github.com/tgstation/tgstation/pull/81016#issuecomment-1921765723). - Minor tweaks to Ore Silo UI to account for new backend changes and TG style guide. ## Changelog 🆑 fix: Separated logs list into pages in ore silo UI, thus fixing lag when logs list grows too long. /🆑 * Fix lag when viewing ore silo long logs list --------- Co-authored-by: Interception&? <137328283+intercepti0n@users.noreply.github.com> |
||
|
|
4f53ec2660 |
[MIRROR] Fixes complex lights not handling moving well, renames lighting defines (#26484)
* Fixes complex lights not handling moving well, renames lighting defines (#81423) ## About The Pull Request [Fixes static lights not moving]( |
||
|
|
dbe4320378 |
[MIRROR] Mining Bluespace Survival Capsule's "Stand back!" alert now actually has meaning (#26454)
* Mining Bluespace Survival Capsule's "Stand back!" alert now actually has meaning (#81193) ## About The Pull Request - Standing in range of a Bluespace Survival Capsule being deployed will now toss you away from the deployed location of the pod, to roughly 2 tiles away. ## Why It's Good For The Game I always found it weird (and a little misleading) that triggering a survival capsule alerts people to "Stand back!", but it's actually harmless to stand on top of it and even smart in some contexts since you phase into it like nothing happened. So I added the missing flavor. This also has some potential shenanigans involving antagging, as you can time it perfectly so that you toss it just in time to throw people away from it. Note: The Luxury Elite pod is so large, that even after being thrown away, you may still end up inside the pod by the time it deploys, but I think that's funny. So. ## Changelog 🆑 Melbert add: Shaft Miner's Bluespace Survival Capsules will now throw people away from it when it deploys. Be sure to heed the warning to "Stand back". /🆑 * Mining Bluespace Survival Capsule's "Stand back!" alert now actually has meaning --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
9779f6f925 |
[MIRROR] [MDB IGNORE] Adds a map lint against using dir-var and icon-var edited windoors (#26407)
* [MDB IGNORE] Adds a map lint against using dir-var and icon-var edited windoors (#81272) ## About The Pull Request Title. Another big updatepaths PR thats been on my radar for awhile. The dir banned var edit is self explanatory. However, I banned icon_state from them as well as there are a big handful of windoors that are either regular, and look like security doors, OR are their mirrored counter part (a south right door var edited to look like a south left door). ## Why It's Good For The Game Avoid mapping sins like this  ## Changelog N/A to players * [MDB IGNORE] Adds a map lint against using dir-var and icon-var edited windoors * 1 * bs kilo * rest * 3 --------- Co-authored-by: Jolly <70232195+Jolly-66@users.noreply.github.com> Co-authored-by: Zergspower <Griffinj88@yahoo.com> |
||
|
|
138d1324b8 |
[MIRROR] Comprehensive cleanup of storage datum, replaces the weakrefs with just refs (because they were managed already) (#26357)
* Comprehensive cleanup of storage datum, replaces the weakrefs with just refs (because they were managed already) * fixes --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: jjpark-kb <mccorvey.norman@gmail.com> |
||
|
|
602ac52e9d |
[MIRROR] Fixes ore vents spawning without ores on icebox, sets up map specific ore configurations (#26375)
* Fixes ore vents spawning without ores on icebox, sets up map specific ore configurations (#81103) ## About The Pull Request In short, we used a static list previously within the ore_generation subsystem that held the amount of each ore that we expected a single map to uniformly need. We held this number constant, since we were spawning 15 vents per map. **Pros:** This worked flawlessly for Lavaland since 15 vents on a single Z level makes it pretty densely packed map with a good amount of map-based ore spawns, and it worked consistently. **Cons:** 15 vents did not work well on Icebox however, even when split so that the majority of the ores were spawning on the lower levels, players did not feel like icebox spawned nearly enough ores and reported the map spawning empty. **Result:** As a result, we adjusted the ratio, so that we spawned vastly more ores on the lower levels, now up to 4 vents on the upper level, and 21 vents on the lower level. However, as we were still using the ore distribution list based on lavaland, icebox vents were quickly running out of ores to distribute between them, resulting in empty vents -> which produced empty boulders -> which not only don't really let you process them properly, but also just result in a metric ton of runtimes. Icebox now has it's own list of ore distributions. These distributions are now moved to a set of global lists as opposed to being saved on the subsystem as a static list, which will make going and setting up new ore distribution lists very very easy. Additionally, we've moved the setting and getting of those ore_distributions over to the seedRuins proc, so that we're actually setting the list of ores right before we actually place them to make sure that the order that it's set is roughly as it's needed, while still setting the list at the same time the map-appropriate ruin placements are dropped in. **Plus some misc cleanup fixes:** `var/list/ore_vent_sizes` in SSore_generation wasn't being treated as a similar budget list as `ore_vent_minerals`, since it `pick()`s off it's own static size list. Which is honestly fine for this five seconds, I can handle that later while we make sure the rest of the code code is stable. In the meantime, I've just tweak it so that it's easy to see at a glance how many of each random vent has spawned into the map. Tweaked the description to not include anything about chemical processing, as I'm planning on hitting on that in a part 2 PR that I'll be picking back up after the freeze. ## Why It's Good For The Game Cleans up the code a bit, but primarily fixes ores not spawning on icebox as they should. Should fix #81058. Improves description to not mention mechanics that aren't in game. Also, cleans up a piece of code that currently isn't serving much of a purpose. ## Changelog 🆑 fix: Icebox should have it's ore distribution and it's ore vents fixed, so that vents should now produce ore. spellcheck: Boulder processing machines now don't mention things they don't do. /🆑 * Fixes ore vents spawning without ores on icebox, sets up map specific ore configurations --------- Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> |
||
|
|
72c993a302 |
hybridizing mining + more (#26214)
* hybridizing mining + more * fix icebox --------- Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> |
||
|
|
b291faa368 |
[MIRROR] Replaces /obj:: -> parent_type:: (#26284)
* Replaces `/obj::` -> `parent_type::` (#81146) ## About The Pull Request This just seemed like a minor error with the new syntax that popped up: The intent of these seem to be "take our obj flags and add `NO_DECONSTRUCTION` to it", which was perfectly serviceable in a majority of places, as the parent type had the same obj flags as `/obj`. But in a small handfull of places (such as any table subtypes) this was not the case, and it caused some objects to have missing flags that they were otherwise intended(?) to inherit. So I replaced `/obj::` with `parent_type::` meaning rather than using the base obj flags and then adding `NO_DECONSTRUCTION`, they use their parent type's obj flags and then add `NO_DECONSTRUCTION`. ## Changelog 🆑 Melbert fix: You can build on some niche tables again, such as the Wabbajack Altar. /🆑 * Replaces `/obj::` -> `parent_type::` --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
aa9dbf7456 |
[MIRROR] Fix runtime from triggering rush organ via goliath grab (#26255)
* Fix runtime from triggering rush organ via goliath grab (#81101) ## About The Pull Request `trigger_organ_action`'s first and only argument is trigger flags to pass to `Trigger` The first argument if signals is the datum sending the signal  ## Changelog 🆑 Melbert fix: Rush Gland now triggers correctly on being grabbed by a Goliath /🆑 * Fix runtime from triggering rush organ via goliath grab --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
8acec9f433 |
[MIRROR] General maintainence for Ore Silo (#26241)
* General maintainence for Ore Silo (#81016) ## About The Pull Request 1. **Qol**(Hopefully not an issue for feature freeze) - Adds Screen tips & examines for screwdriver, crowbar & multitool acts - Examining ore silo will now display its stored materials - Location name is attached to the machine name and it greys out when pausing the machine to make it more noticable that it is paused - Made window wider 2. **Code Improvements** - Auto docs procs & vars for ore silo log entry - Fixed return values of all tool acts i.e. no more returning `TRUE/FALSE` but the actual item interaction flags - UI no longer computes `REF` for each machine which is expensive but instead uses the index value in the list - Moved global variables to their corresponding files - Ore silo no longer starts processing round start. That proc just ended itself anyway so why even bother registering 3. **Fixes** - If a machine was disconnected via the ore silo UI, attempting to reconnect that machine would cause a runtime at `RegisterSignal` in `multitool_act` because it was already registered in `Initialize`. It now unregisters the signal when disconnecting so that's fixed - Each machine element in the UI does not have a unique key because it used `key={machine.name}`. This meant after disconnecting a machine the UI buttons would get grouped together and the pause & disconnect buttons would not function properly. Now it uses `index` which is unique thus fixing that problem ## Changelog 🆑 qol: added more screen tips & examines for ore silo, made UI wider, attach location name to each machine & grey out paused machines to make it more noticeable. code: auto docs proc & vars for silo log entry. Fixed return values of all tool acts fix: ore silo UI now functions correctly after removing an entry from the UI fix: no runtimes when connecting a machine to silo that was previously disconnected via the ore silo UI /🆑 * General maintainence for Ore Silo --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> |
||
|
|
e56e5b5f66 |
[MIRROR] New Processing Unit UI (#26237)
* New Processing Unit UI (#81029) Made a new TGUI for Ore Processing Unit, removed all `updateUsrDialog` calls. * New Processing Unit UI --------- Co-authored-by: Interception&? <137328283+intercepti0n@users.noreply.github.com> |
||
|
|
46bf09daeb |
[MIRROR] Fixes boulder processing mining point gain. (#26228)
* Fixes boulder processing mining point gain. (#81067) ## About The Pull Request Due to a misplaced multiplier, arcmining machines were eating their own point totals. Now, the refinery and smelter should correctly only take the MINING_POINT_MACHINE_MULTIPLIER define on the amount being added to the points held, not on the total resting in the machine. ## Why It's Good For The Game Simple, easy fix. Fixes #81057. ## Changelog 🆑 fix: The smelter and refinery now properly hold mining points, only taking a small amount out of net gained points. /🆑 --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@ users.noreply.github.com> * Fixes boulder processing mining point gain. --------- Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Co-authored-by: SyncIt21 <110812394+SyncIt21@ users.noreply.github.com> |
||
|
|
0109138754 |
[MIRROR] Fixes runtime when mineral scanning (#26226)
* Fixes runtime when mineral scanning (#81049) ## About The Pull Request Fixes this  ## Changelog 🆑 fix: fixes runtime when mineral scanning, passes right argument for scanner in golem eyes /🆑 * Fixes runtime when mineral scanning --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> |
||
|
|
5543a44882 |
[MIRROR] ArcMining Pr Beta: Version 1.2 (#26205)
ArcMining Pr Beta: Version 1.2 (#78524) This one's not like the last one, so much so that I'm not even going to outsource the PR description to a robot this time! Basically, **You should read the PR body before assuming that everything is the same as last time. It's not.** Click the link below to see a video summary of the main features of this pull request. https://youtu.be/Aho2omR0mjY?feature=shared This pull request serves as a large rework of minerals produced by mining, and by extension mining itself. I'll try and list each change and it's associated nuance here. The biggest addition to the game with ArcMining is **Ore Vents**. Ore vents spawn as a ruin on the map, placing a randomized ore vent onto map generation. Ore vents spawn in 3 different sizes, **Small, Medium, and Large**. These vents will pick from a pool of materials they can generate, and will hang out across the map. A player can use a mining scanner to discover an ore vent, granting a small quantity of **mining points** to begin with. Once scanned, ore vents will show what minerals that ore vent will generate after they're fully tapped. Scanning the vent again will trigger the extraction process. A small drone will fly down, called the NODE drone, and buckle onto the vent. Your job during wave defense is to protect the drone and to defeat waves of randomly spawning mobs (dependent on if you're on lavaland or on icebox). The quantity, duration, and time between waves is scaled to the size of the vent you're protecting. Starting by scanning and protecting lower tier vents earlier in the shift is a safer bet than doing a large vent in the first few minutes. The drone has 500 health, and can take a good few hits, but leaving it alone will cause it to meet an unfortunate end quite quickly. Cooperation can be your best asset, as mining with allies can greatly help with wave defense, and mineral points are granted to anyone who helps with defending the ore vent equally (So 500 * size tier, regardless of how much help you receive). Once complete, the ore vent will have a mining machine constructed on top of it, and will start to dredge up **Boulders** from the earth automatically. More on boulders later. Ore vents can be located based on your mining scanner, and will provide an appropriate audio cue based on if the ore vent has been discovered or not, and once processed will no longer alert you to it's presence. **Each station comes with a free vent that produces exclusively iron and glass, free of charge.** This is to help with shifts where the station may not have shaft miners to produce minerals, and to provide the station with a baseline amount of minerals where none may exist otherwise. Mineral generation has been completely reworked. Previously, Mineral Generation had a flat 13% spawn rate in-game. Once minerals spawned, they would also have a chance to propagate their minerals to nearby tiles, resulting in a rather massive pool of minerals that could spawn throughout lavaland on the whole. This tweaks that, by making minerals in walls spawn based on their proximity to ore vents on maps that use cave generation. Both the probability, and quantity of ores spawning in walls is scaled based on distance, with ore vents looking like large caches of ores found in walls. This makes following ores found in walls and checking their quantity of minerals spawned a good indicator of how close you are to a nearby vent in-round. This means you can collect some points form both discovering ore vents first, as well as collecting their surrounding ores, turn those in for mining points, and then trading them in for gear upgrades to more effectively take on ore vents. As a result of tweaking the balance of this, the total amount of ores spawned in walls overall has been decreased. However, by making more of the process time based, we still result in a mostly balanced finished product. On station, there are now three new machines. These are the BRM, the Refinery, and the Smelter. - The BRM acts as a teleporter. Instead of needing to carry boulders back to the station, you can activate the BRM, and it will automatically pick boulders to teleport back to itself. You can use this to teleport boulders dredged up from lavaland onto the station for processing. **The BRM will only lock on to boulders that are resting on an ore vent.** Moving boulders back by hand will mean you'll have to haul it back by hand. - The refinery processes the non-metallic materials out of boulders. This process sends the materials straight to the ORM, and collects mining points from the ores smelted in the machine. Swiping with an ID card lets you withdraw those points for your own personal account, but remember that these points are for your whole team to share from. The **Mining points obtained from this process is only 75% of the amount an equivalent amount of ores would provide.** - The smelter works nearly identically, however the smelter produces metallic materials out of boulders instead. - Once a boulder has had all of it's materials extracted, it's broken down and deleted from the line. Otherwise, the boulder is spat out for the next machine to process it (either the refinery or smelter). - Once there's no minerals left in a boulder of any type, the refinery or smelter will break the boulder down. - Boulders **do not stack onto tiles with each other**, so they'll block each other when pulled or when moving on a conveyor belt. Boulders can also be processed by hand. Using a mining tool on a boulder with right click will allow you to break down a boulder into it's composite ores, but limits you to a maximum of 10 ore per boulder, where the full amount can be extracted using the proper processing machines. Also, processing by hand does deal small amounts of stamina damage over time, do breaking a full large boulder can be particularly taxing. Additional Boulder Processing Machines can be built, with the BRM board being obtained from the Protolathe, while the Smelter and Refinery boards being obtainable from the Autolathe instead. A _boulder processing beacon_ can also be obtained from the mining points vendor as a reward to assist with boulder processing. Boulder processing beacons can be used to spawn in a new BRM, refinery, and smelter on the tile the user is standing on, however **you'll still need to link them to the ORM**! All three machines can be upgraded with Stock Parts, allowing for **more boulders to be processed at a time**. It does not, however, increase the amount of minerals received from boulders, or points earned. Mining borgs have been given some minor adjustments to compensate for the changes to mining. Their mineral scanner, which now has an active component to gameplay, is now a module as opposed to built into the mob. This module allows for the same ability to discover and start waves of monsters to fight. Mining modules will find that their PKA now has a total of 90% mod capacity as compared to the 80% they had before, to allow for more robust defense of ore vents. In addition, all borgs and AIs can interact with the BRM for boulder collection. Mining Mechs have had their utility tweaked as a result of these changes as well. Mineral scanners to be used on mining mechs now have a larger radius by comparison to their handheld cousins. Similarly, it now has an active scanning button, which will actively discovery nearby ore vents. To begin wave defense, you will need to hop out and scan a second time however, so that you can properly accept the risks of drawing a horde of bloodthirsty wildlife towards you and your companions. Mechs can also manually process boulders, similar to mining tools using their drill. Golems, being more gentle and less aggressive than humans, while being made out of LITERAL ROCKS, have a greater need to secure access to ores and minerals to eat. As such, they have adapted to be able to do two new things: - Golems may now right click ore vents to be able to manually haul a boulder out of the vent. This costs a hefty amount of stamina, but it allows for golems to avoid combat during regular gameplay. - Golems may now left click a boulder with an open hand in order to manually process a boulder like a pickaxe. While not faster, it is consistent and prevents golems from starving if they have access to a vent, but no ores, somehow. The labor camp, being a camp for rehabilitation and ~~excessive manual labor~~ has been tweaked. Boulders now replace the random minerals located on their island, and to acquire their prizes inside, much be excavated and then broken out of the rock. Now YOU TOO can excavate minerals and become a true mineral hero by working your way to freedom. As a result of fewer mining points being available across the map due to the new ore spawning mechanics, and the shift in how and when ores will be coming in, almost every progress based mining point cost has been reduced by around 10-20%. Many numbers are still subject to change at present, but the idea is that core progress unlocks should be made a bit more available earlier in the round before players can start to solo or duo larger or more difficult ore vents, after which they'll be rolling in ores. Every once in awhile, an unusual boulder will get hauled up from the mineral rich depths of lavaland. These **Artifact boulders** can occasionally produce rare items, but for now they've mostly just been pulling up **Strange objects** for science. Nanotrasen Natural Sciences department will reward you extra points to be collected by boulder processing machines for successfully extracting one. In the future, this opens up a passive reward space that mining can reward to the station, like providing cytology DNA samples, ancient seeds, or other artifacts. - Boulders can be stored in all varieties of ore boxes (ground, mech) should you choose, however as mentioned it's best to leave them where they spawn and teleport them to the station for convenience. - Maps that are not subject to cave generation will find that they are largely untouched in terms of mineral balance. - Future or existing ruins can now be tweaked to have a mineral balance cost, as the ore vent ruin does. This will allow us to spawn in more interesting ruins for pre-made combat challenges. - There are unique ore vents that spawn across the map, that will summon a boss mob relevant to that map. If the boss mob is defeated, that vent will spawn large boulders pulling from every possible ore type that can spawn. Not for the faint of heart! - Similarly, the number of ore vents and mineral budget is now adjustable in the cave generation procs, so maps may spawn with more or less ore vents as desired for balance. - Artifact boulders opens up a LOT of room for possible future content like archaeology, xenoarch, artisci, and other design spaces! - Megafauna STILL SPAWN ON THE MAP. They just happen to spawn in addition to boss ore vents. - **I'll add more to this as I get asked questions and remember things, this is a huge PR and I'm confident I've missed at least something** I outlined a lot of this in #78040, so I'll try and keep this relatively snappy this time, while noting that I've made some concessions to make the whole system a lot more playable while not trying to break out design decisions that are at the end of the day, better for the game and the overall resource balance in round. Minerals are a very poorly balanced system, and have been since their inception many years ago. We heavily rely on mineral balance in round, and yet we've really only balanced it by introducing so much supply that there's no equivalent exchange for materials that doesn't just heavily flood the exchanged material. For example, items printed from materials that are otherwise considered "rare" on master exist in such quantities and they'll never practically run out in our allotted 90 minute time slot design. This PR adjusts how ores spawn to a point where we can minimize the amount of ores that need to exist on the map for mining to be able to progress, while still providing enough resources for the station that it covers the needs of the station adequately. Miners will need to be more strategic about what resources they've collected, and be able to make decisions about which vents are worth the risk of attempting to fight, how to prepare for a wave defense, and when to head back up for upgrades, while finally giving them at least some kind of incentive to work together and use different equipment. Resonators make cleaning up the caves around vent easy, sandbags set up easy defenses for your vent, mechs can serve as a wider range radar while mining, all while still providing a new gameplay loop to mining. By limiting the amount of ores that can enter the round from the massive, massive amounts that were coming into the round beforehand (see gameplay to the processing of minerals. I have some plans for that, however this PR already got bloated really REALLY badly due to scope creep and the number of intersecting systems that rammed into each other to make this PR possible. So that'll be next. Plus, as I've mentioned, we open up places for ore processing to find fossils, relics, and other things that can implemented down the line. Overall, I don't expect this PR to save or kill ore balance, but we gain a LOT more control over it through the use of our mining defines attached to this PR, and at the end of the day, that's a great place to start off of. 🆑 add: Added ore vents. Scanning them with mining scanners shows what minerals they contain. Scan again to fight off a horde of beasts as your drone assistant excavates the vent, so the ore vent will produce mineral boulders! bal: Ores that spawn in walls now spawn based on their proximity to ore vents, with their chance to spawn and their minerals contained scaling from low to high. add: Added the BRM, Refinery, and Smelter. These pieces of equipment are used to process ore boulders into minerals for the station. Stock Part upgrades allow more boulders to be processed at one time. They collect mining points as well, to be redeemed with an ID card swipe. add: Boulders are teleported to the station via the BRM if left untouched. Boulders can also be cracked open for a reduced amount of ore using pickaxes or golems hands. add: All stations come equipt with a pre-excavated ore vent, which produces a basic supply of iron and glass only. Scan other vents for your critical resources! add: Look there's a shit ton of changes on mining, for more detail check out the Pull Request: https://github.com/tgstation/tgstation/pull/78524. sound: New sounds and noises for your high octane factorio-like gameplay! image: All new boulder sprites for the new minerals and rocks added to the mining gameplay loop, as well as mining machines! image: Overlays appear over vents when scanned to let you know their contents at a glance when actively scanned with any mining scanners. /🆑 --------- Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
20857c7595 |
[MIRROR] New Ore Silo UI [MDB IGNORE] (#26152)
* New Ore Silo UI (#80975)  ## About The Pull Request Made a new UI for Ore Silo, tweaked `MaterialAccessBar` component a bit to properly display pop-ups over “wrapped” elements and actually wrap. ## Why It's Good For The Game Ore Silo is one of the last machines that use browser on TG, we're almost there! Also, it helps @ JohnFulpWillard to bring https://hackmd.io/XLt5MoRvRxuhFbwtk4VAUA HackMD document to a closure. ## Changelog 🆑 refactor: Refactored Ore Silo Ui. /🆑 * New Ore Silo UI --------- Co-authored-by: Interception&? <137328283+intercepti0n@users.noreply.github.com> |
||
|
|
4670976b98 |
[MIRROR] Fixes every instance of 'kenetic' in the codebase [MDB IGNORE] (#26008)
* Fixes every instance of 'kenetic' in the codebase (#80782) ## About The Pull Request There were several instances of this being misspelled as 'kenetic' rather than kinetic. This fixes that. ## Why It's Good For The Game oughe ## Changelog 🆑 spellcheck: Corrects every misspelled 'kenetic' in the codebase. /🆑 * Fixes every instance of 'kenetic' in the codebase --------- Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> |
||
|
|
c3bb222d26 |
[MIRROR] Some Processing improvements [MDB IGNORE] (#25944)
* Some Processing improvements (#80693) ## About The Pull Request Got the idea from #80682. A lot of parent procs don't do anything, some are just formatted in a bad way, and others early return and do no ops, it's bad in general but this should give us a head start. Some good overhead saved here * Some Processing improvements --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> |
||
|
|
8eeca186df |
[MIRROR] Cleans up some extra args in Destroy() [MDB IGNORE] (#25907)
* Cleans up some extra args in Destroy() (#80642) ## About The Pull Request After https://github.com/tgstation/tgstation/pull/80628, these shouldn't be needed anymore right? ## Why It's Good For The Game Cleans up some vestigial code ## Changelog EDIT: Not player-facing. * Cleans up some extra args in Destroy() --------- Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com> |
||
|
|
99bf83f35d |
[MIRROR] Fixes for mat container & ORM [MDB IGNORE] (#25885)
* Fixes for mat container & ORM (#80573) ## About The Pull Request - Fixes #80559 1) The ORM now hooks onto the local container only if off station. The ui act if statement was also messed up but that's fixed now too. 2) Creates a dedicated signal for items inserted into the silo for clarity & uses the helper proc defined inside remote materials for inserting items so we don't have to specify the `context` manually. 3) Properly updates the auto Doc for the container signal defines ## Changelog 🆑 fix: Off station ORM's can redeem points again. /🆑 * Fixes for mat container & ORM --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> |
||
|
|
33d7bdecc2 |
[MIRROR] Removes material breakdown flags, traits & miscellaneous fixes. [MDB IGNORE] (#25836)
* Removes material breakdown flags, traits & miscellaneous fixes. (#80389) ## About The Pull Request 1. Removes material breakdown flags i.e. all flags with the format `BREAKDOWN_XXX`. These flags do nothing, there are no special checks to transform materials based on these flags, they are passed around just because certain procs require them for syntax purposes only. Apparently there were plans to make these flags do something special from the comment |
||
|
|
49daf536b5 |
[MIRROR] [BOUNTY] Re-adds Contractors [MDB IGNORE] (#25094)
* [BOUNTY] Re-adds Contractors * I hate copy pasted overrides so much. BEGONE * Fixes the merge conflict. It's still not gonna work, too many proc redefinition * The sheer amount of overrides * This is hell * remove modular copy of spawn_contractor_partner * part 2 of spawn_contractor_partner oops * un-duplicate create_contracts proc * Remove duplicate contract generate and finish_enter * something to make the linter stop crying * Receiving * removes our contractor stuff in favour of parity * Update SyndicateContractor.tsx --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com> Co-authored-by: Funce <funce.973@gmail.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> |
||
|
|
b79167c173 |
[MIRROR] Organ movement refactor *Un-nullspaces your organs* [MDB IGNORE] (#25530)
* Organ movement refactor *Un-nullspaces your organs* * Fix conflicts I checked the conflicts on the two weird conflicts and no previous TG pr touches them i assume its just github being github because those shoulden't be conflicts *shrug * Fix #1 uhh...this is going to be a long one * Fix #2 Modular Movement Flags * Fix #3 It builds now * Fix #4 Oh god it builds now, I missed some things * Fix #5 No more Runtimesplosion Now time for Synths * Update nightmare_organs.dm * on_mob_insert * https://github.com/Skyrat-SS13/Skyrat-tg/pull/25664 * https://github.com/Skyrat-SS13/Skyrat-tg/pull/25685 * https://github.com/Skyrat-SS13/Skyrat-tg/pull/25582 * https://github.com/Skyrat-SS13/Skyrat-tg/pull/25686 * bro the fucking brain does not go into the chest. * seriously? undocumented code causing shit. if it breaks ghouls, so be it. --------- Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> Co-authored-by: SomeRandomOwl <somerandomowl@ratchtnet.com> Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> |
||
|
|
7c0d50e65d |
[MIRROR] Alien nests and some other stuf can be hit again. [MDB IGNORE] (#25736)
* Alien nests and some other stuf can be hit again. (#80418) ## About The Pull Request Another small issue fixed. Thanks Melbert for telling us what's wrong with it. EDIT: other objects were rendered unhittable by that flags refactor PR. ## Why It's Good For The Game Fixes #80311. I made the xmas tree indestructible because the comment to the `NO_DECONSTRUCTION` flag didn't make a load of sense since that doesn't stop it from getting destroyed anyway. ## Changelog 🆑 MrMelbert, Ghommie fix: Alien nests, and some other stuff, can be physically attacked again. balance: x-mas trees (the ones with presents), are indestructibles. Truly protected by a yuletide spirit. /🆑 * Alien nests and some other stuf can be hit again. --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
dd80cef2da |
[MIRROR] Fire Alarm Lights (Lit version) (Also lumin cleanup) [MDB IGNORE] (#25677)
* Fire Alarm Lights (Lit version) (Also lumin cleanup) (#80384) ## About The Pull Request [Removes redundant uses of luminosity]( |
||
|
|
a3d68fcfb0 |
[MIRROR] Mat container related refactors & patches [MDB IGNORE] (#25611)
* Mat container related refactors & patches (#80164) ## About The Pull Request **1. Mat container `user_insert()` tweaks** - Mat container will now skip over an item & its contents if that item cannot be processed (not suitable for redemption or not an allowed type) this is not only realistic(if an item has an tough outer shell you can't crush it to access its contents) but also saves us computation time as we can skip over contents quickly - Mat container now properly respects the `MATCONTAINER_SILENT` flag - You can now hit machines like autolathe, protolathe etc with iron sheets (or any other material item type those machines accept) when in combat mode rather than inserting them because it makes sense - Mat container now has much reduced chat spam as it will sum up all the items inserted, and the material collected rather than displaying them individually.  Much improved readability and overall faster as we do much less `to_chat()` calls **2. ORM Tweaks** - Fixes https://github.com/Skyrat-SS13/Skyrat-tg/issues/25329 . ORM now generates points correctly always, regardless of how the ore is inserted be it - Via hand - Thrown at the ORM - Ore Box - Some other bag containing ore Points will always be generated at a common proc so no more checking every inlet on how the ore enters the machine. Once the silo receives the material it will inform the ORM about it, so it does not have to check itself therefore reducing code bloat. ## Changelog 🆑 fix: ORM will generate points regardless of how the ore enters it. fix: Machines like autolathe, techfab etc can now be hit with iron sheets (or any other material item type those machines accept) when in combat mode rather than inserting them because it makes sense. fix: Mat container won't display chats fully if the `MATCONTAINER_SILENT` flag is passed. refactor: Machines like autolathe, techfab etc now display summed up material inserts to chats rather than each item individually. Also, will skip items & its contents if it cannot be processed thus saving time /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com> * Mat container related refactors & patches --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com> |
||
|
|
2fa469566c |
[MIRROR] Balance changes to swords, energy shields and modsuit shields. [MDB IGNORE] (#25531)
* Balance changes to swords, energy shields and modsuit shields. (#80072) ## About The Pull Request ### Sword Weaponry Mundane sword weapons of all sorts do not block ``LEAP_ATTACK`` attacks whatsoever. These attacks include tackles, xeno tackles and bodythrows. Energy swords and double energy swords only gain 25% block probability against such attacks. ### Double Energy Sword No longer grants outright energy projectile immunity while employed. Instead, it just has a high probability of reflecting (the typical 75% to block any other attack). So, very solid defense against energy projectiles, but not immunity. Against non-reflectable projectiles, like ballistics or nanite bullets, the desword only has 50% block, similar to an energy sword. To compensate for the loss of defensive power, we'll make it all the more rewarding for getting on top of someone with the sword by giving it 40 force while active. And also it costs 13 TC. ### Combat Energy Shield This also lost outright energy projectile immunity, but gained the standard blocking power of shields on top of the ability to reflect energy projectiles when they block them. This significantly increases the shields potential effectiveness while no longer pigeonholing the shield to only energy weapons. (This makes them exceptionally good against tackles and body throws, by the by). Deathsquads still have the perfect deflection energy shield so that they can continue to spam pulse shots with impunity. ### MODsuit Shield Module Only has one charge instead of three, but it recharges in half the time. This is no longer such a perfect defense, and does somewhat need you to be thinking about how you're utilizing the shield rather than not thinking about defense at all by barreling forward under three potential hits worth of protection. Also much cheaper, at almost half price of 8 TC. Because of how cheap it is (and how much it still is necessary to keep you alive), I've put it into the core equipment box (which brings the price up to 22 TC. As a reminder, this is not meant to be at any discount, and is more aimed towards teaching newer players which items contribute towards success. If you don't want all the times within, don't buy this box, just buy what you want separately.) ## Why It's Good For The Game This is a doozy of an explanation, I hope you're ready for it under the spoiler. <details> With my tackling and bodythrow prs, numerous people expressed exasperation at the fact that these two tools may have been keeping some outlier antagonist gear from becoming too easy to steamroll with if you already knew what you were doing. My intent was to create consistent rules and behaviours that both A) did not rely on bugs to keep the balance of power from tipping one way or the other, and B) was at least consistent or had consistent rules established. This PR is tackling overperforming gear combinations for already competent nukies that may have, over time, crept out of control, and applying some consistency to the rules around similar equipment. AND also deals with quite possibly the most braindead element of game design we've tolerated for about a decade, and half a decade after it was necessary to maintain that decision. Part of the culprit of this issue is that, specifically in regards to nukies, crew can't use the vast majority of their weapons effectively against them. This largely is because this antagonist can gain immunities to those types of equipment. And that is rapidly increasing as we move closer towards outright ballistic removal. I don't think the game is made healthier by everyone on the station having to fight armed mercenaries with spears, and doesn't make much thematic sense either. More so, most greener players probably just don't know this is how it works, and so surprise Pikachu when their lasers bounce off nukies harmlessly. (This bit reminds me of the problem of new players using disablers against simple mobs) But of course, that isn't the only part of the problem. The other half is due to being able to be layered on a much more broad defensive tool in the form of the MODsuit Shield Module, whose three charges could render the mindful nukie near untouchable if they're pairing it with some other layered defense, such as a desword. Notice that this doesn't really address armor. The culprit is negation, and not mitigation, and we should be sparing in how easily we hand out outright effect negation simply because it isn't super obvious to a new player why it happened, and how to resolve it. At the very least, we should look to find ways to add options for players to overcome these problems. Especially with teamwork. Energy projectile immunity made sense while there floated around an energy projectile that ostensibly would down you in a single shot. Nukies ALSO had projectile weapons that worked much the same (c-20r stun bullets, taser shot bulldogs, etc.), so it was predominantly tit-for-tat. These immunity granting equipment pieces forced crew members to get shotguns and ballistic guns to fight these dangers; something more available at the time. We've exercised large bits and pieces of this from the game a long time ago, but we still have some remnants convinced we're still in a taser-rich, ballistic available environment. We need to move the games languishing tools into the modern era and re-established their place in the game. Namely, the double-energy sword and the combat energy shield are almost entirely unchanged besides refactors for the last decade or so, even while the game around them have changed. They've been a continuous sore point for me in all my time developing and a constant nagging issue. I want to deal with it now. MODsuit Shield Module is just kind of really good and only made stronger the more defenses you have. It's good to have a defense like this, but I think it is too brain dead. With only one charge, it will save you from a lost joust here and there, but it won't make it as simple as running right at every problem you encounter and eating a volley of attacks while you kill someone with impunity. **With regards to traitors**, since they also get double-energy swords; I'm open to suggestions if this is hitting them far too hard, but I'm not terribly concerned using this weapon for a few reasons. **Firstly**, I think their presence amongst the crew make it a much better weapon for tots than nukies (in isolation) simply because they can find ways to exploit it via tools they gather from the station. It is a force multiplier. Traitors also have a much bigger element of surprise usually. **Secondly**, round-start traitors typically grow to be a bit stronger over time, but I don't foresee many waiting to pay for the double-energy sword unless they're already flush with TC. So if a traitor is in a position after they've unlocked access to it to buy one of these, they are probably doing pretty okay for themselves. </details> ### TL;DR Defense stacking and attack immunities are not particularly healthy things to both design around, or experience in-game. They are kind of just relics of the past made only sorer once I ripped off a few bandaids. This is a source of a number of symptomatic issues in the game, so let's fix that and make it easier on all of us going forward. Much of the way these things worked operated on extremely outdated design considerations. It doesn't make sense for them to work like this today, and only makes things harder by keeping the status quo. ## Changelog 🆑 balance: Mundane sword-like and medieval weapons are not able to block tackles, xenomorph tackles and body throws. balance: The double-energy sword and energy sword have trouble blocking physical projectiles, body throws and tackles. balance: The double-energy sword also no longer has guaranteed energy projectile deflection; only doing so on a successful block (75% chance to block). balance: But it does have 40 force now, so it is more lethal a weapon. Traitors can purchase the sword for only 13 TC (down from 16 TC). balance: The combat energy shield (The one you hold) now functions as a normal shield (it used to only protect you against energy projectiles and nothing else). It loses guaranteed energy projectile deflection, but still reflects the projectile so on a block. feature: Death commandos continue to have their energy shields deflect all incoming energy projectiles. Because who cares about deathsquads being balanced? balance: The MODsuit shield module only has one charge, but recharges every 10 seconds. It also costs 8 TC (down from 15). It is also now in the Core Gear beginner box (bringing the total price up to 22 TC). /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> * Balance changes to swords, energy shields and modsuit shields. --------- Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> |
||
|
|
d143f17ccd |
[MIRROR] "Security Implant" rework, prisoner management console updates [MDB IGNORE] (#25525)
* "Security Implant" rework, prisoner management console updates * Fix conflicts --------- Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com> Co-authored-by: SomeRandomOwl <somerandomowl@ratchtnet.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
3658c80e57 |
[MIRROR] Explodes device.dmi [MDB IGNORE] (#25523)
* Explodes device.dmi * Demodularize these * Update traitordevices.dm * Update traitordevices.dm * Modularizes hypnotic flash * Modular dmi repath * Modular dmi repath --------- Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
b15b16976a |
[MIRROR] Attack chain refactoring: Broadening tool_act into item_interact, moving some item interactions to... atom/item_interact / item/interact_with_atom [MDB IGNORE] (#25516)
* Attack chain refactoring: Broadening `tool_act` into `item_interact`, moving some item interactions to... `atom/item_interact` / `item/interact_with_atom`
* Patches up merge skew (#80197)
## About The Pull Request
Yeah #79968 (
|
||
|
|
41ea46d5f2 |
[MIRROR] Scopes NODECONSTRUCT_1 from flags_1 to obj_flags [MDB IGNORE] (#25496)
* Scopes `NODECONSTRUCT_1` from `flags_1` to `obj_flags` * Update bitfields.dm * Modular * Update rack.dm --------- Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
958f44f041 |
[MIRROR] Replaces unused xeno "weed extract" item in abandoned crates with, well, weed [MDB IGNORE] (#25478)
* Replaces unused xeno "weed extract" item in abandoned crates with, well, weed (#80157) ## About The Pull Request Rather than granting you an otherwise-entirely unused "weed extract" item on a rare 1% roll, an abandoned crate will now give you a random assortment of cannabis seeds and samples. ## Why It's Good For The Game Getting an unusable do-nothing item as a reward is kinda lame, this is at least smokable. ## Changelog 🆑 Melbert qol: Replaces unused xeno weed extract item in abandoned crates with a random assortment of cannabis. /🆑 * Replaces unused xeno "weed extract" item in abandoned crates with, well, weed * Merge --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
d303f090bb |
Primitive storage 2: food and flower boogaloo (#25377)
* Add files via upload * Add files via upload * Update storage_structures.dm * Update sheet_types.dm * Update ash_flora.dm * Update storage_structures.dm |
||
|
|
4c01e3f805 |
[MIRROR] Demotes the "electrical conductivity" flag from flags_1 to obj_flags [MDB IGNORE] (#25381)
* Demotes the "electrical conductivity" flag from `flags_1` to `obj_flags` (#80033) ## About The Pull Request Code to handle this flag only ever existed on the `/obj` sublevel, so there's no need for it to be on the `/atom` level `flags_1`. There was probably a point in time in which mobs or turfs conducted electricity but there's zero code for it anymore so we truly just live in a society now. ## Why It's Good For The Game Frees up a slot on `flags_1` (which is really nice actually), proper scoping of certain bitflag stuff, etc. ## Changelog Not relevant to players. I may have screwed something up, will be doing a few passes on this myself to ensure all the search and replaces went alright but we should be good™️ * Demotes the "electrical conductivity" flag from `flags_1` to `obj_flags` * Modular * Update misc.dm --------- Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
3d074e7ede |
[MIRROR] Standing on structures such as crates, tables and bed will now look like it. [MDB IGNORE] (#25324)
* Standing on structures such as crates, tables and bed will now look like it. * Update deployable.dm * Makes this modular --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
df23153c79 |
[MIRROR] New closets [MDB IGNORE] (#25167)
* New closets * Grammar checks every closet that spawns on a station. (#73331) All closets now are called either closets, lockers, wardrobes etc. (e.g. the lethal injections locker was previously called "lethal injections") Head of staff and the cook's locker are no longer proper nouns, it didn't make much grammatical sense and it keeps consistency with other lockers (Example: detective's cabinet) All locker names de-capitalized except the Thunderdome ones since those made sense. The empty freezer is now just called a freezer since it being empty or not depends on what players and mappers do to it. Tram now has evidence lockers labelled from 1 through 7 instead of 7 evidence lockers labelled as 1. Changes have been made to all station maps and in code, I've not gone through all ruins, away missions, etc. Cleans up a lot of minor name issues. 🆑 spellcheck: All station closet and lockers have had their naming conventions standardized. fix: Tram now has evidence lockers labelled 1 through 7 instead of 7 evidence lockers labelled as locker 1. /🆑 * Removed Duplicates, Modularized Overrides. * Added Base States, Removed Unused Icons * Icon states * Fix wall closets to not fail CI --------- Co-authored-by: Andrew <mt.forspam@gmail.com> Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com> Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com> |