Open PowerfulBacon opened 2 weeks ago
This pull request has conflicts, please resolve those before we can evaluate the pull request.
I have a hunch that not all those 210 file changes are intended.
Yea, merging the trait changes into my older branch broke it. Its an easy fix
Balance-wise these look much better, although this might be enough of a nerf that nanites largely stop being used. They're still worthwhile but they will rarely be single-handedly deciding battles now, which is a much better spot for them to be.
I'm not familiar enough with the all of the code touched to give a full approval this time though.
I'm unsure if you can check this and if it's related to this particular rework but i got hit by a random EMP nade(i was quite way from it though idk if it mattes the distance) while having the following programs installed:
After a minute where i only took like 1 or 2 ticks of 1-2 toxin damage i immediatly went FULL braindead with no previous brain damage, when they revived me my nanites were gone¿? but i continued receiving brain traumas(round two or three) and brain damage and i had to get them healed with brain surgery, eventually i got new nanites and they had to install a brain repair program and a final surgery fixed the issue.
Round was: 50599
This seems to be intended, the happiness enhancer program decays into a brain decay program upon being EMPed which causes brain damage until its removed from the nanites.
The revival program now purges your nanites when it fires, hence the nanites being gone upon revival.
Frozen pending https://github.com/BeeStation/BeeStation-Hornet/pull/11760
I don't believe this is a good direction for nanites to go in the long term, I believe this is a complete disconnect between the community and maintainers like with what happened to 'health analyzer redesign/nerf'.
I honestly believe the current use-rate balance is doing good enough, the main issue of the balance is in regards the addition of protocols for nanites increasing its total capacity and effective nanite regeneration rate.
The reason I didn't go down the path of nanite use rate, replication rate and storage is because it would result in effectively making all nanites useless in order to compensate for some particular programs that are tainting all nanites. I would rather have nanites still be usable by players than to completely strip away their utility to the point of losing their value.
I would rather have nanites still be usable by players than to completely strip away their utility to the point of losing their value.
I'm not the most well-versed in nanites, but as I said in my previous post, this is such massive nerf they may not see much use afterward so you may have missed the mark if this was your goal.
I do think a substantial nerf is necessary and that this PR is an improvement over our current situation, but I also agree that tackling the consumption and replication rates of nanites would probably be a better solution overall.
It would also maintain a much less transparent system that is harder to learn, however.
The main difference between cooldowns and bumping the use_rate, is that with this other nanite programs can still function after one program hits a cooldown. Solely balancing them based off of use_rate would mean that after the 30 seconds is up, you would have 0 nanites left in total and none of them would work at all, making them completely useless rather than just less powerful.
Correct me if I'm wrong but you can force nanites to turn off when they're low, letting them regenerate and reactivate later, very similar to making them work on a cooldown, but the cooldown is adjustable based on how much load you're putting into your nanites. Nanites with more functionality run out faster, and less functionality run out slower
Also even when that isn't set up, nanites going to zero just means you have to reload them for the next use-case - this isn't the same as making them useless.
While the current system is a lot less transparent, I think the depth of the system is better overall.
The reason I didn't go down the path of nanite use rate, replication rate and storage is because it would result in effectively making all nanites useless in order to compensate for some particular programs that are tainting all nanites.
That's the reason why we are able to add 'rules' to programs to have them be used in certain conditions leaving other programs room to still work when needed. That management is what makes the balance for veteran nanite users and beginners, with players learning how to be more efficient with their usage over time.
Like what was said before the current main issue with the balance is to do more with protocols.
100% increase in capacity with zip
Decreasing the the total base capacity of nanites should be looked into as well as just decreasing the healing on programs rather than gutting programs or changing them to trigger for the sake of it.
I would rather have nanites still be usable by players than to completely strip away their utility to the point of losing their value.
So the main issue is the trigger cost of these things is trigger cost compared to usage-rate, its too aggressive to the point where it loses its value compared to use-rate where the player can control how far and much it can be used more accurately. The cooldown.
Please don't forget the research for the nanites were also made with the current nanites in mind. The research tier and cost will also need to be looked into for rebalancing for this pr.
With the current nanites its very easy to hit the 'program limit' making almost no room for more utility programs. This is with it being efficiently made using conditions for it to apply when required. With this PR it should look into doubling or even so far as potentially tripling the total amount of programs able to be added to a cloud id. With programs requiring triggers for it to be used, it will take up more program space than before.
Limited experience, but it feels like making the programs active programs has next to no effect and is simply circumvented by using passive programs to call the active program automatically. Such as calling the active healing program when brute or burn is more than 5 using a passive sensor program.
With the potential trigger change, temperature sensor, damage sensor for brain health to make up for the lack of automation of detection
This seems to be intended, the happiness enhancer program decays into a brain decay program upon being EMPed which causes brain damage until its removed from the nanites.
The revival program now purges your nanites when it fires, hence the nanites being gone upon revival.
I strongly recommend you take a look at it yourself because from the moment i got EMP'd the only reason i realized something was wrong was because of the small change on the health-bar (didn't even go below green) until i dropped dead before reaching to Science it was only After i got revived that i started to take random brain traumas non-stop, also i didn't had revival nanites it was a normal defib from the doc, basically i had no way to tell i was getting brain damage until i randomly dropped dead.
This pull request has conflicts, please resolve those before we can evaluate the pull request.
Depends on https://github.com/BeeStation/BeeStation-Hornet/pull/11760
About The Pull Request
Why It's Good For The Game
Nanites are hard to balance by use rate, so let's balance them with a well known and easy to understand metric instead, time.
Testing Photographs and Procedure
Changelog
:cl: add: Nanites now support active abilities, which last for a set amount of time before needing to cooldown (Instead of lasting until the nanites in the mob run out). tweak: Simplifies trigger nanites to make them easier to understand and work with. add: Adds nanite tomb, a nanite program which temporarilly prevents death. add: Adds bleeding sensor, a nanite program which detects if the user is currently bleeding. add: Adds pressure sensor, a nanite program for sensing the pressure. add: Continuous sensor nanites can now be set to send a code when they stop detecting the conditions. del: Removes advanced healing nanites. balance: Converts a large number of passive nanites into active nanites, which require triggering to activate and have a set duration and cooldown. /:cl: