mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 08:08:49 +01:00
## About The Pull Request Re-adds nanites, balance changes pending. No plans to do mapping/role changes Based on https://github.com/tgstation/tgstation/pull/60473 with a lot of work on modularizing ## Why It's Good For The Game Nanites are a rather interesting system, my hope is to port it in a more balanced format. ## Proof Of Testing Works, thoroughly tested ## Changelog 🆑 add: Re-adds nanites /🆑 TODO: - [x] Add techweb linking for nanites - [x] Prevent stacking of armor mods (fortitude + dna vault + nanite armor) - [x] Rebalance damage regeneration programs - [x] Remove force speak program by @StrangeWeirdKitten request - [x] Convert UI's to TSX - [x] Fix Nanite program uhb and programmer overlays not working --------- Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>
48 lines
1.5 KiB
Plaintext
48 lines
1.5 KiB
Plaintext
/obj/item/nanite_scanner
|
|
name = "nanite scanner"
|
|
icon = 'modular_zubbers/icons/obj/devices/nanite_devices.dmi'
|
|
icon_state = "nanite_scanner"
|
|
inhand_icon_state = "electronic"
|
|
worn_icon_state = "electronic"
|
|
lefthand_file = 'icons/mob/inhands/items/devices_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/items/devices_righthand.dmi'
|
|
desc = "A hand-held body scanner able to detect nanites and their programming."
|
|
obj_flags = CONDUCTS_ELECTRICITY
|
|
item_flags = NOBLUDGEON
|
|
slot_flags = ITEM_SLOT_BELT
|
|
throwforce = 3
|
|
w_class = WEIGHT_CLASS_TINY
|
|
throw_speed = 3
|
|
throw_range = 7
|
|
custom_materials = list(/datum/material/iron=200)
|
|
|
|
/obj/item/nanite_scanner/attack(mob/living/M, mob/living/carbon/human/user)
|
|
user.visible_message(
|
|
span_notice("[user] analyzes [M]'s nanites."),
|
|
span_notice("You analyze [M]'s nanites.")
|
|
)
|
|
|
|
add_fingerprint(user)
|
|
|
|
var/response = SEND_SIGNAL(M, COMSIG_NANITE_SCAN, user, TRUE)
|
|
if(!response)
|
|
to_chat(user, span_info("No nanites detected in the subject."))
|
|
|
|
/obj/item/storage/box/disks_nanite
|
|
name = "nanite program disks box"
|
|
illustration = "disk_kit"
|
|
|
|
/obj/item/storage/box/disks_nanite/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/disk/nanite_program(src)
|
|
|
|
/obj/item/nanite_injector
|
|
name = "nanite injector"
|
|
desc = "Injects nanites into the user."
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
icon = 'modular_zubbers/icons/obj/devices/nanite_devices.dmi'
|
|
icon_state = "nanite_remote"
|
|
|
|
/obj/item/nanite_injector/attack_self(mob/user)
|
|
user.AddComponent(/datum/component/nanites, 150)
|