mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-13 00:55:20 +01:00
mayfools
270 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
0d4938228f |
Fix CI Failures [IDB IGNORE] [MDB IGNORE] (#5126)
## About The Pull Request - null all GAGS vars for brass wirecutters as it doesn't use GAGS - Repath `mothbomb.dmi` so it actually gets deployed with the server - Generate map icons - Fix 150+ crafting material parity failures - Fix airlock lights not working - Fix certain species missing eyes ## Why It's Good For The Game Don't like red X ## Proof Of Testing If this PR is green check then you Know |
||
|
|
2ab2be0f37 | Guards against qdeletion in afterattack (#94211) | ||
|
|
0b0c5ea91e |
Unit test material checks are now performed on all crafting recipes by default. All stack recipes now transfer mats to the results (#92620)
## About The Pull Request Extends the part of the crafting unit test that ensures consistency between the total mats of the components of a recipe (or rather, the result of said recipe) and a generic instance of the same type as its result, previously only implemented on food recipes. ## Why It's Good For The Game This ensures a degree of consistency with the material composition of various objects in the game. I couldn't do it in the original PR as that one was too big already and it took months to get it merged, and have the relative bugs fixed. Currently a WIP as I slowly deal with the unit test reports. ## Changelog 🆑 refactor: Follow-up to the crafting/material refactor from months ago. All objects crafted with stacks now inherit their mat composition (not necessarily the effects and color) by default, while previously only a few things like chair, sinks and toilets did. Report any object looking or behaving weirdly as a result. fix: The material composition of ammo boxes is no longer a 1/10 of what it's supposed to be. It was a shitty hack to make it harder to recycle empty ammo boxes. Instead, they lose materials as they're emptied now. /🆑 |
||
|
|
ac6c47f601 |
Several file changes just to make high frequency blade null rods block mechs, mech melee blocking finally implemented (#94089)
## About The Pull Request High frequency blades, both null rod variant and admeme variant, can block mech melee attacks. For the former, that is the only thing it can block. Great if you're fighting a lot of mechs as a chaplain I guess. And you're also really committed to the bit. Weapons that were vibro subtypes are now claymore subtypes. The only difference here is that they now have 30% block instead of 35% AP. Null rod high frequency blades are now two-handed. This mostly determines force changes (10 unwielded, 18 wielded), and mech attack block chances. Mech melee attacks respect block...assuming the blocking source can even block the attack in the first place. Currently, the few sources that can block/avoid mech attacks are; - high frequency blades - energy katanas - Those staff nullrods (its a holy force field, iunno) - wizard modsuit shield (and it will eat literally every single charge it has to do that) - Sleeping Carp evasion (and only at half the possible chance) - CQC defense mode (themed as dodging the attack, and also halved) - probably something I overlooked when I implemented OVERWHELMING_ATTACK originally and have overlooked here as well. Just think 'could this help avoid being hit by a road roller being dropped on you' and go with your gut as to whether or not it is appropriate if you spot something in the wild that seemingly can block a mech. ## Why It's Good For The Game > High Frequency Blade I wanted to elevate the meme and that is as deep as this goes. Also I wanted to make this two-handed, much like the true version. The only thing it is lacking is the cool attack functionality, but I'll be damned if I can get that to work in a sensible fashion for a crew weapon... > Vibro subtype A lot less of these than I thought. And most of them seemed more appropriate as claymore types anyway. > Mech Block I seeded this previously by making mech clamps respect block. I've now come back to fully implement it in order to facilitate MGR memes. For the most part, mechs should still enjoy being largely unblocked by most sources, even from things like operative suit shields, and certainly not from actual shields (which I've stripped the ability to block the attack from entirely) and melee weapons. The sources that can block them do so poorly. Or, in the case of the high frequency blade, very well and that's pretty much the only thing it IS good at blocking. ## Changelog 🆑 balance: High frequency blades (both null rod and admin versions) are able to block melee attacks from mechs. balance: High frequency blade null rods are now two-handed weapons. balance: Mech melee attacks can be blocked or avoided by a few rare sources. /🆑 |
||
|
|
c8516dae39 |
Increases spider tox vuln, increase bugkiller damage and lets flyswatter bane all basic bugs. (The author was deadened by spiders.) (#93730)
## About The Pull Request This PR makes the flyswatter a bonus damage a bug bane restricted to basic mobs(Since moths and fly people have their own snowflake handling.) The result of this is that the 24 extra damage flyswatters cause against giant spiders now applies to more mobs like: * flesh spiders * mega arachnids It also buffs the damage per unit caused by bugkillers from 0.4 to 1 and the max damage per application is also increased. Giant spiders now have a tox mod of 3 and flesh spiders have a tox mod of 4. ## Why It's Good For The Game I hate flesh spiders, the main thing I dislike about them, other than them being incredibly OP and stacked statwise, is that they are not spiders at all and none of the anti-spider tech even works on them, not even a little bit! They killed me recently, chasing me into the janitors closet while is was desperately swatting it with a flyswatter, to no effect If they are going to have such a heavy spider themeing, you'd at least except the flyswatter to work on them. intuitively it should, and it is such a niche interaction, most players probably thinks, like me, the bonus damage applies to bugs in genereral. I also decided to check out pest spray and see if that does something. Currently a pest spray blast does 2(!) damage per application to any bug. A total joke even against a normal giant spider, let alone a 90 health rapidly regenerating flesh spider. I suspect it has been heavily hugboxed to prevent players from using the sandbox to kill moths with pest killer foam, so I opted to mainly increase the tox mod of the basics in question rather than increasing the main bugkiller damage. A normal little pest killer blast will still be pretty bad, but if you can find ways to apply a lot of reagent, pest killer can now maybe be effective against giant spider and flesh spiders. ## Changelog 🆑 balance: fly swatter now has bonus damage against all basic bugs. balance: bug killer reagents now do slightly more damage. balance: spiders and flesh spiders have greatly increased tox vulnerability. /🆑 |
||
|
|
22ed558265 |
Adds gladiuses (gladii?) (#93631)
## About The Pull Request Adds the Gladius alongside its scabbard. Replaces undead roman legionarries' claymores with gladii. <img width="152" height="105" alt="image" src="https://github.com/user-attachments/assets/fdd21960-0f73-4564-b381-7044838a0f51" /> <img width="194" height="165" alt="image" src="https://github.com/user-attachments/assets/a3f602e1-9ce6-4ded-b40d-d7088da292c9" /> <img width="136" height="133" alt="image" src="https://github.com/user-attachments/assets/e8105ba3-d1e5-42cb-86e5-16db6edd56f7" /> ## Why It's Good For The Game This started as me thinking "hmmm those guys shouldn't have longswords" and so I gave them the gladius, the famous standard issue foot soldier weapon for the roman army. It's better in that it's more historically accurate, which is definitely something everyone cares about a lot. ## Changelog 🆑 add: Roman skeletons now have Roman swords. /🆑 --------- Co-authored-by: die <96586172+grungussuss@users.noreply.github.com> |
||
|
|
aa4cf2b136 | The nullrod refactor (the carp-sie plushie is now actually a plushie) (#93311) | ||
|
|
f72eb75a6f |
Handcuffs can now be used to bind certain items (briefcases, toolboxes, etc.) to your hand. (#93305)
## About The Pull Request Technically, this PR introduces the cuffable_item element and the cuffed_item status effect and their relative code. In more player-friendly terms, this allows the ability to use handcuffs to bind certain items to your hands by right-clicking it with a pair of handcuffs in your active hand. This makes the item unable to be dropped, for better or worse, until you or someone else remove said cuffs. And no, this doesn't conflict with the ability to be handcuffed if you're silly enough to think that. There are more than one way to remove the cuffs. For the player with the item cuffed to their hand, to remove the cuffs they can either click the status alert, or examine the item and click the relative hyperlink. The second option is good to have if for some reason the status alert doesn't show up (too many alerts etc.). For other people, they can remove the cuffs by opening the strip inventory menu (the one you open by click-dragging the sprite of person with the item onto yours). It's an alternative action specific to this status effect (therefore only held items). Until the cuffs are removed, trying to remove the item **directly** will bring you nowhere **because the item is stuck to their hands**, duh. Alternatively you can just chop their arm off. You do what you do. For a list of items that can be bound with cuffs (suggestions welcome): - briefcases - toolboxes - lockboxes - first aid kits - shields (they generally have handles and all. gameplay-wise they already take away one hand slot to use. Using cuffs seals the deal: no swapping items on the go, so no two-handed weapons, but you won't drop the shield until it's broken) - jerrycans (Kryson's suggestion) - soup pots (ditto, kinda weird) - coffee mugs, and the mauna mug (ditto) - buckets - plushes (silly stuff, if you ever want to arrest a plush or test the feature) - pet carriers - mining drills - swords with closed guards (ERT chainsaw-sword, cap's sabre, parsnip sabre, cutlass, e-cutlass...) - crutches and the white cane - baskets - flashlights and lamps (not subtypes like flares, glowsticks and torches) - TTVs - chairs ## Why It's Good For The Game This opens up for some emergent use for handcuffs beside people (or prisoner shoes). Inspired by a scene of some 1998 action movie, where one of the bad guys had the mc guffin briefcase latched to his wrist with a pair of handcuffs. Codewise, it was also a reason to refactor bits of code like handcuffs and screen alerts slightly. On a sidenote, actual sprites for cult/heretic shackles. ## Changelog 🆑 add: You can now bind certain items like briefcases, toolboxes, medkits, shields, jerrycans etc. to your hand with a pair of handcuffs, preventing them from being dropped. You can remove said binds at any time unless incapacitated, and so can others through the strip inventory menu. qol: The appearance of a screen alert now updates if the object it represents (like, an item offered by another player) changes appearance. imageadd: The shadow shackles item (from cult magic and heretic sacrifices) now has its own icon. /🆑 |
||
|
|
2ac786671f |
Removes Ninja EMP burst / Adds Ninja EMP shurikens (#92899)
## About The Pull Request - Ninja no longer has access to an EMP burst shield, now replaced with a normal EMP shield. - Ninja throwing stars are now emergy throwing stars. - On impact, they will release a heavy emp on the target it hit. This can be a mob, a door, a machine, etc. - On embed, in addition to the initial heavy emp, the target will be hit with a light emp every 6 seconds until removing it. - `DROPDEL`, meaning they're not reusable. - 75 armor penetration, up from 40. Making it more likely to embed into armored personnel (security) - 8 force, up from 2. Meaning they can work as a really bad emergency weapon. - 12 throwforce, up from 10. Mainly cause it's made of energy instead of steel - Can't be caught - See: #91855 . - Shurikens no longer "thud" on impact, now they make a stabbing sound. ## Why It's Good For The Game Ninja is a cool techno future ninja but they still generate infinite steel shurikens out of thin air Ninja is supposed to be a master of stealth but they have an ability which makes everyone in a twelve block radius know there's a problem So we can solve both of these at once, replacing their normal shurikens with more thematically appropriate ones, and replacing their massive EMP burst with a more directed, stealthy EMP (that also opens up some unique gameplay like targeting an APC with a shuriken for sabotage) ## Changelog 🆑 Melbert, Toriate del: Removed ninja's EMP burst add: Replaced ninja's throwing stars with energy throwing stars, which EMP on hit and embed, and can't be caught. sound: Throwing stars now make stab sounds instead of thud sounds /🆑 |
||
|
|
0aa5ef9eb8 |
The chain of command boosts action speed and not just move speed. (#92964)
## About The Pull Request Most contributors do not know or forget that we also have action speed modifiers (which are a tremendous copypasta tbh) and not just move speed modifiers. This is probably just another example of this. Also the item had an unused variable, no context tips and didn't have an attack animation, a balloon alert or a chat message when performing the action, only a whip sound. Also gave the chain of command its own file. ## Why It's Good For The Game I think it makes sense for the chain of command to hasten someone in ways other than just running one's legs. Also it's kinda more effective at boosting action speed because `do_after` actions are not as frequent as moving the mob in any direction at all. ## Changelog 🆑 balance: The secondary action of the chain of command (the chained whip) also boosts action speed and not just move speed. qol: The chain of command now has contextual tip for its secondary action, and plays the whip attack animation when it's done. /🆑 |
||
|
|
70d36ada20 |
The Chain of Command can now give a speed boost by whipping other players (#92387)
## About The Pull Request The Chain of Command can now hasten other mobs when right-click attacked. https://github.com/user-attachments/assets/b6c2185e-0edb-45d5-a015-3c7e0a684ffc It's not a very ample speed boost, but it's enough to make it worth taking into battle if you have friendlies to buff. Lasts 7 seconds. Refreshes on hit. You cannot whip yourself. This only applies to the Chain of Command, not whips nor tailwhips. There's only one of these bad boys on the station. Use it well. ## Why It's Good For The Game The chain of command is nice as a ceremonial weapon, but it doesn't actually see any use in combat. Ever. Instead of just making it do more damage (boring), I wanted to make it a support tool. The captain (its owner) should usually be in the backlines of a fight, after all. Support tools gives less combat-focused players (or pacifists) a way contribute meaningfully to a team fight (nukies, revs). Not equipped to fight the blob with the rest of the team? You can use this to buff your allies without putting yourself within the blob's reach. <details> <summary>The EVIL secret reason I think it's good for the game...</summary> It gives people some mechanical incentive to steal the chain of command for once >:) </details> ## Changelog 🆑 Rhials balance: The Chain of Command will give a speed bonus to other players when right-clicking them. /🆑 |
||
|
|
4c64df0b77 | highlander cyborgs get their sword (#91766) | ||
|
|
fb9824a401 |
Makes the mech clamp attack do only brute damage, checks for block and armor, and gives it an attack animation and sound. (#91563)
## About The Pull Request If you use the mech clamp offensively, it actually performs an attack animation and sound, and properly checks armor and block. It only deals brute damage. As a consequence of these changes, it actually logs attacks made against mobs that die when gibbed. Also, xenos take x3 damage from the clamp. ## Why It's Good For The Game This is a pretty sinister kind of attack, as it is completely silent except for throwing a warning into chat, and can be done even in a large crowd of people. Someone who isn't aware that the clamp can be used this way may not even understand what is happening before it is too late. > block check While mech melee doesn't normally check block, this is an improvised attack on a non-combat mech. I think it should stay a bit weak compared to a proper mech melee in most ways and have some additional limitations. > Xenos I thought this was already a thing. It's thematically on point, no? ## Changelog 🆑 balance: Mech hydraulic clamps perform an attack animation and sound when attacking mobs. balance: Mech hydraulic clamps can be blocked and respect armor. balance: Mech hydraulic clamps do triple damage to xenomorphs. /🆑 |
||
|
|
096c032402 |
Adds a new halloween species: Spirits (#90711)
## About The Pull Request Adds 2 new species: Spirits and Ghosts Spirits are available roundstart during Halloween, Wabbajack and Xenobio's black slime extract Ghosts are available through Magic mirrors They fly around, and don't have legs and instead float around. They also can't get legs implanted onto themselves. They also do have organs, so they are affected by flashbangs, they do get hungry, they do need oxygen to survive (they don't take damage in space but they do suffocate & get slowdown), and can process chems. Gibbing a ghost gives ectoplasm, an ingredient for ghost burgers. Chaplains also got a buff here, null rod-type weapons' bane is now against Spirit mobs, rather than hardcoded revenants. This means it now includes Spirits/Ghosts, but also Soulscythes & Cult shades. Also re-adds https://github.com/tgstation/tgstation/pull/81630 which was reverted in https://github.com/tgstation/tgstation/pull/86506 which I assume was accidental. ### The difference between Spirits and Ghosts Ghosts have an innate ability to become incorporeal, which allows them to phase through walls and stuff. Using this will immediately make them drop any non-ghost limb/organ (not implants cause I thought it would be funny). This ability is not available if they have holy water in their system, and like revenants they also can't walk over blessed tiles with it. They are also invisible to cameras while using this (not the obscura though). Sprites taken from observers directly, if anyone wants to make custom sprites for them feel free. If anyone wants to make this obtainable somehow in-game as well I wouldn't be opposed, halloween is just where I thought it would fit most. This also adds a lot of fixes that I encountered trying to add this, from systems that have been neglected throughout the years. https://github.com/user-attachments/assets/e368d710-80a0-4c63-b271-1abe3dd41a5e ## Why It's Good For The Game We haven't gotten a new halloween species in a long time and thought it would be fun if you can play as an actual ghost, the soul that remains after a person passes, so Halloween feels more haunted. It's overall made in just good fun, with a bonus that Ghosts are a cool species to play with as well for Wizards & maybe Chaplains in the future (Dead sect when?) ## Changelog 🆑 add: Added a new halloween species: Spirits, a species without legs and instead floats. add: Added a new magic mirror species: Ghosts, like spirits but with the ability to become incorporeal, traversing through solid wall. fix: Mobs unable to use storage items now can't use storage items. fix: Mobs unable to use items can now not open airlocks & closets fix: Mobs unable to pick items up can no longer pick items up and immediately drop, moving one tile at a time. fix: Mobs with intentional missing limbs (Alien larva) no longer show their limbs as missing on examine (again) fix: Golems' pref page had a missing icon, it now has one. /🆑 --------- Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> |
||
|
|
57624ca1e2 |
Rebalances wound determination values, wounding escalation and wound armor to hopefully be less explosive (#91099)
## About The Pull Request This is a big one so please bear with me, wounds are complicated ### Max Potential Wound Rolls We've decreased the max contributed damage to wound rolls from 35 to 25. This results, after the exponent, a max possible wound roll of 1 to 91 before any modifiers (assuming the attack, after armor, is 25 or above). The minimum value to wound is still 5. ### Wound Escalation Penalties Most wounds were contributing significant numbers per wound type to the potential for a new wound to occur. Getting wounded once meant you were getting wound a lot, but actually getting past that first wounding may be the tricky part. We have significantly reigned in the wound penalty that having a wound contributes, and instead utilize the series wound penalty to allow same type wounds to escalate themselves faster as a priority. Having wounds still makes you more wound vulnerable, just not to such an extreme degree. The priority here for what wounds matter most for contributing to overall wounding vulnerability is ``Infected BURNS > BURNS > SLASH|PIERCE > BLUNT.`` ### Wound Armor Wound armor, unlike all other kinds of armor, was used as a additive value to the wound roll modifiers rather than a multiplicative value. We have reworked how wound armor is determined by changing how wound modifiers are calculated. Firstly, we're passing our entire injury roll into the ``check_woundings_mod()`` proc, as we're not treating this as a proc that just adds values anymore. Secondly, bare wound bonus only applies if there is no potential wound protection from any source, as expected. But it comes last in the calculations. Thirdly, wound protection is applied to the injury roll last, after wound bonuses from the attack, wound bonuses from other wounds and wound bonuses from a disabled limb are applied. This does not include serial wound bonuses, which are determined outside of this proc. Wound protection comes from two sources. Clothing and limb wound resistance. Your chest and head have an amount of wound resistance so long as they are not mangled in any fashion. Being mangled means having either a hairline fracture or a weeping avulsion wound. Wound protection reduces the final injury roll by a percentage. Say our roll is 50, and we have effectively 50% wound protection. The final roll would be 25. ### ~~Wound Armor on Clothing~~ Reverted ~~Most clothing have had their wound armor values changed. As a loose rule, I used the highest of melee or bomb armor, except where that value was 100, in which case I used the lowest instead. I'm basing this decision on how embeds are calculated, which is attack type agnostic.~~ ~~Some armor have inconsistent values because they are alternative armors to an existing armor type or are hyperspecialized armor. Ablative, bulletproof and security vests all share a value of 35, despite the former two not having decent melee or bomb armor.~~ ~~Some clothing missing wound armor that should have had them now have wound armor.~~ ~~This may need a bit of scrutiny in case one or two seem weirdly high. Some have maybe become too low. Its a bit hard to say.~~ ### The ``bare_wound_bonus`` variable I changed it to ``exposed_wound_bonus`` to better represent when it applies. You can be naked and still not be affected by this bonus if the limb has wound resistance. ## Why It's Good For The Game I'm not promising anything with this PR, but this is an attempt to sanity check the values on wounds so that we're not seeing what the data that determined the removal of beheading presented. An extreme over-representation of tier 3 wounds. ~~And, from that, maybe I can argue for beheadings coming back. That's my goal. I think beheadings happened so much because the numbers were in need of work.~~ Well okay I just wanna make wounds a bit more workable actually more than I want beheadings. Why is it that tier 3 wounds were so over-represented? Because wounds will often force more severe wounds of other types by merit of any wounds existing at all on a limb. Having **_a_** wound makes you more wound prone for any kind of wound, and not just making you more likely to suffer a more severe type of the same wound. The threshold mechanic was intended to simulate making a wound worse, but oddly just made a limb broadly more prone to getting worse from any kind of attack to such a degree that future wound rolls of different types were often going to start at the threshold necessary to be a tier 3 wound. Dismemberment, mind you, requires you to suffer a flesh wound while you have a bone wound of tier 2 or higher (with tier 3 giving a bonus to this). You can do this readily via just a sharp weapon, because having a mangled limb causes the wound to turn into a bone wound. Technically, this is meant to be less likely as the effective damage for this wound is halved. But the wound bonus from having a flesh wound was almost always significant enough to kick your new bone wound up to a tier 3. In other words; its not surprising that you saw so many beheadings, because the system wanted to behead you as fast as it possibly can thanks to all these escalating values. Wound armor was only applied as a flat reduction on the roll. The average for wound armor was 10. After receiving a single wound, you can expect wound rolls to reach upwards of 100, even if the actual damage roll was not particularly high, due to wound stacking bonuses form being wounded. This meant that wounds, if they happened, came thick and fast after the first, regardless of what your protection might be to wounds. It was just a matter of getting past the initial bump. This is why effects that forced wounds were so powerful. They basically made a given limb more prone to taking a wound without having to deal with the protection problem first. Finally, this is just a broad flaw with the system that is not its fault. It is actually a problem that isn't a problem. Most people in the game are not wearing helmets that protect their head. So most people are going to suffer from a higher proclivity of being wounded if people are aiming for the head. There is this...kind of cargo cult belief that aiming for the head means you do more damage, or can stun someone if you're lucky or what have you. It's entirely nonsense, but it has a grain of truth in that people rarely wear, or even have access too, headwear that provides wound protection or any protection at all. People have jumpsuits, which are universally wound protected, but that isn't true of the head. Look, the point is, they're not aiming at the head because it is usually less armored, its for other reasons but it just so happens to become true due to wounds and how wounds roll their type. To soften this issue, I've decided to treat wound resistance as armor until the limb suffers a tier 3 wound. This way, hits to the head MAY not necessarily escalate to tier 3 instantly as they would on live even from relatively low power weapons. Some weapons have very low force, but have extreme bare wound bonuses. This should be less likely after this change. I doubt this will necessarily make high damage high wound weapons like energy swords any less prone to cutting you clean open, but it might thanks to the reduction to contributed damage to the injury roll. The system is now _a bit more random_. ## Changelog 🆑 balance: Wounds do not make you as vulnerable to suffering wounds of all types as before. Instead, wounds make you more vulnerable to suffering worse versions of themselves as a priority. balance: Wound armor is now more impactful when protecting you from wounds when you have already been wounded. balance: Your head and chest are more difficult to wound until they have been mangled; either from suffering from a weeping avulsion or a hairline fracture. code: Changed the variable for bare_wound_bonus to exposed_wound_bonus to better explain what that variable is doing. /🆑 --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> |
||
|
|
0b683d175b |
Adds the bloodroach (#91383)
## About The Pull Request Adds bloodroaches.  These are cockroaches that have gorged themselves on blood in maintenance. They're very gross!  Splatting one causes an explosion of blood all around the death perimeter, splashing both turfs and mobs with blood. They have a 1% chance of spawning in place of normal roaches. They also spawn in: - Abandoned crates, replacing the 30 roaches with 30 bloodroaches. - As backup anomalous crystal possession targets. - Grimy fridges Added a trait given to things killed by pest spray, used to check on death explosion for bloodroaches. Changed roach spawns in maps to use mob spawners, so I can replace them with bloodroaches 1% of the time. ## Why It's Good For The Game Splatting a random roach in maintenance that explodes into blood sounds hilarious. It also adds janitorial depth by requiring pest spray to carefully eliminate these pests ## Changelog 🆑 add: Added bloodroaches, a rare variant of cockroaches that explode into a shower of blood when squashed. /🆑 |
||
|
|
5261efb67f |
Re-refactors batons / Refactors attack chain force modifiers (#90809)
## About The Pull Request Melee attack chain now has a list passed along with it, `attack_modifiers`, which you can stick force modifiers to change the resulting attack This is basically a soft implementation of damage packets until a more definitive pr, but one that only applies to item attack chain, and not unarmed attacks. This change was done to facilitate a baton refactor - batons no longer hack together their own attack chain, and are now integrated straight into the real attack chain. This refactor itself was done because batons don't send any attack signals, which has been annoying in the past (for swing combat). ## Changelog 🆑 Melbert refactor: Batons have been refactored again. Baton stuns now properly count as an attack, when before it was a nothing. Report any oddities, particularly in regards to harmbatonning vs normal batonning. refactor: The method of adjusting item damage mid-attack has been refactored - some affected items include the Nullblade and knives. Report any strange happenings with damage numbers. refactor: A few objects have been moved to the new interaction chain - records consoles, mawed crucible, alien weeds and space vines, hedges, restaurant portals, and some mobs - to name a few. fix: Spears only deal bonus damage against secure lockers, not all closet types (including crates) /🆑 |
||
|
|
6fae47a2e5 | Lets you test brain health with the carpenter hammer (#91028) | ||
|
|
339616ae78 |
You can now interact with held mobs beside wearing them (feat: "minor" melee attack chain cleanup) (#90080)
## About The Pull Request People can now pet held mothroaches and pugs if they want to, or use items on them, hopefully without causing many issues. After all, it only took about a couple dozen lines of code to make... ...Oh, did the 527 files changed or the 850~ lines added/removed perhaps catch your eye? Made you wonder if I accidentally pushed the wrong branch? or skewed something up big time? Well, nuh uh. I just happen to be fed up with the melee attack chain still using stringized params instead of an array/list. It was frankly revolting to see how I'd have had to otherwise call `list2params` for what I'm trying to accomplish here, and make this PR another tessera to the immense stupidity of our attack chain procs calling `params2list` over and over and over instead of just using that one call instance from `ClickOn` as an argument. It's 2025, honey, wake up! I also tried to replace some of those single letter vars/args but there are just way too many of them. ## Why It's Good For The Game Improving old code. And I want to be able to pet mobroaches while holding them too. ## Changelog 🆑 qol: You can now interact with held mobs in more ways beside wearing them. /🆑 |
||
|
|
dbce6b81f3 |
White canes need to be extended in order to allow you to examine faster with them (#89596)
## About The Pull Request Closes #89519 ## Changelog 🆑 fix: White canes need to be extended in order to allow you to examine faster with them /🆑 |
||
|
|
4c2a76ede3 |
Fix a large number of typos (#89254)
Fixes a very large number of typos. A few of these fixes also extend to variable names, but only the really egregious ones like "concious". |
||
|
|
a3c60b69b2 |
Fixes weird baseball bat interaction with objects with throw_range 0 (boulders) (#89168)
## About The Pull Request Set the minimum flight distance to 3 tiles for objects hit by baseball bat parry, so instead of the boulder being sucked into wielder when the baseball bat hits it, it now bounces back a little. ## Why It's Good For The Game Closes https://github.com/tgstation/tgstation/issues/87877 ## Changelog 🆑 fix: objects with throw_range 0 now properly parried with baseball bats /🆑 |
||
|
|
3499727a6d |
Implements datumized embedding handlers in place of element-component-datum triad (#88511)
## About The Pull Request This PR completely rewrites our embedding system in favor of embedding datum handlers which acts as containers for all embedding-related data and logic. Currently embedding logic relies on an element-component-datum triad, where elements on the items handle embedding logic, singleton datums store embedding data and components (which get assigned to ***mobs*** in whom the item embedded) handle pain and the item being ripped out. How do we access all the procs? By using comsigs as procs, which is really bad. This code was written back in 2020 when DCS was hot stuff but in hindsight this implementation was a mistake, as it heavily restricts custom embedding behaviors unless you're willing to constantly run GetComponent (bad, ugly, incarnation of evil) This PR rewrites all that logic to be handled by lazyloaded ``/datum/embedding``, which is stored similarly to current ``/datum/embed_data``. Upon being requested, it is initialized and assigned to a parent from whom all the logic is handled, from being embedded to pain and having the item ripped out. On projectiles this only handles one proc, after which it copies itself down to the shrapnel item instead and runs the chain further from there. Ideally, most embedding-related logic now should be handled purely datum-side - in most cases items should not be hooking up to themselves like they did before (unless said logic is for when the item is made sticky or smth) and instead the code should be handled by the embedding datum (see sholean grapes implementation in this PR). This should allow us to do fancy stuff like syringe guns embedding syringes into targets and injecting them that way, and fix some bugs along the way. Closes #88115 Closes #87946 Also fixed a bug with scars not displaying when examined closely from #86506 because i was in the area anyways |
||
|
|
8373237bba | Gives Assistants a thematic radio. (#88578) | ||
|
|
acb883cfec |
Reduce Carpenter hammer force (this thing can open locked gun crates!) (#88380)
## About The Pull Request Carpenter hammer force 20 -> 17 Carpenter hammer throwforce 20 -> 14 Carpenter hammer demo mod 1.25 -> 1.15 ## Why It's Good For The Game You can buy this thing in the black market for 250 credits and it's strong enough to open gun crates from cargo  ## Changelog 🆑 Melbert balance: Carpenter hammer force 20 -> 17 balance: Carpenter hammer throwforce 20 -> 14 balance: Carpenter hammer demo mod 1.25 -> 1.15 /🆑 |
||
|
|
7ddc30783a |
Adds better attack animations and alternate attack modes (#88418)
## About The Pull Request This is the first PR in a series attempting to modernize our damage and armor, both from a code and a gameplay perspective. This part implements unique attack animations, adds alternate attack modes for items and fixes some minor oversights. Items now have unique attack animation based on their sharpness - sharp items are now swung in an arc, while pointy items are thrust forward. This change is ***purely visual***, this is not swing combat. (However, this does assign icon rotation data to many items, which should help swing combat later down the line). Certain items like knives and swords now have secondary attacks - right clicks will perform stabbing attacks instead of slashing for a chance to leave piercing wounds, albeit with slightly lower damage - trying to stick a katana through someone won't get you very far! https://github.com/user-attachments/assets/1f92bbcd-9aa1-482f-bc26-5e84fe2a07e1 Turns out that spears acted as oversized knives this entire time, being SHARP_EDGED instead of SHARP_POINTY - in order for their animations to make sense, they're now once again pointy (according to comment, originally they were made sharp because piercing wounds weren't very threatening, which is no longer the case) Another major change is that structure damage is now influenced by armor penetration - I am not sure if this is intentional or not, but attacking item's AP never applied to non-mob damage. Additionally, also fixes an issue where attack verbs for you and everyone else may differ. |
||
|
|
75696ab873 |
Fixes random stuff spilling into ooc tab (#88221)
## About The Pull Request `boldannounce` is NOT for use ICly it's only for OOC stuff. `bolddanger` is identical it just doesn't carry the same baggage ## Changelog 🆑 Melbert fix: Stuff like the SM exploding will no longer output to your OOC tab /🆑 |
||
|
|
6d384051ed |
carpenter hammer fits on belt slot (#88109)
## About The Pull Request bro its a hammer (speaking of, i feel like it should fit on the toolbelt & be a crowbar. but that's basically 1:1 the preexisting claw hammer, idk) ## Why It's Good For The Game bro it's a hammer. ## Changelog 🆑 qol: carpenter hammer fits on belt slot code: renames belt_icon_state to inside_belt_icon_state for intelligibiility /🆑 |
||
|
|
b67a0901f2 |
Fix issues discovered via TypeMaker (#87596)
## About The Pull Request Fixes issues with var typing and proc arguments, discovered using OpenDream's WIP TypeMaker feature (using improvements I haven't PR'd upstream yet). ## Why It's Good For The Game Codebase maintenance. |
||
|
|
1e0372bc6c |
New Black Market Uplink Weapon - Carpenter Hammer (#87070)
## About The Pull Request
There are maints hidden under every station in the world.
Everyone knew about them, but lied to you about them your entire life.
This PR adds carpenter hammer as a new black market uplink weapon with a
sliiiight psychopomp reference (!)

(code is mostly done with the help of my awesome friend Sensum)
## Why It's Good For The Game
More use for black market uplink, and new weapon with cool killsound
feature.
I want black market to be more content filled with various stuff.
https://github.com/user-attachments/assets/f726d292-dc14-43b2-a536-21901bb7f9b9



## Changelog
🆑
add: Added new weapon carpenter hammer to black market uplink
add: Added killsound feature
/🆑
---------
Co-authored-by: S <121913313+SSensum@users.noreply.github.com>
Co-authored-by: someone <someone@anydomain.not>
Co-authored-by: Niron3206 <68388770+Niron3206@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
|
||
|
|
199b8275fa |
Grammar fixes for produce-based armaments (#87328)
## About The Pull Request Bamboo Staff is lowcaps-ed, and also picks between one of various mediocre puns to name itself on initialize added 'armor' to the melon armors and removed a dirty british spelling of the word in a description lowcapsed watermelon helmets ## Why It's Good For The Game normal items should not have caps names, it is both grammatically incorrect, annoying, and inconsistent. bo staves having may pun based names is funny* ## Changelog 🆑 spellcheck: Grammar fixes for produce-based armaments spellcheck: bo staves are very punny /🆑 |
||
|
|
63bd34eff7 | some code organization for playsound(smth, pick('... (#87211) | ||
|
|
3f0b4abb8d |
Replaces world.icon_size (and some magic numbers) with defines (#86819)
## About The Pull Request All usages of world.icon_size in code have been replaced with new `ICONSIZE_X`, `ICONSIZE_Y` and `ICONSIZE_ALL` defines depending on context Replaces some "32" magic numbers with the defines A few bits of code have been modified to split up x/y math as well ## Why It's Good For The Game Magic number bad, code more readable, code more flexible and I'm told there's an access cost to doing world.icon_size so minor performance gains ## Changelog 🆑 tonty code: made some code relating to the world's icon size more readable /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
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 /🆑 |
||
|
|
9a9b428b61 |
Wallening Revert [MDB Ignore][IDB Ignore] (#86161)
This PR is reverting the wallening by reverting everything up to
|
||
|
|
d9168e7254 |
Adds a treasure chest to the ocean/beach fishing spot. (#85276)
## About The Pull Request This PR adds a treasure chest that can be fished from the ocean if you're lucky enough (or have enough explosives or lobstrosities to do it for you). The treasure chest is basically a mystery box (like the ones from the deathmatch) with a couple catches; the treasure chest can be opened up to 18 times in total before breaking down, however, it can only be opened up to 3 times per spaceman, encouraging the player to share it with others. Here the possible loot by the by: - A toolbox containing a master fishing rod, all the hooks and reels, fish feed, an experi-scanner, an aquarium kit and a can of super baits - A box containing a lazarus injector, a cup and a bottle of strange reagent which you can use to revive fish now - A circuit board for a pre-emagged fishing portal generator - A master fishing rod - A can of super fishing baits - A fish case containing Tiziran fish - A fish case containing Syndicate fish - An old, yet fairly strong cutlass - An old laser gun which fires only 5 shots before running out - A crank laser musket - A smoothbore disabler - A surplus bolt action rifle - A ration pack - A can of squid ink - A bottle of aged rum that forces you to switch to the piratespeak language - A money bag with some doubloons inside - A piratespeak manual - Pirate armored coat - Pirate armored hat - A pre-loaded cannon - Four trash cannon balls - Four cannon balls ## Why It's Good For The Game Mystery boxes are fun, from the little fanfare they play to the potential loot they can give, and I had an old treasure chest I had sprited for fun years ago around so I've come up with an entertaining idea. If you think the loot list is a bit too hot, I can cool it down a bit. Also yeah, I wanted to make fish revivable with strange reagent, since you can already do it with lazarus injectors even though using a lazarus injector for this would be a severe waste of mining points. ## Changelog 🆑 add: Added a treasure chest you can rarely fish from the ocean/beach, with loot being a mix of fishing and piratey stuff. add: You can revive fish with strange reagent now. /🆑 |
||
|
|
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. |
||
|
|
ac750f358f |
Fixed monk staffs not displaying a wielded sprite (#85767)
## About The Pull Request Closes #85764 ## Changelog 🆑 fix: Fixed monk staffs not displaying a wielded sprite /🆑 |
||
|
|
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> |
||
|
|
28855c4a70 |
Bamboo staffs can now be wielded, bostaff no longer disappears forever when wielded (#85443)
## About The Pull Request Closes #85431 ## Changelog 🆑 fix: Bamboo staves can now be wielded fix: Bostaff no longer disappears forever when wielded /🆑 |
||
|
|
6323ee68d9 |
Melon Armours, Mock up wizardry, and other cool botany stuff, Gnomes and Gardens style. (#85128)
## About The Pull Request Hello, coder of carrot swords here! Contains; Melon armours and helmets for all melon subtypes. (with fire-resistant counterparts specifficaly if you make the stuff from fire-resistant melons). Helmets can be worn by Ian! Inhands, slices, and mushes for all melon subtypes. Bamboo staff + abillity to wear bamboo hat in reverse to look much cooler. Parsnip shiv and sabre. Moonflower buckler. Chantarelle wizard hat. Durathread robe with options to be crafted into different wizard type themed ones by combining with rare plants; chili's and a nova flower make Pyromancer Robes, destroying angels and deathweeds make necromancer's ones, and so on. Cahn'root, a new plant, which brews into root beer, and has couple more uses. Cahn'root shiv and dagger. Two new arrow variants; a sticky one, and a poisoned one.   ## Why It's Good For The Game  Ever since carrot swords got merged in, I saw several people requesting melon armours, so I had to get to it eventually. Inhands, and slices for melons came about alongside it, in sudden burst of aspergers I couldn't let such inconsistancies slide. Everything else mostly came about because I got hanged up on idea of giving botany a 'build' which could represent each of the classess from DnD. They make for a nice set together, and are mostly harmless. ## Changelog 🆑 add: All the melons are now sliceable, and have inhands, instead of just watermelon and holymelon respectively. add: You can now hollow out melons of all kinds with a spoon to make helmets or chestplates, based on the potency! If you are unlucky, you can tie up three helmets into a chestplate with durathread using the crafting menu. add: You can now make a bo staff out of bamboo and steelcap logs. add: You can now make a moonflower buckler out of moonflowers and steelcap logs. add: You can also hollow out chantarelle to make mock-up wizard hat. add: Parsnips, as mutation of carrots, become equaly able to be sharpaned, turning into shivs, or with potency and luck, sabres. add: You can now craft a durathread robe, and customize it into different variants using specific plants in crafting menu. add: Carrots gain a new possible mutation; cahn'root, brewable into root beer and sharpanable into shivs or daggers! add: Rice hat, made from bamboo, now has an alternative style, allowing you to wear it in reverse and be much cooler. add: Two new arrow variants appear in the crafting menu; sticky and poisonous ones! If you want to make arrows at all though, remember to order bow-maker's crate at cargo. /🆑 --------- Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com> Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> Co-authored-by: cnleth <113535457+cnleth@users.noreply.github.com> |
||
|
|
1df9138f67 |
Fixes carrot sword description (#84989)
## About The Pull Request closes https://github.com/tgstation/tgstation/issues/84988 ## Changelog 🆑 grungususs spellcheck: fixed a typo for carrot sword description /🆑 |
||
|
|
b6c84135c3 |
Refactors embedding to use datums instead of storing data in bespoke elements (#84599)
## About The Pull Request This refactors embedding elements to make them use singleton datums (similarly to armor) instead being bespoke and creating a new element every time armor values are supposed to be adjusted. Default values have been removed from defines due to now being declared in base class itself. Additionally fixes vending machines and tackling gloves setting generated shards (which they instantly embed into their victim) embed properties to null after running the embedding code, despite said shards having non-null embedding values by default, making them not be able to embed into anyone else, also potentially breaking the pain/jostling code if they somehow get updated. ## Why It's Good For The Game Current embedding system is an unnecessarily complicated mess as bespoke elements are hard to work with, and creating a new element every time you change values is hacky at best. This change should make it easier to read and work with. ## Changelog 🆑 fix: Fixed glass shards generated from falling vending machines or tackling windows not being able to embed into anyone. refactor: Refactored embedding code to use datums instead of bespoke elements and ugly associated lists. /🆑 |
||
|
|
b80a03cf73 |
Adds the Holy Skateboard, a holy version of the hoverboard. (#84514)
## About The Pull Request This is my first PR ever, and I have tested it. It just adds an additional nullrod variant that could be helpful for people that wish to explore space as a chaplain, or chaplains that wish to look sick and tubular. ## Why It's Good For The Game More nullrods are better. Also, it's a fun vehicle that i feel allows for more gimmicks as the 540 cr cost for a regular hoverboard is a bit steep. It's not super good, and it's not bad, so I feel it doesn't affect balance too much. ## Changelog 🆑 add: There's a previously undiscovered variant of a nullrod, recently revealed from the depths of the skating rink.. /🆑 <!-- You can use multiple of the same prefix (they're only u https://github.com/tgstation/tgstation/assets/126758839/5c94391d-8a01-40fd-93ec-ea3617ba6a59 sed 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. --> |
||
|
|
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 /🆑 |
||
|
|
a3e2885b1d |
Fixes crutches crippling you and giving infinite speedboosts (#83660)
Fixes #83646 Fixes crutches setting your legs to null whenever you pick them up or drop them Fixes slowdown reduction on crutches being permanent (this was hard to notice because they instantly cripple you) 🆑 fix: fixes touching a crutch permanently crippling you fix: fixes crutches giving permanent speedboosts even when dropped /🆑 |
||
|
|
445ed08ce1 |
Adds Crutches to Medbay & Crafting (#83242)
## About The Pull Request Added crutches! Wooden ones can be made with wood. Medical ones can be bought from the medvendor. Crutches will reduce slowdown from missing a leg by 60%, and they will remove the limping from fractured bones. They're also a fairly decent bludgeon. However, they do nothing if both legs are cut off. Canes now also remove broken bone limping as well Changed the 'white cane' name to 'probing cane' to better reflect its function. Shuffled some wound and mob code around, added signals for limbless slowdown and limping. Crutches make you waddle. SPRITES BY XHORIAN!!!!!!!!!!!!!     ## Why It's Good For The Game > Added crutches! Wooden ones can be made with wood. Medical ones can be bought from the medvendor. > Crutches will reduce slowdown from missing a leg by 60%, and they will remove the limping from broken bones. They're also a fairly decent bludgeon. However, they do nothing if both legs are cut off. Currently there's no way to abate slowdown from a missing leg except getting on a vehicle, which I think is pretty lame. What if all the doctors are busy, missing, or dead? What if medbay is a hole? A crutch helps make up for the loss at the cost of a hand slot. > Changed the 'white cane' name to 'probing cane' to better reflect its function. 'White cane' was undescriptive. > Shuffled some wound and mob code around, added signals for limbless slowdown and limping. I dont know where to put the friggin signals ## Changelog 🆑 Carlarc, Xhorian add: Added crutches! Wooden ones can be made with wood. Medical ones can be bought from the medvendor. add: Crutches will reduce slowdown from missing a leg by 60%, and they will remove the limping from fractured bones. (canes do that now too) They're also a fairly decent bludgeon. However, they do nothing if both legs are cut off. /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
8eb3b51ad9 |
/icons/ folder cleansing crusade part 3 (#83420)
## About The Pull Request In my effort to make the /icons/ folder cleaner and more intuitive instead of having to rely on recalling names of stuff and looking them up in code to find them for poor sods such as myself, plus in spurt of complusion to organize stuff, here goes. I've tracked all changes in commit descriptions. A lot still to be done, but I know these waves go over dozens of files making things slow, so went lighter on it. Destroyed useless impostor files taking up space and cleaned a stray pixel on my way. ## Why It's Good For The Game Cleaner /icons/ file means saner spriters, less time spent. Stray pixels and impostor files (ones which are copies of actually used ones elsewhere) are not good. ## Changelog 🆑 image: Cleaned a single stray pixel in a single frame of a bite telegraphing accidentaly found while re-organizing the files. /🆑 |
||
|
|
b5fa92d691 |
Adds Medieval Pirates (and small assault_pod change) (#82392)
## About The Pull Request (short, slightly outdated video compilation of the pirates) https://youtu.be/j9BNFzcUSjc Adds the **MEDIEVAL WARMONGERS** pirate gang, these pirates are focused on causing chaos directly on the station with the use of melee weaponry and swarming tactics. they are not very smart when it comes to using technology, so they crash in the station in an attempt to dock. the pirates spawn with the NOGUN trait as they have never used guns before but have access to dashing and the unbreakable component(small heal burst upon reaching crit). Warlord spawns with a better version of hulk(isnt removed upon crit and can still do stuff while critted) and gigantism mutation by default because ~~Chad Maximus~~ the other pirates require someone to run to when stuff like flashbangs, batons or lasers are present. The warlord spawns with a boarding axe which is a better axe that is good at destroying things and a meat hook. **there's a total of 5 pirates.** the pirate shuttle has: - thermite barrel and 3 large beakers - single weak claymore - 3 extra military spears - 3 kite shields - 3 heavy bolas - 4 regular bolas - a stack of wood - 2 stacks of mourning poultice (15 uses each) - one burn medkit **shuttle was made by striders18, big thanks to him**  things added: - the new pirate gang - a gamberson jumpsuit - crude armor (good melee and wound protection but lacks on the rest) - warlord armor (extreme protection at the cost of slowdown) - a shortsword(bootleg claymore with 30 block chance and goes on belt instead of back) - military spear (better at throwing, better wounding, deals blunt wounds instead of sharp) - axe with better damage and demolition mod for the warlord - a var to specify the name of the landing zone destination for the assaultpod - an assault pod targeting device item for the medieval shuttle - a thermite barrel - kite shields - new hulk variant that doesnt go away when crit and has tenacity ## Why It's Good For The Game I always liked the chaotic nature of the russian bounty hunters that would come from their extra numbers and lack of tools. i thought something of a similar idea on pirates would be good, a very direct and scary militia rushing in with sword and faith would create some awesome scenarios ## Changelog 🆑 add: New heavy weight pirates, medieval warmongers add: Adds military spear, shortsword, boarding axe, kite shields add: Adds warlord and crude armor add: Adds medieval shuttle (made by striders18) /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
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> |