mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-13 11:12:14 +00:00
8b965c912765bd42b51bc845d54673f578bcbbdd
103 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
f01e62498d |
Flying mobs no longer have 3x worse damage slowdown (#91710)
## About The Pull Request Removes a damage modifier introduced for a feature that's been long removed. ## Why It's Good For The Game Floating mobs are currently suffering a higher damange slowdown than walking, this was apparently changed in this PR https://github.com/tgstation/tgstation/pull/20860 This distinction was introduced to balance flight suits, a feature has long been removed, therefore we no longer need this modifier. ## Changelog 🆑 del: Flying mobs no longer have 3x worse damage slowdown /🆑 --------- Co-authored-by: Xander3359 <66163761+Xander3359@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
a045f23eef |
Fixes fishpeople swimming slow in deep water (#91132)
## About The Pull Request Instead of having the deep water tile slow people down, they get slowed down by the swimming status effect. Fishpeople are immune to that slowdown. ## Why It's Good For The Game glug ## Changelog 🆑 fix: fixed fish infused people swimming slow in deep water /🆑 |
||
|
|
d19b8de989 |
Most fleshy mobs are vulnerable to stamina and stuns (#90675)
## About The Pull Request This PR enables most mobs to take stamina damage, become slowed as a result of taking stamina damage. It also gives most mobs CANSTUN which not only allows them to enter stamcrit from taking stamina damage but also makes them vulnerable to mechanics like stun batons. Mobs which already took stamina damage (Spiders and Space Dragons) still work the same way. Mechanical or artificial mobs, mining mobs, simple xenomorphs, ghosts, and most kinds of mob closely associated with antagonists still don't take stamina damage. ## Why It's Good For The Game A new player armed with a disabler will probably try and use it on aggressive animals and be disappointed, but I don't think there is any _reason_ for them to be disappointed when it's already something they are doing merely to delay being attacked rather than to kill the target. It's not intuitive for these mechanics not to function against simple mobs when they do against humans, _especially_ the kinds of mobs which look like humans, and there isn't any technical reason why it _couldn't_ work against most mobs which it looks like they should work against. While this reduces the threat level of some mobs against Security players I think the greater interaction with the sandbox is beneficial. I'm hopeful it doesn't have that much effect on many of the most common places you encounter dangerous mobs like Space Ruins or Gateways as they are also places where you can't reliably recharge your energy-based stamina weapons as most that don't require energy do require getting into melee and endangering yourself. ## Changelog 🆑 balance: Most biological mobs are now slowed by taking stamina damage, and can be stunned. Mechanical mobs, mining mobs, and several other special kinds (chiefly those invoked by antagonists) are unaffected. If this seems to effect any mob it probably shouldn't, please report it as a bug. /🆑 |
||
|
|
99869cef92 |
You can transplant xenomorph tails onto people (#89618)
## About The Pull Request This PR allows you to extract tail organs from xenomorphs and surgically attach xenomorph tails to people. (Despite being a carbon the xenomorph sprite is not built out of component overlays so this technically does not remove the tail from its corpse sorry). Having a xenomorph tail makes you better at tackling, changes your tackle verb to "pounce" like if you are a felinid, and also gives you the parkour benefits of the Freerunning quirk.  You can also surgically attach a xenomorph _queen_'s tail to someone. This arguably is a bad idea because it makes you slower (it's much too heavy) but it does give you access to the queen's tail spin attack (after which you will fall over if you aren't inhumanly strong). Also more importantly, it is comically large. ## Why It's Good For The Game Look I'm racking my brain but this one really mostly comes down to "it's funny to do this". But let's pretend that it also increases the depth and complexity of the sandbox and promotes interesting interactions between crewmembers or something like that. Ideally sometimes in the future we will either decide that xenomorphs are not carbons (is it purely because they have organs?) or decide that they _are_ carbons and build them accordingly. In the latter case this will have been a useful addition. ## Changelog 🆑 add: You can transplant xenomorph tails onto people. /🆑 |
||
|
|
5d13bd894e |
Phobia rework (#89098)
## About The Pull Request Like #88945 but I am meaner than Goofball. This PR adjusts Phobias to be a little bit less restricting, rather than being basically the worst thing in the game. The way phobias work now is: ***Hearing*** something related to your phobia will make you scream and give you a minor, minute-long mood penalty, once every 12 seconds. ***Saying*** something related to your phobia has a high chance to make you either stutter or speak quietly, or both at once. ***Seeing*** something related to your phobia applies a moderate, four-minute long mood penalty and then gives you stacks of a debuff, once every 12 seconds, up to 6 stacks. Each stack of the phobia debuff makes any effects applied by being scared last longer. Then it applies one of four random effects. - You scream, which does nothing else... unless you have at least 5 stacks in which case you will also drop whatever you were holding in your active hand. - You jump, which immobilises you for a very short period of time (basically just interrupting your movement). - You lose your balance, making you briefly move slower and become staggered (which makes it easier to push you around). - You feel faint, which makes you dizzy (move occasionally in unwanted directions) and briefly blurs your vision. These stacks decay every 30 seconds as long as you're not actively being scared. If you have _multiple_ phobias then your general level of fear is applied globally between them, so even if you just escaped from some clowns you might still be worked up when you see a spider. Phobias mostly don't make you jitter any more largely because to be honest it just looks sort of shit and generally makes your sprite and animations seem like they are broken not like you are shivering in fright. It still happens if you hear something scary. _Also_ I changed carp phobia to a general "fish" phobia, because we have so much fish-related content now to take advantage of. _Also_ I fully deleted the Heretic phobia because it's not applied by Heretics any more and without that context it is also needlessly specific, with heavy overlap with the Supernatural phobia. _Also_ I fucked around with the phobia speech dictionaries a little bit to remove some words I don't think are that funny or appropriate and also add some more. Your mileage may vary. _Also_ I made sure people who are scared of aliens are scared of basic mob xenomorphs, people who are scared of birds are scared of raptors, and people who are scared of bugs are scared of butterflies and........... mothroaches. ## Why It's Good For The Game Phobias are internally classed as a "mild" brain traums, which makes them relatively easy to acquire and are applied by effects that are supposed to be bad but not completely debilitating. Examples of other mild traumas are: - Stuttering - Speech impediments - Your health preview doesn't update - You occasionally move in a random direction - Colour blindness - You don't like dropping objects Phobias on the other hand are generally considered by most players who have had one to be _significantly_ disabling. The penalties they apply tend to be significantly worse to play with than the things listed above, and can make playing around with a roleplay quirk excessively miserable. Unlike Goofball I don't want to make these totally toothless, but I do want them to be more _mlld_ than they were before. ## Changelog 🆑 balance: Phobias are now somewhat less debilitating, although their effects get worse the longer you are near a fear trigger. balance: Carphobes are now afraid of all fish. del: Remove the Heretic phobia, as it is now basically unused. /🆑 |
||
|
|
cffe5ffc33 |
Mixed bag of fishing adjustments. (#87201)
## About The Pull Request This more or less ties with my previous PR where I fix some of the issues I've seen with fishing, because both are the result of some live playtesting in which I assessed some flaws and nits. So, let's get started: Lowered the number of fish to scan for each fish scanning experiment: This is the most time-gating feature of fishing. As a scientist you're usually better off doing anything else than this anyway, which is understandable, but for whoever else that plans to get some nice ocean fish, this is going to be a huge bummer. From 4, 8, 14, 21 to 3, 7, 11, 17. Switched the ocean and chasm portal setting: Right now, the ocean portal has the largest amount of catchable creatures, which can also help progress the experiments, while the chasm setting only has two and is only mildly useful for chasm chrabs --> lobstrosities (which suffer a bit from not having a good enough AI right now). I hope I'll have the time to add some late fishes to the chasm setting at some point. Added a premapped fishing portal generator to the common service room of every map: It takes quite some time to setup fishing. Making a fishing portal is by far what I consider to be the most tedious part. Also Wawa and Birdshot were also missing the aquarium kit. On a side-note I realized some days ago that service jobs receive very good discounts on the fishing items sold by the good clean vendor. Added the fish puns speech modifier to fish-infused gills: I forgot to do it when I made the PR. Shrimple as that. Mild fish infusion tweaks: Lowered the crawling speed very sightly, but buffed showers and water healing slightly. Drinking water now wets you by about 1/4 of what splashing it would do. Buffed fishing difficulty modifiers for items and chairs a little: For the time and credits invested, buying a carp costume or whatever to be slightly better at fishing doesn't seem that profitable, and I reckon I was being a bit conservative with the values. Fishing is a considerable time investment already, especially in the initial stage with the setup. Also idk why sunglasses and thermals buff fishing while fish are technically cold-blooded creatures so I removed the comp from them. Added fishing rods and fish cases designs to cargo and science lathes: Other base fishing designs are shared between the three departments, while these two are only available for service (and autolathes obviously). Fishing skill now affects completion gain and not only completion loss: Fishing as a feature has a slower pace than most things in the game. It feels right that by the time you reach about legendary level, you get to complete the minigame a bit faster. ## Why It's Good For The Game To put it briefly, the feature feels right as a casual experience, however time is very much against you and getting something done takes some effort (especially on tram, where moving to and fro' departments is almost like playing froggers at times) ## Changelog 🆑 map: Added a premapped fishing portal generator to every map. balance: Lowered the requirements for fish scanning experiment. Swapped the rewards of the second and third experiments. balance: Buffed fishing difficulty modifiers for several items and chairs. balance: Fishing skill now affects completion speed of the minigame more actively. balance: Mild fish infusion tweaks. Crawling is a smidge slower, but healing from showers and drank water is a bit better. qol: Fishing rods and fish cases can now be printed by cargo and science lathes. add: Gills now give the fish puns speech modifier. /🆑 |
||
|
|
96c0c0b12c |
Fish infusion (#87030)
## About The Pull Request I'm adding a new infusion ~~(actually four, but two of them are just holders for specific organs tied to a couple fish traits)~~ to the game. As the title says, it's about fish. The infusion is composed of three primary organs, plus another few that can be gotten from fish with specific traits. The primary organs are: - Gills (lungs): Instead of breathing oxygen, you now need to stay wet or breathe water vapor. - fish-DNA infused stomach: Can safely eat raw fish. - fish tail: On its own, it only speeds you up on water turfs, but it has another effect once past the organ set threshold. It also makes you waddle and flop like a fish while crawling (I still gotta finish sprites on this one) Other organs are: - semi-aquatic lungs: A subtype of gills from fish with the 'amphibious' trait, falls back on oxygen if there's no water. Can also be gotten from frogs, axolotl and crabs. - fish-DNA infused liver: From fish with the 'toxic' trait. Uses tetrodotoxin as a healing chem instead of a toxin. Also better tolerance to alcohol if you want to drink like a fish (ba dum tsh). - inky tongue: From fish with the 'ink production' trait. Gives mobs the ability to spit ink on a cooldown, blinding and confusion foes temporarily. The main gimmick of this infusion revolves around being drenched in water to benefit from it, In the case you get the gills organ, this also becomes a necessity, to not suffocate to death (alternatively, you can breathe water vapor, without any benefit). To enable the bonus of the organs set, three organs need to be infused. They can be gills, stomach, tail and/or liver, while the inky tongue doesn't count towards it. Once the threshold is reached, the following bonus are enabled: - Wetness decays a lot slower and resists fire a bit more. - Ink spit becomes stronger, allowing it to very briefly knock down foes. - Fishing bonuses and experience - Resistance to high pressures - Slightly expanded FOV - drinking water and showers mildly heal you over time. - for felinids: You won't hate getting sprayed by water or taking a shower. - While wet: - - If the fish tail is implanted, crawling speed is boosted. - - You no longer slip on wet tiles. - - You also become slippery when lying on the floor. - - You get a very mild damage resistance and passive stamina regeneration, and cool down faster. - - You resist grabs better. - - get a very weak positive moodlet. - However, being dry will make you quite squisher, especially against fire damage, slower and give you a modest negative moodlet. While working on it, I've also noticed a few things that explained why tetrodotoxin (TTX) did jackshit at low doses, because livers have a set toxin tolerance value, below which, any amount of toxin does nothing. Also I've felt like reagents like multiver & co were a bit too strong against a reagent that's supposed to work at very low doses, with slow metabolization, so I've added a couple variables to buff TTX a bit, making it harder to purge and resistant to liver toxin tolerance (also added a bit of lungs damage). ## Why It's Good For The Game I wanted to take a shot at coding a DNA infusion and see how chock-full I could make it. DNA infusions are like a middle point between "aha, small visual trinket" and organs with generally ok effects. I seek to make something a bit more complex ~~(also tied to fishing ofc because that's more or less the recurrent gag of my recent features)~~ primaly focused around the unique theme of being strong when wet and weaker when dry. EDIT: The PR is now ready, have a set of screenshots of the (fairly mid) fish tails (and gills, barely visible) on randomly generated spessman and one consistent joe:  ## Changelog 🆑 add: Added a new infusion to the game: Fish. Its main gimmick revolves around being stronger and slippery when wet while weaker when dry. balance: Buffed tetrodotoxin a little against liver tolerance and purging reagents. /🆑 |
||
|
|
ad111f4950 |
Spacemove refactor - Newtonian physics (#84869)
## About The Pull Request This PR significantly enhances how zero-g movement works. Its no longer locked to one of 8 directions, everything now has inertia and is affected by weight. This means that throwing a piece of wire will no longer completely reverse your movement direction, and that being thrown out of mass driver no longer will slow you down to a halt at some point. This leads to following gameplay changes: * Guns now accelerate you. Ballistics have higher acceleration than lasers, and higher calibers have higher acceleration than smaller ones. This means that firing full-auto weapons in zero-g will make you drift and accelerate significantly. While this can be a hilarious way to travel in space, it makes using them trickier. * Impacting a wall or an object while moving at high speeds will cause you to violently crash into it as if you were thrown. Careful when exploring! * Jetpacks now have inertia. Changes introduced in #84712 have been mostly reverted, although speed buff has been reduced to 0.3 instead of 0.5 (although this is compensated by new movement mechanics, so overall speed should be roughly equal). All MODsuit jetpacks now possess the speed boost. Advanced MODsuit jets (which has also been added back) and captain's jetpack instead have higher acceleration and stabilization power, providing much more precise control over your movement. * Firing guns while moving on a jetpack will partially negate your pack's acceleration, slowing you down. Non-advanced jetpacks' stabilization is not enough to compensate for heavy caliber weaponry as sniper rifles, shotguns or rocket launchers. * You no longer instantly decelerate upon sliding along a wall. Instead, it may take a few tiles if you are moving at extreme speeds. Passing over lattices still allows you to grab onto them! As space movement is angle-based instead of dir-based now, its much more smooth than before due to using new movement logic. Example of jetpack stabilization in action: https://github.com/tgstation/tgstation/assets/44720187/6761a4fd-b7de-4523-97ea-38144b8aab41 And, of course, you can do this now.  **This pull request requires extensive gameplay testing before merging**, as a large amount of numbers have been picked arbitrarily in an attempt to keep consistency with previous behavior (guns and normal-sized items applying 1 drift force, which is equal to what everything applied before this PR). Jetpacks and impacts may also require adjustments as to not be frustrating to use. Closes #85165 ## Why It's Good For The Game Zero-G refactor - currently our zero-g movement is rather ugly and can be uncomfortable to work with. A piece of cable being able to accelerate you the same as a duffelbag full of items when thrown makes no sense, and so does instantly changing directions. Inertia-based version is smoother and more intuitive. This also makes being thrown into space more of a hazard (possibly opening the door for explosive decompressions?) Jetpack inertia and gun changes - this is mostly a consequence of inertia-based movement. However, zero-g combat being preferred during modes like warops was an issue due to it negatively affecting everyone without jetpacks which are in limited supply onboard. This reverts the mobility changes which severely impacted space exploration, while making zero-g combat more dangerous and having it require more skill to be a viable option. ## What's left - [x] Refactor moth wings to use jetpack code - [x] Refactor functional wings to use jetpack code - [x] Locate and fix a recursion runtime that sometimes occurs upon splattering against a wall - [x] Add craftable tethers and modify engineering MOD tethers to use the same system ## Changelog 🆑 add: You can now craft tether anchors, which can be secured with a wrench and attached to with right click. They won't let you drift into space and you can adjust tether length/cut it via lmb/rmb/ctrl click on the wire. add: MOD tethers now remotely place and connect to tether anchors instead of throwing you at where they landed. balance: MOD tethers can now be used in gravity balance: Jetpacks are now inertia-based. balance: Guns can accelerate you significantly in zero-g. balance: All jetpacks now give you equal speed buff, however advanced MOD ion jets and captain's jetpack have higher acceleration/deceleration values. refactor: Refactored zero-g movement to be inertia-based and utilize angles instead of directions. /🆑 |
||
|
|
c91c50f937 |
You can now raise lobstrosities from chasms chrabs. (#84969)
## About The Pull Request Lobstrosities can now be raised from aquarium icemoon/lavaland chrabs. First of all, you've to get a live chrab, an aquarium, and some fish feed. Second, you place the chrab inside the aquarium and turn the 'allow breeding' settting on (should probably rename it to a more apt name now). Keep the chrab well fed, and possibly with some friends and props in the same aquarium until it develops into a hopefully calm juveline lobstrosity and plops out of the aquarium (it can take some time). From there you can tame it by feeding it its favorite food: arms and lavaloop fish, and wait another dozen minutes for it to mature into a fully grown lobstrosity. Juveline lobstrosities are basically smaller and weaker lobstrosities, if not slightly faster in some ways. Unlike their taller counterparts, they can be tamed. Once done so, they'll retain their tamedness once grown up. Regardless, tamed lobstrosities can be given the pet command to fish for things by pointing at them. Thanks BenMatrix for the profound fisher component, woo. The chrab's weigth and size influence the growth speed of the first stage faster, meaning bigger chrabs (may require crossbreeding) will turn into juveline lobstrosities quickly. Amongst other things influencing the resulting mob are fish traits: Several traits have been given effects that apply to the mob, such as nocturnal regeneration, being venomous or being able to fly akin space carps. Also a new one that prevents the resulting lobstrosity from fully developing Now tested. ## Why It's Good For The Game I'm building upon fishing and aquarium stuff, which has been an interest of mine in a good while, though most of it doesn't have that many practical uses, I'm slowly trying to make it cooler, and chasm chrabs growing into lobstrosities is pretty much in line with the fluff texts for the fish. Eventually I'll have to add tips inside fishing toolboxes, otherwise people won't know even half of it. ## Changelog 🆑 add: You can raise lobstrosities from chasm chrabs inside an aquarium with the 'allow breeding' setting on. Keep the fish well fed, healthy and not lonely if you don't want an hostile one. add: Juveline lobstrosities (from chasms, plasma rivers, or aquariums, xenobio too) can be tamed with arms and lavaloop fishes. add: For lobstrosities grown from aquariums, they can have additional effects based on the fish traits they had in the aquarium, like being venomous or even flying. /🆑 |
||
|
|
c261389549 |
Adds Untie Shoes, a 1-point wizard spell. (#84880)
## About The Pull Request Added Untie Shoes. This is a wizard spell that's seemingly weak but has some power under the surface. The first level unties, then knots shoes. The second level allows you to tie jackboots and the like. The third level allows you to summon shoes if the target has none. And, for the true pranksters out there, the fourth level makes invocations silent and gestureless. Also, it always slows noncarbons down a bit. It's also given to clowns after Jubilation, and the wizard themself, at max level for the latter, if they dont have it already. ### Why would you ever pick this?? Knotted shoes make the wearer unable to walk without being stunned and tripping on the floor. Let that sink in! Anyone hit twice by the spell is forced to crawl around or risk stepping on broken glass. Worse, they need to go through a looong process to untie their shoes to even drop them. This spell has infinite range, although casting from beyond screen range or through zlevels multiplies the cooldown by ten, which is excellent for softening up targets. It's a 1-point, ranged, supportive spell with low cooldown, which makes it excellent as a deterrent for harassing wizards at long range - something they often lack answers to. It's great for whittling down antimagic charges. It's funny. ## Why It's Good For The Game This spell is silly, comical, yet also very versatile and adds a rather large amount of depth to Wizard while also expanding on shoe knotting, which is inherently funny and rarely looked at. I also wanted it to work through camera consoles because that's EXTREMELY funny. The long cooldown should prevent it from being too annoying. ## Changelog 🆑 add: Adds Untie Shoes, a 1-point wizard spell. It can be upgraded to untie jackboots, summon shoes to untie, and become completely silent! /🆑 |
||
|
|
27b6279ce1 |
All jetpacks are no longer full-speed (#84712)
## About The Pull Request Full-speed has been removed from jetpacks All jetpacks are now modsuit jetpack speed Due to having no purpose now, Adv. Ion Jetpack has been replaced with its lesser form, Ion Jetpack ## Why It's Good For The Game The meta to just blow up gravity and use your jetpack that makes you faster than 99% of the projectiles ingame and faster than a healthy full mood human to dunk on literally anyone you see because they cant click you because youre going mach 3000 is absolutely not fair With jetpacks being reasonable speeds this is no longer a problem ## Changelog 🆑 balance: All jetpacks are now modsuit jetpack speed del: Adv. Ion Jetpack module has been removed /🆑 |
||
|
|
2cb91604a5 |
Fixed limb slowdown and hunger affecting your speed in nograv (#84253)
## About The Pull Request Limbs with unique slowdown, such as that of mushies and zombies, won't affect it when they aren't actually using them. Hunger will now only slow you down in ground movement. ## Why It's Good For The Game Being hungry isn't meant to make you move slower while using a jetpack - that makes no sense. Similarly, mush or zombie or any limbs slow the zombie down despite not being used in nograv, which I think is silly. ## Changelog Limbslow not mentioned as its not very relevant to the average round 🆑 fix: Fixed hunger affecting your speed in nograv /🆑 |
||
|
|
7220a4f8ec |
No-gravity now properly ignores missing leg slowdown (#83882)
## About The Pull Request Fixes #74911. ## Why It's Good For The Game Issue #74911 confirms that the slowdown from missing legs is a bug, and I'd like to fix it. |
||
|
|
f1a22b367d |
Changes how lube crawling works and fixes a bug with snails (#83238)
## About The Pull Request This partially reverts https://github.com/tgstation/tgstation/pull/76336 - Just for slimepeople since it's the only one that felt important to be tied to species. Snails are currently pretty fast when they are crawling around, but on top of that they are also able to get their legs replaced to become 3x faster than normal humans while resting. It's a little silly, and I thought I should fix it. I also changed the element itself to be easier for admins to edit, giving them control over time and wet flags, and made it work a little better. Instead of being hardcoded to listen to carbons and to register every step to check if they are resting, calling add/remove movespeed modifier every single time they move, we are told whether they have to be resting, and update when they get up/lie down. This has an extra bonus that admins can control whether or not they want to make simple/basic animals have to rest to lube things (like cats). ## Why It's Good For The Game Closes https://github.com/tgstation/tgstation/issues/78417 Makes the lube spitting element that (primarily) snails use into a more general thing that can be used by admins or other contributors that want to make things wet thing as they walk for some time. Also no insanely fast snails anymore. ## Changelog 🆑 fix: Snails no longer move at normal speed while resting. fix: Snails can no longer get insane speed from getting their legs replaced. fix: Humans don't become immensely slow when getting a Snail leg. admin: lube walking element is now much easier to mess with to fit however you want to use it for. /🆑 |
||
|
|
b20c982404 |
Converts slimes to basic mobs (#82176)
## About The Pull Request After months of preparation, and further months of work, I am finally done. Please bear with me, as this is a massive refactor, but I have already atomized everything I could. This is now ready for review. General - The hilbert hotel slimes are now a subtype instead of a varedit. - The `use_mob_ability` subtree now also accepts non cooldown abilities. If set_behaviours is set up properly, mobs won't keep continously triggering it as if it were a 0 second cooldown action. The alternative would have been turning the slime abilities into cooldown abilities. - Wrestling off a slime now signs up to the `COMSIG_ATOM_ATTACK_HAND` signal, instead of being part of attack_hand. - Adds datum/ai_controller/controller as a fourth, optional argument to `/datum/ai_behavior/find_hunt_target/valid_dinner()` to make it possible to access blackboard keys. - Slimes no longer attack windows if they would accidentally move into them (when the conditions are met), since random walk behaviour ignores tiles they can't go in. It was also not worth to keep. Did you know this was the sole override of `ObjBump()`? - Examine was made less snowflaky/bespoke. Also added a new element: `/datum/element/basic_health_examine`, which is a simple bespoke element that prints out a custom message based on how damaged the basic mob it is attached to is. - Slimes only perform knockdown instead of paralysis, as they can attack more often now, and paralysis is not that fun. - LAssailant has been removed due being archaic code. To befriend a slime, you have to spawn a monkey with the slime console, or feed them a sheet of plasma. Simple grabbing the monkey or stuffing them in disposals do not work anymore. Slime console spawned monkeys will have a visible status effect, with pheromones coming off them to make this clearer. Actions - Feeding, reproduction and evolution is no longer a verb. - Slime feeding is no longer an action button. You have to use right click, or as previously, mousedrop. Slimes can always unbuckle from mobs they are attached to. Hunger - Instead randomly changing the starvation and max nutrition values while growing up, evolution costs 200 nutrion. This makes the code more readable, and behaviour more predictable, while still giving the intended time between evolving and splitting. As a result, I could also turn these into defines. - Added a component that handles doing an effect over time while buckled to a mob, until the mob dies or you get unbuckled. - Slimes gained nutrition is no longer randomly multiplied by the damage config value, but rather gain nutrition equal to twice the damage dealt. You'll have to eat one monkey to evolve, just as before. - Slimes do not heal passively. They only heal from eating. It was a rather miniscule value that did not have much effect. - Slimes generate electricity from hunger threshold, instead of the random amount of hunger threshold + 100. Environment - Slimes take 15 damage from cold every second, instead of using a complex formula (that also decreased the damage up to a point?). - Slimes still heal from burn damage, but this is now set on the damage coefficient list. - Slimes instead of getting stunned by the cold, freeze in an ice cube. BZ instead of setting them unconscious, calls the stasis status effect, allowing you to safely stash your hungry slimes for later. They also no longer slow down from the cold, as they are already slowed down by the damage they get. Conversely they no longer get a speed up from a random amount of temperature. I could be convinced to readd this either as part of the basic sensitive component, or a similar one. AI - Removed the attacked_stacks system. Slimes will just perform regular retaliation if you hit them in a harmful manner. - Slimes now use the pet orders component. They will interrupt their feeding when given a command by their master. - Slimes have their own subtrees. I tried to replicate as much as I could from the old code, dividing ancient code artifacts and intentional stuff, so there might be some weirdness. - Slime speech has been almost fully reduced to basic blorbing, as you can not even understand them anymore, and most of them require the slime to loop through all of their surroundings. - Discipline does not have stacks either. Disciplined baby slimes have a chance to clear their attack and hunt blackboard keys. All slimes will stop feeding on the target otherwise. - Since discipline is not a stack, rabidity instead gets removed at a 10% chance per disciplining. - Slimes faces are a bit more randomly picked now. ## Why It's Good For The Game - We want to convert all simple animals to basic mobs. Old slime code was also very strange, and had some systems that have been replicated by components. - Slimes fully paralyzing you is not fun at all. Knockdown should give you a fighting chance when a slime would like to eat you. - Slimes slow down from the heavy damage they get from the cold, so I don't think they need extra slowdown, nor do they need to speed up from warmth, as they are already fast. - Slimes turning into an icecube instead of becoming paralyzed from the cold is more fun for the slimes, as they can break out for a few moments. It is also funny. - Slimes entering proper stasis from BZ is not just a visual indicator of a slime that is safe to approach, but also keeps the slimes's hunger value in check, allowing it to not starve while stopped. They can also look around and blorble, instead of staring at a black screen, if player controlled. - The attack_stack and discipline_stack behaviours were rather overcomplicated, and the xenobio mains I talked with didn't even know it was a thing, so I argue it needed simplification. - The bespoke friendship system of slimes was also too complicated. Slimes slowly gained levels of trust, and at certain levels commands costed friendship, and other levels, they did not. The binary friend/not friend system that everything else in the game uses is much more sensible. - Using right click for feeding is much more sensible than using an action, and then picking someone from a dropdown. - Slime speech was very soulful but not only did it loop through everything in sight, you couldn't even understand it unless you spoke slime. Maybe it can be readded later in a different form. - Slime's passive healing was miniscule, and having them rely on feeding is more interesting. also fixes #81463 ## Changelog 🆑 refactor: Slimes are now basic mobs. Please report any strange behaviours! balance: Slimes only stun you for two seconds when they shock you, the rest of the duration is a knockdown. balance: Slimes are not stunned from the cold, but rather, get frozen in a freon icecube. BZ also puts them in complete stasis, instead of making them unconscious. Their speed is likewise unchanged by temperatures. balance: Slimes do not passively heal, they instead rely on feeding. fix: Slimes can use the buckling screen alert to unbuckle and stop feeding, along with clicking on the mob they are riding /🆑 |
||
|
|
98526ae100 |
Fixes stabilized red bypassing immutable slowdowns / Fixes being unable to construct fulltile objects on immutably slow things (#82250)
## About The Pull Request - Fixes Stabilized Red extract's equipment slowdown immunity bypassing item Immutable Slowdown - Fixes(?) Settler equipment slowdown modifier applying to immutable slows - Fixes Immutable Slow being considered an object flag when it was an item flag, causing objects to consider objects with it to be `BLOCKS_CONSTRUCTION_DIR` ## Why It's Good For The Game The description of Immutable Slows: `When players should not be able to change the slowdown of the item (Speed potions, etc)` Stabilized Red extracts were changing the slowdown of the item, which is unintended. Likewise Settler was doing the same, but that one I'm a bit more iffy on. Either way I suppose if things should immutably be slow, they should immutably be slow. ## Changelog 🆑 Melbert fix: Stabilized Red extracts no longer bypass Immutably Slow items fix: Settler equipment speed modifier no longer applied to Immutably Slow items fix: Immutably Slow items no longer block construction of certain items /🆑 |
||
|
|
c2ceb705e1 |
Makes Ephedrine not give spasms when holding a small or tiny item in your active hand, Also makes the movement speed scale with purity (#81773)
## About The Pull Request Makes Ephedrine not drop small and tiny items, Also makes the movement speed scale with purity ## Why It's Good For The Game Ephedrine right now is really hard to use as an escape tool cause you drop things usually escaped for running away like tools, teleporters etc, This makes it better as a tool for that without making it too powerful for combat, Also makes movement speed scale with purity to make it more meaningful ## Changelog 🆑 balance: Ephedrine spasms won't affect small or tiny items balance: Ephedrine's movement speed bonus now scales with purity. /🆑 --------- Co-authored-by: Aki Ito <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com> |
||
|
|
aa9caef0ed |
Fishing hook and reel line tweaks (also qol for the fish bounties) (#80599)
## About The Pull Request This PR includes a series of small changes and additions to hooks and reel lines, as well as the aforementioned bounties. My objective here is to make the (base) hook and reel line feel more useful. Ditto with a few other things. Here's the list of changes: - Almost all fishing rods come with a hook and reel line pre-installed. The rod from the fishing toolbox comes with separate hook and reel line. - Without a hook, you cannot fish. Without a reel line, the cast range is reduced (from 5 to 3). - Fishing with a reel line installed provides a mild boon to completion speed by default. - The sinewy reel line (craftable from lavaland mobs) can now be used to fish on lava / liquid plasma, but it's a bit stiff and gives a mild malus to completion speed. - Unlike other hooks, the rescue and jawed hooks now allow you to cast a line and reel in living mobs too, not only items. They even get a status alert they can click to un-snag themselves, or move away far enough to achieve the same effect. - Master fishing rod buffed. It now comes with a flexible reel line and weighted hook pre-installed, and can be cast further than other rods. - On top of that, the jawed hook will slow down living mobs snagged by it and is a bit harder to remove. - when casting a line, it will now show the icon of the current hook as projectile, not a generic one. - Reeling now correctly checks movement resistance and anchorage. - Reeling an object (or a mob) now plays a sound. Ditto for installing/removing slotted items. - A few balloon alert feedbacks. - Minor code improvements. - The jawed hook should look a smidge sharper. - reel lines are now small items. ## Why It's Good For The Game The base hook and reel line didn't do anything begin with, and you would do just fine without them. In the end it's just a bit unintuitive for them not to be a requirement. Beside that, it makes sense for the rescue hook to be able to snag mobs, so they may as well be used to drag people out of lava or liquid plasma. As for the jawed hook, it always felt to me a bit underwhelming and a bit of a filler I had cooked up on the moment. It really could have some 'tactical' utility in virtue of being one of those niche black market items. ## Changelog 🆑 add: Most fishing rods come with a hook and line preinstalled. Fishing toolboxes come with separate reel and lines as usual. balance: Fishing hooks are now required to fish. balance: Without a reel line, the range of fishing rods is reduced by two tiles. Conversely, having one installed gives a mild buff to the minigame completion speed. balance: The craftable sinewy reel line can now be used to fish on lava or liquid plasma, but it's a bit harder to use. balance: The rare-to-find-in-maintenance master fishing rod now comes with a flexible line and weighted hook preinstalled, and has better range than other rods. balance: Fishing reel lines are now small enough to fit pockets. add: The rescue and jawed hook can now snag and reel in mobs, not only items. The jawed hook also slows down when applied, a la beartrap. qol: Fish bounties now accept filled (stasis) fish cases. qol: Several balloon alerts for fishing rod interactions. fix: Reeling in items (and mobs) now respects movement resistance and anchorage. fix: Fixed the fishing rod equipment UI being too small to fit its components. sound: Reeling in something now plays a sound. /🆑 |
||
|
|
81a668a727 |
Changes the scope component to be appliable to other items and not just guns. Binocs and the Curator's mothic cap use it. (#80445)
I've done some changes to the scope component so that it can be applied to items other than guns. Binoculars now use it instead of changing the player view size, and lets them move around while the zoom is on at the cost of a moderate slowdown. This is both more comfortable, cooler and less laggier than the previous method. Take in mind it still takes both hands to use binoculars, so there's no much room for exploitation anyway. This PR also makes the mothic softcap from the curator kit special: it too has the scope component, albeit of a much shorter range, because it's probably the least interesting kit of them all right now and has nothing that the curator cannot get by walking in the aux base construction room, except for a pair of pockets in the mothic coat, though that's superseeded by the Trailwarden kit's saddlepack. It's pretty fitting if you ask since the softcap has some goofy-looking googles drawn on it. Oh, items that aren't guns also have a different mouse tracker icon of two circles joined together, instead of a reticle. |
||
|
|
ef52047274 |
[READY] The Tackleling: Unarmed bonuses and features contribute to tackle success and failure, significant outcome overhaul, among other things (#79721)
## About The Pull Request ### Tackling Outcomes Tackling now determines success based on outcome categories. These are derived from the typical attacker/defender roll that would have previously determined the outcome on its own. A negative roll results in a negative outcome, a positive roll a positive outcome, and a result of exactly 0 resulting in a neutral outcome. The result of your roll are then passed along to the relevant proc to determine severity. The derived roll is multiplied by 10 (or -10 for the negative roll to get a positive value to roll with). Then we see if our final roll fits a severity bracket. Negative outcomes will roll to determine their outcome, and potentially could roll a less severe outcome than what our first roll would suggest. For positive outcomes, the defender's melee armor reduces the severity of the outcome. For negative outcomes, the attacker's melee armor improves the potential outcome and at least prevents more severe backlash. It'll still be negative, you can't move from a negative outcome to a positive outcome just from good armor. Most of the outcomes are fairly similar to the current outcomes, but with the inclusion of staggering one or both parties to make the subsequent potential grabs _stickier_, if that makes sense. Neutral is now a mutual stagger, but also the tackler being left upright. It's effectively net zero. ### Blocking Blocking is checked on impact, and results in a neutral outcome if the defender successfully blocks. This means our tackler isn't too severely impacted from an unsuccessful tackle ### Additional Changes Your arms ``unarmed_effectiveness`` now contributes to the attack mod and defense mod of tackles. For humans tackling humans, this often results in a net neutral result. But if you have a better arm, or the tackle target has worse arms, this can alter the outcome significantly. Any tackler with the trait TRAIT_NOGUNS (like bezerkers, Sleeping Carp users or the very unlikely chance ninjas are tackling while wearing their armor) gains a bonus to their tackles. Any suit that prevents shove knockdowns grants an attack bonus, and not just riot armor. This now includes Mk.1 Swat suits, the ones from the SWAT crate in cargo. Settlers are vulnerable to tackles, much like their dwarf cousins. They're also just as bad at tackles. Security lockers come with gripper gloves, and the sec vendor has 5 sets of gripper gloves as standard items. They also have a +1 skill bonus. This should encourage people to use tackling a bit more without having to always seek out the best gear to accomplish the task. (particularly since security is inherently pretty good at tackling with the outcome changes). The HoS gets a pair of gorilla gloves in his garment bag. If he wants them. The shove slowdown is now a new status effect, Staggered. This is just better functionality overall. Any instance of adding the shove slowdown now makes our target staggered. ## Why It's Good For The Game Tackling is a bit outdated, to say the least. Not much content has been added for a while that isn't strictly meme content. With these changes, tackling should be slightly more nuanced, considering elements such as unarmed effectiveness, the presence of martial arts, and actually properly checking block rather than notionally checking block. There is also more opportunity to protect yourself from tackle outcomes, both positive and negative. It also should be a little fairer to be on the receiving end of tackles if you have taken the time to layer up defenses against it. Attackers often overwhelmed defenders due to numbers favoring attackers more than defenders. Closes some really outdated design that was resulting in some really bizarre behaviour with regards to layered defenses against attack not having the same meaning against tackles, if only because it was looking for the wrong things and not even the correct parts of what it was looking for. Namely, blocking and shielding. The inclusion of more gripper gloves and a good outcome from using them will hopefully incentivize people to consider tacking as a useful tool, if a bit risky still due to the splat mechanics. ## Changelog 🆑 balance: Judo Joe, archnemesis of Maint Khan, has begun re-airing his midnight infomercials shilling his extremely expensive Tackle Supreme Judo Karate Training video tapes. Unable to pass up a 'bargain', Nanotrasen has purchased these tapes en masse. Tackling techniques have started to improve, as well as Nanotrasen's tackling instructional algorithms within tackle gloves. balance: The outcomes for tackling are more equalized. It isn't as feast or famine, and should be somewhat more controllable without becoming too severe. add: Blocking successfully against a tackle will force the tackle to be a neutral outcome. add: Unarmed effectiveness from arms now contributes to attacking with and defending from tackles. add: Those who refuse to use firearms (like Sleeping Carp users and insane unholy berzerkers) are better at tackling others. add: Riot specialized armor, and not just riot armor, now contributes meaningfully to tackling effectiveness. balance: MK.1 Swat Suits, the ones that come in SWAT crates, now functions similarly to riot armor. add: Settlers from the outer rims have noticed they aren't very good at protecting themselves against Judo Joe's clearly discriminatory tackling techniques. add: Security lockers come with gripper gloves, security vendors now sell them as standard items, and the HoS' garment bag now has a pair of gorilla gloves. Gripper gloves have a positive skill bonus to tackling. add: Being insane also makes you INSANELY good at tackling but also INSANELY likely to eat shit on a whiff. DO OR DIE, BITCH. refactor: Shoving slowdown and all its implementations now use a status effect, Staggered. /🆑 |
||
|
|
a1e46c5d31 |
Basic Guardians/Holoparasites (#79473)
## About The Pull Request Fixes #79485 Fixes #77552 Converts Guardians (aka Holoparasites) into Basic Mobs. Changes a bunch of their behaviours into actions or components which we can reuse. Replaces some verbs it would give to you and hide in the status panel with action buttons that you may be able to find more quickly. They _**should**_ work basically like they did before but a bit smoother. It is not unlikely that I made some changes by accident or just by changing framework though. My one creative touch was adding random name suggestions. The Wizard federation have a convention of naming their arcane spirit guardians by combining a colour and a major arcana of the tarot. The Syndicate of course won't truck with any of that mystical claptrap and for their codenames use the much more sensible construction of a colour and a gamepiece. This lets you be randomly assigned such creative names as "Sparkling Hermit", "Bloody Queen", "Blue World", or "Purple Diamond". You can of course still ignore this entirely and type "The Brapmaster" into the box if so desired. I made _one_ other intentional change, which is to swap to Mothblocks' nice leash component instead of instantly teleporting guardians back to you when they are pulled out of the edge of their range. They should now be "dragged" along behind you until they can't path, at which point they will teleport. This should make the experience a bit less disorienting, you have the recall button if you _want_ to instantly catch up. This is unfortunately a bumper-sized PR because it did not seem plausible to not do all of it at once, but I can make a project branch for atomisation if people think this is too much of a pain in the ass to review. Other changes: - Some refactoring to how the charge action works so I could individually override "what you can hit" and "what happens when you hit" instead of those being the same proc - Lightning Guardian damage chain is now a component - Explosive Guardian explosive trap is now a component - Added even more arguments to the Healing Touch component to allow it to heal tox/oxy damage and require a specific click modifier - Life Link component which implements the Guardian behaviour of using another mob as your health bar - Moved some stuff about deciding what guardians look and are described like into a theming datum - Added a generic proc which can return whether your mob is meant to apply some kind of damage multiplier to a certain damage type. It's not perfect because I couldn't figure out how ot cram limb modifiers in there, which is where most of it is on carbons. Oh well. - Riders of vehicles now inherit all movement traits of those vehicles, so riding a charging holoparasite will let you cross chasms. Also works if you piggyback someone with wings, probably. ## Changelog 🆑 refactor: Guardians/Powerminers/Holoparasites now use the basic mob framework. Please report any unexpected changes or behaviour. qol: The verbs used to communicate with, recall, or banish your Guardian are now action buttons. balance: If (as a Guardian) your host moves slightly out of range you will now be dragged back into range if possible, rather than being instantly teleported to them. balance: Protectors now have a shorter leash range rather than a longer one, in order to more easily take advantage of their ability to drag their charge out of danger. balance: Ranged Guardians can now hold down the mouse button to fire automatically. balance: People riding vehicles or other mobs now inherit all of their movement traits, so riding a flying mob (or vehicle, if we have any of those) will allow you to cross chasms and lava safely. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
34e488acf5 |
Spider Infestation Balance Rebalance Expansion Part 2 (#78705)
## About The Pull Request Balances 1. Spiders now slow down equivalent to their health 2. Tarantulas can no longer put web passages or solid webs and destroy walls outside of charge attack 3. Young spiders now cant pull objects do to being too weak and become slower outside of webs as they should be 4. Makes pneumatic airlock seal unable to be destroyed by spiders 5. All Broodmother eggs now have a cooldown timer Normal Eggs: 20 seconds Abnormal Eggs: 180 Seconds Enriched Eggs: 60 seconds Expansions 1. Added a new abnormal egg category 2. Broodmothers can now lay abnormal eggs 3. 2 new spiders added 6. A new web type: Reflective silk screen # Breacher    - Low damaging with High wound bonuses meant to debilitate enemies to take ground for the nest - Has the ability to breach areas by destroying walls with menson vision to map out strategic breachings - Immune to harsh environments with the ability to lay solid webs to protect the nest environment - Can send in warnings for the entire nest to hear Will Help the nest get out of being closed off by small construction attempts and fix some space breaches plus some back up by making enemies slower and scarring them off with some bloodloss # Tank   - Extremely low damaging build to absorb damage to hold ground for the nest - With the ability to lay down silk screen reflectors to protect the nest from missile attacks - Can heal itself at a slow rate Will provide great support to keep the nest at bay from range attacks at some extent and act as a damage absorber in dier situations # Abnormal Eggs   - They can only be made once every 180 Seconds - Hold the two new spider types ## Why It's Good For The Game New spiders to contribute to the general spider antag team dynamic, balances for spiders are always good making them funner to play against and bringing up challenges on their gameplay making them act less like murdering simple mobs and more like an actual nest trying to survive in the station. How? 1. **Cooldown egg laying:** broodmothers now have to be more strategic on where they place their eggs with an average of 3 eggs per minute per broodmother 2. **Spider slowdown on damage:** Spiders now will become slower the longer they stay out of the nest in battle making them have to retreat back to the nest shortening their time out murdering giving incentives to expand the nest 3. **Spider More Brute Damage:** Gives a reason to use melee against spiders although more dangerous it gives more reward due to the higher damage outputs since spiders are pretty much big bugs with delicate bodies no bones no good structural consistency equal more damage to blunt attacks 4. **Tarantula Nerfs:** Tarantulas shouldnt be able to destroy this many walls at this rate and be able to lay so many defensive webs I don't know why they had this abilities but their strong enough as is ## Changelog 🆑 add: Added Abnormal Eggs add: Added Two new spiders del: Some Tarantula abilities balance: Spiders speed are now connected to health balance: Spiders now take more brute damage balance: All egg laying now has a cooldown /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
66a1cd6ab2 |
Adds The Hand of Midas, an ancient Egyptian gun. (#78699)
## About The Pull Request Adds the Hand of Midas (HoM), a weapon for pirate captains. This matchlock pistol is powered by gold rather than gunpowder. If you hit someone with it, they will be afflicted with Midas Blight for a duration of time that scales with how much gold is in your gun. Midas Blight will slowly turn their blood into gold, and slow them down depending on how much blood is in their system. If you right-click on someone with the HoM, it will siphon all gold from their bloodstream and recharge the gun, curing them of Midas Blight in the process if they still have it. The amount of gold you can get from people is meant to be ~1.5x as much as you fired into them in the first place, if you get your timing right. This way you can exponentially scale the power of your weapon if you can hit your shots, with a limit of 30 Seconds on the Blight timer. The siphon has a range of 2 meters, and if you miss a shot you can input a gold coin into the gun to refill it with the same weak shot you started with. It's a little hard to explain in text so here's some video examples: https://github.com/tgstation/tgstation/assets/66052067/d49238fc-beb2-4ba9-be0c-83e8a701c995 https://github.com/tgstation/tgstation/assets/66052067/34dc23e7-2b88-4ee9-bb1e-c8067a491975 https://github.com/tgstation/tgstation/assets/66052067/68a07426-ba6c-43a7-8228-132fc4b02b83 ## Why It's Good For The Game Honestly I just had the idea for the gun and thought it would be really cool lmao. Also because Barrel Behind the Door is one of the funniest YuGiOh cards, the censored design is TOO GOOD.  ## Changelog 🆑 Wallem add: Adds The Hand of Midas, an ancient Egyptian matchlock pistol. /🆑 |
||
|
|
0b8501cead |
Borgs will slow down when stuff is thrown at them (#78561)
## About The Pull Request This feature was added in #75819 but didn't work, for two reasons. Reason one: it was checking for throwing impact on the "I got shot by a bullet" proc and then checking the throwforce of a bullet (generally 0, because you don't throw those). Reason two: the duration was throwforce / 10 seconds. This would apply a slowdown which was usually one or fewer seconds, which might as well not exist. The solution to this is to assign it to the correct proc and give it a flat duration for anything over a threshold of damage. Currently this is 3 seconds for anything with 10 or more force (such as the humble iron rod). You can reapply it by just throwing more stuff. ## Why It's Good For The Game Cyborgs don't suffer health-based slowdown like humans. This is good because cyborg combat should be similar to humans, but bad because our move speed config is so ludicrously high that it makes fighting anyone at full speed a real pain in the ass. Since flashes have been nerfed to require two clicks in order to stun a cyborg, you have to be able to catch them to apply the second click. Throwing something at them should make this more likely. ## Changelog 🆑 fix: Throwing things at cyborgs will now slow them down, as intended balance: Adjusted the calculation of throwforce -> slowdown for cyborgs such that it is simply a flat duration for anything above a certain damage threshold (the value of throwing iron rods) /🆑 |
||
|
|
c8266cf0a2 |
Settler Quirk: Tame the Outdoors! Have trouble with tall shelves... (#77654)
## About The Pull Request Adds the Settler quirk. This gives you bonuses to taming animals and fishing, as well as making you gain hunger slower than others. However, you are quite a bit slower than most people, and have trouble with vaulting objects. You do, however, suffer significantly less from equipment slowdown. (to the point that it is almost zero) Settler riders are faster on their mounts than others if they're at least sane. They start to slow down if they're less sane. You are also shorter than most people. <details> <summary>Typical Settler encounters the typical Spacer</summary>  </details> ## Why It's Good For The Game I wanted to add a lightweight quirk that was kind of the 'opposite' of Spacer, but a little more focused on interacting with elements of the game world that would enjoy some attention. So, I thought 'what about an outdoorsman quirk?' So, I based it around being from people who lived out on the rim, under unideal circumstances (and probably heavier gravity than Earth), and taming the land. The slower movespeed encourages finding an animal to tame that you can ride, and the bonuses to taming should help make that a bit easier. The other additions just made sense for someone living it a bit rough in the wilderness. Having a bunch of settlers taming cows and riding around on them all shift just kind of sounds hilarious to me. ## Changelog 🆑 add: Settler quirk! Conqueror the great outdoors....in space. Just make sure nobody asks you to get anything from the top shelf. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
72174845f5 |
Basic Watchers & Basilisks (#77630)
## About The Pull Request This one is a double feature because Watchers and Basilisks share the same typepath. You might see a couple more of those. As is tradition I decided to fuck with them rather than just port them. Here's what's up. **Basilisks**   - Have a new soulless sprite which looks less like a living blue hedge. - Walk at you and shoot you while you are not in range (just like before). - Become supercharged if they become "heated" by lava, lasers, or temperature weapons. This was a feature they also previously had but they would never encounter lava, so now it also works if you use the wrong gun on them. - Lose their supercharge if you cool them down. - Otherwise pretty normal mobs. **Watchers** https://www.youtube.com/watch?v=kOq_Bf78k5A Here's a traditional video of me intentionally getting hit by mechanics (trust me its definitely on purpose) - They glow emmissively a little bit so you can see them from further away. - Their eyes light up about 0.5 seconds before they are able to shoot at you. - No longer melee attack, instead try to stay out of melee. - Will occasionally put you into "Overwatch", meaning they will shoot you rapidly if you move or act while they're staring at you for a brief time period (after which you become immune for 12 seconds, and during which other watchers will play fair and stop shooting at you). - If they start taking damage they will also start using their "Gaze" attack, look away or suffer some kind of negative effect! - - Normal watcher gaze flashes and confuses you. - - Magmawing watcher gaze obviously burns (and briefly stuns) you. - - Icewing watcher gaze freezes you and throws you backwards. - Magnetically attract and eat diamonds. They also used to do this, but just if they happened to coincidentally walk past some. **Other accompanying changes** All basic mobs will now adopt the "stop gliding" trait if they get slowed down too much. I moved behaviour for "fire a projectile from this atom" into a helper proc because I was using it in three places and I will probably use it in more places. There are probably other places in the existing code which could be using this. I think I made the basic mob melee attack forecast default a little more forgiving, they were fucking me up too much and I am the playtester. ## Why It's Good For The Game Another one off the list. New tricks for old dogs. Framework for making mobs with ranged attacks "fairer" (you can see when they are ready to shoot you). More (hopefully) versatile AI behaviours which we will reuse later (I hope I'm not duplicating one someone already made). If our players "enjoy" them enough we can give more mobs "don't look at me" mechanics. Removes some soul sprites. ## Changelog 🆑 refactor: Basilisks and Watchers now use the basic mob framework. Please bug report any unusual behaviour. sprite: Basilisks have new sprites. add: Basilisks will go into a frenzy if heated by energy weapons or temperature beams as well as by lava. add: Watcher eyes will be illuminated briefly when they are ready to fire at you. add: Watchers can now briefly put you into "Overwatch" and penalise you for moving while they can see you. add: Wounded watchers will occasionally punish players who look at them. balance: Unusual watcher variants are more likely to appear. /🆑 |
||
|
|
8957eb763c |
Spider Evolution - Young Spiders [Ready] (#76692)
## About The Pull Request This pr adds a young spiders that appear between spiderlings and adult spiders. Now spiders have a stage where they are squishy but can also spin webs and do some other things early depending on the spider type. Spiderling stage takes 40 seconds and young spider stage take 1 minute, ealier for spiderling this was 1 minute. Also adds a new wizard spider sprite and makes the spider form usable. Gives Wizard Spider version has better immunity against fire since it can kill a wizard very fast it they are not paying attention. Makes tangle spider get more health but makes the self-healing worse. This is done because spider is a team antag except for the flesh (changeling spider), making it so solo-playing as tangle is less encouraged. Scout spiderling gets thermal vision also. It cannot communicate, but it can already start scouting now. Viper deals bonus damage when an enemy is on low health. Toxins don't kill humans anymore, and since the viper spider only deals 5 damage now it deals more so it can actually take down enemies at low health. They also have a little more health since they always die very fast. Viper can also change between a defensive/slow mode with more armor or a offensive/speed mode with less armor. Nurse spider heals for 25 instead of 20, since 25 is one laser shot, it makes more sense for the nurse spider to be able to heal that amount. Flesh spider grows faster since they are a solo antag and spawn killing isn't cool. Tarantula spider can now tear down walls by clicking them instead of needing to use their charge attack. They can also build wall webs and passage webs. Their damage coeffs also got the regular burn factor for spider so their health also increased a bit.   ## Why It's Good For The Game Now there is a smooth transition between the tiny spiderling and the bigger spider stage. This will promote people to help the hive at an earlier stage while not being too powerful yet. It is also realistic and adds extra flavor to the spider antag. The other balance changes are improvements to the game. ## Changelog 🆑 add: Young Spiders that appear between spiderlings and adult spiders. balance: Wizard Spider version has better immunity against temp damage and can lay webs faster. balance: Tangle Spider sucks more with self-healing but has more health. balance: Scout spiderling gets thermal vision. balance: Viper deals bonus damage when an enemy is below 20% health. /🆑 |
||
|
|
f491c747f6 |
[no GBP] Goliaths use TRAIT_NO_GLIDE instead of a movement cooldown element (#77370)
## About The Pull Request Fikou noticed that Goliaths change their targets semi-randomly, this is because the element I was using to curtail their movement caused the AI pathfinding to fail and cancel the current action. While investigating this I also realised that just "not gliding" makes more sense than what I was doing anyway, and has fewer weird side effects (like being unable to move diagonally). At some point it would probably be sensible to figure out what speeds make gliding look stupid and automatically apply this trait to characters (maybe only basic ones rather than humans?) moving that slowly, however I will do that in a future PR. ## Why It's Good For The Game More reliable AI behaviour. Better QoL when actually playing as a Goliath. ## Changelog 🆑 fix: Goliaths no longer intermittently reset their target and retarget something else. fix: Goliaths can once again step diagonally. /🆑 |
||
|
|
ddfdc70d73 |
Basic Lobstrosity (#77253)
## About The Pull Request I'm slowly chipping away at mining mobs. These ones also got some new sprites because the old ones were a bit weird except when facing South.  Arctic Lobstrosities are now hairy to give them a little more visual distinction from Lavaland ones. In terms of behaviour, they're now a little faster and can charge you from further away. They will _only_ attack players who are incapacitated in some way (primarily from being hit by their charge, but could be from a Goliath or something too) and will otherwise keep their distance until they can charge again. They move slower for a short duration after charging though, so you have time to slap them a bit. If a Lobstrosity downs you then it will try to snip off one of your arms, then retreat in order to eat it. Obviously nobody likes losing an arm, but this does give you an opportunity to get away while it is distracted? Funnily enough the way our health system works means that sometimes losing that arm actually takes you out of soft crit so you can stumble back to the station for a replacement (or try to wrestle yours back?) All of these things are achievable also by a player if you make one sapient, they will pull arms off mobs they attack which are in crit and can eat arms if they see them lying around if they want. I added an element to let you dismember people with your bare hands, maybe someone evil can use it to add a beheading attack some day. Here's a video of their new behaviours: https://www.youtube.com/watch?v=9eKxsH7hD7Q ## Why It's Good For The Game Gives mobs more character. Reduces our list of frozen simple mobs. Replaces some ugly side sprites. Medbay enrichment? ## Changelog 🆑 refactor: Lobstrosities are now basic mobs and have different AI behaviour. Please report anything which seems like it shouldn't be happening. add: Lobstrosities will now only opportunistically attack things they have knocked over with their charge, and are otherwise timid. add: Lobstrosities are hungry for fingers and will steal one of your arms if they defeat you in combat, although this gives you time to crawl away. sprite: New sprites for Lobstrosities. /🆑 |
||
|
|
b3ac4e1c7d |
A small pile of borg combat changes (#75819)
## About The Pull Request This PR rebalances borg combat. It is first part of broader set of changes that I talked about with armhullen, which was then discussed in discord player project channel. Ultimately arm decided to rewrite the complete rebalance and grab combat, but to help with testing, and to measure reaction to that changes, I wrote this much smaller change, that should be usable as a TMd test. Main points that changed: - Flashing cyborgs for the first time blinds them, and scrambles their movement. Flashing them while they are blinded immobilizes them as it used to, but still allows them to talk, and use radio. - Emping cyborgs still turns them completely off, but the code behind is _slightly_ changed, because of how utterly incomprehensible cyborg code is - Borg stunarm deals 60 stamina damage, costs 200 energy (SUBJECT TO CHANGE AS SOON AS I DECIDE ON HOW TO), and applies confusion, stuttering, and jittering. - Robot consoles used by humans can now lock down only one borg at a time, they exhibit increased power draw while doing so. The borg is also informed of the location of the console. If left alone, the borg will unlock itself in 10 minutes, to avoid leaving it permanently locked down in some faraway place. If the console gets destroyed (or depowered), the borg will get unlocked - laser pointer only blinds borgs, without the paralyze component. If you flash a borg blinded this way it will paralyze it, so comboing it is possible. - Throwing things at borgs slows them down Not planned, but possible if testing shows its required: - Changing borg health to malfunctions - Whatever people convince me to add - Portable lockdown solution for sec, or a way for them to do basic check on borg. - Usage of bucket/something else to restrict radio usage of cyborg If you have ideas what would make this change better please use [discord channel](https://discord.com/channels/326822144233439242/1113145741788065924), or comments. Almost everything that I wrote here is subject to change, as requested or suggested. ### DISCLAIMER I had to change few functions in background of how borgs work. This WILL have changes I couldn't predict, since some of them aren't linked in any obvious way in code. I am aware of that, and will try fixing what needs fixing when pointed out. PS: Borg code is a nightmare ## Why It's Good For The Game Borg combat sucks. It is absolutely binary, there is 0 capacity for talking, because both sides fear losing in one click. Sec can't really feasibly ask the borg to state laws while flashed, so their only solution is to kill it and revive it. - Turning most instastun solutions into less lethal versions should lessen the pressure, since it reduces the chance that person that reacts first survives. - It causes minor reduction in traitor's capacity to emag borgs with only a flash, but EMPs still hardstun, and they are plentiful both in uplink, and in ghetto form, so that shouldn't be a problem. - Since it allows borgs to scream for help while being flashed, it also increases the potential of AI helping it, or at least noticing its death. - Lockdown console changes reduce its capability in completely turning off malf ai, and leave it still highly capable of being an useful tool in stopping emagged cyborgs. ## Changelog 🆑 balance: Flashing borgs requires two consecutive flashes to fully immobilize balance: Flashed borgs can speak balance: Remote lockdown on cyborgs lasts 180 seconds balance: Cyborg stun arm works like normal baton, and costs less energy /🆑 --------- Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
48cc57010d |
Various spider fixes (#76528)
## About The Pull Request Fixes #76484 Then I noticed some weird stuff which slipped through the PR and poked at that too. - Spiderlings and Spiders once more have names ending in (###) - Removed an unused property on Spiderlings. - Rewrote the descriptions for a bunch of web-abilities and web-objects to be clearer and have better capitalisation. - Refactored the "Web Carcass" ability to not extend from "lay web" as it didn't need to perform most of that behaviour. - Also I renamed it and made the description give you a hint about why you would want to instantly spawn a statue. - The web effigy now despawns at the same rate as the ability cools down so you're not dumping spider statues all over the place. - I made spiderlings move at about the same speed as humans except if they're on webs in which case they're still pretty fast. To be honest I am not certain an instant statue spawning button is great to begin with and I didn't even know it was added to the game but I am not interested in messing much with the balance for now. This made me look at spiderlings enough that I'm going to try and make a new sprite for them that isn't awful. ## Why It's Good For The Game Lets you differentiate individual spiders a little bit. Makes usage of abilities clearer. ## Changelog 🆑 balance: Guard spider web statues despawn as the ability comes back off cooldown. balance: Spiderlings now only move at light speed if they're on webs, stay safe little guys. fix: Spiders once again have random numbers after their names. /🆑 |
||
|
|
57ad2d8a8e |
SPECIES NUKING 2023: Moves speed modifier to bodyparts (#76336)
## About The Pull Request As we all know, speed is stored in the legs. ## Why It's Good For The Game Potential for more medical abominations. Potential for adding augmented legs that make you speedier (?) ## Changelog 🆑 refactor: Species speed is now stored in bodyparts. Leg transplants from slower species will make you slower. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com> |
||
|
|
daa33d89fe |
Xenomorph/Alien Rework 2023: Part 1 (#75286)
## About The Pull Request Alternative to #75277 Kept you waiting, huh? This PR is the first part of a Xenomorph rework which seeks to make the big lugs more balanced and up to date with /tg/'s current design. This mainly involves curtailing xenomorph's infamous hardstuns into more interactive forms of combat, while also giving some buffs to the xenomorph's more unique abilities in order to keep them threatening. Part 1 will focus on simple number changes and some simple mechanic changes. In the future, changes will be made to endgame involving xenomorphs, along with changes to other facets of Xenomorphs. Highly based off of #55937. Changes: - Xenomorph disarm has been completely reworked. While a disarm will attempt to, well, disarm, a human opponent should they be holding something, it will no longer immediately hardstun targets when they aren't. Instead, the xenomorph will shove the target several tiles back and inflict 35 stamina damage. If the target slams into a wall, this will also come with the added effect of knocking them down. If a human is incapacitated, however, right click will slam them into the ground, which paralyzes them for a lengthy 5 seconds (which is ultimately half the time xenos could stun you for before), allowing for safe transport back to the nest as long as you keep them close. - Humans can now shove xenomorphs. Due to being the superior predator, however, you can't knock down xenomorphs from shoving. You can slow them for a little bit akin to humans though. - Neurotoxin no longer is a hardstun. Instead, it deals 50 stamina damage on contact. It is still resisted by BIO armor. **HUNTER:** - Speed reduced from -1 to -0.3. - Pounce speed is twice as fast as before (1 to 2) - Hardstun time on pounce reduced from 10 seconds to 5 seconds. Hunters being insanely fast has been a major balance-ruining factor of xenomorphs for many years now. These buggers could practically ambush anyone, hardstun them immediately, and then leave before anyone could do anything. Now, with their speed nerfed and in combination with the xeno shove changes, hunters will need to spend more time to down a target. Their pounce was practically useless, so its been sped up in order to make it more practical to use. **SENTINEL** - Speed reduced from 0 to 0.2 - Cloak alpha reduced from 0.75 to 0.25 (you're more hidden now) Sentinels receive a large nerf in regards to their spit, but their before useless cloaking ability has been greatly improved upon as compensation. They now serve better as defenders and ranged ambushers. **XENOMORPH DRONE** - No changes As in the original PR, drones are perfeclty balanced in my eyes, so no changes were required. **XENOMORPH PRAETORIAN** - Speed increased from 1 to 0.5 - No changes Praetorians get affected by the nerfs of the other xeno abilities, but now they're a bit faster in order to close the gap to use their abilities. **XENOMORPH QUEEN** - Speed increased from 3 to 2 - Health increased from 400 to 500 - Damage increased from 20 to 50 Xenomorph queens have been sped up and made more tanky and lethal in close-range combat. Fighting this beast up-close should be a death sentence to almost anything else in the game. Speed increases will help her re-position and close the gap on potential prey. **OTHER CHANGES** - Fixed a bug where simplemobs didn't actually use xenomorph's damage values when they were attacked by them. ## Why It's Good For The Game Xenomorphs are old, and haven't been updated for quite a long time. This has left them as sources of a bunch of hardstuns which made counterplay from a modern spaceman extremely difficult. With these changes, fighting xenomorphs is more interactive and should end up being more enjoyable for both crew and xenos. Buffs were also given out to incentivize usage of xenomorph's unique abilities as opposed to the standard disarm spam which was most effective for them until now. ## Changelog 🆑 balance: Xenos have been rebalanced, removing their hardstuns on their disarm and neurotoxin, along with a slew of other changes. Xenos have received buffs to their more unique abilities in return. fix: Fixed simplemobs ignoring xenomorph's melee damage values when being attacked by them. /🆑 |
||
|
|
2bb4dfe76c |
Expanding the Experimental MODsuit Bepis Node with three new modules. (#75801)
## About The Pull Request So, I've had this idea to make a contribution to the Bepis feature with some modsuit stuff. The gimmicky stuff is ok and a good way to even out the better content since it has game of chance design it has (you can find those disks in space anyway so...). However, the Experimental MODsuit node feels very underwhelming right now, compared to how big that feature is. This PR adds three MOD modules to the Experimental MODsuit node, plus two more: - Magneto Charger: While the Modsuit is activated, each step the user takes will charge the installed power cell by a tiny bit, enough to sustain a standard modsuit of generic slow speed with only a few, easy modules installed. It won't work in zero G, while flying, pulled by someone else, on a conveyor belt, riding a vehicle or crawling on the floor, though. - Recycler: It collects (most) garbage and casings off the ground and recycles them into material sheets that can be dispensed on an adjacent location or storage with with Middle Mouse Button. Doesn't clean debris, and scuffed because most trash doesn't yield material anyway. - - It also has two subtypes, unbound from the node: one that dispenses riot foam darts and can be found on the black market, and another that dispenses the more innocuous foam darts, rarely found in maints. - Shooting Assistant: A configurable module. On Stormtrooper mode, it will give the user a faster fire rate (the double tap trait) at the cost of accuracy. On Sharpshooter mode, it will improve the user accuracy and make their shots ricochet against walls at least once (if the hit atom allows that, that is, e.g. lasers don't ricochet against iron walls), at the cost of movement speed. Both modes also prevent the user from dual wielding guns. To make the Stormtrooper mode stackable with the poor aim quirk and refrain from making a new trait for the sharpshooter mode, the gun spread code in gun.dm has also received a little refactor and cleanup. Also, it's been tested. ## Why It's Good For The Game The Experimental MODsuit node is quite shabby and could use something extra to make it more appealing to MODsuit enjoyers. Also doubles down as a small addition to the black market and maint loot, and code cleanup, since gun code gives off some garbled vibes. ## Changelog 🆑 add: Expanded the Experimental MODsuit Bepis node with three new modules: Magneto Charger, Recycler and Shooting Assistant. add: Added a Riot Foam Recycler module to the black market, as well a more innocuous version as maint loot. /🆑 |
||
|
|
419dd2b754 |
Spider Infestation Balance Rebalance Expansion Part 1 (#75204)
## About The Pull Request https://hackmd.io/dxhPOOdRRKW7siqPbpfmYQ?view The HackMD goes in-depth into what this PR is about ## Content ### Ambush Spider   ### Scout Spider    ## Tangle    ### Spiderlings    ## Why It's Good For The Game Currently, spiders have plenty of issues that make them a very 2d mentional antag they kill,die, and respawn which is boring and leads to a bunch of balance issues for their current design this PR both fixes the current issues spiders have and adds more depth into the antag. ## Changelog 🆑 add: Added 3 new spider types add: Added more spider abilities balance: Rebalanced spiders fix: Fixes spiderlings having density /🆑 --------- Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
9ae0802ead |
Converts Killer Tomatoes to Basic Mobs (#75516)
Just another lightweight PR porting over a simple animal to the basic mob framework with zero additional AI implementation (it's a killer tomato- it spawns into the world to maul you. how much more intricate does it need to be?). |
||
|
|
1a918a2e14 |
Golem Rework (#74197)
This PR implements this design document: https://hackmd.io/@Y6uzGFDGSXKRaWDNicSiEg/BkRr176st Put briefly, this will remove every existing golem subtype and consolidate golems into a single species with cool new sprites. NOT implemented from that PR is the ability to eat Telecrystals, I couldn't come up with an appropriate visual that can stack with the existing ones, but that should be a reasonably trivial add for a future artist & developer. New Golems have a food-based mechanic where their hunger decays pretty quickly and can only be replenished by eating minerals. They start moving slower as they get hungrier, until eventually they become completely immobilised and need to be rescued. Eating different kinds of minerals will visually change your sprite and give you a special effect in a similar way to old golems, but temporary. While transformed, you can't eat any other kind of mineral which would transform you (but can still consume glass). To see the full list of effects, look at the hackmd above. In service of these sprites working I have refactored the `species/offset_features` feature by killing it and delegating that responsibility to limbs instead. Rather than applying an offset to items due to your species, it is due to your weird head or arms. This makes overall more sense to me, but it inflates the code changes in this PR somewhat. It doesn't make a lot of sense to atomise unfortunately because that code also seemed to be entirely unused until I tried to use it in this PR, so you wouldn't be able to tell if my changes broke anything. I might make a downstream sad by doing this. All of the actual numbers in this PR are made up and only loosely tested, it will need some testmerges to gather feedback about whether it sucks or not. Other relevant changes: I reworked how bioscrambling works based off bodypart bodytypes, to automatically exclude golem limbs in either direction. There's really no way to have those work on humans or vice versa. Organs still fly though. |
||
|
|
1cdc327a8f |
Station Trait: Spider Infestation (#73893)
## About The Pull Request Hate having your cables eaten by mice? Nanotrasen have heard your complaints and settled on a natural, _organic_, and eco-friendly solution. When this station trait is active, roundstart and event mouse spawns have a chance to instead be replaced with duct spiders (both will exist, it doesn't remove mice). Duct spiders are largely harmless to humans, actively hunt other maintenance creatures (such as mice), and have only one _tiny_ downside.  These mobs can also sometimes be spawned by a minor scrubber clog event. As a side note, all spider basic mobs with AI (except Araneus) will now try to automatically fill a small area around them with webs. Also I made it so that mobs will ignore their random_walking behaviour if they're engaged in a `do_after`, just in case. ## Why It's Good For The Game Adds a little bit of variety to things which can slightly annoy you in maintenance. Spiders will automatically make places they live in look like spiders live there. ## Changelog 🆑 add: A station trait which sometimes populates maintenance with small spiders. You can wear them as a hat if you wanted to have a spider on your head for some reason. add: Spider mobs will automatically start webbing up their environment. /🆑 |
||
|
|
f435207376 |
Replaces Netherworld mob health scaling component (#73629)
## About The Pull Request The netherworld mob refactor PR added a component called `damage_buffs` which... was both kind of a little bit pointless and also didn't do what the name said it did. This adds a new component which actually does what that component promised to do, and does it more reliably. The previous system had sort of odd behaviour where a Migo would start moving faster as it took damage but _only_ if it took damage with an identifiable mob, so damage from the environment or lava or an explosion or anything else which doesn't come with someone to blame wouldn't update the mob, and neither would its health going back _up_... until someone punched it at which point anything it should have been doing before then would suddenly update. This adds a new component which simply listens to `COMSIG_LIVING_HEALTH_UPDATE` instead of `COMSIG_ATOM_WAS_ATTACKED` and then interpolates the provided maximum and minimum values smoothly based on how close you are to a maximum or minimum health threshold. This is slightly different from the original behaviour which didn't necessarily have those things change linearly and only did it in increments of 25%... but this is cleaner. ## Why It's Good For The Game Fixes some odd behaviour with these mobs. Hopefully makes the code both cleaner and more reusable in the future. ## Changelog 🆑 refactor: Migos, Creatures, and Blank Bodies use a new shared component to update their stats which scales smoothly as they take damage rather than in stages. fix: Migos, Creatures and Blank Bodies will all update their stats when taking or losing damage regardless of it was from an identifiable enemy. /🆑 |
||
|
|
7c30d9d746 |
Basic Wumborian Fugu & Fugu Gland (#73415)
## About The Pull Request Fixes #72677 and also converted the "Wumborian Fugu" mob to a basic mob rather than a simple one. I will be totally honest: I didn't need to do that in order to fix the bug. I just didn't like looking at the rest of the code in that file. Also I have some kind of sickness which makes me do this. This ended up being one of those "see something related and fix it as well" ones so there's a couple of only tangentially related changes in here. If you want me to split it up I will but I think this one is _probably_ fine because the wide-ranging changes are pretty simple ones? So what this PR does is: - Refactors simple mob into basic mob. - Cleans up its really ugly ability to work in a hopefully nicer way. - A one line fix to the linked issue above. - Modifies the default cooldown on `basic_melee_attack` and `attack_obstructions` to be a widely used cooldown rather than a random value used by no mob that we have. - Renamed behaviour "try_mob_ability" to "targeted_mob_ability" and added a new AI behaviour called "use_mob_ability", the difference between the two being that the former requires a target and the latter does not. I... don't actually use this because I realised after adding it that I still want a target for this mob, but someone will need it eventually. - Change everywhere that is passing references to abilities to actions to pass weak references instead. - Adds an element to handle "spawn this stuff when a related mob dies". - Found a few places where people were setting `environment_smash ` as if it did anything (including me) and replaced them with the proper ai_controller implementation instead, updated the comment to make it clearer although that won't prevent copy/paste errors. - Registered to the "movement speed updated" signal to ensure that basic mobs actually notice that you have applied a movement speed modifier. ## Why It's Good For The Game Fixes a linked issue. Refactors some code which made me sad whenever I saw it. Restores some mob behaviour which nobody noticed was missing, but was. Fixes some apparently unreliable code I added in a recent PR reliant on basic mobs using movespeed modifiers. Adds element we will definitely need again in the future. ## Changelog 🆑 fix: The Fugu Gland can once more be used on Ian, Carp, Giant Spiders, or other basic mobs. fix: Syndicate mobs will once again attack windows to try to reach you, and space ruin spiders won't. fix: Netherworld-themed mobs will correctly adjust their speed as they take damage. refactor: Made the Wumborian Fugu into a basic mob, which should act largely the same way but may have slightly different speed and reaction times. /🆑 |
||
|
|
cbbf7b3613 |
Basic Mob Spiders III: Sgt. Araneus is no longer a bat (#73350)
## About The Pull Request This PR converts giant spiders into basic mobs and resultingly fixes #37793 They _should_ have the same behaviour as their simple mob versions although I can't verify that their movement speeds are _exactly_ the same. It should at least be pretty close. A quirk of spiders is that they had a pretty large `move_to_delay` which made them slow in the hands of AI (because it would just pause for ages between taking steps) and faster in the hands of players, and they often appear in both forms so I had to implement this as a speed modifier based on player control. Additionally this is the first basic mob which can be set on fire. This is currently implemented as a var on `mob/living/basic` but I know there was some annoyance at adding the environment tolerances as vars on there so if desired I can try and extract it out, I'm just not sure how easy it will be. Something else I noticed is that spiders seem to take stamina damage from bug spray... but stamina damage does nothing to either simple _or_ basic mobs. I have left it in for now in case I am missing something, and rebalancing it to do something else would be more like a balance change. Oh also I killed the `mob/basic/retaliate` folder because that isn't a classification that needs to exist or makes sense. ## Why It's Good For The Game We don't want to use simple mobs any more. Sergeant Araneus can finally actually be a spider, instead of being a bat. ## Changelog 🆑 refactor: Spider code has been refactored and AI-controlled spiders may have slightly different movement or reaction times. fix: Basic mobs can now be slowed when they take stamina damage, however currently only spiders actually _can_ take stamina damage. fix: Spiders should now more reliably disable their AI when controlled by a player. fix: Araneus is no longer considered to be a bat and so cannot fly. fix: Araneus is no longer considered to be a bat and so is no longer frightening to people who are scared of the supernatural. /🆑 |
||
|
|
43cef901ce |
Fixes a bug where glide-size could become out of sync if you get unbuckled (#73150)
This fixes a bug where you could theoretically un-sync your glide-size from your movespeed if you unbuckled. Currently, if you unbuckle, we use a proc that's only used there which gets all of the slowdowns from all of your movespeed modifiers. There's two problems with that: 1. We already have a variable with your movespeed (cached) 2. This proc does not check any of the conditionals that might make a movespeed modifier not apply, such as whether or not you are flying, or if you're immune to it for some other reason. This means that in specific edge-cases you could mess up your glide-size. I have not actually seen this happen, but this seems like a better way of doing it :) |
||
|
|
73bc62616f |
Fixes disguised morph movespeed bug (#72791)
## About The Pull Request Morph is described as this in the antag panel: "While morphed, you move faster, but are unable to attack creatures or eat anything." This is how it has worked as long as I have played, but at somepoint in the past this was broken. I was able to track down the source of this issue easier with admin powers, finally back to squash my own bug report. ## Why It's Good For The Game Fixes #61693 ## Changelog 🆑 fix: Morphs now properly move faster when disguised rather than slowing down. /🆑 |
||
|
|
8510bd078c |
Buffs implanted mining organs (#71863)
## About The Pull Request In [70546](https://github.com/tgstation/tgstation/pull/70546) I added some new implantable organs to mining creatures which didn't drop anything on death. I didn't really want these to make miners way better at station PvP so I gave them some pretty hefty downsides. I went too far and this meant nobody would ever implant one of them ever, which sort of negates the point of adding it. The implanted Brimdust Sac has now been redesigned. It no longer sets you on fire if activated on the station, nor does it explode if you catch fire. Instead, if you're in an unpressurised environment (like space or Lavaland) it will add one stack of the buff every 30 seconds automatically. The buff still does reduced damage on the station _and_ hurts you as much as it hurts anyone else. In addition, instead of catching fire, you will be slowed for four seconds. Additionally I cut the cooldown for both organs in half because there wasn't really any reason for it to be that long. ## Why It's Good For The Game  Encourages miners to go interact with medbay in between delivering ore, while they're waiting for their shit to get posted. Now when someone indignantly posts "When was the last time there was a mining _buff_" in #coding-general you can link them to this PR. ## Changelog 🆑 balance: Rush Gland and Brimdust Sac can be used more frequently when implanted. balance: An implanted Brimdust Sac will stack the buff on you automatically while on lavaland. Triggering the buff on the station will make you walk slower for a short duration. balance: Implanted Bimrdust Sacs no longer set you on fire, nor do they explode if you catch fire. /🆑 |
||
|
|
83c75cac2c |
Brimdemons & Lobstrosities drop (slightly) useful organs (#70546)
Goliaths, Legions, Watchers, and (as of recently) Bileworms all drop something vaguely useful when they die. Brimdemons and Lobstrosities do not. This PR aims to fix that, so that there's at least some vague benefit to hunting them. In this case it takes the form of organs you get when you butcher them, similar to the regenerative core from Legions. As they're similar to the regenerative core, I modified the regenerative core to extend from a new common "monster core" typepath which these two new organs also extend. Like the regenerative core, both of these items do something when used and something slightly different if you go to the effort of having someone implant them into your body. They also decay over time, and you can use stabilising serum to prevent this from happening. https://user-images.githubusercontent.com/7483112/195967746-55a7d04d-224e-412d-aedc-3a0ec754db3d.mp4 The Rush Gland from the Lobstrosity lets you do a little impression of their charging attack, making you run very fast for a handful of seconds and ignoring slowdown effects. Unlike a lobstrosity you aren't actually built to do this so if you run into a mob you will fall over, and if you are doing this on the space station running into any dense object will also make you fall over (it shouldn't make you _too_ much of a pain for security to catch). The idea here is that you use this to save time running back and forth from the mining base. The Brimdust Sac from the Brimdemon covers you in exploding dust. The next three times you take Brute damage some of the dust will explode, dealing damage equal to an unupgraded PKA shot to anything near you (but not you). If you do this in a space station not only is the damage proportionally lower (still matching the PKA), but it _does_ effect you and also it sets you on fire. You can remove the buff by showering it off. The idea here is that you use this for minor revenge damage on enemies whose attacks you don't manage to dodge. https://user-images.githubusercontent.com/7483112/195967811-0b362ba9-2da0-42ac-bd55-3809473cbc74.mp4 If you implant the Rush Gland then you can use it once every 3 minutes without consuming it, and the buff lasts very slightly longer. It will automatically trigger itself if your health gets low, which might be good (helps you escape a rough situation) or bad (didn't want to use it yet). https://user-images.githubusercontent.com/7483112/195967888-f63f7cbd-60cd-4309-8004-203afc5b2153.mp4 If you implant the Brimdust Sac then you can use it once every 3 minutes to shake off cloud of dust which gives the buff to everyone nearby, if you want to kit out your miner squad. The dust cloud also makes you cough if you stand in it, and it's opaque. If you catch fire with this organ inside you and aren't in mining atmosphere then it will explode inside of your abdomen, which should probably be avoided, resultingly it is very risky to use this on the space station. |
||
|
|
6b73d4fcd3 | Reworks (and nerfs) Hypernob internals for plasmamens (#67674) | ||
|
|
ce1bdb0205 |
Stops floating mobs from being affected by slowndown bulky_drag and human_carry (#66610)
Put simply, removes the slowdown from pulling bulky items as well and fireman carrying (and piggyback rides) while in zero gravity. This also fixes some weirdness, like how slowdowns from aggressive grabs are negated in zero g, but because bulky_drag is NOT negated, you can still be slowdown in zero gravity if your target is laying down. or in a neck grab or higher because they are then automatically floored. Which makes zero consistant sense given the context. Also, while testing this, I noticed that it was faster to drift while pulling a bulky object in space rather than fly with a jetpack because of the slowdown and how drifting works, which also makes no god damn sense. This should fix that too. Fixes the consistency errors mentioned above, also adds an interesting change of game state in zero gravity which seems fun. (see: faster to drag away downed friendlies during a space battle, or perhaps kidnap a downed enemy) Fixes #62600 (aggressively grabbing a body in space makes you move faster than passively grabbing them) You can now pull bulky things in zero gravity at full speed The slowdown from neck grabs is now properly negated in zero gravity. |
||
|
|
b34f810f0c |
Festival Sect is back in 2022! (#64731)
Adds the "Festival Sect" to chaplains, focusing on healing and religious acts through music. |
||
|
|
a00df2ed76 |
Hazardous Area Component | Free Golem Soft-Restriction (#65720)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> |
||
|
|
0d34bc7798 |
Mining MODsuit Rework (#64688)
makes dropkey deactivate device modules fixes speed potion being fucky fixes doubled up balloon alerts makes some cell code better i think makes the gps module open the gps tgui for you, instead of putting a gps in your hand the loader suit can now hold mailbags Reworks the mining modsuit. The suit is no longer cold-proof (this can be mitigated by using module space for thermal regulators) The suit fits less modules than standard suits, but cant burn in lava. In suit storage it can carry ore bags, resonators and kinetic crushers. It features a storage, gps, ore bag, drill, clamp and by default comes with a plasma core, being recharged with plasma ore rather than by power cell. Features two new modules: Ash Accretion, it gathers dust from basalt (or snow) you walk on to create a layer of ash around the suit, acting as armor and a speed up that quickly drains when you walk on other terrain. Sphere Transform, turns you into a fast moving ball that can travel past lava, you cannot use your hands when in this form, but you can launch aoe mining bombs to attack or mine |