mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 12:35:33 +01:00
docker-container
31 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
2ede6af8bc |
Fix basic mobs triggering click cooldown erroneously. (#95906)
## About The Pull Request Basic Mobs used to always trigger cooldown on clicks. This resulted in missed attacks causing you to have a delay before you could attack again, this makes it really punishing to play as a basic mob. To resolve this I did a mini-refactor on basic mob's attack chain to allow for the return values to determine whether we go on cooldown or not. Preventing attacks that did nothing (due to not passing checks, or simply not having any behavior) from causing cooldown. This fixes #95605 ## Why It's Good For The Game being able to perform melee with the same rules as /human is only fair ## Changelog 🆑 DresserOnFire fix: Fixes a bug where player-controlled basic mobs would get a cooldown when their attacks miss refactor: basic mob attack chain can now decided whether an attack resulted in a cooldown or not. /🆑 |
||
|
|
1c94ccfe69 |
Maintenance Pill Rebalance / Random reagent spawning refactor (XENOMICROBE MAINTPILLS!!) (#95320)
## About The Pull Request Refactors random reagent spawning to be divided into bitflags. This mean you can now decide from which random sources a reagent is allowed to spawn. Rejoice, now maintenance pills can have fun reagents without having to deal with the balance implications of a botanist producing 1000u of it! **SO NOW MAINTPILLS CAN HAVE CYBORG NANITES AND XENOMORPH MICROBES!! REJOICE, MY ABOMINATIONS!!!** Code stuff: CAN_SYNTH is now only for copying reagents, which is what it was originally intended for. A new randomized_spawns var has been added to reagents that decided where it can spawn. I've also changed some unsanitary reagent spawners to obey the spawn flags. This was the beebox kit (which could spawn literally every reagent in the game, including adminordrazine) and traitor bees, which now can't spawn the two spider toxins and gatfruit toxin (why do we even have gatfruit toxin?? shit does nothing). Balance overview: - Beeboxes no longer spawn everything - Traitor bees no longer spawn venom, viper venom and gatfruit toxin - Maintenance pills now spawn cyborg nanites and xenomorph microbes When I say maintpills, I mean REAL maintpills. The ones of which only a few spawn per round in maintenance, and not the fake ones that feature creepers added to cargo, blackmarket and that got mapped in ## Why It's Good For The Game We're limited to which reagents we can spawn randomly because sources like strange seeds, geysers and fake maintpills are infinitely reproducible, and can be used to get an infinite amount of every random spawnable reagent in every round (to be fair this is quite labor intensive, but never underestimate autism). Only about 3-6 maintenance pills spawn per round and there's about 700 spawnable reagents. There's simply no way to force the odds to get the reagent you want. I think the crew can have a little maintxenomicrobes and a little maintpill borgnanites As to why these two specifically: borgnanites are already only randomly obtainable, are cured easily and the effects of it are just one more cyborg player. It's a fun story, and not particularly disruptive to the round Xenomicrobes are admin only, so I would not be lessening any other features. Otherwise it's pretty much gonna cause an incident in-game when this happens, but who cares!!! I can make maintpills secretely reroll if the reagents are extracted instead of eaten to keep these always contained to the person eating them, but our playerbase so prefers eating over grinding that I think it's fine I have not included inverse reagents, blob spores etc because I respect them as their own features. I would however like to add some new, wacky maintpill reagents that can lead to some fun stories. ## Changelog 🆑 fix: Fixes beebox and traitor bees not obeying the reagent blacklist balance: Maintenance pills (the achievement variety that only spawns in maint) can now generate with xenomorph microbes and cyborg nanites /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
75128145da |
Revert part of #95140 (/mob/living/basic/bee/toxin can generate any toxin reagent) (#95179)
|
||
|
|
54bd569d58 |
Removes rng fail from cyto (#95140)
## About The Pull Request Cytology samples no longer have an RNG chance to fail from other mid-grown samples present The two cell lines that used failure for unique events had them reworked slightly - Clown cell lines: Now get boosted by mutagen, but using mutagen has a chance of spawning a mutant clown instead. - Queen bee cell line: Every other successful growth will spawn a swarm of bees instead of a queen bee. Also, grown bees can mutate into random toxin bees. ## Why It's Good For The Game Collecting the necessary reagents and samples to grow something in cyology can take you between thirty minutes to a full hour of your round And if you're unlucky, your hard grown mob can just get nuked, wasting all the reagents you collected! That's VERY unfun. You are *supposed* to mitigate it by using suppressants and whatnot, but sometimes you get samples like this which are nigh impossible to mix successfully <img width="603" height="396" alt="image" src="https://github.com/user-attachments/assets/34b422a3-9788-4efb-ac93-ce66bd80a0e9" /> Thus, in the interest of making cytology less of a time waste, I think removing RNG failures is a step in the right direction The minigame still exists - you still need to outpace the other samples to grow successfully. You just no longer get owned for not managing to get enough random suppressants and boosters. ## Changelog 🆑 Melbert del: Cytology creations no longer have a random chance to fail if another sample in the vat has growth process. All growth is still reset on any successful creation. As growth failure has been removed, some cell lines that had unique fail interactions have been altered. add: Clown cell lines are now all boosted by supplying mutagen. However, using mutagen may cause a mutant clown to spawn. (Before, failure caused a mutant clown to spawn.) add: Queen bee lines now alternate between spawning a queen bee and a swarm of bees. (Before, failure caused a swarm of bees to spawn.) add: Cytology created bees have a rare chance of having a random toxin. /🆑 --------- Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> |
||
|
|
31d4eb04f1 |
Fix Stoat Steal Behaviour (and some other AI stuff hopefully) (#94153)
## About The Pull Request Two main things. Multiple instances of use of a proc in AI controllers seemingly assuming the default behaviour will work for them, but what ends up happening is `search_tactic` gets redefined and redefined with no defaut search range parameter, so nothing ends up passed to the `search_tactic` child procs, so they all call `oview` with `null` and this... somehow doesn't runtime? Has behaviour that works some of the time??? I hate this fucking language. Anyway. Stoat steal items behaviour was completely broken and apparently was not tested once since it was merged in. I've made the corrections I can, but I haven't figured out why stoat AI never enters idle, so we have a behaviour that leads to the stoat running up to an item, grabbing it, and then just staying there, unmoving. I've sunk too many hours into this, I'm just going to call it fixed and let someone else figure out what exciting additions there need to be to a behaviour that was never functional in the first place. ## Why It's Good For The Game i don't know man i just want the pain to stop okay, generally speaking, when people write AI behaviours, they want those AI behaviours to do something and not just silently fail for six months or longer ## Changelog 🆑 fix: Stoats have a chance to try and grab items like they always should have. /🆑 |
||
|
|
1c6c506936 | Raptor Rework - Ranching and Companionship (#93564) | ||
|
|
613581897e |
/obj/item/clothing/head/mob_holder -> /obj/item/mob_holder (#91893)
## About The Pull Request title ## Why It's Good For The Game it inherits a lot of behavior from clothing which leads to lots of bugs when it isn't actually clothes, for example: shredded overlays. this should be better. probably fixes a bunch of bugs ## Changelog 🆑 code: mob holders are no longer subtypes of clothes, report any issues /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
e3dee6810e | Most hostile mobs can no longer be trapped by closets, chairs, and aggro grabs (#91652) | ||
|
|
da31ea158c |
The edible component now uses DUPE_SOURCE mode (#89687)
## About The Pull Request The edible component now uses DUPE_SOURCE mode, which is needed to avoid conflicts between sources. This includes some other tidbits from my refactor like renaming dcs/flags.dm to ds/declarations.dm (in virtue of the fact it doesn't only contain flags anymore even before this PR), meat materials giving protein and fat reagents to affected atoms instead of generic nutriment and oil, and the pizza material no longer containing meat, because margherita pizza, which the material is extracted from, doesn't contain meat either. The pepperonis were magically conjured space bs. ## Why It's Good For The Game There are multiple sources of the edible component and we don't want issues with that. Also atomizing stuff from my refactor. ## Changelog 🆑 balance: objects made out of meat are no longer classified as gross food on top of being raw and meaty, and actually contain protein and fat instead of standard nutriment and oil. balance: the pizza material stacks, crafted with margherita pizza and rollig pin mind you, no longer magically contain pepperoni. /🆑 |
||
|
|
efe62c5a72 |
Pet Commands QOL . makes pet commands easier to use (#88495)
## About The Pull Request this PR improves the UX of pet commands a bit. i decided to expand on their radial menu. You can now hold shift and hover over your pet to display a menu of commands which you can choose from. alternatively, you can still type out commands in chat https://github.com/user-attachments/assets/9da7f7ea-58a3-4fd6-b040-45cc05cda51d ## Why It's Good For The Game makes pet commands easier to give out when you're managing more than 1 pet. also fixes the fishing command not working. ## Changelog 🆑 qol: holding shift and hovering over your pet will display a list of commands you can click from fix: fixes the fishing pet command not working /🆑 |
||
|
|
0b0114cb39 | gives some more very common behaviors a slight cooldown (#88066) | ||
|
|
922203edb9 |
Adds Allergic reactions to a few things (Bee stings, Beer) (#87392)
## About The Pull Request The following effects will trigger allergic reactions for the "Food Allergy" quirk - For Alcohol allergies: - Drinking any ethanol (beer, wine, etc) - For Bug allergies: - Drinking ants - Getting stung by a bee - Getting bit by a (giant) ant - Getting bit by a (giant) spider - For Sugar allergies: - Drinking Sugar Other notes - Any mob undergoing surgery will benefit from ethanol speeding it up, rather than just carbons ## Why It's Good For The Game I saw a random discord comment that said "Bee stings should trigger bug allergies" and I thought it was funny, so I added it, then I thought I could add similar triggers to a few other things. Important to note for the reagent based effects, they only trigger on ingestion. And on top of that, it's a % chance to trigger, scaling with the amount you drink at once. So you can sneak a sip of alcohol if you want to roll the dice (I figure if I made syringes kill you, I'd have to up the point reward, which I don't want to bother with) ## Changelog 🆑 Melbert add: Drinking any ethanol (beer, wine, etc) will trigger alcohol allergies add: Drinking ants will trigger Bug allergies add: Getting stung by a bee, or bitten by a (giant) ant or (giant) spider, will trigger bug allergies add: Drinking plain sugar or caramel will trigger sugar allergies qol: Ethanol can speed up the surgeries of any mob type applied to, rather than solely humans. /🆑 |
||
|
|
2438ff0213 |
removes alot of click-related self registering signals on basic mobs (#87220)
## About The Pull Request there was no real benefit of using signals over proc overrides for many of these cases. ## Why It's Good For The Game registering signals on self when we can just override the proc is un-necessary, im responsible for most of these so im just confronting the sins of my past ## Changelog 🆑 /🆑 |
||
|
|
c26ea16c4f |
Fix dead bees not being their proper bee self (#87150)
## About The Pull Request Fixes #87147 Whomever refactored bees null'd the beegent before spawning the corpse, and we pass the bee by ref into corpse init to grab beegent ## Changelog 🆑 Melbert fix: Dead bees maintain their color and reagents /🆑 |
||
|
|
6897f33767 |
AI controllers interactions refactor (#86492)
## About The Pull Request refactors all behaviors to work through clicking. also removes some now redundant behaviors. in the future ill try to generalize more of these behaviors ## Why It's Good For The Game makes AI controllers work through clicks which may help with swing combat implementation ## Changelog 🆑 refactor: basic mob AI interactions has been refactored. please report any bugs /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
9a9b428b61 |
Wallening Revert [MDB Ignore][IDB Ignore] (#86161)
This PR is reverting the wallening by reverting everything up to
|
||
|
|
4b4e9dff1d |
Wallening [IDB IGNORE] [MDB IGNORE] (#85491)
## What's going on here Kept you waitin huh! This pr resprites most all walls, windows and other "wall adjacent" things to a 3/4th perspective, technical term is "tall" walls (we are very smart). If you're trying to understand the technical details here, much of the "rendering tech" is built off the idea of split-vis. Basically, split a sprite up and render it on adjacent turfs, to prevent seeing "through" walls/doors, and to support seeing "edges" without actually seeing the atom itself. Most of the rest of it is pipelining done to accommodate how icons are cut. ## Path To Merge Almost* all sprites and code is done at this point. There are some things missing both on and off the bounty list, but that will be the case forever unless we force upstream (you guys) to stop adding new shit that doesn't fit the style. I plan on accepting and integrating prs to the current working repo <https://github.com/wall-nerds/wallening> up until a merge, to make contribution simpler and allow things like bounties to close out more easily This pr is quite bulky, even stripping away map changes it's maybe 7000 LOC (We have a few maps that were modified with UpdatePaths, I am also tentatively pring our test map, for future use.) This may inhibit proper review, although that is part of why I am willing to make it despite my perfectionism. Apologies in advance. Due to the perspective shift, a lot of mapping work is going to need to be done at some point. This comes in varying levels of priority. Many wallmounts are offset by hand, some are stuck in the wall/basically cannot be placed on the east/west/north edges of walls (posters), some just don't look great good in their current position. Tests are currently a minor bit yorked, I thought it was more important to get this up then to clean them fully. ## What does it look like?       ## Credits <details> <summary>Historical Mumbojumbo</summary> I am gonna do my best to document how this project came to be. I am operating off third party info and half remembered details, so if I'm wrong please yell at me. This project started sometime in late 2020, as a product of Rohesie trying to integrate and make easier work from Mojave Sun (A recently defunct fallout server) with /tg/. Mojave Sun (Apparently this was LITERALLY JUST infrared baron, that man is insane) was working with tall walls, IE walls that are 48px tall instead of the normal 32. This was I THINK done based off a technical prototype from aao7 proving A it was possible and B it didn't look like dogwater. This alongside oranges begging the art team for 3/4th walls (he meant TGMC style) lead to Rohesie bringing on contributors from general /tg/, including actionninja who would eventually take over as technical lead and Kryson, who would define /tg/'s version of the artstyle. Much of the formative aspects of this project are their work. The project was coming along pretty well for a few months, but ran into serious technical issues with `SIDE_MAP`, a byond map_format that allows for simpler 3/4th rendering. Due to BULLSHIT I will not detail here, the map format caused issues both at random with flickering and heavily with multiz. Concurrent with this, action stepped down after hacking out the rendering tech and starting work on an icon cutter that would allow for simpler icon generation, leaving ninjanomnom to manage the project. Some time passed, and the project stalled out due to the technical issues. Eventually I built a test case for the issues we had with `SIDE_MAP` and convinced lummox jr (byond's developer) to explain how the fuckin thing actually worked. This understanding made the project theoretically possible, but did not resolve the problems with multi-z. Resolving those required a full rework of how rendering like, worked. I (alongside tattle) took over project development from ninjanomnom at this time, and started work on Plane Cube (#69115), which when finished would finally make the project technically feasible. The time between then and now has been slow, progressive work. Many many artists and technical folks have dumped their time into this (as you can see from the credits). I will get into this more below but I would like to explicitly thank (in no particular order) tattle, draco, arcanemusic, actionninja, imaginos, viro and kylerace for keeping the project alive in this time period. I would have curled up into a ball and died if I had to do this all myself, your help has been indispensable. </details> <details> <summary>Detailed Credits</summary> Deep apologies if I have forgotten someone (I am sure I have, if someone is you please contact me). I've done my best to collate from the git log/my memory. Thanks to (In no particular order): Raccoff: Being funny to bully, creating threshold decals for airlocks aa07: (I think) inspiring the project ActionNinja: Laying the technical rock we build off, supporting me despite byond trying to kill him, building the icon cutter that makes this possible ArcaneMusic: Artistic and technical work spanning from the project's start to literally today, being a constant of motivation and positivity. I can't list all the stuff he's done Armhulen: Key rendering work (he's the reason thindows render right), an upbeat personality and a kick in the ass. Love you arm Azlan: Damn cool sprites, consistently Ben10Omintrix: You know ben showed up just to make basic mobs work, he's just fuckin like that man BigBimmer: A large amount of bounty work, alongside just like, throwing shit around. An absolute joy to work with Capsandi: Plaques, blastdoors, artistic work early on CapybaraExtravagante: Rendering work on wall frames Draco: SO MUCH STUFF. Much of the spritework done over the past two years is his, constantly engaged and will take on anything. I would have given up if not for you Floyd: Early rendering work, so early I don't even know the details. Enjoy freedom brother Imaginos16: A guiding hand through the middle years, handled much of the sprite review and contribution for a good bit there Iamgoofball: A dedication to detail and aesthetic goals, spends a lot of effort dissecting feedback with a focus on making things as good as they can be at the jump Infrared: Part of the impetus for the project, made all the xenomorph stuff in the MS style Jacquerel: A bunch of little upkeep/technical things, has done so much sprite gruntwork (WHY ARE THERE SO MANY PAINTING TYPES) Justice12354: Solved a bunch of error sprites (and worked out how to actually make prs to the project) Thanks bro! Kryson: Built the artstyle of the project, carrying on for years even when it was technically dying, only stopping to casually beat cancer. So much of our style and art is Kryson KylerAce: Handled annoying technical stuff for me, built window frame logic and fully got rid of grilles. LemonInTheDark: Rendering dirtywork, project management and just so much fucking time in dreammaker editing sprites Meyhazah: Table buttons, brass windows and alll the old style doors Mothblocks: Has provided constant support, gave me a deadline and motivation, erased worries about "it not being done", gave just SO much money to fill in the critical holes in sprites. Thanks moth MTandi: Contributed art despite his own blackjack and hookers club opening right down the road, I'm sorry I rolled over some of your sprites man I wish we had finished earlier Ninjanomnomnom: Consulted on gags issues, kept things alive through some truly shit times oranges: This is his fault Rohesie: Organized the effort, did much of the initial like, proof of concept stuff. I hope you're doin well whatever you're up to. san7890: Consulting on mapper UX/design problems, being my pet mapper Senefi: Offsetting items with a focus on detail/the more unused canidates SimplyLogan: Detailed map work and mapper feedback, personally very kind even if we end up talking past each other sometimes. Thank you! SpaceSmithers: Just like, random mapping support out of nowhere, and bein a straight up cool dude Tattle: A bunch of misc project management stuff, organizing the discord, managing the test server, dealing with all the mapping bullshit for me, being my backup in case of bus. I know you think you didn't do much but your presence and work have been a great help Thunder12345: Came out of nowhere and just so much of the random bounties, I'm kind of upset about how much we paid him Time-Green: I hooked him in by fucking with stuff he made and now he's just doin shit, thanks for helping out man! Twaticus: Provided artistic feedback and authority for my poor feeble coder brain, believed in the project for YEARS, was a constant source of ❤️ and affirmation unit0016: I have no god damn idea who she is, popped out of nowhere on the github one day and dealt with a bunch of annoying rendering/refactoring. Godspeed random furry thank you for all your effort and issue reports Viro: A bunch of detailed spriting moving towards 3/4ths, both on and off the wallening fork. If anyone believed this project would be done, it was viro Wallem: Artistic review and consultation, was my go-to guy for a long time when the other two spritetainers were inactive Waltermeldon: Cracked out a bunch of rendering work, he's the reason windows look like not dogwater. Alongside floyd and action spent a TON of time speaking to lummox/unearthing how byond rendering worked trying to make this thing happen ZephyrTFA: Added directional airlock helpers, dealt with a big fuckin bugaboo that was living in my brain like it was nothing. Love you brother And finally: The Mojave Sun development team. They provided a testbed for the idea, committed hundreds and hundreds of hours to the artstyle, and were a large reason we caught issues early enough to meaningfully deal with them. Your work is a testament to what longterm effort and deep detailed care produce. I hope you're doing well whatever you're up to. Go out with a bang! </details> ## Changelog 🆑 Raccoff, aa07, ActionNinja, ArcaneMusic, Armhulen, Azlan, Ben10Omintrix, BigBimmer, Capsandi, CapybaraExtravagante, Draco, Floyd, Iamgoofball, Imaginos16, Infrared, Jacquerel, Justice12354, Kryson, KylerAce, LemonInTheDark, Meyhazah, Mothblocks, MTandi, Ninjanomnom, oranges, Rohesie, Runi-c, san7890, Senefi, SimplyLogan, SomeAngryMiner, SpaceSmithers, Tattle, Thunder12345, Time-Green, Twaticus, unit0016, Viro, Waltermeldon, ZephyrTFA with thanks to the Mojave Sun team! add: Resprites or offsets almost all "tall" objects in the game to match a 3/4ths perspective add: Bunch of rendering mumbo jumbo to make said 3/4ths perspective work /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: = <stewartareid@outlook.com> Co-authored-by: Capsandi <dansullycc@gmail.com> Co-authored-by: ArcaneMusic <hero12290@aol.com> Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com> Co-authored-by: SomeAngryMiner <53237389+SomeAngryMiner@users.noreply.github.com> Co-authored-by: KylerAce <kylerlumpkin1@gmail.com> Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: Runi-c <5150427+Runi-c@users.noreply.github.com> Co-authored-by: Roryl-c <5150427+Roryl-c@users.noreply.github.com> Co-authored-by: tattle <article.disaster@gmail.com> Co-authored-by: Senefi <20830349+Peliex@users.noreply.github.com> Co-authored-by: Justice <42555530+Justice12354@users.noreply.github.com> Co-authored-by: BluBerry016 <50649185+unit0016@users.noreply.github.com> Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com> Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com> Co-authored-by: Rob Bailey <github@criticalaction.net> Co-authored-by: MMMiracles <lolaccount1@hotmail.com> |
||
|
|
1e78db8471 | Refactors how basic ais do their success/failures (#82643) | ||
|
|
95b7fa1fb7 |
Add a unit test to check that maploaded simple/basic mobs are in an environment they can survive in. (#82180)
## About The Pull Request I've recently noticed that the maploaded penguins from the snowdin away mission were dying from unsafe atmos/temperature. This sparked the idea of making a (focus only) unit test that would prevent this sort of issues from happening. This PR also implements the usage of the `atmos_requirements` and `body_temp_sensitive` elements for simple animals too, cutting down the copypaste. ## Why It's Good For The Game More unit tests to make sure things are done correctly. ## Changelog 🆑 fix: Made sure that mapped critters (i.e. penguins on the snow cabin away mission) can survive in the environment they're spawned in. /🆑 |
||
|
|
f2ceb77a41 |
Temporary bees animate on death and no longer produce corpses (#81714)
## About The Pull Request I requested this as a change on the Hive Head PR but Ghommie didn't notice and merged it anyway so I had to do it myself instead of forcing the underclass to do it for me 😔  Anyway now bees created by the "beesplosion" reaction and by the Hive Head changeling power no longer produce corpses, and have a death animation. ## Why It's Good For The Game It looks better. It was weird that the bees would create corpses if killed but not if they expired. ## Changelog 🆑 image: adds a visual effect for hive head bees despawning /🆑 |
||
|
|
9f5bd0db4e |
Adds New Changeling Ability: Hive Head (#81502)
## About The Pull Request This PR adds a new changeling ability to the game, entitled 'Hive Head'. A basic description is shown below, as seen in-game.  Hive Head is a two-point ability for Changeling which encases your head in a bee hive. The bee hive is rather unremarkable as a defensive utility, boasting extremely poor resistances to all damage types except for BIO and providing flash resistance (your eyes are being covered). Along with this, since Hive Head covers your head, you cannot use it conjunction with chitinous armor, since it requires your head slot be open. While this all sounds rather bad, the major reason to use this ability is upon activation, you gain another ability which costs no chemicals and operates on a cooldown: Release Bees. Release Bees summons 6 bees on your location which will attack anything that isn't you or directly allied to you for 20 seconds, which afterwards the bees will vanish. By default, these bees are standard and do not inject any sort of chemicals into your victims, so while they can provide a good distraction and do some damage, they aren't really that useful. The true value of this ability comes with the fact that the Hive Head is also a reagent container, which stores up to 50 units of whatever you want to put inside. While you can't get what you put into the Hive Head out in any way, summoned bees will pull from the reagents inside your Hive Head to inject into targets, increasing the amount of !!FUN!! you can have with them drastically. For example, if you go into the bar and dump a bunch of different drinks into the Hive Head, your summoned bees will have equal chance to select any of those drinks to be what they inject into people. Reagents inside the Hive Head will stay there until it is dispelled, which upon re-using the ability, the Hive Head will be empty. Hive Head also has the additional utility that Release Bees works at any time so long as you're still wearing it. However, only 1 bee will be summoned whilst you are in hard crit or dead. Release Bees has a cooldown of 30 seconds. Additionally, if mixing chemical cocktails to have a swarm of bees forcefully inject into people isn't to your liking, Hive Head provides an alternate mode of use if a legion core is used on it. Using a legion core on the Hive Head will cause it to mutate, changing its appearance and functionality. The Legion Hive Head, as opposed to releasing 6 bees, releases 4 legion skulls to fight for you instead. These legion skulls do more damage than bees, but can be dispelled by any attack and only last for 10 seconds as opposed to 20, but this also comes with the added benefit of a shorter cooldown time of 15 seconds as opposed to 30. The major benefit of this version of the ability is that if the skulls down a humanoid target, the skulls will turn that person into an allied legion, who will use their abilities to support you with healing and additional skull summoning should they run into a target. Just as disabling Hive Head normally removes chemicals, Hive Head will return to normal upon deactivating and reactivating the ability, requiring another legion core be used to access this version again.  Additionally, this PR adds the sound of a swarm of bees for when the ability gets activated, new sprites to facilitate implementing this ability, and some changes to how the armor subset of changeling abilities work internally in order to add ones that only apply a helmet or armor as opposed to both. This PR also fixes a bug with bees having an incorrect sprite offset (they look like they're one tile over to the left currently). As always, the numbers and mechanics can be changed if need be, and I'm open to hearing others' thoughts about this. ## Why It's Good For The Game Changeling hasn't received a new ability in a very long time, only reworks to their existing kit, so there haven't been any new toys to shake up the experience with. Hive Head is something new that fits Changeling's preference for one-on-one combat (the bees pretty much always aggro on the same target) while also playing into that weird alien shapeshifter vibe. Along with this, being able to change what chemicals the bees inject into people opens the door to creative ways of using it alongside the rest of the sandbox, so it'll be interesting to see what players come up with. The additional legion mode is just a cherry on top, allowing people to play around with the cool legion skull mechanics in an antagonistic setting. ## Changelog 🆑 add: New Changeling Ability: Hive Head fix: Fixed bees having an improper sprite offset /🆑 |
||
|
|
29590d467c |
Throwing a bee at someone injects reagents (#80354)
## About The Pull Request Throwing a bee at someone injects that bee's reagents. This has a larger code footprint than you might expect because venom injection is done via an element which in turn gives a callback to a component. While I was touching that I also separated `COMSIG_MOVABLE_IMPACT` into `COMSIG_MOVABLE_PRE_IMPACT` because a lot of effects trigger from `COMSIG_MOVABLE_IMPACT` despite the fact that the throw impact can be cancelled after the signal is sent. I also added an inject check onto the venomous element for mob attacks, so thick clothing can now protect you from venom injection. I elected that Giant Spiders have big enough fangs to ignore this such that this isn't a major balance change, as do moonicorns (that horn is massive), Fire Sharks, and Clowns (no idea how they are applying chems at all to be honest). ## Why It's Good For The Game I thought about someone throwing a bee at someone like a little dart and thought "hee hee" ## Changelog 🆑 add: If you throw a bee at someone it will hit them sting-first and inject that bee's reagent balance: Thick clothing can now protect you from the venom of bees, snakes, frogs, and (small) spiders /🆑 --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> |
||
|
|
9696dd1a1d |
Targeting Datums Renamed (and global) (#79513)
## About The Pull Request [Implements the backend required to make targeting datums global](https://github.com/tgstation/tgstation/commit/6901ead12e419530b7f646ea21094d4432d7385e) It's inconsistent with the rest of basic ai for these to have a high degree of state, plus like, such a waste yaknow? [Implements GET_TARGETING_STRATEGY](https://github.com/tgstation/tgstation/commit/d79c29134d03424a9f8bacd64c08cb41775fe8c0) Regexes used: new.*(/datum/targetting_datum[^,(]*)\(*\)* -> GET_TARGETING_STRATEGY($1) Renamed all instances of targetting to targeting (also targetting datum -> targeting strategy) I've used GET_TARGETING_STRATEGY at the source where the keys are actually used, rather then in the listing. This works out just fine. ## Why It's Good For The Game Not a misspelled name through the whole codebase, very slightly less memory load for basically no downside (slight cpu cost maybe but not a significant one. --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> |
||
|
|
370a38165e |
new syndicate item - bee smoker (#78988)
## About The Pull Request this adds a new item for traitor botanists they can buy for 4 tc. it releases smoke which hypnotizes bees to follow ur every command, it can be used on a single bee or it can be used on a hive to hypnotize all the bees who live there. u can command the bees to enter or exit their beehive, and u can also command them to spiral around u where they will follow u and swirl around u to confuse whichever opponent u are fighting, and u can also command them to attack people. the bee smoker comes with some fuel but u can recharge it by putting cannabis into it. the stronger the weed the more fuel it will provide https://github.com/tgstation/tgstation/assets/138636438/18c9a350-8e24-4c49-abfa-dffb7622502f ## Why It's Good For The Game adds a traitor item which gives a new gameplay alternative for botanist and pacifist players. also i noticed the pet targetting datum was using some copy paste code so i made it a subtpye of the basic targetting datum ## Changelog 🆑 add: added a new syndicate item - the bee smoker /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
41699c260e |
Goats will randomly attack you (#78930)
## About The Pull Request We accidentally lost this behaviour when we converted goats to basic mobs. _Formerly_ (and now again) goats had a 0.5% chance per second to simply decide to attack you for no reason at all. While attacking you they also have a 10% chance per second to get bored of doing that and stop. Additionally, we were outputting a fluff message every time you attacked a goat which would spam chat if you were trying to fist fight each other. I added a 20 second cooldown onto it. As is often the case, implementing this led me down a bit of a rabbit hole. We were previously bypassing faction checks via a mixture of flags on AI behaviours and blackboard keys. I have moved this _entirely_ to the blackboard now, rather than making targetting subtypes just to skip faction checks. This entails having one blackboard key which is "by default do we care about factions?" and another which is "are we currently ignoring factions for some other reason?" Retaliatory AI will generally enable the second flag, so you can get pissed off at someone you would usually not mind hanging out with if they start something with you. Certain mobs which want to hunt other mobs but not be hunted in return just ignore factions entirely all the time and use the former. The upshot of this is that the default behaviour for expected default retaliatory AI shouldn't require you to set any specific kind of targetting datum and will Just Work. In a similar vein because I was touching largely the same mobs I made the "flee when injured" component apply its "don't flee because not injured" flag instantly upon application rather than needing to manually set it in the blackboard definition, so that also Just Works. ## Changelog 🆑 fix: Pete's anger management training has worn off, and he will once again sometimes pick a fight with you for absolutely no reason. qol: Attacking a goat will not spam messages so frequently. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
0976420f2f |
seedling basic mobs (#78224)
## About The Pull Request this is a mob that was removed from the game since years ago. this pr refactors them and readds them to the game. seedlings now can have different colored petals!  to obtain this monster, botany can now grow them out of 'seedling' seeds that they can find in the exotic seeds crate. this mob loves to help all plants and when its grown out of the seed, it will help the botanists look after their plants. it can water plants (if it finds a bucket), remove weeds and remove dead plants. they will also use their solarbeam ability to provide small healing to damaged plants. it will try to refill its bucket with water if there is a water source near by. it will also follow the orders of whoever harvested it.  traitors can buy a seed from the uplink that grows an evil version of the seedlings, they can command them to attack people and use abilities and to cause chaos on the station. ## Why It's Good For The Game refacotrs the seedlings into basic mobs ## Changelog 🆑 refactor: seedlings have been refactored into basic mobs please report any bugs add: seedlings now can have different colored petals and can look after botanys plants add: seedlings are re-added to the game! they grow out of seedling seeds obtainable from exotic seed crates or traitor uplink /🆑 |
||
|
|
32017ce1dd |
(no gbp) small improvement to bee pollination (#78095)
## About The Pull Request i saw some players are upset because the hive bees aggro towards people so it makes them harder to control for the pollination. bees will now only aggro to people if they are standing very near their hive. if they move out of range of the beehive they will ignore them and focus on pollination. ## Why It's Good For The Game improvements to pollination ## Changelog 🆑 qol: pollinating bees will now only attack players that are standing near the beehive /🆑 |
||
|
|
07bcaff6d5 |
You can no longer create non-synthesizable chemicals with bees. (#78072)
## About The Pull Request You can no longer create non-synthesizable chemicals with bees. ## Why It's Good For The Game Fixes the ability to mass produce reagents that aren't supposed to be directly synthesized. ## Changelog 🆑 fix: You can no longer create non-synthesizable chemicals with bees. /🆑 --------- Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com> Co-authored-by: Aki Ito <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com> |
||
|
|
8aea1c8a89 |
(no gbp) make the bee care more about the polinating (#77293)
## About The Pull Request the bee when he found a man he was focused on attacking him and he forget about the pollinating until the man is gone or died. now he will care more about polinating even if there is a man near him butbe care because he will still atacked u if u dont wear a protect suit! and a small thin now the raegent incompatibile proc will checked the raegent type insted of the datum himself. ## Why It's Good For The Game make the bee better at polinating ## Changelog 🆑 fix: the bee will now care more about polinating qol: in case u miscliked the bee queen with a seringe 2 times, the raegent will not be transfered to the quen if he alredy have this raegent /🆑 |
||
|
|
6f862d107f |
Adds a unit test to stop elements from using identical lists for their arguments. (#76322)
## About The Pull Request Ok, so a few days ago I made an issue report about multiple instances of identical elements being generated because of uncached lists. ninjanomnom (the mind being the element datums) cleared it up and said an implementation of GetIdFromArguments() that also checks the list contents wouldn't be worth the performance cost, while adding that a unit test should be written to check that it doesn't happen at least during init, which should catch a good chunk of cases. Also, i'm stopping RemoveElement() from initializing new elements whenever a cached element is not found. Ideally, there should be a focus only unit test for that too, but that's something we should tackle on a different PR. Some of the code comments may be a tad inaccurate, as much as I'd like to blame drowsiness for it. Regardless, the unit test takes less than 0.2 seconds to complete on my potato so it's fairly lite. ## Why It's Good For The Game This will close #76279. ## Changelog No player-facing change to be logged. |
||
|
|
43737e0b4b |
made the bee a basic insect (#76971)
## About The Pull Request the bee now a baisc insect he will now go to find his home and he will go and pollinated the plants and helped the queen make children by polliniting the plants and he will. the queen will leve the hive more rarely than the normal bees so she can stay in the hive to make kids ## Why It's Good For The Game the bee now is a basic insect so it means he have a better ai ## Changelog 🆑 balance: the bee now can fly over the machines so its easy for him to go to the hydroponics machine fix: player bees now will not be stuck inside the hive if he entered it, they can now leave it fix: fixed a har deleted when the hive is deleted all the bees still have a refence to the hive now its fixed fix: now when a player interacted with the bee hive the bees will now leave the hive to defend the hive (it was glitched) refactor: the bees now are a basic insect. /🆑 |