mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-13 09:05:11 +01:00
docker-container
16 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
479ac46740 |
Reworks goliaths, slightly changes watchers/legions/brimdemons/lobstrocities (#96028)
## About The Pull Request Goliaths no longer instantly stun the mobs they hit with their tentacle for full 10 seconds, instead leashing them to the spot they were grabbed at or dragging them towards themselves. The ranged tetris-piece attack has been changed to a full cross which tethers the target preventing them from moving away more than 1 tile, while the line and the ring attacks tether the mob directly to the goliath itself and drag them in. https://github.com/user-attachments/assets/0b566a12-17ae-4a8a-97ac-5734c89c83d4 The tentacles can be manually removed after standing for 6 seconds, or by hitting them for 75 damage total (3 PKC swings, or 5 bayonet hits). They also naturally retract after 10/15 (cross/line and ring) seconds like before. Goliaths themselves have received a massive speed boost, going from 3 second movement delay to 1.2 seconds (150% buff) and no longer can friendly fire with their tentacles (and ancient goliaths have their trophy drop guaranteed) Brimdemons, lobstrocities, watchers and legions also received some changes: - Brimdemons no longer can wound with their beams (they were basically guaranteed to land a nasty burn wound with the initial blast), but are now affected by laser armor and their beam DOT (not the initial 25 burn damage upon firing) has been increased from 5 to 7. Their blasts can now be interrupted by hitting them from their side or from their back - Lobstrocities have had their retreat distance decreased from 8 to 6, making them much less likely to randomly lose aggro on the miner (their aggro range is 9 tiles, meaning that even a single tile of movement on miner's part will result in lobsters losing interest in them when on CD) - Watchers now try to stick to 3-5 (previously 4-6) tiles of distance between themselves and their target, and legions try to maintain 4-6 tiles of distance as opposed to running away completely. This should make fighting both of them more interesting and engaging, and make dealing with them during vents less cancerous. Sprites for the tentacle item and mob overlay are by thgvr from https://github.com/shiptest-ss13/Shiptest/pull/2432 ## Why It's Good For The Game Goliaths are extremely outdated in their attack design, 10 second hardstuns are basically a guaranteed death if there are any other mobs around and aren't very engaging to fight on their own as they are very easy to evade with 3 second movement delays. Change to lobstrocities should just make their AI less jank, and watcher/legion range changes should make them less slippery when fighting with PKC or zero range PKA, or during vent defense. ## Changelog 🆑 SmArtKar, thgvr balance: Goliaths no longer hardstun, but instead bind and drag their targets in with their tentacles. They are, however, much faster now. balance: Brimdemon beams can no longer wound, but deal a bit more DOT damage. Their beams can also be interrupted by hitting them from the side or back in melee. balance: Watchers and legions now try to maintain a few tiles of distance from their targets instead of retreating. fix: Lobstrocity AI should no longer sometimes flee out of their aggro range when retreating. /🆑 |
||
|
|
a2c7c8e57b |
Heretic Antagonist Full Overhaul. (#92119)
## About The Pull Request Heretic has received a complete overhaul. This PR touches nearly every aspect of the antagonist. For readability's sake, not every change is going to be listed in this pull request. For the full list of changes please refer to the design doc: https://hackmd.io/@BiST8PJVRjiwVPY86U3bLQ/B11HyChz1g. Code by Me, @Xander3359 and @Arturlang TGUI by @Arturlang Sprites by OrcaCora and GregorDM Writing bits by @necromanceranne ### Core changes - Cross-pathing has been removed. Main knowledge spells are now exclusive to their path (for the most part). - For every main knowledge unlocked (save for the robes and the blade upgrade), Heretics can choose one option from a draft of 3 random side knowledges (this is a free point). - Heretics can now purchase side knowledges from a new tab, the "Knowledge Shop". Side-knowledges have been divided by tier (Stealth, Defense, Summons, Combat and Main). Tiers are unlocked as you progress toward your main path. - Heretics now gain the grasp and mark upgrade immediately, but their main knowledge choices cost twice as much (except for the first spell, the robes and the blade upgrade). - Path specific robes have been introduced! They come with their own set of quirks. - Each Path has received a passive ability. This passive is upgraded when you first create your robes, and again when you complete the Ritual of Knowledge. - Paths have been rebalanced as a result of the removal of cross-path progression. Cosmic and Moon paths have received soft reworks. - Upon unlocking the path 2nd level or reaching a total of 8 points worth of knowledge, Heretics will lose the ability to blade break (and the limit on blades all together). - Ascension now automatically calls the shuttle with no possibility of a recall. - Late join Heretic has been removed. ### New UI <img width="750" height="635" alt="moon path ui" src="https://github.com/user-attachments/assets/184ef783-5c9c-48a1-a2f7-4807ca93e990" /> ### Knowledge shop <img width="787" height="669" alt="Knowledge shop" src="https://github.com/user-attachments/assets/3dc89b84-8c70-4d47-b612-54396e3ea6e7" /> ### Quality of life //General balance changes - Heretics will now gain X-ray vision for a few seconds when nearby an eldritch essence (this effect has a cooldown). - Ritual of knowledge now requires 1 uncommon item instead of 2. You may now use a stunprod instead of a baton to complete the ritual. Beartraps have been removed from the list of possible reagents. - The maximum number of possible sacrifices required to ascend has been reduced from 6 to 5 while the minimum has been upped to 4. - Codex Cicatrix no longer requires a special pen to be made. ### Passive abilities - Heretics now start with a passive ability. You can find what it does on the path info tab after a path has been selected, and what they gain when upgraded. - Crafting your first set of Eldritch robes will bump your passive to level 2. - Unlocking the 2nd level will subsequently unlock your "Ritual Of Knowledge" - Completing the ritual of knowledge or ascending will net you the final level. ### Path Specific Robes - Armorer's Ritual is no longer a side knowledge. Each path will have their own unique version of the ritual. This is placed after the 2nd spell in the tree. - Robes can no longer be destroyed by fire and acid, grant t4 flash protection (Moth Heretics stay winning) and protection against basic syringes, to bring them on par with other antagonist's armor sets. - The recipe to craft the robes is now a set of armor/vest, a mask (any mask will do now, not just gas masks), plus the unique reagent required for the blades (Plasma for Cosmic, Trash For Rust, match for Ash and so on) - Wearing the robes as a non-heretic may yield some unfortunate side-effects. ### Moon Path Rework Moon path rework. Moon Heretics gain immunity to brain traumas and slowly regenerate brain health. Equipping the moon amulette channels its effects through the moon blade; making it unblockable and cause sanity damage instead of brute. Ring leader's Rise now summons an army of harmless clones that explode when attacked; the explosion briefly stuns non-heretics and cause sanity and brain damage to them. Moon blade can also now be used when pacified and Moon spells are no longer blocked by regular anti magic, only mind magic protection. **Cosmic Path Rework** Cosmic path has received the biggest batch of changes alongside Moon. The path has been dead last in ascension and pickrate (less than 5%) for almost 2 years. It did gain some popularity over the last few months, reaching the highest ascension rate in the game (12%) while mantaining a relatively low pickrate. Cosmic sits in a weird spot, where pretty much every knowledge surrounding the path is either mediocre or, in the case of the ascension, dysfunctional. Yet it has maintained a smidge of relevancy due to how quickly Cosmic heretics can capture and sacrifice targets thanks to Star Touch. As a result, the best course of action would be to rebalance the entirety of the kit; granting the heretic more tools to manipulate space and dictate the flow of a fight, while lessening their ability to end a confrontation by instantly sleeping their opponents. lastly The Star Gazer is now ghost controlled ; And they shoot lazers! <img width="636" height="451" alt="gazer gag 3" src="https://github.com/user-attachments/assets/601d6881-c042-4e42-8ce6-ac90cd27848b" /> ## Why It's Good For The Game ### Ok...but why do we want this? Again, if you want my full reasoning, please check my doc https://hackmd.io/@BiST8PJVRjiwVPY86U3bLQ/B11HyChz1g. To keep it short and concise; Heretic is too complex and unintuitive for its own good. Too impenetrable for new players and too abusable for experienced players. This can be chalked up to a lot of poor design decisions. But ultimately, what I believe being the biggest contributor to the current status of Heretic is the ability to move into different paths, also known as "Cross-Pathing". ### Cross Pathing my beloathed. Cross-pathing, while cool in theory, overcomplicates the antagonist and overloads them with power. Players dealing with the heretic are incapable of working out what a given heretic can do. This also leads to late game heretics having 3 rows Worth of action buttons and virtually no weakness. Over the last year, I've often received the understandable but also kind of unfair accusations of making Heretic too powerful without a clear aim or purpose. My goal with the paths I've reworked over the last year (Rust,Void and Blade) wasn't necessarily to just make them stronger (although that was also part of the goal, as they were paths that were underperforming), but for them to have more interactions with the sandbox and to better live up to the fantasy presented to the player. If an harbringer of frost gets countered by a cup of coffee, we probably messed something up. Unfortunately, the current incarnation of Heretic doesn't really allow for surgical balance changes to specific paths. Every time a knowledge gets buffed, we make every path that can easily tap onto that knowledge stronger by default. It doesn't take a genius to understand why this system is ultimately unsustainable. ### Blade Breaking I feel that after a heretic has reached the near peak of their power, they no longer need the ability to instantly escape any encounter. Check my doc for my full reasoning. ## Less versatile, more specialized paths. By removing cross-pathing, we remove a huge maintainability burden from the antagonist. Paths can now be designed around clearer strengths and weaknesses. They become easier to balance and less of an headache to understand for everyone. It also means we can give paths some needed quality of life quirks without having to worry how such a change might have a knock-on effect for other paths. Ash heretics can finally let loose without dying by their own flames. Cosmic Heretic can go to space without having to carry a modsuit. Moon Heretic can use their abilities without fear of one random trauma ruining their day, and so on. ### What a horrible night to have a curse...., wait how do I curse people again? As of right now the heretic tree has quite a hefty amount of trinkets that pretty much never see use. Partly because the tree itself is a nightmare to navigate. And partly because why would anyone set up an elaborate plan or scheme when they can unleash 2 rows of spell in the span of bunch of seconds. Heretics mostly gravitate towards powers that push them towards greater, more potent combat strength. If it doesn't contribute to killing people quicker, it isn't worth doing for most. And given the opportunity cost associated for taking those powers, they will remain that way so long as there are better choices to be poached. The new draft system encourages Heretics to play more with the tools at their disposal. If you want to go for a specific combo from the side path options, you may now do so by tapping into the knowledge shop. Yes, the shop does include a few knowledges from the other paths. But these are limited to 1 per path, are very expensive and can only be unlocked very late into the shift. ## Drip Of the Mansus The iconic heretic robe is actually sequestered to a side path that is most easily access by only two paths at a time. Since heretic paths are being made to be much more specialized, the most obvious way in which this can be showcased is through an easily identifiable outfit. By using the robes, we can both telegraph WHAT heretic you are looking at, and just how much power they've accumulated and when it is reasonable to take the kid gloves off and treat them as a genuine threat. If a heretic is in their robes, that heretic is now a significantly more prominent danger to the station. It also serves as a useful means for gating some of the more powerful effects of a heretic's path behind the robes, AND enable options for disarming them of that power should they be captured without making it something endemic to their mob. A major problem with heretics is a lack of certainty as to how powerful they have become. A heretics robes is one of the milestones to help players dealing with heretics identify that. ### Will this be 100% fair and balanced? This is a massive overhaul to a pretty complex and bloated antagonist. I've done my best to show the changes to several maintainers and other members of the community for their feedback. But at some point we'll have to see how this behave in the environment to get a feel if something is over or undertuned. (that's my way of saying, yes this is likely gonna require a testmerge or two). What I will say is that I'm not trying to change the core identity of Heretic. Heretics should have the upperhand in single encounters early on, be able to joust a small group of players after they unlock their final spell, and end the round when they ascend. They're a progression antagonist. They should retain their payoff as well as pose a danger as they grow stronger. But if more players feel like they are more reliably able to play the antagonist in more varied and interesting ways, rather than the antagonist largely existing as a measuring stick for 'robustness' due to its elitist design philosophy, then the rework has been a success. There should be something for everyone in the antagonist, as is true for all of our antagonist roles. |
||
|
|
d838bff525 |
Adds some throwing datum nullchecks (#91720)
## About The Pull Request A few places seem to call `hitby` or `throw_impact` without a throwing datum to mimic the effect of colliding with something, which is cringe, but I guess we should support it. So we need to nullcheck for `get_thrower`, else it runtimes and cancels the whole proc. ## Changelog 🆑 Melbert fix: Glass shards from colliding with vendors or glass table hurt you again. /🆑 |
||
|
|
853c9196b6 |
Removes 'thrownby' var on items (#90877)
## About The Pull Request Fully removes thrownby as a var on items, and is now instead handled by throwingdatums' ``get_thrower()`` proc Also replaces the early return for throwing things at yourself (it now only prevents the call for check_block and therefore hit reaction stuff), since the only way to throw things at yourself is with boomerangs, which currently only works because it doesn't pass you as the thrower for boomerang's return Speaking of, boomerangs now see the thrower as thrower on returns Before (Boomerangs don't pass you as the thrower, so it shows you as being hit by nothing):  After (Boomerangs pass you and you can affect yourself, so it sees you hitting yourself & it still batons you):  This is gonna be used for https://github.com/tgstation/tgstation/pull/90689 as well. ## Why It's Good For The Game Better logging for boomeranged items, removes a deprecated var and better consistency for thrown items leaving better readability. ## Changelog 🆑 admin: People throwing boomeranged items and hitting themselves now logs it as them hitting themselves (rather than being hit by the air). /🆑 |
||
|
|
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. /🆑 |
||
|
|
9ba27165e5 | fixes parriable projectiles runtimes (#87899) | ||
|
|
ee5e1017d0 |
Ancient and recent mecha bug fixes (#84171)
## About The Pull Request Mecha guns actually utilize random spread while firing if ``randomspread = TRUE``. Currently every weapon that isn't the shotguns are always pinpoint even if they would have variance. Makes bumpsmash and melee attacks in a mech use the same cooldown. The actual speed between bumpsmash melees are the same as before (once every 0.3 seconds) and click melee is the same as well (once every second). However, if you do one or the other, it will put you on cooldown for both. The reason for this is that they're literally just calling the same proc but not respecting each others cooldowns. So we've consolidated this into one cooldown with varying cooldown timers. I don't even think this is the most elegant solution, but I'm not going to make any radical changes of the structure of the code. Fuck that. **Edit** I forgot to mention this but you have to be in combat mode to bumpsmash as a consequence of the above changes. You're fucking welcome. Separates out mecha_melee_attack proc on the ``/obj/`` level to instead only ``/obj/structure`` and ``/obj/machinery``, which is the only things we should be attacking in the /obj/ list. I don't even want to know what mechs have been able to punch while this wasn't the case. Probably nothing they should have. ## Why It's Good For The Game Mechs are a fucking diabolical nightmare of procs and some truly ancient code. Over time, things have gotten worse, as we have no one really actively maintaining some of this consistently. One of these bugs is literally day of mech implementation. I shit you not. ## Changelog 🆑 fix: Mecha weaponry is capable, for the first time ever, of experiencing recoil. This was an intended mechanic, I promise. The code just literally never worked. fix: Mecha bump melee attacks and click melee attacks are now on the same cooldown, but have varying cooldown timers. You will always bump attack faster than you will click. fix: You must be in combat mode to punch objects and to bumpsmash into objects. fix: Stops mecha being able to punch literally any object and damage them. code: Tidies up some of the autodoc comments for mech weapons. /🆑 |
||
|
|
f358423a1e |
Replace Heretic Phobia with Cursed Organs (#83082)
## About The Pull Request Being sacrificed by a Heretic no longer applies an incurable brain trauma that gives you a phobia of Heretic-associated items. Instead it does the following things: - Removes 2-4 of your organs and leaves them behind on the sacrificial circle, replacing them with "corrupt" organs with negative effects. - Gives you an unremovable "curse" debuff which will cause you to immediately cough a random organ out of your chest if you attack or are attack by the person who sacrificed you, **if they are wearing a Focus at the time.** Corrupt Organs can be removed via surgery, although doing so is dangerous. A removed corrupt organ will often either immediately explode for a small (but not insignificant) amount of burn damage to everyone nearby, or it will animate itself as a haunted object and be a general nuisance until subdued. A patient dosed with Holy Water can always have their organs removed without consequence. Chugging Holy Water will also suppress most of the negative effects of your corrupt organs. The effects of Corrupt Organs are as follows: - **Eyes:** All Heretics **and also a selection of additional random people** are completely invisible to you. You can still see their runtext (or "hear") them, but they otherwise cannot be seen. And as you can't see them you also cannot click on them. - **Tongue:** When you speak, your language will sometimes be replaced by "Shadowspeak", understood only by Curators and Nightmares. This is less of an impediment during Halloween because of the friendly Shadowpeople. - **Liver:** When you drink something, it will add extra reagents to your sip from a pool largely composed of alcohol and hallucinogens. - **Stomach:** Your hunger will deplete significantly faster if you do not regularly ingest blood. (Fun fact: Did you know that a drinking glass full of blood automatically relabels itself "tomato juice"?) - **Heart:** You will continue to be intermittently tormented by frightening hands. - **Lungs:** You will intermittently cough out dangerous or unpleasant gases. - **Appendix:** Very infrequently you will vomit out several hostile worms. Most of these effects aren't present while you're dodging the spooky hands in the Mansus realm. Plasmamen never have their lungs replaced because they'd immediately start choking on their internals and that is annoying. Ethereals _do_ have their hearts replaced so may be surprised to find that they don't respawn when killed if they don't get a new one. I would haved called them Cursed Organs but the Cursed Heart already exists. ## Why It's Good For The Game Nobody enjoys the Heretic phobia from any angle. Phobias suck to deal with in general. and while being scared of all Heretic stuff from that point on is mildly flavourful it's not very interesting. This alternative hopefully provides a more interesting answer (which should provide more storytelling and interaction with other people) to the problems that the original change intended to address: Making sure that nonlethal sacrifices still feel significantly bad enough that you're not going to volunteer, and as an extra layer of protection to ensure that someone you sacrificed functionally ceases to be a threat to you. ## Changelog 🆑 del: Being sacrified by a Heretic no longer gives you an incurable phobia. add: Being sacrificed by a Heretic will drop 2-4 of your organs on the ground and replace them with "corrupt organs" with negative effects which can be suppressed with Holy Water. add: Players who have been sacrificed by Heretics will experience additional and rapidly lethal consequences for attempting to fight someone who previously sacrificed them, as long as that person is wearing a focus. /🆑 |
||
|
|
742971675d |
Fixes Relay Attackers Misfire (#79731)
## About The Pull Request Fixes #76079 Basically we were both not getting all of the args that we recieve from `COMSIG_ITEM_AFTERATTACK` which included the very important `proximity_flag` which tells us if the person was in range to actually hurt us or not. This means that clicking a mob with this element with a stack of metal from across the room would cause them to aggro, which makes no sense whatsoever. Let's actually use that proximity check. We listen for projectiles hitting us separately, don't worry. ## Why It's Good For The Game It just makes no damn sense, fixes some weird ass behavior. ## Changelog 🆑 fix: Bar Bots (and several other mobs) will no longer aggro on you if you click on them with a "forceful" item from halfway across the room. /🆑 |
||
|
|
e49fe76180 |
fixes regal rats not running away (#77888)
## About The Pull Request fixes the regal rat not running away from whoever attacked him. also adds a new pet command behavior which makes the king's minions drop whatever they are doing and defend their king from whoever has attacked him. ## Why It's Good For The Game the rats now behave right ## Changelog 🆑 fix: regal rats now run away from whoever attacked them add: new pet behavior which makes pets defend their owners if they got attacked /🆑 |
||
|
|
2d4d23dbf1 |
Replaces the poster and graffiti objectives with assault and early steal & destroy ones. (#77029)
## About The Pull Request With the blessings of @Watermelon914 I am removing the two objectives for placing posters and spraying graffiti. These old objectives are not dead. Their items have moved to the Badassery section of the uplink. A box of 3 demotivational posters can be bought for 1TC with 0 rep. The spraycan can be bought for 1TC with 0 rep. In their place comes one new objective and one extended objective. The new objective is Assault a Crewmember. This objective requires you to attack the specified target 2-5 times (random on objective generation). It tallies from any attack that filters through the `/datum/element/relay_attackers` element and has an "attacker" associated with it. Although it asks you not to kill the other player, it doesn't fail if you kill them. I have expanded the low-risk theft objectives with items like a mime mask, lawyer badge and a fake moustache (commonly on cooks). Finally, I've added a very low level set of steal-and-destroy objectives aimed at some items that will require a bit of basic breaking and entering, and the destruction of which may hurt crew morale. ``` /datum/objective_item/steal/traitor/donut_box /datum/objective_item/steal/traitor/rpd /datum/objective_item/steal/traitor/space_law /datum/objective_item/steal/traitor/granted_stamp /datum/objective_item/steal/traitor/denied_stamp /datum/objective_item/steal/traitor/lizard_plush /datum/objective_item/steal/traitor/moth_plush /datum/objective_item/steal/traitor/insuls ``` This PR also fixes clown shoes missing a proc override to allow them to actually register as a theft objective.    ## Why It's Good For The Game Basically my discussion with Watermelon focused on the idea that the graffiti and poster objectives weren't really crimes. They baited antagonists into very passive play early-game. These new replacements encourage a more antagonistic playstyle. Starting fights plus B&E are two bread-and-butter play paradigms for antaggery. Giving a few early game theft + destroy options with a mix of impactful items (like insuls and RPDs) versus more symbolic or emotive items (plushies, donut boxes, Cargonia stamps) gets antagonists out and about in the station, warming themselves up. And having an objective to assault players (even if you don't kill them) allows cheeky antags with a penchant for shittery to start fights with players and start genuinely impacting the shift, involving sec and drawing players into their antaggery. Both of these natually ease players into the more substantive theft and murder objectives. The existing spray and posters are actually thematically super cool. Traitors now have even more access to them since they can be bought for 1TC per spraycan/3-pack of posters. This lets antags with TC to spare run gimmicks around them and adds extra fun to the Badassery section. ## Changelog 🆑 del: Traitor objectives to place posters and graffiti the station have been removed. add: The items associated with the poster and graffiti objectives can now be purchased from the Badassery section of the uplink. The posters come in a box of 3 for 1TC, and the spraycans are 1TC each. add: Adds a new Assault traitor objective, requiring you to the attack the target a few times without needing to kill them. Earn TC and reputation by starting barroom fights and bait players into escalation battles for fun and profit. add: Expands low-risk steal objectives to include the Chef's fake moustache, Lawyer's badge, and Mime's mask. add: Adds brand new shift start Steal & Destroy objectives for early breaking and entering. Smash your way into a sec checkpoint to grab a Space Law book, engineering to grab some insulated gloves or the psych office to kidnap their moth plush. fix: Fixes an issue where the steal clown shoes objective would never be valid. /🆑 |
||
|
|
61a9a9e1c3 |
Elementises mining mob resistance to being attacked from off screen (#76625)
## About The Pull Request Converts the `bullet_act`/`hitby` overrides on `simple_animal/hostile/asteroid` into an element, This is currently "reused" in that it's also applied to its equivalent on `basic/mining` although some day hopefully the `hostile/asteroid` subtype will stop existing. This is a specific-ass component but it's not totally impossible something else will want it some day. ## Why It's Good For The Game I'm a little mixed on this one honestly, I did this because I am adapting some old code but I would be open to the idea that this should just be left where it is (`bullet_act`/`hitby` overrides) and just copied/pasted onto `basic/mining`. I am also open to the idea that we don't need this at all and should just delete it, it seems unecessarily protective to me but I wasn't around at the time and maybe people really _were_ chucking hundreds of floor tiles at goliaths and that was a problem. If it _is_ a problem then I guess this extends those protections to Bileworms now, because they need to be more durable and less possible to take down using non-mining tools, obviously. ## Changelog 🆑 fix: Bile/Vileworms now have the same projectile and thrown weapon resistances of other mining mobs. /🆑 |
||
|
|
85b72e4b30 |
The honorbound trauma now makes use of the relay_attackers element. (#75908)
## About The Pull Request Whoever made the relay_attackers element, thank you for streamlining the bucketload of signals that had to be registered for everything that counted as an attack. It's very much needed. Beside, I only had to add a few flags to be sent by the ATOM_WAS_ATTACKED signal, so that stamina and shoving doesn't automatically make the attacker guilty. Oh, one more thing I have forgot to mention. Currently medical staff is immune to "guilt" altogether, while the comments suggest they should be affected by declaration but not attacking. This PR also covers that issue. ## Why It's Good For The Game This will fix #75904. ## Changelog 🆑 fix: Fixed the honourbound trauma not reacting to attacks from basic mobs fix: Fixed the "Declare Evil" spell not working against the medical department. /🆑 |
||
|
|
d755b70d76 |
Removes bad nodamage var from projectiles, fixes Juggernaut / Rust Walker projectiles doing zero damage (#73806)
## About The Pull Request
- Juggernaut and Rust Walker projectiles were subtyped off of magic,
which is `nodamage`.
- The juggernaut actually had a copy+paste error with their type
`on_hit` which caused none of their special effects on hit ("relative
patching catches this")
- Then I realized projectiles have this var `nodamage` which is, for all
intents and purposes, just `damage > 0`. it's not checked for pacifism,
it's just that. This is dumb. So very dumb, so I removed it.
- There are, however, a few situations which used it in a unique way,
such as the blast wave cannon. This is why I replaced it with a proc,
`is_hostile_projectile`, for certain situations to actually find out if
the projectile is damaging. Projectiles can override this on a per type
basis by default, damaging projectiles = hostile.
- This has a chance to break some things, but I ... kinda doubt it will.
Fixes #73756
## Why It's Good For The Game
Projectiles that act as they should, less dumb vars
## Changelog
🆑 Melbert
fix: Fixes Juggernaut / Rust Walker projectiles doing zero damage
fix: Fixes Juggernaut projectiles not doing bonus damage to nearby
structures
code: Removed projectile nodamage var, replaces it with just checking
for damage
/🆑
|
||
|
|
583f65f28b |
Dogs become tamed when given bones (#72363)
## About The Pull Request Previous to this PR Ian (and any other dog) would swear allegiance and kill (or at least growl aggressively) in the name of anyone who clicked on them sufficiently with combat mode disabled, which is boring. Now instead Ian wants Jumbo Dog Bones. The HoP and Warden (as dog owners) both start with one of these mythical items which otherwise can be ordered from cargo if you want to get into a dog's heart, but they're not cheap. You can also use regular bones of the kind you may harvest from Lavaland animals or Skeleton crew members but these dogs are picky and so you have significantly less chance of success than if you buy the premium package. Jumbo Dog Bones also fully heal dogs, as a bonus. Additionally to this, I added functionality to the `tameable` component to allow it to not delete itself upon successful taming, to preserve Ian's ability to have more than one friend. Additionally to that, I split the "stop being friends if you attack me" behaviour into its own element rather than being part of the "start being friends if you pet me a lot" one, so he could also keep doing that. And finally I added a new signal `COMSIG_ATOM_AFTER_ATTACKEDBY` which is sent by an atom after an item attacks it (so if it manages to get through the attack chain and is probably actually being used for an attack) and registered to this in the `relay_attackers` element in place of `COMSIG_PARENT_ATTACKBY`. This means that dogs can now recognise that when you use a bone on them you are trying to feed them, not attack them. ## Why It's Good For The Game The loyalty of Ian and McGriff will now be most easily available to their owners rather than anyone with access to their office. ... which doesn't really effect very much, I just think spam-clicking Ian was boring as a solution and spending money is at least marginally better. Gives you something to spend money on if you want to befriend a dog, for instance if you're a mailperson or felinid who is tired of getting growled at by one. Or if you bought a dog from cargo. Removes some unintuitive edge cases where a mob might get mad at you doing something helpful to them. ## Changelog 🆑 balance: While Ian still enjoys being petted, his heart will now most closely belong to anyone who gives him an expensive luxury dog bone. code: Using an item which _can_ deal damage on a mob tracking hostile actions (such as a dog) won't automatically be considered to be a hostile action if you aren't actually hitting it with the item. /🆑 |
||
|
|
58b61a17a7 |
Basic Mob Carp: Retaliate Element (#71593)
## About The Pull Request Adds an Element and AI behaviour intended to replicate the "retaliate" behaviour which made up an entire widely-populated subtype of simple mobs. The behaviour is pretty simply "If you fuck with me I fuck with you". Mobs with the component will "remember" being attacked and will try to attack people who attacked them, until they lose sight of those people. They don't have very long memories so breaking line of sight is enough to remove you from their grudge list. The implementation unfortunately requires registering to 600 different "I have been attacked by X" signals but c'est la vie. It will still be cleaner than `/mob/living/simple_animal/hostile/retaliate/clown/clownhulk/honcmunculus` and `mob/living/simple_animal/hostile/retaliate/bat/sgt_araneus`. I attached it to the pig for testing and left it there because out of all the farm animals we have right now, a pig would probably get pissed off if you tried to kill it. Unfortunately it's got a sausage's chance in hell of ever killing anyone. ## Why It's Good For The Game It doesn't have much purpose yet but as we make more basic mobs this is going to see a **lot** of use. ## Changelog 🆑 add: Basic mobs have the capability of being upset that you kicked and punched them. add: Pigs destined for slaughter will now ineffectually attempt to resist their fate, at least until they lose sight of you. balance: Bar bots are better at noticing that you're trying to kill them. /🆑 |