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

Nanite active program conversion, rebalancing & additions #11827

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

PowerfulBacon
Copy link
Member

@PowerfulBacon PowerfulBacon commented Nov 2, 2024

About The Pull Request

  • Simplifies trigger nanites so that they are easier to understand in the UI
  • Adds active nanites, which are triggered but only activate for a set duration before needing to cooldown.
  • Simplified nanite code, so that the front-end UI has shared components.
  • Contintuous sensor nanites will now be able to send a signal when their condition becomes unmet.
Program (New) Duration /s Cooldown /s Changes/Notes
Basic Healing 40 120 Heals 20 damage per-activation
Advanced Healing Removed
Mindshield Nanites Removed (Unused)
Temperature Regulation 120 60
Brain Heal 20 120 Heals 20 brain damage per-activation
Defib - - Completely expends the nanites in the host's body
Dermal Hardening 20 120 Resistance increased to 35 for bullet, reduced to 15 for melee, makes the skin black
Dermal Refractive Surface 20 120 Resistance increased to 35, makes the skin blue
Coagulation 60 60 Prevents bleeding the same way syndicate nanites do
Conductive 20 120
Armblade 30 30
Nanite Tomb 60 120 Prevents hard-crit and death, but not soft-crit
Bleeding Sensor Triggered when the host is bleeding
Pressure Sensor Allows sensors to detect certain pressures in the environment
Nerve Support 30 120 Makes the user completely immune to stuns.
Mechanical Repair Removed, nanites are for organics and exist in the blood/cells.
Blood Purification 20 120 Heals 20 toxin damage and removes up to 20 of all reagents in the body.

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

image

image

image

image

image

image

image

image

image

image

image

Forced speech sensor

image

image

Changelog

🆑
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:

Copy link

github-actions bot commented Nov 2, 2024

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot added Merge Conflict Mapping DMM Change SQL SQL Change Sprites Administration Tools TGUI-Changes Contains changes to TGUI. Make sure its up to date with TGUI 4.0 labels Nov 2, 2024
@MarkusLarsson421
Copy link
Contributor

I have a hunch that not all those 210 file changes are intended.

@PowerfulBacon
Copy link
Member Author

Yea, merging the trait changes into my older branch broke it. Its an easy fix

Update trait_tests.dm

Update trait_tests.dm

Deletes properties

Fixes some bugs with traits and heaps

Update trait_tests.dm

Get heap values

Fixes a bug caused by a byond issue

Update _traits.dm

priority trait value test

Adds more trait tests

Adds support for trait not in

Update _traits.dm

Update _traits.dm

Update _traits.dm

Update _traits.dm

Update _traits.dm

Fixes remove in and remove not in

Mutant bodyparts

Update _traits.dm

Update trait_tests.dm

Update _traits.dm

Update _traits.dm

Absolute path conversion

Co-Authored-By: EvilDragonfiend <[email protected]>

Adds the traits to the trait declaration file

Update heap.dm

Heavy optimisations

Update heap.dm

Update heap.dm

Further performance improvements

Fixes traits for non string sources

Update _traits.dm

Update _traits.dm

Spelling mistake fix

Removes linting for the static control flow term

Fixes some linting issues

Update heap.dm

Adds open dream trait support

Update _traits.dm

Update _traits.dm

Update _traits.dm

Update heap.dm

Update _traits.dm

Update _traits.dm

Tries to fix opendream

Update _traits.dm

Update _traits.dm

Update _traits.dm

Update _traits.dm

Update _traits.dm

Update _traits.dm

Update _traits.dm

Update _traits.dm

Update _traits.dm

Update _traits.dm

Seperates value traits and normal traits to appease OD

Update trait_tests.dm

Update _traits.dm

Fixes a mix up with variable naming

Cleans up the code
@PowerfulBacon PowerfulBacon marked this pull request as ready for review November 2, 2024 15:09
@Rukofamicom Rukofamicom added Balance Approved The balance of this PR has been approved and removed Mapping DMM Change SQL SQL Change Feature Sprites Tools Code Improvement TGUI-Changes Contains changes to TGUI. Make sure its up to date with TGUI 4.0 labels Nov 4, 2024
@Rukofamicom
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance Approved The balance of this PR has been approved Balance/Rebalance Removal Test Merged This PR is currently in rotation Tweak
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants