Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nanitemania: more nanite programs and stuff! #9216

Merged
merged 20 commits into from
Oct 22, 2023

Conversation

Absolucy
Copy link
Contributor

@Absolucy Absolucy commented Jun 11, 2023

About The Pull Request

Ports:

This adds a whole bunch of new nanite stuff!

Protocol Nanites

Protocols are unique nanite programs, that allow for you to 'upgrade' some part of your nanites, usually with some tradeoff or downside.
There are currently two different types of protocols - replication and storage - and only one protocol of each type can be active at the same time.

Replication Protocols

  • Kickstart: The nanites focus on early growth, heavily boosting replication rate for a few minutes after the initial implantation
  • Factory: The nanites build a factory matrix within the host, gradually increasing replication speed over time. The factory decays if the protocol is not active.
  • Pyramid: The nanites implement an alternate cooperative replication protocol that is more efficient as long as the saturation level is above 80%.
  • Eclipse: While the host is asleep or otherwise unconscious, the nanites exploit the reduced interference to replicate more quickly.

Storage Protocols

  • Hive: The nanites use a more efficient grid arrangement for volume storage, increasing maximum volume in a host.
  • Zip: The nanites are disassembled and compacted when unused, greatly increasing the maximum volume while in a host. However, the process slows down the replication rate slightly.
  • Free-Range: The nanites discard their default storage protocols in favor of a cheaper and more organic approach. Reduces maximum volume, but increases the replication rate.
  • S.L.O.P: Completely disables the safety measures normally present in nanites, allowing them to reach much higher saturation levels, but at the risk of causing internal damage to the host.

New Programs

Remote Signaler

This program, when triggered, sends a signal/code just as a remote signaler would!

Remote Signal Receiver

Triggers a nanite code whenever a remote signaler signal is received.

Dermal Toggle

Dermal button, but it's an on/off switch.

Vampiric Synthesis

Allows the nanites to consume your own blood in exchange for nanite regen.

This will suck you dry if you let it, please combine it with the blood sensor or a toggle!!

Balanced so that you can't cheese it with the blood regen program - combining blood regen + vampire will put you at both a nanite volume and blood level deficit.

I imagine this would work better as an 'emergency' nanite volume source - if you really need healing, and have blood to spare, well, let the vampires feast?

Blood Sensor

Senses blood level. Pretty simple.

Nutrition Sensor

Senses nutrition level. Also pretty simple.

Nanite Blade

LOCKED BEHIND ILLEGAL TECH

image

Other Changes

  • Passive nanite regen now gets a 0.1/sec boost whenever Harmonic Nanite Tech is researched.
  • Metabolic Synthesis no longer has a built-in limiter, use nutrition sensors for that... please don't nugget your local oozeling.
  • You can now combine rules, resulting in more logic being possible, although you can't nest it too deeply.
  • Nanite cloud controllers now have popup bubble messages whenever you do an action
  • Infective exo-locomotion shouldn't be completely useless anymore.
  • Nanite communication remotes are now actually buildable.

Why It's Good For The Game

Allows for more creativity and utility with nanites, especially with the signaler nanites.

Testing Photographs and Procedure

Screenshots&Videos

Remote Signaler
23-06-10-1686441384-dreamseeker

Remote Signal Receiver
23-06-10-1686441312-dreamseeker

Rule Combining
23-06-10-1686441020
23-06-10-1686441024

Zip Protocol
23-06-10-1686435397-dreamseeker

Nanite Blade
23-06-10-1686437031-dreamseeker

Cloud bubble messages
23-06-10-1686437098-dreamseeker

Nutrition sensor
23-06-10-1686437509-dreamseeker

Vampiric synthesis
23-06-10-1686435271-dreamseeker

Changelog

🆑 Absolucy, XDTM
add: Added Nanite Protocols, special programs that allow for you to 'upgrade' some part of your nanites, usually with some tradeoff or downside.
add: Added Blood Sensor and Nutrition Sensor nanite programs.
add: Added the Nanite Blade program to nanites, which allows you to manifest an armblade similar to the xenobio one, locked behind illegal tech.
add: Added the Vampiric Synthesis program to nanites, which allows you to generate nanite volume using your own blood volume. This WILL suck you dry if you let it, please use this with a blood sensor or something! No, you can't cheese it with Blood Regeneration.
add: Added the Remote Signaler program to nanites, which functions similarly to, well, a remote signaler!
add: Added the Remote Signal Receiver program to nanites, which allows you to receive remote signaler signals and translate them into nanite signals!
add: Added the Dermal Toggle program to nanites, which is similar to a dermal button, but it's an on/off toggle instead.
add: You can now combine nanite rules, for more advanced logic!
add: Nanite Cloud Controllers now have neat lil' popup bubbles whenever you do an action on 'em.
balance: Researching harmonic nanite tech now provides a 0.1/sec passive regen rate boost to all nanites!
tweak: Metabolic Synthesis no longer has a built in-limiter, and can consume ALL your nutrition if you allow it to.
balance: Infective exo-locomotion shouldn't be completely useless anymore.
add: Nanite communication remotes, which can send text communications to certain nanite programs, are now actually buildable
/:cl:

