mirror of
https://github.com/Citadel-Station-13/Citadel-Station-13-RP.git
synced 2025-12-09 20:43:35 +00:00
* dme and dmb * Heeeere we gooo * fasease * Continued. * AAAAAAAAAAAAAAAAAAAAAAAA * Brain going numb * agh * The suffering will be worth it... right? * Going blank... * Am I done? * AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA * Fixes * Should be everything I care about right now.
56 lines
2.4 KiB
Plaintext
56 lines
2.4 KiB
Plaintext
/obj/item/stack/nanopaste
|
|
name = "nanopaste"
|
|
singular_name = "nanite swarm"
|
|
desc = "A tube of paste containing swarms of repair nanites. Very effective in repairing robotic machinery."
|
|
icon = 'icons/obj/stacks.dmi'
|
|
icon_state = "nanopaste"
|
|
origin_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3)
|
|
amount = 10
|
|
toolspeed = 0.75 //Used in surgery, shouldn't be the same speed as a normal screwdriver on mechanical organ repair.
|
|
w_class = ITEMSIZE_SMALL
|
|
no_variants = FALSE
|
|
var/restoration_external = 5
|
|
var/restoration_internal = 20
|
|
|
|
|
|
/obj/item/stack/nanopaste/attack(mob/living/M as mob, mob/user as mob)
|
|
if (!istype(M) || !istype(user))
|
|
return 0
|
|
if (istype(M,/mob/living/silicon/robot)) //Repairing cyborgs
|
|
var/mob/living/silicon/robot/R = M
|
|
if (R.getBruteLoss() || R.getFireLoss())
|
|
if(do_after(user,7 * toolspeed))
|
|
R.adjustBruteLoss(-15)
|
|
R.adjustFireLoss(-15)
|
|
R.updatehealth()
|
|
use(1)
|
|
user.visible_message("<span class='notice'>\The [user] applied some [src] on [R]'s damaged areas.</span>",\
|
|
"<span class='notice'>You apply some [src] at [R]'s damaged areas.</span>")
|
|
else
|
|
to_chat(user, "<span class='notice'>All [R]'s systems are nominal.</span>")
|
|
|
|
if (istype(M,/mob/living/carbon/human)) //Repairing robolimbs
|
|
var/mob/living/carbon/human/H = M
|
|
var/obj/item/organ/external/S = H.get_organ(user.zone_sel.selecting)
|
|
if (S && (S.robotic >= ORGAN_ROBOT))
|
|
if(!S.get_damage())
|
|
to_chat(user, "<span class='notice'>Nothing to fix here.</span>")
|
|
else if(can_use(1))
|
|
user.setClickCooldown(user.get_attack_speed(src))
|
|
if(S.open >= 2)
|
|
if(do_after(user,5 * toolspeed))
|
|
S.heal_damage(restoration_internal, restoration_internal, robo_repair = 1)
|
|
else if(do_after(user,5 * toolspeed))
|
|
S.heal_damage(restoration_external,restoration_external, robo_repair =1)
|
|
H.updatehealth()
|
|
use(1)
|
|
user.visible_message("<span class='notice'>\The [user] applies some nanite paste on [user != M ? "[M]'s [S.name]" : "[S]"] with [src].</span>",\
|
|
"<span class='notice'>You apply some nanite paste on [user == M ? "your" : "[M]'s"] [S.name].</span>")
|
|
|
|
/obj/item/stack/nanopaste/advanced
|
|
name = "advanced nanopaste"
|
|
singular_name = "advanced nanite swarm"
|
|
desc = "A tube of paste containing swarms of repair nanites. Very effective in repairing robotic machinery. This swarm is capable of repairing more effectively."
|
|
icon_state = "adv_nanopaste"
|
|
restoration_external = 10
|