mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-16 12:43:09 +00:00
dd47de7f3d8c59d57386bb0301abd03d12d92010
28 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
d94f974df3 |
fixes tamed pets sometimes attacking one another (#92200)
## About The Pull Request tamed pets would not let previous grudges go so theyd attack one another even after theyve both been tamed by the same owner. this fixes that ## Why It's Good For The Game fixes tamed pets sometimes attacking one another ## Changelog 🆑 fix: fixes tamed pets sometimes attacking one another /🆑 |
||
|
|
96976c0b9a |
Regal Rat cleanup & minor changes (#91012)
## About The Pull Request Since #90505 added another entry to it the Regal Rat Riot ability, which turns maintenance creatures into versions loyal to the rat, has become sort of unmanageable (and to be honest it was a bit gross to start with). Instead of having a big if/else list (which was making the same range check multiple times...) that sets stats on a bunch of mobs, I delegated it to the mobs themselves and instead of changing some stats of the existing mobs we just turn them into a new mob which can be spawned or placed separately by mappers or admins if they want. Other stuff I changed: Riot (the ability which transforms mobs into minions) no longer spawns a mouse if it fails to find anything. Instead you have a chance to fish mice out of disposals bins while digging out trash and items. Domain is now a toggle which activates itself every 6 seconds rather than a button you manually click every 6 seconds. Riot makes a visual effect when used. Rare Pepe randomisation is done via a random spawner instead of the mob modifying a bunch of its own properties in Initialise. A bunch of mobs now automatically follow you after being tamed. I wrote this assuming I was going to add it to the rioted mobs but then didn't end up doing that because you might want them to immediately attack someone. My rule of thumb is that if I think you'd want the mob to attack someone the moment it is befriended I didn't add this and if you wouldn't I did. I changed some of the regal rat minion names, and some of them can now spawn from gold slime which couldn't before. ## Why It's Good For The Game This proc sucked and now it's nicer. As for the other changes; - A tamed mob immediately following you is nice feedback and saves you a click as it's likely to be your first action. Also removes some admin panel shitcode I added. - I changed Domain to a toggle because you generally want to use it on cooldown and someone suggested it on this PR and it sounded like a good idea. - I saw someone in Discord complaining that the previous flow of recruiting rats by hitting Riot with nothing around to summon one, waiting, hitting it again to convert one rat, and waiting again was tedious and annoying which I agree with. This method improves the quality of life by separating these two actions but _also_ as a side effect reduces a regal rat's ability to secretly stockpile 50 rats in a hidden maintenance room because most disposal bins are in slightly more visible areas, they'll actually need to go and make a mess somewhere someone can see them. ## Changelog 🆑 balance: Regal Rats can now grab mice out of disposal bins, and no longer spawn them with the Riot ability. balance: The Riot ability no longer needs to be used once for each slightly different kind of mob in your radius. balance: The Regal Rat Domain ability is now toggled on and off. balance: Several kinds of mob will immediately start following you once tamed. balance: Rats, hostile frogs, and evil snails can be created via gold slime reaction. /🆑 |
||
|
|
f205e48ef5 |
[no gbp] fixes being able to tell animals to commit atrocious acts (#88754)
## About The Pull Request closes #88743 . the issue is while they'd ignore ur command since its impossible, the emote would still appear, which i now realize was a mistake ## Why It's Good For The Game fixes being able to tell animals to commit atrocious acts ## Changelog 🆑 fix: radial pet commanding emotes will now not appear if the command is impossible to execute /🆑 |
||
|
|
91719a400a |
516 Compile Compatibility (#88611)
Renames all uses of caller, as they (currently) shadow the new byond var and will in future error Ups our "wan if compiled after" experiement compile version to 516 Adds an alternate 516 unit test |
||
|
|
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 /🆑 |
||
|
|
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
|
||
|
|
fec946e9c0 |
/Icon/ Folder cleansing crusade part, I think 4; post-wallening clean-up. (#85823)
Hello everybuddy, your number three rated coder-failure here to clean up some mess. This PR accomplishes some of the more major structural clean up changes I wanted to do with /obj/ folder, but decided to wait on until wallening gets merged, and so, time has come. Several things to still be done, although I know these cleaning PR's are quite a load, so will wait for this one to get done with first. ## Why It's Good For The Game Saner spriters, better sprites, less annoyance. Also deleted a whole load of redundancy this time around, a lot of sprites which existed simultaniously in two places now got exit their quantum superposition. |
||
|
|
bab0287356 |
Mining headset upgrade - Callouts and volume boosters (#85008)
## About The Pull Request  Shift + middle clicking while wearing a mining headset will open a callout radial, after moving your mouse over one of the options a callout emote will appear where you pointed (No need to click on the radial button). Callouts have a 3 second cooldown to prevent spam and glow in the dark due to how dark lavaland is (normal point emotes do not) There are 6 options: pointing, danger, attack, mine, defend and reposition. Your callouts are colored in your runechat color. This is done via a component so later if needed it could be added to other headsets/mobs/items. Callouts also can initiate basic mob orders, being a better way to command your minebots in combat. Additionally, they also boost your speech back to normal levels in low-pressure environments, ensuring that your runechat is still nice and readable. ## Why It's Good For The Game This would make coop mining much more enjoyable, as stopping to type mid-fight is more often than not a death sentence on lavaland. With arcmining's vents cooperating is actually beneficial, and I feel like we should incentivize miners to do it more often by providing them with tools for it. ## Changelog 🆑 add: Mining headsets now allow you to make callouts via pointing. You can use them to communicate with fellow miners or order your army of bots and raptors! add: Mining headsets keep your voice loud and clear in low-pressure environments (not vacuum!) /🆑 |
||
|
|
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. /🆑 |
||
|
|
3093328757 |
Minebots will no longer attempt to stop you from committing suicide by killing you (#83919)
## About The Pull Request The `/datum/pet_command/protect_owner` behaviour did not have any validation for if the person who attacked you was yourself. The three mobs which used this behaviour would sometimes be capable of seeing you accidentally slap yourself with a burrito and decide that this meant that you needed to be protected from this hideous and violent aggressor (yourself), and would then start trying to kill you. If you had multiple minebots they would then start attacking each other in a fit of jealous and protective rage, which I think was quite funny but isn't supposed to be how the game works. |
||
|
|
55267e1334 |
minebot buff (#82001)
## About The Pull Request this pr buffs non-sentient minebots a bit to make them more helpful with the new arcmining changes. Minebots now have a better overall AI, they will maintain distance from enemies and shoot while running. they will also plant landmines while theyre running away from enemies. these landmines are carefully programmed by the bot not to trigger when any of its miner friends step on it. u no longer need to feed minebots an ore to get them to listen to you, as they now automatically listen to any miners around. minebots can now repair damaged node drones  they also have a new autodefend feature, which makes them automatically attack any mob that attacks its miner friends or the drone. They also have some new upgrades! First is the regenerative shield, this shield allows minebots to tank a limited amount of hits before breaking. minebots will then need to wait sometime before the shield re-activates. Second is the rocket launcher remote control, this allows players to direct minebots to fire anti-fauna missiles at their target https://github.com/tgstation/tgstation/assets/138636438/3ec3605e-8e11-4a31-acaa-1382bed98294 Also minebots are now highly customizable, you can rename them, change their colors, or program their AI through their new user interface  ## Why It's Good For The Game Improves minebot AI a bit, and makes it a more viable option for mining solo players ## Changelog 🆑 balance: minebots have been buffed and have recieved new upgrades /🆑 |
||
|
|
0141f96a13 |
Refactor icemoon wolves into basic mobs and add taming + pack behavior (#79736)
## About The Pull Request Ports icemoon wolves over to the basic mob framework with a bit of extra stuff: - Wolves call for help when attacked within a decently large radius. Because you know, pack animals. - Wolves can now be tamed with a slab of meat - When tamed, wolves can be ridden like goliath mounts. Ride wolf, life good. Pretend you're playing ARK and start shivering to death in thatch huts for that High Roleplay experience. - Tamed wolves have access to a bunch of pet commands (following, point fetching, point attacking, play dead, etc) and will also defend their owners vehemently if they're attacked. You can probably tame multiple if you wanted to. ## Why It's Good For The Game What part about riding wolves isn't entertaining? I don't really play /tg/ that much so I can't argue too much about the balance implications this might pose, but it's undoubtedly a stupid little gimmick and is likely to be used by bored assistants and miners with too much time on their hands. Especially robust individuals will probably find a million things to do with a basic mob capable of fetching, attacking on command and generally being able to defend themselves decently well. ## Changelog 🆑 yooriss refactor: Icemoon wolves now use the basic mob framework and should act more intelligently, defending their pack. add: Icemoon wolves can be tamed with slabs of meat and can be ridden as mounts once friendly. Being rather large dogs, they also have access to most of the pet commands you'd expect, such as fetching things, and violently mauling people their owners point at. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
2c21a73ed0 | [no gbp] gutlunch pop control (#79772) | ||
|
|
7a44f10993 |
basic gutlunchers and ashwalker ranching (#79508)
## About The Pull Request this pr transforms gutlunchers into basic mobs and gives them a small ranch that ashwalkers can manage. gutlunches come in various colors and sizes! female gutlunches will come in different shades of red and males will come in shades of blue. the child born will have a mix of his parent's colors.  female gutlunches can make various healing milk and medicine from its udder. but it will need to consume ores before it can start making milk, u can either feed it by hand or u can put ores in the wooden trough and they will go eat from it whenever they get hungry. feeding it gold or bluespace ore will improve the healing quality of the milk for a short while  the male gutlunchers are obedient pets. their stats vary from one another in speed, attack and health. a male gutlunchers stats will depend on the stats of his parents, the higher his parent's stats are the better chances he has at rolling higher stats. so u can selectively breed them to make sure they have the best stats possible. they will listen to all ur commands and can mine walls or attack enemies if given the command. also i wanted the farm to have wood fences so i added them to the game, they cost 5 wood planks to make ## Why It's Good For The Game refactors gutlunches into basic mobs. also i turned breeding into a component so it can be applied to all animals and created a breed command, pets that have this command and the component will go breed with a partner u point at. ## Changelog 🆑 refactor: gutlunches have been refactored into basic mobs. please report any bugs add: ashwalkers have a small ranch they can manage fix: wall tearer compnent wont runtime when interacting with mineral walls /🆑 |
||
|
|
e1b958c41f |
Removes final remnants of 'targetted' (#79626)
## About The Pull Request Finishing what https://github.com/tgstation/tgstation/pull/79513/ started, removes 'targetted' typo from code. Also updates the basic mob guide with the new updated var names. ## Why It's Good For The Game Typos bad. Accurate guides good. ## Changelog 🆑 code: gets rid of the rest of the instances of 'targetted' typo from code /🆑 |
||
|
|
9696dd1a1d |
Targeting Datums Renamed (and global) (#79513)
## About The Pull Request [Implements the backend required to make targeting datums global]( |
||
|
|
42c8e1adf9 |
new wizard ability and basic leaper refactor (#79237)
## About The Pull Request refactors leapers into basic mobs and adds a new ability for wizards. for 2 points wizards can buy their own leaper pet. they will get a contract which lets them pick their pet's name and color  after they sign the contract they will get a frog statue which is used to contain the leaper. players can use this statue to release or recall the leaper into the statue. when its in the statue it will slowly regain health or even revive from the dead, but if it gets gibbed then the statue will be useless. also adds a new ai behavior for leapers which lets them go swim in water (and splash around) for a period of time. i gave this behavior to frogs and crabs too when riding the leaper, the players will get access to all its abilities, it now has new abilities, it can create frog minions that suicide bomb the enemies and it can also create a shower of poisonous structures. https://github.com/tgstation/tgstation/assets/138636438/931aa7b4-09f0-493f-bdb6-f3bdd0915b22 also when riding the leaper, players can point at walls near it so it will destroy it. alternatively players can give commands to their leapers to use abilities and to follow them if they are not riding it. wizards cant be force dismounted from their frogs, and only wizards can ride the frogs. this also removes leapers from cytology as they now are much more dangerous and have a new home ## Why It's Good For The Game refactors leapers into basic mobs, and gives more gameplay opportunities for wizards ## Changelog 🆑 refactor: leapers have been refactored into basic mobs please report any bugs add: wizards can now summon a leaper pet removal: removes leapers from cytology /🆑 |
||
|
|
0c17553a96 |
Basic Constructs: Artificer (#79015)
## About The Pull Request Really getting into the meat of the constructs now. Artificers have become basic mobs. On the whole, this was a pretty rote conversion, with no significant gameplay changes other than the switch to using healing hands rather than a unique heal ability. The player experience as an artificer is more or less identical. The _interesting_ part comes with the AI for the seldom-used "hostile" variant. Hostile artificers, being squishy and laughably weak, are now a dedicated "medic" role for constructs. They will perform triage, always seeking the most wounded construct (or shade!) to give healing to. They will not attack at all, but they _will_ flee with great speed if attacked and not busy healing. If they are healing another construct, they will remain even if they are beaten to death. I've added some more AI functionality that may come in handy in the future, and done some refactoring to keep things from getting out of hand: - A planning subtree for finding targets that will always select the most heavily wounded living target that the mob can see (or rather, the one with the least health). Useful again for medical triage, or for making a particularly cruel mob that always attacks whoever is easiest to kill. I plan to use this for NPC wraith constructs when I convert them. - Targeting datums can now check a blackboard key to see if they should only target wounded mobs. This is particularly useful for "medic" type mobs such as this one. - I've refactored the "minimum stat" behavior of targeting datums to be stored in a blackboard key. This removes the need to have unique subtypes for each different minimum stat we might want. Which... for the most part, weren't even used, leading to proliferation of several completely identical targeting datums in a bunch of different files. Hopefully this change will make things cleaner. In addition, this PR fixes a pair of bugs from #78807 that I didn't catch: - Healing constructs can now actually heal shades. Turns out I forgot to add the correct biotype. - Healing hands, when set to print the target's remaining health, no longer does so as a visible message. The one thing I didn't do that I kind of wanted to is make NPC artificers heal themselves when wounded and not busy doing something else, but it ended up being kind of annoying to make a mob willingly target itself. NPC artificers never had this behavior before, so I consider it okay, but maybe I'll circle back to it later. ## Why It's Good For The Game Another basic conversion, another 5 items off the checklist. Very little should change in-game, though I think the new NPC AI could make for interesting challenges in ruins or bitrunning or something. ## Changelog 🆑 refactor: Artificer constructs have been converted to the basic mob framework. This should change very little about them, but please report any bugs. NPC artificers are now smarter, and will focus on healing nearby wounded constructs - if you see them, take them out first! /🆑 |
||
|
|
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> |
||
|
|
257923e090 |
Synchronise AI and Player basic mob melee behaviours (#78337)
## About The Pull Request I like for things that mobs do to be consistent regardless of whether they are controlled by a player or by the AI. One big offender of this is the melee behaviour cooldown. Basic mobs piloted by AI have arbitrary melee attack cooldowns which are not reflected when they are controlled by players who can generally attack much faster (but in _two_ instances, slower). To remedy this I added `melee_attack_cooldown` as a var on `living/basic` (sinful) and the ai now uses NextMove to not click too often, meaning that players can only bite things as often as the AI can and also that if you VV the cooldown it can speed the AI up (or slow it down) as well as a player. This also gets rid of a lot of subtypes of that datum, as we mostly made them to change the cooldown. I also hunted down a few places where there was behaviour placed inside an AI behaviour which wasn't easily replicable by a player piloting the same mob, preferably a player should be able to do everything that the AI can. Fixing this was largely a simple case of moving code from `ai_behaviour/melee_attack/perform` to `basic/mob_subtype/melee_attack` and also adding an element for one thing shared by three different mobs. Strictly speaking I didn't need the element that much because a player is perfectly capable of clicking on something they attack to drag it, but it's nice for it to be automatic? ## Why It's Good For The Game If you see a mob do something then you should also be able to do it. Mobs shouldn't have significantly different capabilities when controlled by a player (aside from usually being smarter). ## Changelog 🆑 balance: Player-controlled basic mobs attack as fast as those mobs can when controlled by the AI balance: Player-controlled Faithless can paralyse people they attack, like the AI does balance: Player-controlled Star Gazers (if an admin felt like making one) apply the star mark on attack and deal damage to everything around them, like the AI does /🆑 |
||
|
|
4aa50ea5c2 |
minebots basic bots (#78032)
## About The Pull Request Transforms the minebots into basic robots. You can now command these minebots to extract minerals for you. To activate automated mining mode, simply instruct them with the command "mine." They will then proceed to autonomously mine walls and gather ores. If you wish to make the bot deposit all the collected ores, use the command "drop." Alternatively, you can leave it in collection mode, and it will gather all the ores you mine. Additionally, the bot now responds to several more commands; you can instruct it to follow you, toggle its lights on or off by saying "lights." In attack mode, it refrains from mining or collecting ores but will engage in combat alongside you. If it detects you as deceased or unconscious, it will alert all miners, request assistance, and relay your coordinates via the mining communication channel. to power it on u will need to feed it any type of ore first so it may listen to ur commands ## Why It's Good For The Game makes the non sapiant minebots more useful ## Changelog 🆑 refactor: the minebots have been refactored please report any bugs add: minebots can now mine walls and collect ores automatically and they will alert everyone if they find u dead /🆑 |
||
|
|
e49fe76180 |
fixes regal rats not running away (#77888)
## About The Pull Request fixes the regal rat not running away from whoever attacked him. also adds a new pet command behavior which makes the king's minions drop whatever they are doing and defend their king from whoever has attacked him. ## Why It's Good For The Game the rats now behave right ## Changelog 🆑 fix: regal rats now run away from whoever attacked them add: new pet behavior which makes pets defend their owners if they got attacked /🆑 |
||
|
|
a373b4cb08 |
Icon folder cleaning wave one (#76703)
## About The Pull Request Due to a mental breakdown caused by unfathomable abomination that is icons folder, I swore to myself to one day clean it. Today is kind of that day. Been at it for around 6, you gotta understand I need a rest. I tracked most changes in descriptions of commits if you are looking for details. ## Why It's Good For The Game Saner spriters make better sprites. And also, just helps keep track of things. ## Changelog 🆑 image: added sprites for different variants of scrolls. image: modified couple posters with ghost pixels. /🆑 --------- Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com> |
||
|
|
ed2f04f486 |
Experiment with replacing weakrefs in AI blackboard with deleting signals, ideally making it easier to work with and harder to cause hard deletes (#74791)
## About The Pull Request Replaces weakref usage in AI blackboards with deleting signals All blackboard var setting must go through setters rather than directly ## Why It's Good For The Game This both makes it a ton easier to develop AI for, and also makes it harder for hard deletes to sneak in, as has been seen with recent 515 prs showing hard deletes in AI blackboards (To quantify "making it easier to develop AI", I found multiple bugs in existing AI code due to the usage of weakrefs.) I'm looking for `@Jacquerel` `@tralezab` 's opinions on the matter, also maybe `@LemonInTheDark` if they're interested ## Changelog 🆑 Melbert refactor: Mob ai refactored once again /🆑 |
||
|
|
eb6c0eb37c |
Dogs use the Pet Command system (#72045)
About The Pull Request Chiefly this refactors dogs to use the newer component/datum system for "pet which follows instructions". It also refactors it a little bit because I had better ideas while working on this than I had last week. Specifically, instead of passing around keys we just stick a weakref to our currently active behaviour in the blackboard. Basically the same but skipping an unecessary step. Additionally it adds a component for the previous "befriending a mob by clicking it repeatedly" behaviour which hopefully we won't use too much because it's not very exciting (I am planning on replacing it for dogs some time after Christmas). The biggest effort in here was making the Fetch command more generic, which includes multiple behaviours (which might be used on their own?) and another component (for holding an item without hands). Additionally I noticed that dogs would keep following my instructions after they died. This seems unideal, and would be unideal for virtually any AI controller, so I added it as an AI_flag just in case there's some circumstance where you do want to process AI on a dead mob. Finally this should replicate all behaviour Ian already had plus "follow" (from rats) and a new bonus easter egg reaction, however I noticed that the fetch command is supposed to have Ian eat any food that you try to get him to fetch. This has been broken for some time and I will be away from my desk for a couple weeks pretty soon, so I wrote the behaviour for this but left it unused. I will come back to this in the future, once I figure out a way to implement it which does not require adding the "you can hit this" flag to every edible item. Also I had to refit the recent addition of dogs barking at felinids to fit into this, with a side effect that now dogs won't get mad at a Felinid they are friends with. This... feels like intended behaviour anyway? Why It's Good For The Game It's good for these to work the same way instead of reimplementing the same behaviour in multiple files. Being able to have Ian (or other dogs) follow you around the station is both fun and cute, and also makes him significantly more vulnerable to being murdered. Changelog cl add: Ian has learned some new tricks, tell him what a good boy he is! add: Ian will come on a walk with you, if you are his friend. refactor: Ian's tricks work the same way as some other mobs' tricks and should be extendable to future mobs. fix: Dogs no longer run at the maximum possible speed for a mob at all times. add: When Ian gets old, he also slows down. Poor little guy. add: Dogs will no longer dislike the presence of Felinids who have taken the time to befriend them. /cl |
||
|
|
b174af7661 |
Basic Mob Carp Part VIII: Basic Mob Carp (#72073)
## About The Pull Request Wow we're finally here. This turns carp into Basic Mobs instead of Simple Animals. They use a variety of behaviours added in previous PRs to act in a marginally more interesting way than they used to. But don't worry there's still 2 or 3 PRs to follow this one until I'm done with space fish. Changes in this PR: Carp will try to run away if they get below 50% health, to make use of their "regenerate if not attacked" component. Magicarp have different targetting behaviour for spells depending on their spell; - Ressurecting Carp will try to ressurect allied mobs. - Animating Carp will try to animate nearby objects. - Door-creating Carp will try to turn nearby walls into doors. You can order Magicarp to cast their spell on something if you happen to manage to tame one. The eating element now has support for "getting hurt" when you eat something. Carp eating can rings and hating it was too soulful not to continue supporting. ## Why It's Good For The Game Carp are iconic beasts and I think they should be more interesting. Also we just want to turn mobs into basic mobs anyway. ## Changelog 🆑 add: Carp will now run away if their health gets low, meaning they may have a chance to regenerate. add: Lia will now fight back if attacked instead of letting herself get killed, watch out! balance: Magicarp will now aim their spells more intelligently. add: Tame Magicarp can be ordered to use their spells on things. refactor: Carp are now "Basic Mobs" instead of "Simple Mobs" fix: Dehydrated carp no longer give you a bad feeling when they're your friend and a good feeling when they're going to attack you. balance: Tamed carp are now friendly only to their tamer rather than their whole faction, which should make dehydrated carp more active. Order them to stay or follow you if you want them to behave around your friends. /🆑 |
||
|
|
38bd952b19 |
Pet Command Component + Regal Rats can order their subjects around (#71590)
## About The Pull Request Another atomisation of #71421 but I had a fun idea while I was testing it. This adds a component based on the existing system for giving instructions to tamed carp or dogs, but hopefully more modular. It also gives it to the rat minions of a regal rat. The basic function allows the mob to listen and react to spoken commands, which passes things to its AI blackboard. Additionally if you alt-click a commandable mob it will show a radial menu which both allows you to select a command, and also contains tooltips explaining what they do and what audible words trigger it. <details> <summary>Video</summary> https://user-images.githubusercontent.com/7483112/204308693-0eccebec-75c9-411c-81c5-5aa0d682d1a5.mp4 </details> Now if you riot some rats, you can alt click on them individually to give them specific orders (more useful for other creatures than rats), or you can speak out loud to command your legion. Rats aren't very smart so you can't give them many instructions, but this is expandable for other creatures. Additional change: Mice don't squeak if stepped on by other mice because this made an absolutely unholy noise and I am not sure there's a way to get non-dense mobs to spread out. ## Why It's Good For The Game Allows for giving more mobs the ability to be tamed and instructable by their owner, without copy/pasting code which lives inside a specific mob. Yelling at your rats to give them commands is funny. It also adds the possibility of telling your rats to stop biting someone if they have agreed to your demands, allowing for more courtly roleplay. When Regal Rat is converted to a basic mob its AI can also give other AIs instructions by yelling at them which I think is a good feature. ## Changelog 🆑 add: The followers of Regal Rats will now respond to simple instructions, if given by their rightful lord. Except frogs. They're too busy licking themselves and watching the colours. /🆑 |