mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-16 20:16:09 +00:00
09fae31ecb8bdcd06fce508aa4c5e5ffe8a193f0
416 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
ce0a9c932e | Shrunk arrow from pointing at things. Command roles unaffected thanks to id trims (also new skillchip). (#85892) | ||
|
|
ff3b73dc82 |
Refactored the fish case and examining fish. New bluespace fish case to fit large fish inside a backpack. (#85271)
## About The Pull Request I've refactored the FISH_SAFE_STORAGE trait into an element, mainly because there were a few problems with how it worked: It wasn't stopping hunger from raising, ditto with the breeding wait, and it offered no healing whatsoever, which I find kind of a bummer. The new element will keep the fish from getting any hungrier or ready to reproduce and will heal them up to 65% of their base health. Also, I've added a new bluespace fish case as a techweb design, found along with other stuff in the advanced fishing node, though if you want I can move it to a bluespace node. This should make it possible to reasonably store and carry around larger fish. Examining a fish will no longer give out readings on weight and size if you haven't at least attempted fishing once (you can get to novice level in less than a minute). While examining a fish with apprentice level or higher will also give readings on the general conditions of the fish (is it starving? drowning? has it lost a considerable chunk of health?). The fishing skillchip also gives you these traits. I've also converted two fish variables into traits, because fish have waaaay too many variables. and gave some topdown shading to the pre-existing fishbox sprite. ## Why It's Good For The Game ## Changelog 🆑 add: Added a bluespace fish case to the advanced fishing node. balance: Fish cases will keep a fish from getting hungrier or ready to reproduce, while also healing it up to 65% health. balance: Examining a fish with zero fishing skill whatsoever won't give a reading on its size and weight. Conversely, examining one with the skill leveled two times will give general information on if it's starving, sick, hungry, or dead. /🆑 |
||
|
|
0b68257da1 |
Drunken Brawlening: Intoxication alters your unarmed effectiveness, bartenders are stronger fighters while drunk, deterministic stagger combo is back (your average assistant doesn't get knockdowns) (#85449)
## About The Pull Request ### Intoxication and Punching Being drunk juuuust enough allows you to land stronger punches and take punches a little more easily. However, being TOO drunk makes you WORSE at these things, and makes your unarmed accuracy an unarmed PENALTY. Don't get drunk if you can't hold your liquor. However, fighting drunk makes you really sick, so be careful as to not suddenly start vomiting everywhere. ### Drunken Brawler Bartenders are now drunken brawlers. They gain additional punching prowess if they're ever intoxicated, it does not matter how much nor do they ever suffer a penalty as a result of being TOO drunk. The more damage the bartender has taken, the stronger they hit back. (added by recommendation from WalterTruck) I have to mess the scaling on this more. ### Stagger Combo/Unarmed Combos The stagger combo is back, but significantly less stun heavy except on the extreme ends of unarmed upgrading. When your opponent has been sufficiently damaged enough, staggered and doesn't have any riot protection gear on, you can inflict additional status effects when you punch an opponent. The necessary value for this effect is: Half the target's Brute and Burn damage combined exceeds a value of: Limb accuracy + armor block (min. 40. max 200) While the thresholds are more deterministic, the effects are random. The better you are at punching, the better the effect, but the higher your targets armor, the weaker the effect. All effects are positive for the attacker and negative for the target. The dice roll is such; (a roll between -20 to 20) + limb accuracy - armor block | Stage/Value | Effect | | ------------- | ------------- | | Stage 1 (-Infinity to 0 | Staggered for 1 second | | Stage 2 (1 to 10) | Eye Blur for 5 seconds | | Stage 3 (11 to 30) | Eye Blur, Dizzying, Confusion for 5 seconds | | Stage 4 (31 to 40) | Blindness, Dizzying, Confusion for 5 seconds | | Stage 5 (41 to 45) | Knockdown for 4 seconds | | Stage 6 (46 to Infinity) | Knockdown for 4 seconds, 5 Brute with huge wound chance | Stages 5 and 6 are not possible to reach for roundstart humans who aren't intoxicated. It is almost impossible to get high effects against someone who is in full security gear as a roundstart human ### Minor Changes Any unarmed related thresholds or values that would use Stamina damage now use half of the total of Burn and Brute damage on the relevant individual. This affects punch accuracy, the threshold for getting a stagger combo, and the threshold for someone being more vulnerable to grabs. ## Why It's Good For The Game I just really wanted to add some drunken brawling/drunk fist style martial art stuff because I thought it would be fun, and bar brawls are where most people start fist fights. It's thematically entertaining. The bartender, by extension, should be pretty proficient at this kind of brawling. It also works out great when working with chefs to beat people up with their fists in their own, more unrefined style. The situation with the unarmed knockdown/stamina pr was kind of a mess, since at the time I was already going to take it out after discussing things with Walter and we were working out some alternatives together. But uh...well, it wasn't to be. Particularly, there was a lot of stuff in unarmed fighting that used Stamina damage that didn't actually get removed at all. So this cleans that up. I said I'd find a good alternative down the line to fill that gap, and this is it. For your run-of-the-mill fistfights, there are no random knockdowns. It's only when you are actually trying to brawl with a cybernetically enhanced human that this kind of thing starts to crop up. Or your opponent is a golem. Or you are both really drunk (and thus everyone starts vomiting because they're getting beaten up) The average assistant beating up another assistant is at best going to inflict some eye blurring and dizziness, assuming the fight even lasts that long. But this should be sufficient to create space to escape, or even meaningfully disable someone who might simply be invading your department. It is much less helpful against a more sufficiently geared opponent. The main reason for focusing on this is to give the average joe some kind of way for a heel turn in the event they're having to scuffle with departmental invaders or escape some determined opponent. It does not, however, allow them to manhandle a nuclear operative in an elite suit while our would-be hero is entirely butt-naked and drunk. Not that they shouldn't try, that's funny as hell. Thus, the effects chosen are more useful for escaping and befuddlement than necessarily stopping the fight outright. If you have improved arms, your arms are weapons and start to act like them, so you start seeing more significant results. It is also a nice thematic tie to unarmed's zany cousin; tackling, since the randomized effects are borrowing the logic form there, and it is cool to have those tied a bit closer. ## Changelog 🆑 add: Drunken fist fighting now has bonuses and penalties based on how intoxicated you are. Controlled liquor intake could make you a better brawler. Though you might vomit if you go too hard. add: Bartenders are now Drunken Brawlers. If they're drunk at all (no matter how drunk), they're stronger at fist fighting. add: Reintroduces the deterministic stagger combo. The effects of the combo are more varied, and based on attacker unarmed effectiveness and the defender's armor. Read the PR for more details. It's complicated. qol: Unarmed effects that would utilize stamina values now use a split of half brute, half burn to determine outcomes or for meeting thresholds. This affects; punch accuracy, stagger combo thresholds and grab vulnerability thresholds. /🆑 |
||
|
|
1b19505cc1 |
Adds a copy of the famous 1995 musical "Space Station 13: The Musical" to contraband of the autodrobe (#85724)
## About The Pull Request Adds a copy of the famous 1995 musical "Space Station 13: The Musical" to contraband of the autodrobe It's a "skillchip" that forces you to sing while implanted and active (these messages were typed normally)    ## Why It's Good For The Game Makes it easier for entertainers to put on their own version of that historic musical ## Changelog 🆑 Melbert add: Adds a copy of the famous 1995 musical "Space Station 13: The Musical" to contraband of the autodrobe /🆑 |
||
|
|
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> |
||
|
|
9855ee0966 |
Cult vs Heretic overall polishing (#84908)
## About The Pull Request Renamed the Crimson Focus to the Crimson Medallion Fixed harvesters not being properly bound to their master, nor dying when they do Fixed heads totally overriding cultist sacrifice rewards Heretic blade now converts to a nullblade Added wooshing, shaking, and glowing to flinging around with the heretic blade Removed the probability to not gain a reward when sacrificing a cultist ## Why It's Good For The Game > Renamed the Crimson Focus to the Crimson Medallion I heard bradley say this and it sounded better, differentiated it from the amber focus, gave it a unique identity > Fixed harvesters not being properly bound to their master, nor dying when they do Now you can track your master through the arrow though > Fixed heads totally overriding cultist sacrifice rewards Whoops > Heretic blade now converts to a nullblade Everyone loves these and it fits more-ish > Added wooshing, shaking, and glowing to flinging around with the heretic blade I am the flavor master > Removed the probability to not gain a reward when sacrificing a cultist This was 'pre-balancing' which is a cardinal sin in my books. It shouldn't exist without a good reason, plus the implementation is poor. ## Changelog 🆑 spellcheck: Renamed the Crimson Focus to the Crimson Medallion fix: Fixed harvesters not being properly bound to their master, nor dying when they do fix: Fixed heads totally overriding cultist sacrifice rewards add: Heretic blade now converts to a nullblade add: Added wooshing, shaking, and glowing to flinging around with the heretic blade balance: Removed the probability to not gain a reward when sacrificing a cultist /🆑 |
||
|
|
8d9534969f |
Fixes bookshelf attackby (#84929)
## About The Pull Request Closes #84884 Adds early returns, cleans up and fixes whatever was going in bookshelf attackby code due to lack of early returns and state weirdness. ## Changelog 🆑 fix: You can attack bookshelves in a variety of states once more /🆑 |
||
|
|
aba588abb5 |
Buffs the Matrix Flip skillchip (#84658)
## About The Pull Request Amps up the duration of the flip and the bullet dodging to 1.4 seconds (from 0.8). EDIT: I've added a check to prevent matrix-flipping into stamcrit (unless the emote wasn't intentional) and lowered the stam cost very slightly to allow for a fifth flip. ## Why It's Good For The Game I've tested the thing, with and without stun immunity (which prevents stamcrit from overusing it), hulk, rapid gloves, against the colossus and turrets at the tdome. It's pretty meh overrall, having to keep spamming the flip hotkey to keep it going, and the duration isn't all that useful since you can't easily foresee when something or someone's going to fire at you, or react in time. This is likely going to stay a gimmick, albeit a less crappier one. ## Changelog 🆑 balance: Buffed the matrix flip skillchip duration. Lowered the stamina cost very, very slightly. qol: You can now longer matrix-flip yourself into exhaustion, unless the emote is unintentional. /🆑 |
||
|
|
c46e3209a1 |
Adds the DET.ekt Skillchip, upgrading the detective's sense of taste. (#84469)
## About The Pull Request Gives the Detective a roundstart skillchip which allows them to unlock the hidden potential of their tastebuds. With this, they can identify chemicals by taste, and even identify bloodtypes in the same way. ## Why It's Good For The Game  I've been watching a lot of detective stuff and I think it's really funny how often they stick their fingers into random goo/blood and taste/smell it. The idea of a detective chugging a glass of unidentified liquid to identify that there's a lethal chem mix in there is equally funny to me. Imagine you're recovering from a mugging in the medbay and the detective comes in, takes a blood sample from you, and downs it in one go. ## Changelog 🆑 Wallem add: The detective now starts with the DET.ekt Skillchip, which allows them to identify chemicals and bloodtypes by taste. /🆑 |
||
|
|
4eaa299c0b |
Cult Vs. Heretic: 7 Months Later Edition (#82877)
## About The Pull Request This PR was originally meant as a replacement for the Bloody Bastard blade, but then I stopped existing for 7 months. Now that I'm here again, I'm finishing the job once and for all. ### **HERETICS VERSUS CULTISTS** ### Heretics Heretics can now sacrifice cultists, which will give them one of three gifts: The Cursed Blade, the Crimson Focus, and the Rusted Harvester. The gifts given are weighted to be spread out equally with each type. They will also gain one knowledge point. - The Cursed Blade is a free heretic blade that is more powerful than the normal heretic blade, including a small block chance. It can also be used to draw heretic runes off combat mode. - The Crimson Focus is a necklace that grants focusing and a minor regeneration effect which also affects nearby heretics, at the cost of gaining the BLOODY_MESS trait while wearing it. Additionally, it can be squeezed to heal 50 points of brute/burn damage, injecting yourself with three to six (separately) units of Eldritch ~~Water~~ Essence and Unholy Water. Yes, this isn't good. - The Rusted Harvester is a heretic 'monster' summon. It's a normal Harvester, but instead of Area Conversion and Forcewall, it has Aggressive Spread and Rust Construction (Raise Wall). It can delimb, but only cultists, with a delay. It has an aura of decay, corroding the environment and withering enemies near it, but it's VERY fragile. Rusting cultist item dispensers will now cause them to turn into a Heretic object. Altars turn into small heretic runes, Archives turn into Codex Cicatrixi, Forges turn into Mawed Crucibles. Ideally, Heretics would be able to gain an amount of these new powers and use them to turn the tide against the cultists, amassing their power and almost forming a sect of their own in turn which sweeps over and converts the cult. ### Cultists When a Cultist sacrifices a heretic, two things will happen: - A new item will be available for creation at one of the dispensers. - The Heretic will be trapped inside a powerful Haunted Blade. `/obj/item/melee/cultblade/haunted` ` name = "haunted longsword"` ` desc = "An eerie sword with a blade that is less 'black' than it is 'absolute nothingness'. It glows with furious, restrained green energy."` This blade will be stronger across-the-board than a normal cult sword, and will even allow those who wield it to cast one heretic spell from their previous path. The only downside? The heretic can also cast one spell. It's up to the trapped spirit if it wants to help you, or be a nuisance. The unlocked items are: - The Cursed Blade, again. For cultists, it can be used to draw runes twice as fast as usual, and they can even right-click it to teleport to safety, just like a heretic! - The Crimson Focus, again. Cultists are twice as fast at carving spells into their body, and they gain a 5th spellslot as long as they wear the amulet. It still causes hemophilia and grants weak regeneration. - The Proteon Orb. This orb will create a gateway to Nar'sie's own realm, spawning one Proteon every 15 seconds, which ghosts can possess. The gateways cannot be placed close to one another. Originally, they were going to be able to create a Harvester Shell, but there were some concerns of it being too OP. The true Bastard sword has been fully deleted. The null rod conversion has been changed to a Bloody Halberd instead. I'm considering re-enabling Stun Hand on Heretics, with Mansus Grasp stats. ### Other All the items above can be used by both Heretics and Cultists, no matter how they were first created. Hell, even normal crew can use them! This is probably not the best idea a lot of the time, though. There are a lot of other changes in this PR. A loooooot. I will likely miss some in the changelog, but I'll try to be as thorough as possible. There's probably also some leftover garbo that I didn't find and clear out yet. ## Why It's Good For The Game Cult and Heretics, despite being mortally opposed, have very few interactions with eachother, especially now that the Blade's gone. The only thing of note is just the Heretic's unfair complete resistance to stun hand, which is only marginally better than the alternative. This PR will reintroduce their animosity, and give both sides a very, very good reason to fight eachother. The Cult will gain a sick sword that keeps the heretic in the game, and unlike with the original implementation, will recieve a cult-wide bonus in the form of a powerful, well deserved, and fun new item to summon. The Heretic will gain powerful trinkets and knowledge from the sacrifices, incentivizing them to become a terrifying cult-hunter. And if they do succeed in wiping out the cult, they will have quite the rewards to help with their ascension. The crew, while mostly unaffected, will have a damn good reason to not just Side with the heretic, out of fear of what they may become after the cult is stomped down. They can also use a few of the items here in an attempt to get one up on either side, as long as they manage to stay clear of the side-effects. Let the heretics eradicate the apostates. Let the cultists root out the heathens.  The haunted longsword creates an aura of darkness (disabled for the cultist for the image) Sprites... are not great. Hopefully someone comes by and improves them. code: Added get_inactive_hand() as an easy shortcut for carbons code: Wall walker element can now accept a trait for wall-checking fix: Fixed soulsword component being unable to invoke the post summon callback refactor: Turned Heretic rust turf healing into an element, given to Rust Walkers and Rusted Harvesters refactor: Converted Limb Amputation from an element to a component Blade and Sword sprites by meyhaza!!! I did the inhands though. Cuz im cool |
||
|
|
a0060f8820 |
Adds boards for the book binder and scanner (#83863)
## About The Pull Request Adds boards for the book binder and scanner. The scanner requires one scanning module while the binder requires one servo to make. Research for the board was added to the computer tech research node as that's where the other book related research was. Boards are available to print at the service techfab.  ## Why It's Good For The Game Being able to (re)make the library is good. Irreparable machine is bad. Writing down your work and being unable to scan it into the archive is not good. Also allows the machine to be moved if needed. |
||
|
|
4ac4375faf |
Adds pen clicking, changes most pen typechecks into writing implement checks (#84186)
## About The Pull Request Fixes #84170 Adds pen clicking and changes some of edagger and pendriver code to use it instead. Also replaces most pen typechecks to writing implement checks where it makes sense, so now you can rename things with everything you can write with (crayons)  Twisting pen caps (for traitor uplinks) has been moved to ctrl + click instead. |
||
|
|
ff6b41aa07 |
Afterattack is dead, long live Afterattack (#83818)
## About The Pull Request - Afterattack is a very simple proc now: All it does is this, and all it's used for is for having a convenient place to put effects an item does after a successful attack (IE, the attack was not blocked)  - An overwhelming majority of afterattack implementations have been moved to `interact_with_atom` or the new `ranged_interact_with_atom` I have manually tested many of the refactored procs but there was 200+ so it's kinda hard ## Why It's Good For The Game Afterattack is one of the worst parts of the attack chain, as it simultaneously serves as a way of doing random interactions NOT AT ALL related to attacks (despite the name) while ALSO serving as the defacto way to do a ranged interaction with an item This means careless coders (most of them) may throw stuff in afterattack without realizing how wide reaching it is, which causes bugs. By making two well defined, separate procs for handing adjacent vs ranged interactions, it becomes WAY WAY WAY more easy to develop for. If you want to do something when you click on something else and you're adjacent, use `interact_with_atom` If you want to do something when you click on something else and you're not adjacent, use 'ranged_interact_with_atom` This does result in some instances of boilerplate as shown here:  But I think it's acceptable, feel free to oppose if you don't I'm sure we can think of another solution ~~Additionally it makes it easier to implement swing combat. That's a bonus I guess~~ ## Changelog 🆑 Melbert refactor: Over 200 item interactions have been refactored to use a newer, easier-to-use system. Report any oddities with using items on other objects you may see (such as surgery, reagent containers like cups and spray bottles, or construction devices), especially using something at range (such as guns or chisels) refactor: Item-On-Modsuit interactions have changed slightly. While on combat mode, you will attempt to "use" the item on the suit instead of inserting it into the suit's storage. This means being on combat mode while the suit's panel is open will block you from inserting items entirely via click (but other methods such as hotkey, clicking on the storage boxes, and mousedrop will still work). refactor: The detective's scanner will now be inserted into storage items if clicked normally, and will scan the storage item if on combat mode /🆑 |
||
|
|
b830ba11b7 |
Research Directors are now strong (the Athletics trait, that is). Suplexing a rod is an incredible workout. (#83269)
## About The Pull Request Grants the Research Director TRAIT_STRENGTH via their skill chip. This trait is only relevant to athletics-related activities. They still need to actually do the workout before they see any results. Fitness bros will overestimate the RD's power level due to their ability to suplex an immovable rod. Suplexing a rod grants an incredible amount of athletics skill, increased by how many people the rod has taken out. The frequency of this happening is bound to be pretty small, but it's a nice in-round reward for accomplishing the task (and maybe blowing up a department as a result), and also potentially a large number of casualties on top of that. ## Why It's Good For The Game The athletics changes didn't acknowledge that there is already someone on the station that is, for some reason, unnaturally stronger than everyone else. The Research Director. So now, fitness bros think they're naturally swole. Mind over matter, I guess? I just think it'd be funny if by suplexing the rod once, you gain incredible physical power and then need to take a nap because boy that sure was an explosive amount of strength you had to apply. Since this only happens with looping rods, I don't imagine it will disrupt fitness as a skill too much. ## Changelog 🆑 add: The Research Director is now actually strong. add: Fitness bros will determine the Research Director to be stronger than they actually are, without even working out. How does he do it? balance: Suplexing a rod grants a large burst of athletics experience. add: The more sentient casualties of the rod, the more experience suplexing that rod grants. Absorb the souls of the weak and feeble. /🆑 |
||
|
|
494f306fcc |
RD get robo knowledges (#82642)
## About The Pull Request Setting RD suplex skillchip as common chip. Adding Roboticist's skillchip into RD. Skillchip's categories are global defines now ## Why It's Good For The Game RD is literally the most skilled scientist and roboticist. CEO of all Silicons. Why he doesn't have robo wires trait? |
||
|
|
9b830bc8a9 | Blood cult: cleans up blood rites code, fixes a bug or two, & adds blackbox logging for spells, runes, and shades (#82444) | ||
|
|
e64331f678 |
Clowns can now make balloon... toys. And also mallets and hats. (#82288)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request Clowns will now start with a box of 24 random long balloons and a skillchip in their noggin allowing them to create balloon animals by combining two of them of different colour together. Owners of the skillchip also gain access to crafting recepies of balloon mallets, vests, helmets and tophats, all created from long balloons. A crate of long balloons, with a box of balloons inside, can be bought at cargo, in case the clown runs out. I might edit this once I wake up, its 3 in the morning right now. Oh also, resprited how balloons look in inventory.  ## Why It's Good For The Game Balloon animals funny. Silly features are my favourite kind of features, and this one's open-ended too. Someone on the coder chat recommended someone would do it that one time, here it goes. ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 add: Added long balloon box to the clown's starting inventory, and a skill-chip of long lost honk-motherian knowledge to their brain. add: Added long balloons. Consequently, added balloon animals to make from such balloons. Also, balloon top hat, vest, helmet, and a mallet. Don't ask about the mallet. add: A long balloons box harvested fresh from the farms on the clown planet will be able to be shipped in a crate to the cargo department near you! add: As per requests; water balloons can now be printed at service lathe, and entertainment modsuit can now blow long balloons! image: Balloons will now have an unique sprite when in the inventory, compared when to on the ground. /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> --------- Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
6dc40ca522 |
Standardizes object deconstruction throughout the codebase. (#82280)
## About The Pull Request When it comes to deconstructing an object we have `proc/deconstruct()` & `NO_DECONSTRUCT` Lets talk about the flag first. **Problems with `NO_DECONSTRUCTION`** I know what the comment says on what it should do |
||
|
|
55267e1334 |
minebot buff (#82001)
## About The Pull Request this pr buffs non-sentient minebots a bit to make them more helpful with the new arcmining changes. Minebots now have a better overall AI, they will maintain distance from enemies and shoot while running. they will also plant landmines while theyre running away from enemies. these landmines are carefully programmed by the bot not to trigger when any of its miner friends step on it. u no longer need to feed minebots an ore to get them to listen to you, as they now automatically listen to any miners around. minebots can now repair damaged node drones  they also have a new autodefend feature, which makes them automatically attack any mob that attacks its miner friends or the drone. They also have some new upgrades! First is the regenerative shield, this shield allows minebots to tank a limited amount of hits before breaking. minebots will then need to wait sometime before the shield re-activates. Second is the rocket launcher remote control, this allows players to direct minebots to fire anti-fauna missiles at their target https://github.com/tgstation/tgstation/assets/138636438/3ec3605e-8e11-4a31-acaa-1382bed98294 Also minebots are now highly customizable, you can rename them, change their colors, or program their AI through their new user interface  ## Why It's Good For The Game Improves minebot AI a bit, and makes it a more viable option for mining solo players ## Changelog 🆑 balance: minebots have been buffed and have recieved new upgrades /🆑 |
||
|
|
76fa5bcdad |
Skillchips are now copied to bitrunning avatars, plus a new chip to dodge bullets while flipping. (#81980)
## About The Pull Request Active skillchips are now copied on bitrunning avatars. To celebrate this, I've made a skillchip, which can be ordered through the bitrunning vendor, that lets you dodge projectiles for the duration of your flips plus 1/10 of a second (so 8/10 of a sec), at the cost of stamina (if you think 20 is a bit too low, tell me). I've also renamed the files containing the orderable bepis disks and bitrunning tech because they inconsistent with the names of their sections shown in the UI. ## Why It's Good For The Game I think (active) skillchips being copied to bitrunning avatars makes sense as after all they're both tech-y, brainy stuff. It's a bit of a shame that no one thought of doing that. ## Changelog 🆑 add: Active skillchips are now copied on bitrunning avatars. add: To celebrate it, a skillchip is now available from the bitrunning order console, which lets you dodge projectiles for the duration of your flips, at the cost of stamina. /🆑 |
||
|
|
9c70e8700d |
Small bible / bullet catcher component code cleanup (#81835)
## About The Pull Request Saw this weird use of storing a component in a var when it didn't really need to be so I just refactored it a little bit. |
||
|
|
170541bd2d |
Fix all bibles being carved (#81836)
## About The Pull Request `/obj/item/book/bible` had `carve_out` in `Initialize` instead of `/obj/item/book/bible/booze` ## Changelog 🆑 Melbert fix: All bibles are no longer suspiciously hollow /🆑 |
||
|
|
84f4740fb9 |
Fishes love kronkaine + Examining fishing spots. (#81519)
## About The Pull Request Food items with kronkaine in it now count as great baits (this is the case of the "all-natural" bait from that overpriced cargo pack I'm converting into a less expensive goodie in another PR) Sufficiently high fishing skill (and the relative skillchip) allows you to list fishes in a fishing spot by examining it twice. ## Why It's Good For The Game Little fishing things off the top of my head before I move on bigger stuff. ## Changelog 🆑 add: Fishes love kronkaine. qol: Examining a fishing spot twice with sufficiently high fishing skill (or the skillchip) will get you a list of fishes that can be caught. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
aace5f46f4 |
You can do more things while floored (#81641)
## About The Pull Request While on the floor, you can: - Use the UIs of Atmos machinery (except thermomachine and bluespace gas vendor), Holopads, Crayons (spray cans too), radios, and Disposal bins - Close extinguisher cabinets with Right-Click - Click and drag yourself onto a photocopier to climb onto it. I also changed all instances of ``ui_status`` to have all the args it's being passed, I was messing with it a bit but it's gonna be for a later PR. ## Why It's Good For The Game It's an extra layer of harmless realism, also nice QoL for people who do not have functional legs and do not have a wheelchair. ## Changelog 🆑 qol: You can use atmos machines, holopads, crayons, spray cans, and disposal bins while floored. fix: You can close extinguisher cabinets while floored. fix: You can climb onto a photocopier from the floor. /🆑 |
||
|
|
01fe145760 |
Barcode scanners can now be printed. (#81324)
## About The Pull Request Currently the only way to get a barcode scanner is by spawning as a Curator, this is lame and prevents people to job change into a librarian, so now it can be printed like basically all other service job's tools. Part of computer tech  ## Why It's Good For The Game You no longer have to spawn as a Curator to be able to work in the Library, and Curators can now replace their otherwise completely irreplaceable equipment. ## Changelog 🆑 qol: The barcode scanner is now part of computer tech and can be printed at the service techfab. /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
e21dc5fec7 |
Kicks Martial Arts out of the attack chain (yippee), makes it use signals, plus a large clean up of existing martial arts (#81097)
## About The Pull Request - Kicks Martial Arts out of the attack chain. - All Martial Arts attacks are now handled via unarmed attack or grab signals - This means all martial arts are now technically on the living level, allowing any mob that can unarmed attack to martial arts. Sort of. YMMV. - All martial arts block checking is now handled by the arts themselves, meaning you can selectively decide for a martial arts strike to not be blocked. Maybe good for the future. - A comprehensive cleanup of all existing martial arts. Improving var names, code, adding some missing animation calls, etc. Fixes #74829 ## Why It's Good For The Game Untangles the mess that is martial arts, making it a lot easier to work with the attack chain and making it overall a ton more consistent. ## Changelog 🆑 Melbert refactor: Big martial arts refactor, they should now overall act a ton more consistent. Also technically any mob can do martial arts. Let me know if something is funky. /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
54ab1e3936 |
Organ movement refactor *Un-nullspaces your organs* (#79687)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> closes #53931, #70916, #53931 ## About The Pull Request Organs were previously stored in nullspace. Now they are stored in their prospective bodyparts. Bodyparts are now stored in the mob. I've also had to refactor a lot of code concerning organ movement. Previously, organs were only moved into bodyparts once the bodyparts were removed. To accomodate this change, two major distinctions have been made: **Bodypart removal/insertion** Called only when an organ is taken out of a bodypart. Bodypart overlays, damage modifiers or other changes that should affect a bodypart itself goes here. **Mob insertion/removal** Called when an organ is removed from a mob. This can either be directly, by taking the organ out of a mob, or by removing the bodypart that contains the organ. This lets you add and remove organ effects safely without having to worry about the bodypart. Now that we controle the movement of bodyparts and organs, we can fuck around with them more. Summoning someones head or chest or heart will actually kill them now (and quite violently I must say (chest summoning gibs lol)). https://github.com/tgstation/tgstation/assets/7501474/5efc9dd3-cfd5-4ce4-b70f-d0d74894626e I´ve also added a unit test that violently tears apart and reconstructs a person in different ways to see if they get put toghether the right way This will definitely need a testmerge. I've done a lot of testing to make sure interactions work, but more niche stuff or my own incompetence can always slip through. ## Why It's Good For The Game <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game in the first place. --> A lot of organ work is quite restricted. You can't C4 someones heart, you cant summon their organs and a lot of exceptions have to be made to keep organs in nullspace. This lets organs (and bodyparts) play more nicely with the rest of the game. This also makes it a lot easier to move away from extorgans since a lot of their unique movement code has been removed and or generalized. I don't like making PRs of this size (I'm so sorry reviewers), but I was in a unique position to replace the entire system in a way I couldn't have done conveniently in multiple PRs ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 refactor: Your organs are now inside your body. Please report any issues with bodypart and organ movement, including exotic organ, on github and scream at me fix: Cases of unexpected organ movement, such as teleporting bodyparts and organs with spells, now invokes a proper reaction (usually violent death) runtime: Fixes HARS runtiming on activation/deactivation fix: Fixes lag when species swapping /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> |
||
|
|
71a1fee2f1 |
Explodes device.dmi (#80025)
## About The Pull Request I woke up today and thought 'what would be easy thing to do today so I can say I've done something?'. Then I remembered I saw several gangtool usages the time I split radio up, and I could remedy those. 7 hours later, device.dmi is split in a folder of its own, and I've also given unique sprites to door remotes and landing desginators. ## Why It's Good For The Game The device.dmi was kind of a mess. ## Changelog 🆑 /🆑 |
||
|
|
1e76fd70b4 |
Attack chain refactoring: Broadening tool_act into item_interact, moving some item interactions to... atom/item_interact / item/interact_with_atom (#79968)
## About The Pull Request Implements half of this (with some minor changes):  The ultimate goal of this is to split our attack chain in two: - One for non-combat item interactions - Health analyzer scanning - using tools on stuff - surgery - Niche other interactions - One for combat attacking - Item hit thing, item deal damage. - Special effects on attack would go here. This PR begins this by broadining tool act into item interact. Item interact is a catch-all proc ran at the beginning of attack chain, before `pre_attack` and such, that handles the first part of the chain. This allows us to easily catch item interaction and cancel the attack part of the chain by using deliberate bitflag return values, rather than `TRUE` / `FALSE`*. *Because right now, `TRUE` = `cancel attack`, no matter what, which is unclear to people. Instead of moving as much as possible to the new proc in this PR, I started by doing some easy, obvious things. More things can be moved in the future, or technically they don't even need to move in a lot of cases. ## Changelog 🆑 Melbert refactor: Refactored some methods of items interacting with other objects or mobs, such as surgery and health analzyers. Report if anything seems wrong /🆑 |
||
|
|
af67bd7490 |
basic cleanbots refactor and new janitor skillchip (#80128)
## About The Pull Request this pr refacotrs cleanbots into basic bots. also adds a new skillchip for janitrs. this skillchip will allow janitors to communicate with cleanbots and order them around, like pointing at something and telling them to clean it. also now the cleanbot has an inbuilt mop which it will use to smack mice and cockroaches ## Why It's Good For The Game refactors cleanbots into basic bots and fixes them getting stuck sometimes while patrolling. also janitors being able to order them around can make them a bit more useful as tools for the janitor ## Changelog 🆑 refactor: cleanbots are refactored into basic bots. please report all bugs fix: fixes cleanbots getting stuck sometimes while patrolling add: janitors get a new skillchip which allow them to communicate with cleanbots /🆑 |
||
|
|
3c3f90d1c5 |
Punished sect blessing rework (#80043)
## About The Pull Request Instead of punished sect healing people like the normal bibble- you take their burdens on instead! All bodypart damage and wounds is transferred onto you, as well as blood, suffocation, cloning damage and toxins The amount of damage you take is dependant on your burden level, decreasing by 7% with every burden level (100% at level 0, 93% at level 1, 37% at level 9 (the point at which you become a psyker)) the punished sect is now an absolute trauma, this makes more sense because aheals shouldnt really clear it more than they clear stuff like paraplegics ## Why It's Good For The Game I think it's an interesting tweak of letting this chaplain sect do something the others can't in healing, yet at a possibly huge cost. ## Changelog 🆑 add: Instead of punished sect healing people like the normal bibble- you take their burdens on instead! /🆑 --------- Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com> |
||
|
|
ab5b06fadc |
Adds INTJ skillchip (#79902)
## About The Pull Request Adds a new skillchip, it lets you taste food by examining it.  This has all of the effects of tasting food (various moodlets based on quality and food type) and can also trigger food allergies if you have them, however it does not consume the food nor give you any nutritional benefit. You can buy it from a vendor or sometimes it spawns in maintenance. ## Why It's Good For The Game The players are constantly clamouring for more additions to our most loved and useful feature, skill chips. <details>  </details> ## Changelog 🆑 add: A new skill chip can be found in maintenance or purchased from the vendor, allowing you to experience food in new and exciting ways. add: Abductors also have access to this incredible power, simply using their genius level brains. /🆑 |
||
|
|
ab8d86dc1d |
Paraplegics can use the skillchip machine. (#79860)
## About The Pull Request Fixes #64387. Gives the Skillsoft station `INTERACT_ATOM_IGNORE_MOBILITY`, making it possible to use while lying down. This means that it can actually be used by paraplegics, or anyone else without functional legs. ## Why It's Good For The Game As this particular machine can only be used from inside, and you cannot bring a wheelchair in, it is currently impossible for paraplegic characters to use skillchips at all. There is no good reason _why_ paraplegics or people without legs should be barred from this system, and it doesn't make much sense that this machine would need legs to function - so it no longer requires them. ## Changelog 🆑 fix: Skillsoft's skillchip stations are now ADA-compliant (Astronauts with Disabilities Act). Paraplegic characters can now implant themselves with skillchips, the same as anyone else. /🆑 |
||
|
|
f4535255c0 |
Nukes radio.dmi, adds inhands for somewhat relevant items. (#79792)
## About The Pull Request Third /icon/ cleansing splinter 1. Comments on commits say all it does pretty much.  ## Why It's Good For The Game Inhand for walkietalkie was requested in the project, gets rid of some usecases of old 'gangtool', headset splitoff requested by Fazzie. Inhands reflecting the items they are supposed to represent is nice. ## Changelog 🆑 image: Following now have unique item sprites: syndicate war declaration radio, curator and chief beacon's, chaplain beacon. image: Following now have unique inhand sprites: radio, export scanner, walkie-talkie, syndicate war declaration radio, curator and chief beacon's, chaplain beacon. /🆑 |
||
|
|
f6a31d92b6 |
Fixes Wiki Book Manuals not working (#79589)
## About The Pull Request Fixes #79545 Basically, the TGUI markdown reader that every other book uses didn't properly send the HTML printified wiki page that we had. In order to fix this, I shuffled around a bunch of code and worked in an edge case to ensure that these manuals keep functioning. In an ideal world we would be able to do something more elegant, or maybe not even rely on displaying wiki pages in-game at all, but we just gotta play the hand we're dealt and ensure that these sorts of features continue to work for right now. Also, we no longer need to both write and access raw HTML in the book framework to make everything work here. This should reduce a LOT of potential exploit vectors. ## Why It's Good For The Game  Thing work 👍 ## Changelog 🆑 fix: Nanotrasen has clarified an issue with their manual publishers, and these guides should now contain actual user-pertinent content. /🆑 |
||
|
|
7b720a0081 |
Basic Shades (#79469)
## About The Pull Request Makes shades into basic mobs. As they are solely player-controller and have no AI, this was a very simple conversion. Things of note: - I've made shades use the same "theme" system as constructs, to determine their drops and coloration - as opposed to these things being manually set by the type of soulstone they're held in. - I've reorganized files slightly, putting both constructs and shades in a new "cult" basic mob folder. That's more or less it. As I said, shades are simple. ## Why It's Good For The Game Basic-izes another mob and cleans up the code a little. Removes the last cult-related simplemob, too. ## Changelog 🆑 refactor: Shades now use the basic mob framework. Please report any bugs. /🆑 |
||
|
|
96d7e9c690 |
Invisibility refactor (#78908)
This adds a tracker for sources of invisibility and a priority system. I needed this for another thing so I'm doing this first since it touches a lot of code. As for the bugs fixed in the changelog, it's only what I noticed while going through everything and there's likely a few more things fixed with this. This should be testmerged for a while, I'll bring this out of draft when it feels safe. 🆑 admin: Invisimin can now be used on mobs that are already invisible, whether through temporary or permanent effects. fix: Monkeyize/Humanize mob transformations no longer permanently reveal invisible mobs if they had effects making them invisible otherwise. fix: Objects with the undertile element that have been made invisible through other means are no longer revealed by being uncovered. /🆑 |
||
|
|
3415828c6b |
Refactors Revenants into Basic Mobs (#78782)
## About The Pull Request I felt bad about taking all the "easy" ones, so let's change it up with a decently difficult one. Revenants are now basic mobs! This alone doesn't change much of anything because it pretty much overrode much of simple_animal code. However we do a few new things. * Multiple code improvements! No more weird proc names that aren't `snake_case`, cleaner variable names, more dmdoccing, etc. * Files are now reorganized, Rather than a 800-line dogshit monofile, we're all nice now * Multiple logic improvements, like early returns to make stuff more readable and the like. many `isnull()` yes * Instead of abusing key ownership logic, we use `mind.transfer_to()` instead for much cleaner behavior when we need to change stuff * Instead of iterating over the entire list of mobs to find dead mobs, we use a new `revenant_relay()` system that automatically handles broadcasting revenant messages to all observers and fellow revenants (like `blob_talk()`) * Instead of having a weird invisible "corpse", we move the revenant inside the actual ectoplasm when they die. This drastically simplifies a lot of wacky code that was completely useless since we still had the mob to work with, but now it's a lot cleaner when it comes down to it. * Some more hooks into stuff like `Life()` that might be useful for other people in the same way this is. * Less <span> crap, more macros, wahoo * Uses an `examine_block()` for when we relay instructions to new revenants. also cache those instructions to save time in the long run * Revenants being stunned, inhibited, and revealed are now managed by status effects rather than being chicanery on `Life()` * Everything should now just in general be a lot nicer to work with. This list is not exhaustive but a lot of the junk 7-year-old code has been gutted and replaced with the modern standards. There are stuff that I explicitly didn't touch and will not be touching in this PR as it's already rather large. * Revenant actions. I touched some proc names but I didn't alter the key ways they work. * Revenant movement. That's another can of worms. * Revenant event code. I just made it use the transfer to system to make a closed loop and that's about it. * Revenant AI. They don't have any, it's an event/admin spawn. I'm not adding AI here. ## Why It's Good For The Game Revenants are more extensible now rather than being a real big clusterfuck of bullshit, should be much easier to tweak stuff here and there or logically follow how the code for this fella should go. The number of weird revenant bugs should go down since we do stuff more simply- but there could be some sleeper bugs that can bite us. ## Changelog 🆑 refactor: Revenants, the mob that's split between planes of Life and Death, have been refactored into a basic mob. While this alone shouldn't touch behavior, a lot of the backend code has been gutted and refactored to try and furnish a better antagonist experience. This might mean that some weird stuff can come up and around, report something if it's utterly broken. code: In order to better facilitate some code, you do not ghost outside of a revenant on death, you simply get transferred into the ectoplasm. You should still be able to speak with your ghost friends on how hard you got wrecked or if you'll be able to resurrect though. code: The timing on revenant stuff such as being revealed, stunned, and inhibited (by holy weapons) should be tweaked a bit to allow better management. This should mean that getting unstunned and such should be a bit more precise now. qol: Revenant instructions are now relayed in a neat little examine block. /🆑 |
||
|
|
d6f79f4427 |
Refactor gib code to use bitflags and have documentation (#78754)
## About The Pull Request This takes all the gib related procs: - `gib()` - `spawn_gibs()` - `spill_organs()` - `spread_bodyparts()` And adds heavy documentation that communicates what the procs are used for and how the different bitflags affect them. The difference is noticeable: `gib(TRUE, FALSE, FALSE, null)` vs `gib(DROP_ORGANS|DROP_BODYPARTS)` The code is now much more legible which is important considering it's used in a lot of places! Another robust change, is that we had several places in the code where there were double negatives like so: ``` /mob/living/carbon/spill_organs(no_brain, no_organs, no_bodyparts) if(!no_bodyparts) // DOUBLE NEGATIVES ARE BAD M'KAY?!? // do stuff here ``` This is a mindfuck to untangle. I inverted a lot of these parts so we don't lose our sanity. Last thing that was changed was a big `if()` loop in the `spill_organ()` proc. This was refactored to just be a simple `for` loop with `continue` statements where we needed to skip enabled bitflags. It's now shorter and cleaner than before. The only slight gameplay change this affects is that gibbing a mob now guarantees to drop all items unless the `DROP_ITEMS` bitflag is deliberately omitted. Some places like admin gib self, we don't want this to happen. ## Why It's Good For The Game Gib code is very old. (~15 years) People kept adding more arguments to the procs when it should have been a bitflag initially. By doing it this way, there is more flexibility and readability when it comes to adding new code in the future. ## Changelog 🆑 refactor: Refactor gib code to be more robust. qol: Gibbing a mob will result in all items being dropped instead of getting deleted. There are a few exceptions (like admin gib self) where this will not take place. /🆑 |
||
|
|
68b798efa0 | A thorough audit of damage procs and specifically their use in on_mob_life() (with unit tests!) (#78657) | ||
|
|
db8eca7bf3 |
The fishing portal generator expansion (plus skill-chip) (#78203)
## About The Pull Request This is a PR I worked on last month, but had to put on hold while dealing with some pressing issues with fishing feature, minigame and other stuff, and because I had to atomize out some of the stuff previously present here. I've expanded on the fishing portal generator to do something other than dispense guppies and goldfishes. It now has multiple settings, unlockable by performing scanning experiments for fish types, available from the get go, which also reward a meager amount of techweb points upon completion. The generator can now be built too. No longer it has to be ordered from cargo. It can also be emagged for the syndicate setting, tho right now it only dispenses donkfish and emulsijack, both otherwise impossible to get outside of... exodrone adventures. The advanced fishing rod now comes with an experiment handler component, specific to the fish scanning experiment, that automatically scans fished content. The node to get it now requires 2000 points and the first fish scanning exp to be unock. A new skillchip has been added, which adds a trait that changes the icon of the fish shown in the minigame UI, giving some clues on what the reward will be. The same trait is also gained by reaching the master (penultimate) level of the fishing skill. A new fish type has been added, with its own quirks. One of these quirks included temporarily switching movement direction of the bait. Currently, it can only be fished in the hyperspace and randomizer setting of the fishing portal. Screenshots:   ## Why It's Good For The Game The fishing portal generator is but a stale and underdeveloped prototype of the fishing feature right now, so much I was thinking of removing it at first. However, we also have a lot of fishes which are pretty much unfishable, so I came up with the idea of adding new portal settings that allow people to actually get them. As for the skillchip and trait, it's but an extra to both the vending machine in the library and the fishing skill itself, which has an overall humble impact on the minigame. ## Changelog 🆑 add: Expanded the fishing portal generator. It now comes with several portal options that can be unlocked by performing fish scanning experiments, which also award a modest amount of techweb points. balance: The fishing portal generator is now buildable and no longer orderable. The board can be printed from cargo, service and science lathes. balance: Advanced fishing tech is no longer a BEPIS design. It now requires the base fish scanning experiment and 2000 points to be unlocked. add: The advanced fishing rod now comes with an incorporated experiscanner specific for fish scanning. add: Added a new skillchip that may change the icon of the "fish" shown in the minigame UI to less generic ones. Reaching master level in fishing also does that. qol: The experiment handler UI no longer shows unselectable experiments. /🆑 |
||
|
|
d93dfbc35c |
Adds Summon Cheese (#77778)
oh apparently this is my 100th PR on tg, which is weird because github reports 99 total, and i made at least one to the old voidcrew repo, and filtering tg prs by my name still shows 99. weird. here's to 100 more i guess? <sub>could have been better if it was a get, jhonflupwliiard watch ur back 🔫 </sub> ## About The Pull Request Adds a new spell granter book to the Wizard's Den - Summon Cheese, which grants the spell by the same name, which summons 9 heads of cheese. That's about it, I think. ## Why It's Good For The Game Wizards are a hungry bunch, so why can't they just summon food? They can even share, if they'd like, since the notion of a friendly wizard still exists <details> <summary>... </summary> alright fine i'm slightly malding over not getting the 77777 get so no more roleplaying in the pr body Wizard Grand Ritual now has a hidden goal of sacrificing 50 cheese wheels. Sacrificing a cheese wheel is done with invoking the grand rune, and each invocation/pulse of the rune will whisk away more cheese until all cheese on the rune is taken by whichever entity lurks in the other realm. The sacrifice will be hinted at in an _ancient parchment_ which will be on the bookshelf (when i add it lmao) alongside the spell book. Meeting this cheese goal will lock the wizard's grand finale rune and grand finale effect to special ones. The cheese rune is mostly identical to the normal grand rune, barring the custom sprites/animations. The cheese finale consists of the wizard getting permanent Levitation (nogravity + free space movement), a 0.5 modifier(reducing incoming damage in half) to every damage type, a comically strong mood buff and **The Wabbajack**(separate sprite pending) - a juiced up chaos staff which can fire a lot more projectiles than a normal one can (it will get more, I may even make a few just for it). Everybody else (including any invader antags) gets hallucinations, 175 brain damage and a comically strong mood debuff, as well as a vendetta against the wizard. If the victim was already suffering from hallucinations from a trauma (including the quirk), they are instead healed. if you didn't catch the obvious reference, this entire shtick is a tribute to Sheogorath. the rune makes use of daedric script, and most of the catchphrases are a direct quotation of the Daedric Prince of Madness, so if any of those things can get us in trouble somehow, let me know. i will be sad but i will comply. This shtick is intended as an easter egg, really, so I wasn't really planning on expanding the wizard grand finale into heretic paths thing or whatever. Oh, and finale grand runes now allow the wizard to select the effect even if it's time-gated. If it is, you just won't be able to invoke it until the time comes. The rune will tell you how much time is left until you can invoke it. And grand finale runes with a finale effect selected also glow in the color of their effect. I also think I fixed some step of the grand rune animation not triggering but I'm not sure. <details><summary>Some rune animations (some are subject to change)</summary>   </details> ## Why It's Great For The Game it's funny </details> ## Changelog 🆑 Sealed101, EBAT_BASUHA for spritework add: Wizard's Den now has a book of Summon Cheese in the Studies Room /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
2d34c7433a |
New Mech UI and equipment refactor (#77221)
 ## About The Pull Request Made a new UI and refactored some mech code in the process. Fixes #66048 Fixes #77051 Fixes #65958 ??? if it was broken Fixes #73051 - see details below Fixes other undocumented things, see changelog. ## Why It's Good For The Game The UI was too bulky and Mechs were too complex for no reason. Now they follow some general rules shared between other SS13 machinery, and there is less magic happening under the hood. ## Detailed Changes ### New Mech UI, Air Tank and Radio as separate modules Previous UI for comparison: <img alt="9SScrXAOjy" src="https://github.com/tgstation/tgstation/assets/3625094/904e3d07-e7d7-4d3a-a062-93e0e35b4b66"> Previously mechs came with radio pre-installed and air canisters magically pre-filled with air even when you build one in fab. Radio and Air Tanks are now both utility modules that are optional to install. Gas RCS thrusters still require Air Tank module to operate. This made the Mechs more barebones when built, giving you only the basic functionality. <img alt="5SDMlXTJxv" src="https://github.com/tgstation/tgstation/assets/3625094/b9364230-49ac-416b-aa70-e851fbf2050e"> To compensate this change, all mechs got two extra utility module slots. All other modules got new UI. And ore box now shows the list of ores inside. <img alt="SRX5FjvsHA" src="https://github.com/tgstation/tgstation/assets/3625094/cbe2e98d-1cd4-4667-8dae-2f9227b4b265"> ### Mounted Radio Works as a normal radio, but with subspace transmission. Available from the basic mech research node and can be printed in fab. ### Cabin Sealing To compensate for the lack of air tank by default, mechs with enclosed cabin (e.g. all except Ripley) got an ability to toggle cabin exposure to the outside air. Exiting the mech makes cabin air automatically exposed. When you seal the cabin, it traps some of the outside air inside the cabin and you can breathe with this air to perform a short space trips. But the oxygen will run out quickly and CO2 will build up. Sealing the cabin in space will make the cabin filled with vacuum, and it will stay there until you return to air environment and unseal the cabin, letting the breathable air to enter. There are temperature and pressure sensors that turn yellow/red when the corresponding warning thresholds are reached. You could also use personal internals in combination with cabin sealing for long space travels, so Air Tank is completely optional now and mostly needed when you need RCS thruster. ### RCS thrusters They are now available earlier in tech tree and consume reasonable amount of air (5 times more than human jetpacks), and they don't work without Mounted Air Tank, unless it's an Ion thruster variant. ### Mounted Air Tank Available from the basic mech research node and can be printed in fab. Built model comes empty, and syndicate mechs come with one full of oxygen. <img alt="GrFDrH5Hwe" src="https://github.com/tgstation/tgstation/assets/3625094/b677b705-bda0-4c8c-96c7-d32bf7bf9f28"> Can be switched to pressurize or not pressurize the cabin. Releases gas only when the cabin is sealed shut. Starts releasing automatically, but can be toggled to not release if you want to use it just as a portable canister. Cabin pressure can now be configured in the module UI instead of Maintenance UI. Can be attached to a pipe network when the mech is parked above a connection port. Comes with a pump that works similarly to the portable pump. It lets you vent the air tank contents outside, or suck air from the room to fill the air tank. Intended to provide an ability to fill the air tank without the need to bother with pipes. Also has gas sensors that display gas mix data of the tank and the cabin (when sealed). ### Stock part changes All mechs now require a servo motor and they reduce mech movement power consumption instead of scanning module. Scanning modules are optional for mech operation (still required to build) and the lack of one disables the following UI elements: - Display of mech integrity (you can still see the alerts or examine the mech to get rough idea) - Display of mech status on internal damage (and you can't repair what you can't diagnose) The rating of scanning module doesn't have any effect as of now. Cargo mech comes without it roundstart. <img alt="2vDtt99oqb" src="https://github.com/tgstation/tgstation/assets/3625094/147144ca-824e-4501-acf5-6ee104f309e7"> Capacitors now also reduce light power usage and raise the overclocking temperature thresholds (see below). ### Maintenance Maintenance UI removed, and its logic migrated to other places. Access modification now managed inside the mech, and anyone who can control the mech, can adjust the access in the same way as they can set DNA key. To open the maintenance panel you just need a screwdriver. It is instant when the mech is empty and it has a 5 second delay when there is an occupant to avoid in-combat hacking and part removal. It will alert the occupant that someone is trying to tinker with their mech.  Once the panel is open, you can see the part ratings:  With open panel you can hack the mech wires (roboticists can now see them): <img alt="mj205G2qDa" src="https://github.com/tgstation/tgstation/assets/3625094/44cea0d1-44b4-4b50-b1d3-a97c0056bab3"> There are wires for: - Enabling/Disabling ID and DNA locks - Toggling mech lights - Toggling mech circuits malfunction (battery drain, sparks) - Toggling mech equipment malfunction (to repair after EMP or cause EMP-like effect, disarming mech) - 3 dud wires that do nothing The hacker may be shocked if the mech power cell allows. When the panel is open and the user has access to the mech, they can remove parts with a crowbar: <img alt="jR40gyTWtJ" src="https://github.com/tgstation/tgstation/assets/3625094/b573f5b9-b8ea-412e-b3e0-c872e01e0c23"> Hitting the mech with an ID from outside now toggles the ID Lock on/off if the ID has sufficient access. ### Power consumption and overclocking Rebalanced mech power consumption. T4 parts were not working in Syndicate Mechs, as their effect was not calculated until you manipulate parts manually. Constructed mechs with t1 parts even had their energy drain reduced with upgrade to t1. Now all mechs apply their base step power usage correctly don't ignore the stock parts. Servo tier now reduces base power consumption by 0% at t1, 50% at t2, 33% at t3 and 25% at t4 Capacitor tier now reduces base power consumption of mele attacks, phasing and light by the same amounts. Gygax leg actuators overload replaced with mech overclocking. Any mech can be overclocked by hacking wires, but only Gygax has a button for toggling it from the Cabin. Now there is an overclock coefficient. 1.5 for Gygax and other mechs, 2 for Dark Gygax. When overclocked, mechs moves N times faster, but consumes N times more power.  While overclocked, mech heats up every second, regardless of movement, and starts receiving internal and integrity damage after a certain temperature threshold. The chance is 0% at the threshold, and 100% at thresholds * 2. The roll happens every tick. Capacitor upgrades this threshold, letting you overclock safely for longer periods.  When you stop overclock, the temperature goes back down. ### Other changes and fixes Concealed weapon bay now doesn't show up when you examine the mech, so it's actually concealed now. New radio module can properly change its frequency, as it didn't work for previous radio. Launcher type weapons were ignoring cooldowns and power usage, so you could spam explosive banana peals, while they should have a 2 second cooldown: <img alt="q5GjUsHwGr" src="https://github.com/tgstation/tgstation/assets/3625094/d102725d-e9e1-4588-9d6c-b9e38b7a6535"> Now this is fixed and all launcher type weapons properly use power and have their cooldowns working. And now they have the kickback effect working (when it pushes you in the opposite direction in zero gravity on throw). Thermoregulator now heats/cools considering heat capacity instead of adding/reducing flat 10 degrees. So you can heat up cabin air quicker if the pressure is low. There were some other sloppy mistakes in mech code, like some functions returning too early, blocking other functionality unintentionally. Fixed these and made some other minor changes and improvements. ## Changelog 🆑 refactor: Refactored Mech UI refactor: Refactored mech radio into a utility module, adding extra slot to all mechs refactor: Refactored mech air tank into a utility module with an air pump, adding extra slot to all mechs refactor: Refactored mech cabin air - there is now a button to seal or unseal cabin to make it airtight or exchanging gases with the environment refactor: Removed mech maintenance UI Access is set in mech UI, and parts are ejected with a crowbar add: Mech now has wires and can be hacked qol: Roboticists now can see MOD suit and mech wires add: Mechs now require servo motor stock part and it affects movement power usage instead of scanning module add: Scanning module absence doesnt block mech movement and hides some UI data instead. Big Bess starts without one. qol: Hitting mech with ID card now toggles ID lock on/off if the card has required access fix: Fixed concealed weapon bay not being concealed on mech examine fix: Fixed mech radio not changing frequency fix: Fixed mech launcher type weapons ignoring specified cooldown fix: Fixed mech launcher type weapons not using specified power amount fix: Fixed mech temperature regulator ignoring gas heat capacity fix: Fixed mech stopping processing other things while not heating internal air fix: Fixed mech being able to leave transit tube in transit fix: Fixed mech internal damage flags working incorrectly fix: Fixed Gygax leg overloading being useless fix: Fixed mechs ignoring their stock parts on creation. Syndicate mechs now stronger against lasers and consume less energy on move. Upgrading from tier 1 to tier 2 doesn't make mech consume MORE energy than before the upgrade. balance: Rebalanced mech energy drain with part upgrades. Base energy drain reduced by 50%, 33%, 25% with upgrades and applies to movement (Servo rating), phasing, punching, light (Capacitor rating). balance: Hydraulic clamp now can force open airlocks balance: Made mech RCS pack consume reasonable amount of gas code: Fixed some other minor bugs and made some minor changes in the mech code /🆑 --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: Sealed101 <cool.bullseye@yandex.ru> Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
c92d338dad |
Refactors chameleon actions, Adds chameleon outfit saving, Adds chameleon scanner (#77140)
## About The Pull Request - Refactors chameleon actions a good bit, reducing a lot of the boilerplate copied around chameleon items. - I noticed that the EMP comsig completely disregarded any EMP protection the mob might have. I split the comsig into `COMSIG_ATOM_PRE_EMP_ACT` and `COMSIG_ATOM_EMP_ACT` - the former now used to aggregate protection flags and the latter to actually do EMP stuff. - As a result of above, this fixes a few oversights in which things using `COMSIG_ATOM_EMP_ACT` disregarded EMP protection. - Adds Chameleon Outfit saving. - RMB clicking the "Select Chameleon Outfit" will now save your current chameleon setup as a custom outfit. They become selectable as any other outfit afterwards. - Because it might be *too* easy to bamboozle people / might make people think you're a ling, I added a slight "animation" to swapping whole chameleon outfits. It's less than a second long. - Adds the Chameleon Scanner. - The chameleon scanner is, surprise, a chameleon item that can disguise as small gadgets or items (toys, cameras, analyzers, etc). - On LMB, the chameleon scanner will copy the outfit of the target to a custom outfit slot, allowing you to mimic them entirely without going through all the menus. - RMB does the same, but instantly equips the disguise you select in addition to saving it to a slot. ## Why It's Good For The Game Right now traitor stealth is very capable but cumbersome, which makes it much less appealing than just running and gunning. One big problem with it is that the chameleon kit is rather time consuming to use. You have to sort through hundreds of items for each of your chameleon items to find exactly the one you need. These items seek to amend that time gate, allowing for much quicker swapping between disguises or picking up the disguise of someone you kill to replace them like a pseudo-changeling. ## Changelog 🆑 Melbert refactor: Refactored chameleon actions a fair bit add: Adds outfit saving to chameleon clothes. RMB the "chameleon outfit" action to save your current chameleon setup for quick swapping. add: Swapping between chameleon outfits now has a slight "animation" associated, to distinguish traitors from lings slightly. add: Adds a new chameleon item, the "Chameleon Scanner". Use it on other crewmembers to stealthily save their current outfit as a custom outfit to use later. And of course, it's chameleon too. fix: Ethereals, the DNA lock mod, GPSs, and storage items now respect EMP protection /🆑 |
||
|
|
bb0f042861 |
Buffs the Syndicate Tome (#76733)
## About The Pull Request Betcha forgot this item even existed huh? Well the wiki page about it is wrong, and its been pretty much untouched since its implementation so i'll tell you what it does do before I tell you about the buff. So, the syndicate tome is a 5tc traitor item that functions as a bible. It also has a very high force of 18 burn, and you hurt people with it instead of healing them with in on harm intent. Because normally only chaps can use the bible, the first person to use the bible inhand can "bind" to it which deals 5 damage, gives them the priest trait, and adds their true name to the item's description. Now, it also functions like a nullrod, granting anti-magic and allowing the clearing of heretic/cult runes. ## Why It's Good For The Game When this thing was introduced magic could hardly even exist in the same round as a traitor. But in the world of dynamic, we have antag on antag interactions all the time. This gives traitors the opportunity to go anti-cultist/anti-wizard/anti-heretic if they wish, and at a cost. |
||
|
|
ccf547c142 |
Adds an extra malf AI ability: Remote emagging. Also tidies up emag code and coverts a lot of things to balloon alerts (#76669)
## About The Pull Request New malf AI upgrade Remote safety overrides: Mid-cost, Mid-supply. Allows the AI to remotely emag things it can see and can access. 1. Very useful for psychological warfare (Emagging APCs to throw the crew off their trail) 2. Logically makes sense - why, of all things, can the AI not emag anything when it's fundumentally integrated with the station's electronics? 3. Generally speaking can only access things that make sense for it to access - it cannot emag ethereals, sadly In order for this to work, emag_act now returns a boolean, designating if the emag had any effect. While I was in there, I also added args to every single emag_act I could find and added far more feedback/converted a lot of things to balloon alerts to allow the AI to see if its emag had any effect. ## Why It's Good For The Game It just makes sense that the AI, the most electronically-sensitive entity in the game, would be able to emag things. Plus, more options given to malf that aren't strictly MURDER KILL MURDER are always a plus, especially if they allow for fancier plays. ## Changelog 🆑 add: New malf ability: Remote safety overrides. Allows the AI to remotely emag things it has access to. code: emag_act() now returns a boolean designating it's success in emagging code: All instances of emag_act() now have the proper arguments qol: Most usecases of emagging now have some kind of feedback, and existing feedback has been sanity checked and converted to balloon alerts. /🆑 |
||
|
|
fb10121022 |
Icons folder cleaning wave two (#76788)
## About The Pull Request Further continous organizing and cleaning the Icons folder. There are still some minior nitpicks left to do, but I reached my daily sanity expenses limit again, and the faster these get in the less issues for both me and others later. Also cleans some mess I caused by my blindness last PR. ## Why It's Good For The Game Saner spriters = better sprites |
||
|
|
e2de2046b5 |
Bibles, Lighters, and Cowboy Hats can block bullets (#76521)
## About The Pull Request If you are wearing a bible or lighter in your suit slot, or a cowboy hat on your head, there is a small (2%) chance that bullets (only bullets, not lasers) will hit them instead of you. This destroys lighters, removes the storage capacity of the bible, or sends the hat flying off your head. The Bounty Hunter's cowboy hat has a significantly higher chance to intercept bullets. ## Why It's Good For The Game Adds some fun flavour to these items. ## Changelog 🆑 add: A bible or lighter in your suit slot, or cowboy hat on your head will occasionally intercept a bullet. /🆑 |
||
|
|
82cf9ea499 |
Removes shitty "status" variable on organs, makes them use organ_flags instead (#76350)
## About The Pull Request Title. ## Why It's Good For The Game Seriously this shit pisses me off, why are ORGAN_SYNTHETIC and ORGAN_ROBOTIC two different things? ## Changelog not applicable unless i fucked up --------- Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> |
||
|
|
868bfe4d63 |
Library barcode scanner resprite & unique sound effects (#76182)
## About The Pull Request Resprites the barcode scanner & adds unique sounds for switching modes & scanning books ## Why It's Good For The Game This Pr was a labor of love. I love playing curator and thought the scanner could use some sounds and then thought it could benefit from a new sprite ## Changelog 🆑 sound: Adds unique sounds to library barcode scanner image: Removes soul from library /🆑 https://github.com/tgstation/tgstation/assets/97811257/3ee693a4-7a75-46c5-aa58-66a870e83357 |