@github-actions github-actions bot added Sprites TGUI-Changes Contains changes to TGUI. Make sure its up to date with TGUI 4.0 labels Jun 11, 2023
@Tsar-Salat
Copy link
Contributor

ports1

ports2

👀

@Absolucy
Copy link
Contributor Author

@Tsar-Salat fixed, sorry, that was an oversight

@Absolucy Absolucy changed the title Nyanitemania: more nanite programs and stuff! Nanitemania: more nanite programs and stuff! Jun 11, 2023
@JixS4v
Copy link
Contributor

JixS4v commented Jun 11, 2023

make nanites programmable in graphs like circuits :trollface:

@Isy232
Copy link
Contributor

Isy232 commented Jun 21, 2023

Very much like

@Pirill
Copy link
Contributor

Pirill commented Jul 4, 2023

Neat stuff!

@Absolucy Absolucy closed this Jul 26, 2023
@Tsar-Salat
Copy link
Contributor

Damn.

@DrDuckedGoose
Copy link
Contributor

Bro really said equivalent exchange #9393

@Absolucy
Copy link
Contributor Author

@DrDuckedGoose Nope. Just cleaning up old PRs that probably weren't ever going to see the light of day anyways ;)

@DrDuckedGoose
Copy link
Contributor

Fair enough 👍

@JixS4v
Copy link
Contributor

JixS4v commented Jul 26, 2023

nooooo the best PR

@Absolucy
Copy link
Contributor Author

Eh, I'll reopen this if people actually want it...

@Absolucy Absolucy reopened this Jul 27, 2023
@JixS4v
Copy link
Contributor

JixS4v commented Jul 28, 2023

Would be cool to add BCI-nanite interaction if you're up for it, like a wiremod component that can activate/deactivate/trigger nanites

@Absolucy
Copy link
Contributor Author

@JixS4v Unfortunately, I know next to nothing about circuits, much less BCIs, so that'd be a bit difficult...

@Rukofamicom
Copy link
Contributor

This seems good to me but unfortunately I lack the experience with nanites to leave a review in good faith.

Copy link
Member

@PowerfulBacon PowerfulBacon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this increase the maximum number of nanites that a body can have? I thought the limit was 200

@Rukofamicom
Copy link
Contributor

[23:31:05] Runtime in stack_trace.dm,7: design /datum/design/nanite_comm_remote with icon 'icons/obj/device.dmi' missing state 'nanite_comm_remote'
proc name: stack trace (/datum/proc/stack_trace)
src: design (/datum/asset/spritesheet/research_designs)
call stack:
design (/datum/asset/spritesheet/research_designs): stack trace("design /datum/design/nanite_co...")
design (/datum/asset/spritesheet/research_designs): create spritesheets()
design (/datum/asset/spritesheet/research_designs): register()
design (/datum/asset/spritesheet/research_designs): New()
load asset datum(/datum/asset/spritesheet/resea... (/datum/asset/spritesheet/research_designs))
Assets (/datum/controller/subsystem/assets): Initialize(846650)
Master (/datum/controller/master): Initialize(10, 0, 1)

Just wanted to highlight this is a legitimate failure

@Absolucy
Copy link
Contributor Author

Absolucy commented Sep 29, 2023

Does this increase the maximum number of nanites that a body can have? I thought the limit was 200

@PowerfulBacon Yes, the limit can be increased, albeit with tradeoffs (like reduced volume regen rates). Also, the default limit is 500, not 200.

@Rukofamicom I'll fix this up later when I'm more focused, dw.

Copy link
Member

@PowerfulBacon PowerfulBacon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do wiki changes and ping for merge. If any of these are overpowered or just annoying in game then they can be removed in the future

@Absolucy
Copy link
Contributor Author

Wiki update ready; will move to main page after merge

https://wiki.beestation13.com/view/User:Absolucy/Guide_to_Nanites

@PowerfulBacon PowerfulBacon added this pull request to the merge queue Oct 22, 2023
Merged via the queue into BeeStation:master with commit 9142010 Oct 22, 2023
8 checks passed
@Absolucy Absolucy deleted the more-nanite-programs branch October 22, 2023 19:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance/Rebalance Feature Needs Wiki Changes Sprites TGUI-Changes Contains changes to TGUI. Make sure its up to date with TGUI 4.0 Tweak
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants