mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-14 03:32:00 +00:00
c080b83c41c5a6fb30eb519449e8365200b51ee4
2459 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
ab3cac746e |
Herculean/Atlas implants get a few additional BOULDER/Equipment related benefits. Boulders are more robust. Natural Athletics gains. (#87469)
## About The Pull Request Herculean/Atlas spinal implants allow you to break boulders to process them manually. Doing so also grants athletics experience. They also increase the speed at which you throw objects, and also increase the range further. The Atlas version also allows you to reduce equipment movespeed penalties. (Fikou wanted me to do this for specifically modsuits, but I don't see any reason this can't apply to more than that, modsuits are just generally the slowest equipment you could wear) Boulders have 30 throw force, are by default HUGE, but have no throw range at all and really weak tk throw range. You need a throwing booster to throw boulders around. (They do extra damage to SPECIAL mobs, like lavaland bosses, because it's funny to kill a god-like being with a huge rock while slow as shit) You naturally get athletics experience by doing some actions. Fireman carrying, climbing tables/crates, climbing rope and climbing ladders give you a slow and steady stream of experience. Rope gives a larger amount if only because the process for doing so is destructive in some way (you have to get more climbing rope eventually, so there is an associated cost). Spinal implants now improve climbing speed for climbing over objects. ## Why It's Good For The Game I just had this strange compulsion to make the spinal implant make you good at throwing boulders at lethal speeds. It already has some cool rock-based special effects around you. Having mastery over rock throwing just kind of made sense. Additionally, I thought it would be a funny method for someone to be able to kill a boss via way of thrown boulders. Or some hapless nuclear operative unprepared for a bunch of assistants lobbing boulders at them. Additionally, I also think it letting you break boulders for ore is a fairly minor but fun addition. Pull boulders out of the vents, smash them. Good work out. Particularly for miners. I talked a while ago with I think Jacq about adding some natural methods for accumulating athletics experience over the course of a round that doesn't involve the dedicated weight lifting machinery/boxing bag. I thought any method for doing that should probably be relatively slow and definitely nonviable for significant athletics gains beyond novice level. Mooost people will hit novice on a multi-z map if they go up and down ladders enough. Or climb a lot of tables/crates. The results aren't going to have much noticeable impact, however, as you only gain appreciable benefits above novice. Probably just greater visibility of fitness in a round. (Rather nice for the RD, who gets to show off how swole they are more regularly). <details> <summary>Spoiler warning</summary>  </details> ## Changelog 🆑 balance: Herculean/Atlas spinal implants make you better at climbing tables, throw objects much faster and throw them much further. You can also break boulders with your bare hands. balance: Atlas implants let you offset the weight of worn/carried equipment (like boulders). balance: Boulders have no throw range, but if you can throw them via throwing range boosters (such as the spinal implant), they deal fairly large amounts of damage. Especially to powerful mobs like lavlaand bosses. balance: You naturally gain a small amount of athletics experience doing some tasks, such as climbing rope, ladders and tables/crates, fireman carrying, or smashing open boulders. /🆑 |
||
|
|
56d037bfd4 |
Adds new station map Nebulastation (#84826)
## About The Pull Request Adds a completely brand new multi-z station map "NebulaStation". New areas and few exclusive map shuttles (ferry, mining, arrival, evac, cargo) Few example screenshots       And more... ## Why It's Good For The Game New maps are always good for the game ## Changelog 🆑 Kiko add: Nebulastation, new station map /🆑 |
||
|
|
476d7dfa2f |
mining resonator clips to belt slot (#87471)
## About The Pull Request mining resonator clips to belt slot. ## Why It's Good For The Game its a belt-like toolcore itempunk. a total oversight it never did. it fits in mining belts!! ## Changelog 🆑 qol: mining resonator clips to belt slot /🆑 |
||
|
|
e343629e67 |
[NO GBP] Adds back and suit storage sprites to the kinetic crusher reskins (#87555)
## About The Pull Request Adds sprites for when the kinetic crusher's reskins are in the player's back slot and suit storage slot. Additionally, ensures those spots update when the kit is applied.  ## Why It's Good For The Game Fixes #87473 (and it really should have had those sprites to begin with, my bad) ## Changelog 🆑 fix: Retooled kinetic crushers now have proper sprites for when they're on your back or in your suit storage. /🆑 Quick sidenote: I don't think the update_held_items proc is working in this file and I have no idea why. Anyone able to help? |
||
|
|
2b755b3822 |
Where them peaches at? // a.k.a Service Cyborg botany tools! (#87464)
## About The Pull Request (my dumb ass commited previous pr on master branch so i made new 💀) - Adds "Service Cyborg Botany Upgrade" that cost 13 iron and 2 glass. - Basically, the mostly unused cyborg model has now more functionality. (as we know how many gimmicks can be made through botany) - Botany Omni-tool:  - Meet the "Gardener"  ## Why It's Good For The Game I was outraged that despite the borg ability to cook - near half of the recipes you could not recreate due to the lack of a botanist (or when theyre doing syndicate operations). The Service borg can now serve well on a lowpop rounds. ## Changelog 🆑 add: Added new botany module in mechfabricator designs. Gives service cyborg plant bag and plant analyzer. add: Added cyborg botanical omni-tool. qol: Service apparatus (another existing module) can now hold: seeds, fish, grafts. qol: Secondary beaker storage can now hold any beakers. It used to spawn with one, but when you dropped it - you could no longer pick it back. image: New gardener skin for service cyborg. /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
778ed9f1ab |
The death or internal/external organ pathing (ft. fixed fox ears and recoloring bodypart overlays with dye sprays) (#87434)
## About The Pull Request This PR kills the abstract internal and external typepaths for organs, now replaced by an EXTERNAL_ORGAN flag to distinguish the two kinds. This PR also fixes fox ears (from #87162, no tail is added) and mushpeople's caps (they should be red, the screenshot is a tad outdated). And yes, you can now use a hair dye spray to recolor body parts like most tails, podpeople hair, mushpeople caps and cat ears. The process can be reversed by using the spray again. ## Why It's Good For The Game Time-Green put some effort during the last few months to untie functions and mechanics from external/internal organ pathing. Now, all that this pathing is good for are a few typechecks, easily replaceable with bitflags. Also podpeople and mushpeople need a way to recolor their "hair". This kind of applies to fish tails from the fish infusion, which colors can't be selected right now. The rest is just there if you ever want to recolor your lizard tail for some reason. Proof of testing btw (screenshot taken before mushpeople cap fix, right side has dyed body parts, moth can't be dyed, they're already fabolous):  ## Changelog 🆑 code: Removed internal/external pathing from organs in favor of a bit flag. Hopefully this shouldn't break anything about organs. fix: Fixed invisible fox ears. fix: Fixed mushpeople caps not being colored red by default. add: You can now dye most tails, podpeople hair, mushpeople caps etc. with a hair dye spray. /🆑 |
||
|
|
692540a7b9 |
Singularity_pull() standartize (#87304)
## About The Pull Request Previous attempt - https://github.com/tgstation/tgstation/pull/87227 `/atom/proc/singularity_pull(obj/singularity/singularity, current_size)` has first arg typed, but other procs were just referencing it as a un-typed variable. Since args are not standartized AND `atom/proc/singularity_pull(obj/singularity/singularity, current_size)` is out-dated, since it can be called by things that has `/datum/component/singularity` - not just by `obj/singularity/singularity` - This PR just adds args to every `proc/singularity_pull()` as follows: `proc/singularity_pull(atom/singularity, current_size)` ## Why It's Good For The Game Standartization ## Changelog No changelog needed |
||
|
|
d803edf023 |
Examining monster organs gives you a vague estimate of time until decay (#87266)
(alt. title: to hold a still-beating heart) ## About The Pull Request You can examine monster organs to ~~check their vibes~~ get a really rough estimate on how long you have to use them. The timer-related message disappears when the timer is deleted, which occurs when the organ is stabilized or when the organ decays.  ## Why It's Good For The Game sometimes you don't have a backpack full of stabilizer serums and you need to know which cores to use and which ones to dump, i guess? ## Changelog 🆑 qol: Nanotrasen employees have been given a quick primer on how specialized fauna organs (brimdust sacs, rush glands, regenerative cores) look in varying states of decay corresponding to lifespan (read: you can now examine monster organs to get a vague idea of how long they have left before decaying and becoming useless). /🆑 --------- Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com> |
||
|
|
f7fd03fc25 |
Nullblades and proto-kinetic crushers use the check_behind() proc rather than get direction themselves. (#87287)
## About The Pull Request What it says in the title. ## Why It's Good For The Game This is functionally identical, but a little more robust about what counts as 'behind'. ## Changelog 🆑 code: Nullblades and proto-kinetic crushers use the new proc for checking valid directions to backstab. /🆑 |
||
|
|
839aabe40d | Adds retool kits, a series of cosmetics for the protokinetic crusher (#87252) | ||
|
|
241514f520 |
Fixes improper static list declarations + adds grep for it (#87207)
## About The Pull Request I randomly came across a `var/list/static` in the code, which does not actually do what was intended, and thought it was silly. A ctrl+f revealed that this was a fairly common mistake, so I went and fixed all the instances of it I could find. ~~Including one in lighting code, which it looked like they were trying to create a global list to cache generated lighting sheet values for speed, but it was just a normal list that got created each time pointlessly. Now those values are actually being cached (using a global var, because a `static` list was not the right thing to use there in the first place).~~ Nevermind, it seems that this was in fact being cached even if it shouldn't have been, because byond. Just rearranged it there seeing as it works either way. ## Why It's Good For The Game Code that does what it's supposed to ## Changelog 🆑 fix: fixes a bunch of improper static list declarations /🆑 |
||
|
|
e378b00328 |
Removes gas mask fov, pepperspray now applies tint to masks until washed off (#87102)
## About The Pull Request Gas masks and all their subtypes no longer have fov. Using pepperspray on gas mask wearer applies 1 tint per 5u of spray. At 3 tint the wearer becomes fully blind. If you wanna use the mask again you'll have to wash off the pepperspray from it using soap or shower. ## Why It's Good For The Game Gas mask assistants are peak soul and removing it was a terrible disaster. FoV is too annoying to ever deal with, so it ends up with gas masks never being worn. Gas filter doesn't make up for it whatsoever, it's only use is shoving cigarettes in it to look cool. This PR makes it so pepperspray/tear gas is still useful against mask wearers, albeit less efficient. |
||
|
|
6a203566cb |
plate armor clanking (#87107)
## About The Pull Request https://github.com/user-attachments/assets/0c667403-89d1-4e55-b8e7-af91aca16779 ## Why It's Good For The Game immersion ## Changelog 🆑 grungussuss sound: plate armor now makes sound when moving around in it /🆑 |
||
|
|
cdebe98a17 |
refactoring how materials effects are added to atoms (#86901)
## About The Pull Request I'm "cooking" the materials system a bit, specifically the code responsible for applying and removing effects. My goal is to move most of the code to the objects-side, split it in smaller procs that can be more easily overriden or called for object-specific modifiers and effects, while also revamping things all around to better support items made from multiple materials (the cleric mace will most likely be one in this PR, with the handle and tip made of different materials). PR NO LONGER WIP, TESTED AND ALL, CLERIC MACES CAN NOW BE MADE OF TWO MATERIALS. ## Why It's Good For The Game One of the nastiest flaws with the materials system is that it's just unfeasable to have items made of multiple mats (with effects enabled) right now, as they easily tend to override each other, where some of the modifiers and effects should only be applied the main material. Beside, the system's starting to show signs of its time, from the several type checks used to apply different effects, the one letter variables to the the material flags that are still being passed down as arguments when you can access them from the atom/source arg anyway. It would be disonhest of me if I went ahead and coded material fishing rods or whatever fish fuckery with materials without ensuring it won't further the technical debt the feature currently has. ## Changelog 🆑 refactor: Refactored materials code. report any issue. add: Cleric maces (The autolathe-printable weapon design from outer space) can now be made of two different materials. balance: Buffed cleric maces a little. fix: toolboxes' stats are now affected by materials again. /🆑 --------- Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> |
||
|
|
ac6231b432 |
Rebalances Donksoft vendors. (#86542)
## About The Pull Request    Notable changes: - Prices have been increased across the board. They're about on par with the good clean fun vendor now. - Less of each item. The machine will have to be restocked more often. - Fake emags and fake hot potatoes are now avaliable. - The ammo boxes are half-size boxes (20 darts) in the non-syndicate vendor. Each foam dart costs 5 credits, and every riot dart costs 10 credits. The syndicate vendor sells the old size of boxes (40 darts) for the same price, getting twice as many darts per credit. - Syndicate balloon is now in the contraband section. There is only one of them per vendor and they cost 999 credits. - Replica space suits come in boxes now, instead of the parts being bought seperately. - All toy guns bought from the syndicate vendor are loaded with riot darts. - No more discounts for service jobs. Everyone pays the full price. ## Why It's Good For The Game The current vendor isn't balanced very well, the pricing is a placeholder and the vast amounts of gear in them make them a destabilizing element when it makes its way on station. Spawning a lot of high-end riot dart guns is easy, and the fact that this has 5 syndicate balloons with a value of 20 telecrystals avaliable for effectively free is simply absurd. Reining it in a little makes it easier for mappers and admins to put these machines in player-accessible spots without worrying about it derailing rounds or empowering griefers. Additionally, this change makes this vendor play nicer with the new vending restock economy. None of the pricing changes affect any vending machine that was mapped in off the station z-level. Lavaland syndicates will continue not to be charged for using their machine. ## Changelog 🆑 balance: Donksoft vendors now stock slightly more items, slightly less of each item, and has increased prices across the board. /🆑 |
||
|
|
47430a4c04 |
A smattering of boulder-related QOL and fixes. (#86834)
## About The Pull Request This pull request does a little bit of cleanup that I came across awhile ago while looking at #85081, then forgot about, then came back up when I was looking at some additional cleanup that needed to be done. Reorganizes the handle_wave_conclusion function such that it can take a force arg, to force a ore vent to be completed for debug purposes. This also fixes a minor bug where vents, when successfully completed, will still show a warning alert that the waves were failed, and that the vent has closed up. Grammar fix to the examine of boulder processing machines. Moves the can-move behavior of boulders on conveyor belts and during regular stacking to an early return over a late return (Thank you Goofball for pointing that out). Artifact boulders will now default to their artifact icon_state whenever possible. Finally, adds an additional sanity check to boulder processing to check for custom material length, to attempt to avoid zero-content boulders existing and running into the afforementioned #85081 ## Why It's Good For The Game Largely applies cleanup to several aspects of the boulder processing system, and a handful of (hopefully) performance related rearrangements to the existing layout of boulder processing code. I can't for sure say that it'll fix the linked issue, due to the fact that I could not for some reason re-create the issue in local testing, but I'm hopeful that it's some kind of nebulous sanity-related issue. Cleans up grammar in some spots, and provides a useful debug tool for admin purposes when you just want a vent to flip. Might be a good justification for a ore-manager admin panel later? 🤷 ## Changelog 🆑 fix: Artifact boulders should keep their alien icon even after a first round of processing. fix: Boulders are less likely to exist with zero materials after processing. fix: Boulders should be slightly less laggy on conveyor belts. fix: Grammar of refinery/smeltery examine is corrected. /🆑 |
||
|
|
d4ac95a0e1 |
Nobody expects the span inquisition: replaces most <span>s with macros (#86798)
## About The Pull Request 123 changed files and multiple crashes after writing broken regex, I replaced most remains of direct spans with macros. This cleans up the code and makes it easier to work with in general, see justification for the original PR. I also fixed a bunch of broken and/or unclosed spans here too. I intentionally avoided replacing spans with multiple classes (in most cases) and spans in the middle of strings as it would impact readability (in my opinion at least) and could be done later if required. ## Why It's Good For The Game Cleaner code, actually using our macros, fixes borked HTML in some places. See original PR. ## Changelog Nothing player-facing |
||
|
|
58501dce77 |
Reorganizes the sound folder (#86726)
## About The Pull Request <details> - renamed ai folder to announcer -- announcer -- - moved vox_fem to announcer - moved approachingTG to announcer - separated the ambience folder into ambience and instrumental -- ambience -- - created holy folder moved all related sounds there - created engineering folder and moved all related sounds there - created security folder and moved ambidet there - created general folder and moved ambigen there - created icemoon folder and moved all icebox-related ambience there - created medical folder and moved all medbay-related ambi there - created ruin folder and moves all ruins ambi there - created beach folder and moved seag and shore there - created lavaland folder and moved related ambi there - created aurora_caelus folder and placed its ambi there - created misc folder and moved the rest of the files that don't have a specific category into it -- instrumental -- - moved traitor folder here - created lobby_music folder and placed our songs there (title0 not used anywhere? - server-side modification?) -- items -- - moved secdeath to hailer - moved surgery to handling -- effects -- - moved chemistry into effects - moved hallucinations into effects - moved health into effects - moved magic into effects -- vehicles -- - moved mecha into vehicles created mobs folder -- mobs -- - moved creatures folder into mobs - moved voice into mobs renamed creatures to non-humanoids renamed voice to humanoids -- non-humanoids-- created cyborg folder created hiss folder moved harmalarm.ogg to cyborg -- humanoids -- -- misc -- moved ghostwhisper to misc moved insane_low_laugh to misc I give up trying to document this. </details> - [X] ambience - [x] announcer - [x] effects - [X] instrumental - [x] items - [x] machines - [x] misc - [X] mobs - [X] runtime - [X] vehicles - [ ] attributions ## Why It's Good For The Game This folder is so disorganized that it's vomit inducing, will make it easier to find and add new sounds, providng a minor structure to the sound folder. ## Changelog 🆑 grungussuss refactor: the sound folder in the source code has been reorganized, please report any oddities with sounds playing or not playing server: lobby music has been repathed to sound/music/lobby_music /🆑 |
||
|
|
277cc432fd |
Grammar checks for boulder refining machinery (#86814)
## About The Pull Request Title ## Why It's Good For The Game it read good ## Changelog 🆑 spellcheck: fixed examine and balloon alert text for boulder refining machinery /🆑 |
||
|
|
5409570e01 |
Upgrades GODMODE from a flag to a trait. (#86596)
## About The Pull Request GODMODE has a lot of sources that toggle it. From admin-stuff to status effects, components, actions and mobs which are supposed to be invincible. It's better off as a trait than a flag, so we can manage these sources. ## Why It's Good For The Game See above. ## Changelog 🆑 admin: godmode is now a datum trait instead of a bitflag. This means the process for toggling it is a little different now. /🆑 |
||
|
|
7b8449af6e |
you may now weld a crate (#86064)
## About The Pull Request https://github.com/user-attachments/assets/bc104e6d-6007-4e9f-ab9f-b810d0f5d664 ## Why It's Good For The Game no reason to be unweldable ## Changelog 🆑 add: you may weld a crate /🆑 Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
5022f12815 |
Some echolocation fixes & fulton runtime (#86604)
## About The Pull Request Fixes psyker echolocation permanently breaking when in the vicinity of holopad holograms or someone being fulton'd Also fixes non humans that have human appearances (eg syndicate commandos) being invisible to psykers. Also also fixes a runtime related to fulton extraction that I found while testing the above ## Why It's Good For The Game My eyes! ## Changelog 🆑 fix: Echolocation no longer breaks when witnessing a hologram fix: Echolocation no longer breaks when witnessing a fulton extraction fix: Humanoid NPCs are no longer invisible to echolocation users /🆑 |
||
|
|
8486f2f7e2 |
Storage / table interactions at the bottom of the interaction chain (#85512)
Because the wings were in fact made of wax ## About The Pull Request Storage goes to the very bottom of the interaction chain, hardcoded in on `/atom`. This is not preferred, obviously, but it ends up being a lot less snowflaking overall. Tables also go at the very bottom by extending `base_item_interaction`. Fixes #83742 Fixes #84434 Fixes #83982 Fixes #85516 Fixes #84990 Fixes #84890 Closes #85036 Closes #84025 (RMB places it on the table.) Closes #86616 Other changes: Refactored pod storage to be less jank. Patches some exploits around it. ## Why It's Good For The Game Should make a lot more interactions a lot more reliable... hopefully ## Changelog 🆑 Melbert refactor: Storage and Tables are now a lower priority action, meaning some uses of items on storage should work... better, now. Here's hoping at least, report any oddities. refactor: Note: For an overwhelming majority of items, **combat mode** will attempt to attack/insert into the target, while **non-combat-mode** will attempt to use on a target. This means screwdrivering or emagging a MODsuit must be done on non-combat-mode, as combat mode will simply put the screwdriver or emag into its storage. Same applies to tables, though when in doubt, RMB may help (for things which are also weapons, like mops). refactor: Refactored escape pod storage, now they actually properly show as unlocked on red alert and above. /🆑 |
||
|
|
e61afc4318 |
New Syndicate Stealth MODule: Wraith. (#86449)
## About The Pull Request Introduces a new MODule in the uplink, makes the user transperent and grants the ability to siphon light sources to recharge your suit. Ingame demonstration: https://www.youtube.com/watch?v=bhXNOAMDy4U ## Why It's Good For The Game I've been playing a ton of Splinter Cell and Intravenous recently and this random idea popped in my head. "Wouldn't it be cool if traitors could blend in the darkness to get a jump on their opponents?" Also unrelated "Wouldn't it be cool if tots had a tool to recharge their suit that didn't involve sitting in a pod for 10 minutes?" This PR introduces a new module to the uplink, the Wraith. It comes with a passive and active component. Passively it works exactly like the crew version of the cloaking module with just a couple of differences. 1) Doesn't need to be manually activated, if you lose the cloak it's regained after 5 seconds. 2) Lower stealth alpha value( how trasperent you are basically), slightly less visible than the crew version, not as good the ninja module however , I tuned it just enough so that you are more or less undetectable in the dark. The active component of the module lets you destroy stationary lights to recharge your suit power, if used on handheld or borg lights it turns them off for a minute. **Why do we need this module when we already have the stealth implant and the chameleon projector?** I can think of a few reasons. 1) MODsuits were designed to be customizible, traitor suits range between 6 to 16 TC, having to invest in a 7-8 TC item after you already bought a suit is fairly expensive. 2) This MODule would be a better fit for ambushes, as it doesn't have the *uncloaking* delay of its counterparts. It is however considerably worse if you get caught, as the cloak is disrupted on bump or damage. 3) It has better interactions with the sandbox. Lights can go out for many reasons, maybe it’s just a power outage, or some assistant broke it, or maybe it was anightmare. It leaves room for plausible deniability, adding to the paranoia. It's also not complete invisibility, if you want to stay undetected you need to lurk in the darkness, you might expand your domain, at the cost of the crew eventually wising up to your shaeneningans. Lastly, since the active component of the module uses the same proc of the saboteur handgun, I've updated the code to be a generic proc rather than a signal, to make it easier to reuse in the future. Item desc provided by NecromancerAnne. Module sprite made by Orcacora. ## Changelog 🆑 add: The Wraith Cloaking Module is now available in the uplink, costs 3 TC. code: the saboteur handgun now uses a generic proc rather than a signal /🆑 --------- Co-authored-by: Xander3359 <66163761+Xander3359@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
91baa94ac5 |
event based incapicated and able_to_run (#86031)
## About The Pull Request this is a revival of #82635 . i got permission from potato to reopen this, he did almost all the work. i only just solved the conflicts and fixed all the bugs that were preventing the original from being merged (but it should be TMed first) ## Why It's Good For The Game slightly improves the performance of basic mob AI ## Changelog 🆑 LemonInTheDark refactor: able_to_run and incapacitated have been refactored to be event based /🆑 --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> Co-authored-by: ZephyrTFA <matthew@tfaluc.com> |
||
|
|
9a9b428b61 |
Wallening Revert [MDB Ignore][IDB Ignore] (#86161)
This PR is reverting the wallening by reverting everything up to
|
||
|
|
0eb16b4f19 |
Adds Punching Mitts: Become a One-Spacemen Planetary Ecological Disaster. Available in any mining loot chests (and portals) (#85820)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request Adds Punching Mitts, which grant the wearer Hunter Boxing. Hunter Boxing works similar to boxing, but rather than just targeting those who are boxing ready, it also allows you to apply your boxing skills to various wildlife and creatures that deserve to be wiped off the face of the earth in a violent manner. While the gloves function as a lethal pair of boxing gloves, you still cannot apply the new effects to normal humans. Even against other boxers, the gloves operate as normal save that you are dealing Brute damage instead of Stamina. This is NOT Evil Boxing. Against wildlife, you gain an extra amount of damage and a much faster punch speed. You also rebuke the targets that you crit, rather than staggering/knockout. You also do three times the damage against wildlife when you crit. You also..yell out your attacks. Loudly. You can get these gloves from tendril chests and from demonic portals. I replaced the Nuka Cola from the portals with these gloves. You're welcome. Megafauna can now be targeted by martial arts. This is really isn't a major concern, since even if our martial artist had, say, Gloves of the North Star, the highest damaging martial arts most people could access, Sleeping Carp, does pathetically small amounts of damage to megafauna. And you're in melee. And colossi eat you. This shouldn't be a problem.  ## Why It's Good For The Game I just really, really, REALLY wanted to punch the absolute SHIT out of Bubblegum while screaming the whole time, and by god I should be allowed to do that because that's awesome as fuck. Adds a very practical but very rare method of applying your athletics to some very self-contained content. I was tempted to have this increase/become stronger with mining skill instead of athletics, but I actually thought it would be funny if miners were taking the time to work out before heading down to throttle drakes. ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and its effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 add: Punching mitts! Punch wildlife to death and scream the whole time. ADVENTURE! balance: Megafauna can be affected by martial arts. /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> --------- Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
83e1a58529 |
[NO GBP] Fixing Clarke's ore box the proper way (#85954)
## About The Pull Request #85924 did it in a bad way, but I was too hasty and merged it anyway, so it's on my shoulders to rectify that. ## Why It's Good For The Game Code guidelines compliance. ## Changelog N/A |
||
|
|
095f7e3b70 |
Death of mutant bodyparts AND external organs (#85137)
## About The Pull Request Removes mutant bodyparts and external organs from the game completely Digitgrade behaviour was mutant bodypart for no reason Cat ears now work with the bodyparts overlay system, same as all the other external organs (since all their behaviour is now just on /organ It doesn't remove all the /external types, but moves all behaviour to /organ. I'll follow up with a PR wiping all the /external organ types, but it's just conflict heaven so not this PR I've also streamlined a lot of duplicate/weird species regeneration code Melbert did the same PR as well but due to a lack of time (?) I have absorbed his PR to double nuke mutant bodyparts ## Why It's Good For The Game Frees us from the chain of unmodular code, and kills my greatest nemesis (after the shuttle meteor murder bug) ## Changelog 🆑 Time-Green and MrMelbert Refactor: External organ behaviour has been moved to /organ, ears now use the same system as the other organs Refactor: Mutant bodyparts are dead! This likely does not mean much to the average person but it's very dear to me code: Improves digitgrade handling in preference code /🆑 I have absorbed #85126, using Melberts code to improve and add some missing changes. Mainly improving the functioning of preferences and digitgrade legs. I didn't take over the hairstyle improvements. --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
1880003270 |
Reworks silicon/ai access checking & fixes some ui_act's (#84964)
## About The Pull Request Currently to check for Silicon access, we do: ``if is silicon or is admin ghost or has unlimited silicon privileges or has machine remote in hand`` What has unlimited silicon privileges? Bots, Drones, and admin ghosts. To check for AI access, it just checks for AI instead of silicon, and doesnt check for unlimited silicon privileges. This was kinda silly, so I thought I should make this a little easier to understand. Now all silicon/ai traits come from ``AI_ACCESS_TRAIT`` or ``SILICON_ACCESS_TRAIT``. I made a single exception to keep Admin ghost, since now instead of being a var on the client, we moved it to using the same trait but giving it to the client instead, but since we have to keep parity with previous functionality (admins can spawn in and not have this on, it only works while as a ghost), I kept previous checks as well. No more type checks, removes a silly var on the mob level and another on the client. Now while I was doing this, I found a lot of tgui's ``ui_act`` still uses ``usr`` and the wrong args, so I fixed those wherever I saw them, and used a mass replace for the args. Other changes: - machinery's ``ui_act`` from https://github.com/tgstation/tgstation/pull/81250 had ``isAI`` replaced with ``HAS_AI_ACCESS``, this has been reverted. Machine wands and admin ghosts no longer get kicked off things not on cameras. This was my fault, I overlooked this when adding Human AI. - Human AI's wand gives AI control as long as it's in your hand, you can swap to your offhand. I hope this doesn't end up going horribly, otherwise I'll revert this part. It should let human AIs not have their UI closed on them when swapping to eat food or use their door wand or whatnot. - Bots previously had special checks to scan reagents and be unobservant, I replaced this with giving them the trait. I also fixed an instance of unobservant not being used, so now statues don't affect the basic creature, whatever that is. ## Why It's Good For The Game This is an easier to understand way of handling silicon access and makes these mobs more consistent between eachother. Other than what I've mentioned above, this should have no impact on gameplay itself. ## Changelog 🆑 fix: Statues don't count as eyes to creatures. fix: Human AIs and Admin ghosts no longer get kicked off of machines that aren't on cameranets. /🆑 |
||
|
|
886d1aecbb |
Fixes Clarke ore box breaking upon collecting boulders (#85924)
## About The Pull Request Ever since Clarkes could pick up boulders they've been broken if you ever collected one. The UI would break and all your precious minerals would be trapped inside the Clarke, only being obtainable if you broke the Clarke itself. This also updates the Clarke Storage to differentiate by ore name rather than icon, as otherwise the lower quality boulders would be mixed with normal boulders with no way to differentiate them in the UI. ## Why It's Good For The Game Fixes https://github.com/tgstation/tgstation/issues/84364 Before: <details> <summary>Before</summary> https://github.com/user-attachments/assets/f90daf35-733a-42bd-8af5-7e6712f09fba </details> <details> <summary>After</summary> https://github.com/user-attachments/assets/4510803c-6dee-403e-a051-966a8a66c17c </details> ## Changelog 🆑 TwistedSilicon fix: Clarkes will no longer become unable to dump ores upon picking a boulder up. Mine away. /🆑 |
||
|
|
fec946e9c0 |
/Icon/ Folder cleansing crusade part, I think 4; post-wallening clean-up. (#85823)
Hello everybuddy, your number three rated coder-failure here to clean up some mess. This PR accomplishes some of the more major structural clean up changes I wanted to do with /obj/ folder, but decided to wait on until wallening gets merged, and so, time has come. Several things to still be done, although I know these cleaning PR's are quite a load, so will wait for this one to get done with first. ## Why It's Good For The Game Saner spriters, better sprites, less annoyance. Also deleted a whole load of redundancy this time around, a lot of sprites which existed simultaniously in two places now got exit their quantum superposition. |
||
|
|
46d09185a1 |
Soulscythe now deletes the soul mob when destroyed (#85580)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request Mob remains alive when it is metalgenned into glass and then shattered currently, here's a preview of what it causes  Reported on discord ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and its effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 fix: Soulscythe now deletes the soul mob when destroyed /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> --------- Co-authored-by: Jack Edge <yellowbounder@gmail.com> |
||
|
|
4a63d82a5c |
Allows AI players to operate the Boulder Retrival Matrix (BRM) machine (#85619)
## About The Pull Request This change allows AI Sillicon players to use the BRM - 6 months ago this PR did a refactor https://github.com/tgstation/tgstation/pull/81358 - Whilst it added the ability for Cyborgs to interact with it - Nothing was added for AI. This PR just corrects that and changes nothing else.  **The addition of the below matching attack_robot with identical functions depending on left or right click** `/obj/machinery/brm/attack_ai(mob/user)` `/obj/machinery/brm/attack_ai_secondary(mob/user, list/modifiers)` ## Why It's Good For The Game On many low pop scenarios with AI players, It allows them to begin generating basic resources (Iron and Glass) for the station. Gives AI players another task they can do to assist the crew and adds to the value of an AI even in low pop. I believe the original PR from six months ago meant to include AI but it was an oversight, this PR corrects that oversight. ## Changelog 🆑 fix: AI Players can now operate the BRM (Boulder Retrival Matrix) /🆑 |
||
|
|
35523291ca |
Adds arms/legs coverage to armored gloves/shoes, adds a unit test to check for former (#85667)
## About The Pull Request Turns out HANDS and FEET coverage doesn't actually apply armor to the body, at all, making it entirely useless. Despite this, a lot of clothing still does it! So I added ARMS and LEGS flags to gloves/shoes that do it respectively and wrote a unit test for it that will yell out a list of all items missing coverage while having non acid/bio/fire armor (three snowflake types) as discusses with melbert on discord ## Why It's Good For The Game ...features working as intended? ## Changelog 🆑 balance: Multiple gloves/shoes that had armor values but failed to apply them got fixed /🆑 |
||
|
|
4b4e9dff1d |
Wallening [IDB IGNORE] [MDB IGNORE] (#85491)
## What's going on here Kept you waitin huh! This pr resprites most all walls, windows and other "wall adjacent" things to a 3/4th perspective, technical term is "tall" walls (we are very smart). If you're trying to understand the technical details here, much of the "rendering tech" is built off the idea of split-vis. Basically, split a sprite up and render it on adjacent turfs, to prevent seeing "through" walls/doors, and to support seeing "edges" without actually seeing the atom itself. Most of the rest of it is pipelining done to accommodate how icons are cut. ## Path To Merge Almost* all sprites and code is done at this point. There are some things missing both on and off the bounty list, but that will be the case forever unless we force upstream (you guys) to stop adding new shit that doesn't fit the style. I plan on accepting and integrating prs to the current working repo <https://github.com/wall-nerds/wallening> up until a merge, to make contribution simpler and allow things like bounties to close out more easily This pr is quite bulky, even stripping away map changes it's maybe 7000 LOC (We have a few maps that were modified with UpdatePaths, I am also tentatively pring our test map, for future use.) This may inhibit proper review, although that is part of why I am willing to make it despite my perfectionism. Apologies in advance. Due to the perspective shift, a lot of mapping work is going to need to be done at some point. This comes in varying levels of priority. Many wallmounts are offset by hand, some are stuck in the wall/basically cannot be placed on the east/west/north edges of walls (posters), some just don't look great good in their current position. Tests are currently a minor bit yorked, I thought it was more important to get this up then to clean them fully. ## What does it look like?       ## Credits <details> <summary>Historical Mumbojumbo</summary> I am gonna do my best to document how this project came to be. I am operating off third party info and half remembered details, so if I'm wrong please yell at me. This project started sometime in late 2020, as a product of Rohesie trying to integrate and make easier work from Mojave Sun (A recently defunct fallout server) with /tg/. Mojave Sun (Apparently this was LITERALLY JUST infrared baron, that man is insane) was working with tall walls, IE walls that are 48px tall instead of the normal 32. This was I THINK done based off a technical prototype from aao7 proving A it was possible and B it didn't look like dogwater. This alongside oranges begging the art team for 3/4th walls (he meant TGMC style) lead to Rohesie bringing on contributors from general /tg/, including actionninja who would eventually take over as technical lead and Kryson, who would define /tg/'s version of the artstyle. Much of the formative aspects of this project are their work. The project was coming along pretty well for a few months, but ran into serious technical issues with `SIDE_MAP`, a byond map_format that allows for simpler 3/4th rendering. Due to BULLSHIT I will not detail here, the map format caused issues both at random with flickering and heavily with multiz. Concurrent with this, action stepped down after hacking out the rendering tech and starting work on an icon cutter that would allow for simpler icon generation, leaving ninjanomnom to manage the project. Some time passed, and the project stalled out due to the technical issues. Eventually I built a test case for the issues we had with `SIDE_MAP` and convinced lummox jr (byond's developer) to explain how the fuckin thing actually worked. This understanding made the project theoretically possible, but did not resolve the problems with multi-z. Resolving those required a full rework of how rendering like, worked. I (alongside tattle) took over project development from ninjanomnom at this time, and started work on Plane Cube (#69115), which when finished would finally make the project technically feasible. The time between then and now has been slow, progressive work. Many many artists and technical folks have dumped their time into this (as you can see from the credits). I will get into this more below but I would like to explicitly thank (in no particular order) tattle, draco, arcanemusic, actionninja, imaginos, viro and kylerace for keeping the project alive in this time period. I would have curled up into a ball and died if I had to do this all myself, your help has been indispensable. </details> <details> <summary>Detailed Credits</summary> Deep apologies if I have forgotten someone (I am sure I have, if someone is you please contact me). I've done my best to collate from the git log/my memory. Thanks to (In no particular order): Raccoff: Being funny to bully, creating threshold decals for airlocks aa07: (I think) inspiring the project ActionNinja: Laying the technical rock we build off, supporting me despite byond trying to kill him, building the icon cutter that makes this possible ArcaneMusic: Artistic and technical work spanning from the project's start to literally today, being a constant of motivation and positivity. I can't list all the stuff he's done Armhulen: Key rendering work (he's the reason thindows render right), an upbeat personality and a kick in the ass. Love you arm Azlan: Damn cool sprites, consistently Ben10Omintrix: You know ben showed up just to make basic mobs work, he's just fuckin like that man BigBimmer: A large amount of bounty work, alongside just like, throwing shit around. An absolute joy to work with Capsandi: Plaques, blastdoors, artistic work early on CapybaraExtravagante: Rendering work on wall frames Draco: SO MUCH STUFF. Much of the spritework done over the past two years is his, constantly engaged and will take on anything. I would have given up if not for you Floyd: Early rendering work, so early I don't even know the details. Enjoy freedom brother Imaginos16: A guiding hand through the middle years, handled much of the sprite review and contribution for a good bit there Iamgoofball: A dedication to detail and aesthetic goals, spends a lot of effort dissecting feedback with a focus on making things as good as they can be at the jump Infrared: Part of the impetus for the project, made all the xenomorph stuff in the MS style Jacquerel: A bunch of little upkeep/technical things, has done so much sprite gruntwork (WHY ARE THERE SO MANY PAINTING TYPES) Justice12354: Solved a bunch of error sprites (and worked out how to actually make prs to the project) Thanks bro! Kryson: Built the artstyle of the project, carrying on for years even when it was technically dying, only stopping to casually beat cancer. So much of our style and art is Kryson KylerAce: Handled annoying technical stuff for me, built window frame logic and fully got rid of grilles. LemonInTheDark: Rendering dirtywork, project management and just so much fucking time in dreammaker editing sprites Meyhazah: Table buttons, brass windows and alll the old style doors Mothblocks: Has provided constant support, gave me a deadline and motivation, erased worries about "it not being done", gave just SO much money to fill in the critical holes in sprites. Thanks moth MTandi: Contributed art despite his own blackjack and hookers club opening right down the road, I'm sorry I rolled over some of your sprites man I wish we had finished earlier Ninjanomnomnom: Consulted on gags issues, kept things alive through some truly shit times oranges: This is his fault Rohesie: Organized the effort, did much of the initial like, proof of concept stuff. I hope you're doin well whatever you're up to. san7890: Consulting on mapper UX/design problems, being my pet mapper Senefi: Offsetting items with a focus on detail/the more unused canidates SimplyLogan: Detailed map work and mapper feedback, personally very kind even if we end up talking past each other sometimes. Thank you! SpaceSmithers: Just like, random mapping support out of nowhere, and bein a straight up cool dude Tattle: A bunch of misc project management stuff, organizing the discord, managing the test server, dealing with all the mapping bullshit for me, being my backup in case of bus. I know you think you didn't do much but your presence and work have been a great help Thunder12345: Came out of nowhere and just so much of the random bounties, I'm kind of upset about how much we paid him Time-Green: I hooked him in by fucking with stuff he made and now he's just doin shit, thanks for helping out man! Twaticus: Provided artistic feedback and authority for my poor feeble coder brain, believed in the project for YEARS, was a constant source of ❤️ and affirmation unit0016: I have no god damn idea who she is, popped out of nowhere on the github one day and dealt with a bunch of annoying rendering/refactoring. Godspeed random furry thank you for all your effort and issue reports Viro: A bunch of detailed spriting moving towards 3/4ths, both on and off the wallening fork. If anyone believed this project would be done, it was viro Wallem: Artistic review and consultation, was my go-to guy for a long time when the other two spritetainers were inactive Waltermeldon: Cracked out a bunch of rendering work, he's the reason windows look like not dogwater. Alongside floyd and action spent a TON of time speaking to lummox/unearthing how byond rendering worked trying to make this thing happen ZephyrTFA: Added directional airlock helpers, dealt with a big fuckin bugaboo that was living in my brain like it was nothing. Love you brother And finally: The Mojave Sun development team. They provided a testbed for the idea, committed hundreds and hundreds of hours to the artstyle, and were a large reason we caught issues early enough to meaningfully deal with them. Your work is a testament to what longterm effort and deep detailed care produce. I hope you're doing well whatever you're up to. Go out with a bang! </details> ## Changelog 🆑 Raccoff, aa07, ActionNinja, ArcaneMusic, Armhulen, Azlan, Ben10Omintrix, BigBimmer, Capsandi, CapybaraExtravagante, Draco, Floyd, Iamgoofball, Imaginos16, Infrared, Jacquerel, Justice12354, Kryson, KylerAce, LemonInTheDark, Meyhazah, Mothblocks, MTandi, Ninjanomnom, oranges, Rohesie, Runi-c, san7890, Senefi, SimplyLogan, SomeAngryMiner, SpaceSmithers, Tattle, Thunder12345, Time-Green, Twaticus, unit0016, Viro, Waltermeldon, ZephyrTFA with thanks to the Mojave Sun team! add: Resprites or offsets almost all "tall" objects in the game to match a 3/4ths perspective add: Bunch of rendering mumbo jumbo to make said 3/4ths perspective work /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: = <stewartareid@outlook.com> Co-authored-by: Capsandi <dansullycc@gmail.com> Co-authored-by: ArcaneMusic <hero12290@aol.com> Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com> Co-authored-by: SomeAngryMiner <53237389+SomeAngryMiner@users.noreply.github.com> Co-authored-by: KylerAce <kylerlumpkin1@gmail.com> 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: lessthanthree <83487515+lessthnthree@users.noreply.github.com> Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: Runi-c <5150427+Runi-c@users.noreply.github.com> Co-authored-by: Roryl-c <5150427+Roryl-c@users.noreply.github.com> Co-authored-by: tattle <article.disaster@gmail.com> Co-authored-by: Senefi <20830349+Peliex@users.noreply.github.com> Co-authored-by: Justice <42555530+Justice12354@users.noreply.github.com> Co-authored-by: BluBerry016 <50649185+unit0016@users.noreply.github.com> Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com> Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com> Co-authored-by: Rob Bailey <github@criticalaction.net> Co-authored-by: MMMiracles <lolaccount1@hotmail.com> |
||
|
|
aebeed5c96 |
Ore ore ore ore ore... sounds. (#85738)
## About The Pull Request Closes https://github.com/tgstation/tgstation/issues/85615 #### Applied to: - all ore subtypes, except bluespace polycrystals - Sandstone blocks ### Video: https://github.com/user-attachments/assets/7fdd322a-4f57-4df7-bd72-e6400382b58b ## Why It's Good For The Game immersion. ## Changelog 🆑 grungussuss sound: ore and sandstone blocks have their own sound /🆑 |
||
|
|
f5c0103685 |
Renamed "Pack of *** seeds" to "*** seed pack" (#85370)
## About The Pull Request <img alt="0Jva48mReD" src="https://github.com/user-attachments/assets/8b5ef2a2-c1dd-4561-89ef-15c0ca199e5d"> Renamed all seed packs to say "Apple seed pack" instead of "Pack of apple seeds. ## Why It's Good For The Game Shorter and better for UIs. Easier to find the needed items in a list, the important part of the name won't be truncated by ellipsis. ## Changelog 🆑 qol: Renamed seed packs to have the plant name at the beginning /🆑 |
||
|
|
ba59fa4524 |
Fixes reversed isnull check in stacking machine consoles (#85160)
## About The Pull Request Mineral stacking machine consoles had a reversed isnull area check, preventing them from linking with stacking machines ## Changelog 🆑 fix: Stacking machine consoles link to machinery now /🆑 |
||
|
|
5f80128fa9 |
Corrects 200+ instances of "it's" where it should've been "its" instead (#85169)
## About The Pull Request it's - conjunction of "it" and "is" its - possessive form of "it" grammar is hard, and there were a lot of places where "it's" was used where it shouldn't have been. i went and painstakingly searched the entire repository for these instances, spending a few hours on it. i completely ignored the changelog archive, and i may have missed some outliers. most player-facing ones should be corrected, though ## Why It's Good For The Game proper grammar is good ## Changelog 🆑 spellcheck: Numerous instances of "it's" have been properly replaced with "its" /🆑 |
||
|
|
3dd8d307d5 |
Fixes wisp lanterns not updating your sight when recalling (#85106)
## About The Pull Request Now uses a THERMAL_VISION trait instead of directly applying it to be a tad bit cleaner, and actually updates your vision when it stops orbiting you. ## Changelog 🆑 fix: Recalling lantern wisp now properly removes its effects from you /🆑 |
||
|
|
9cdea961cc |
Refactors projectile parrying and makes it actually possible. (#84973)
## About The Pull Request Due to how projectile code currently operates its (almost) impossible to parry projectiles and completely impossible to projectile boost them, as they move away from you instantly after being shot. Parrying others projectiles requires them to be slow enough and to land on a tile right in front of you on their last move of their tick, as else they instantly hit you. I moved parrying component from being on user to being on projectiles themselves and added TRAIT_MINING_PARRYING which allows users to actually perform the parries. This allows me to get rid of parry code existing on all projectiles and add a "grace period" mechanic - now you can parry projectiles by clicking on any turf they moved through in the last 0.25 seconds. Parrying actually runs when projectiles hit you if you clicked on the correct turf during same grace period timer. This also acts as lag compensation, allowing players with high ping to utilize this mechanic. Projectile boosting occurs when you hit a tile the projectile moved through in first 0.25 seconds of its existence. Parry also occurs on click instead of attack_hand due to this, so you can parry projectiles while holding your accelerator/crusher/resonator(what even?) - which is also important to make projectile boosting possible as firing sets your click cooldown - making attacking the turf impossible (another roadblock on ultrakill players' path) Projectile boosting now grants x1.5 damage multiplier and +40% speed instead of x1.15 and +20% like parrying, since its significantly harder to perform. Crusher projectiles now can be parried/boosted. Crushers are ***the*** badass miner weapon, but they weren't possible to boost - probably because it'd be pointless due to their lack of damage. Now boosting a crusher blast gives it 10 damage, +3 range and makes the mark it applies always count as backstab for additional style (although doing so is very tricky due to speed/range) Crusher marks are now a STATUS_EFFECT_REFRESH effect and no longer per-user. This means that anyone can blow up anyone else's mark and applying new ones refreshes the timer. Trophy effects of the person who detonated the mark are the ones actually applied. also cleaned up pixel_move a bit ## Why It's Good For The Game Parrying refactor - parries are a very cool mechanic which is almost impossible to execute in-game (and boosting is physically impossible) and even if "fixed" would require perfect server performance and single digit ping. Making them slightly easier to execute and adding a grace period will allow more players to utilize it and also make it possible to do parrying/boosting on highpop. Boosting damage/speed buff - Boosting is harder to perform, and while with parrying damage/speed is a nice bonus to the fact that your face doesn't explode outwards from a death bolt, for boosting its the only reason why you'd do it (beyond style points) Crusher boosting - Crushers are more often used by skilled miners as they are a high risk/high reward weapon. Them not being boostable is rather disappointing as boosting is supposed to be a thing for extremely skilled miners to do, essentially turning crushers into deadweight for those who wanted to use style meters. Unified crusher marks - Mobs being able to have multiple crusher marks made fighting very confusing for rare coop crusher miners, as you weren't able to tell if you could detonate the mark or not. This should make coop fighting more viable as marks can now be comboed if you have good cooperation with your teammate. ## Changelog 🆑 refactor: Refactored parrying to be projectile-side and not user-side. add: You can now parry crusher projectiles to give them some more range, add damage and make the mark always count as a backstab. add: Projectile parrying has been significantly improved, making parrying and boosting projectiles actually possible. Includes a small grace period as lag compensation for players with higher pings. balance: Crusher marks can now be detonated by any crusher, not only the one that applied it, as to incentivise coop mining for crusher users. balance: Projectile boosting now gives a significantly bigger damage and speed increase /🆑 |
||
|
|
e2b755c728 |
If you can't shoot a gun, then... JUST TOSS IT AT THEM (#84827)
## About The Pull Request Adds a new trait TRAIT_TOSS_GUN_HARD (which currently comes from the Sleeping Carp scroll, ninja MODsuit, berserk armor, being a medieval pirate or highlander). The owner of this trait deals an additional **10-20** (depending on the size of the weapon) damage to the enemy by throwing a gun, and also knocks them for 0.5 seconds. If a ballistic weapon **with a magazine** was thrown, then the magazine is removed and the bolt is racked, and if **without a magazine**, then all cartridges (revolvers) or chambered one is removed. Here's a preview of how it works: https://github.com/tgstation/tgstation/assets/126676387/2a56eb74-6d37-4343-a685-3bf7159ab628 ## Why It's Good For The Game It's classic  ## Changelog 🆑 add: If you can't shoot a gun, then... JUST TOSS IT AT THEM (for 0.5 seconds of knockdown and 10-20 an additional brute damage) /🆑 --------- Co-authored-by: paganiy <leunscrupuloustrolle@gmail.com> |
||
|
|
9046e3cd8b |
You can emag grapple gun to use it on station. (#84829)
## About The Pull Request You can emag grapple gun to use it on station. ## Why It's Good For The Game Cool hook. Gives him the way to use his mechanics at the station. 🆑 add: You can emag grapple gun to use it on station. /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
e4015a6f7f |
Remote materials don't block multitool on failure (#84797)
## About The Pull Request - Fixes #84794 `/datum/component/remote_materials` blocks the tool act from continuing when linking with ore silo fails. We don't want that for stacking machines ## Changelog 🆑 fix: stacking machines can be linked with its console via multitool /🆑 |
||
|
|
6aa646c2d7 |
Cleans up relic code & adds new relic theme (#84511)
## About The Pull Request Cleaned up crusty old code and made it more readable, removed single letter variables, camel case, etc. Improved naming for strange objects. Unidentified objects are "Strange [thing]", activating the item replaces the word "strange" with a new prefix. Improved the list of strings. Added cosmetic themes for artefacts. All current strange objects are now "prototype" artefacts, reflecting their man-made origin in space. Artefacts with different themes pick from different sprite and name pools, reflecting who made them. New "necrotech" theme for relics. These are strange objects from lavaland. Instead of getting half-multitool-half-gun-blows-up-when-used monstrosities crafted by insane maint dwellers, you will now get strange relics that look like this.  And they're called something like "ruined instrument" or "dark relic". ## Why It's Good For The Game Code needed cleaned up. It was in a bad state. Years of neglect. Themes add more flavour to these items. I really didn't like how the boulder machine looked when it produced lots of relics, so now it produces more appropriate ones. Lets admins and mappers use variable editing to decide what relics do and what cooldown they should have before they are activated. Previously, this would be overwritten when the relic was activated. ## Changelog 🆑 code: Cleaned up relic code. image: Added necrotech themed relics. /🆑 |
||
|
|
e4c5c2fc2a |
Allows for proxy atoms in object melee attack chain (#83860)
## About The Pull Request 1. Objects now have an `get_proxy_for()` proc. This returns an atom that will participate in the object melee attack chain on behalf of your atom. Allows for general purpose polymorphism per object interaction 2. Cleaned up some multitool acts to accommodate proxy behaviour 3. You can pry tiles as an Engiborg with crowbar in hand & do other similar behaviour with crowbar 5. Improves & Depends on #83880. We don't need a hidden omni toolbox & can create the tools directly in the omnitool and pass them in the attack chain as a proxy rather than calling the attack chain manually. All tools are on the borg directly - Fixes #84355 - Fixes #84359 - Fixes #84393 ## Changelog SyncIt21,zxaber 🆑 fix: omni crowbar tool interaction for replacing tiles has been fixed fix: techfab screentip does not runtime when you hover over it with an omnitool multitool fix: medi borgs can do brain surgery again code: improved multitool & general tool code for some machines /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
e43f5f82b5 |
Fulton animation is no longer sideways and it does not sleep for 32 seconds before returning item_interaction results (#84487)
## About The Pull Request Living being attached to fultons are now forced upright so that the animation works properly, plus it looks like people are being attached by their back. Adjusted the layers a bit for that, plus moved the animation into a callback so it doesn't force item_interaction to wait until it finishes. ## Why It's Good For The Game Proper animation and code quality, I don't know what exactly a 32 second delay could mess up but it doesn't seem very good. ## Changelog 🆑 fix: Fulton animation is no longer sideways. code: Fulton code no longer forces attack chain to wait for 32 seconds. /🆑 |
||
|
|
35484728f1 |
Cigarettes and vapes are no longer subtypes of masks. (#82942)
## About The Pull Request Since non-clothing items can also be worn on several slots, there's no need for cigarettes/vapes to be subtypes of masks anymore, since that comes with a few oddities like #82870. ## Why It's Good For The Game This should fix #82870, with about no side-effect aside them no longer being edible by moths 🤢. |
||
|
|
3686dce567 |
Moves sugar from polypore mycelium to fireblossoms (#84300)
## About The Pull Request So the 'large mushrooms' from lavalands contain sugar and ethanol in a ratio such that most of the ethanol instantly reacts with the sugar to form Fringe Weaver (an alcoholic beverage).   This is not ideal and makes it impossible to extract any useable quantity of ethanol, so to solve this issue the sugar has been removed from large mushrooms and put into the fireblossoms instead (they had a similar quantity of nutriment). ## Why It's Good For The Game Makes ghetto chemistry more enjoyable in the lavalands. Sugar can still be acquired, just from a different kind of mushroom now. ## Changelog 🆑 qol: polypore mycelium no longer contains sugar, preventing it from instantly creating fringe weaver beverage when ground up. qol: sugar may be acquired from grinding fireblossoms instead of polypore mycelium. /🆑 |