diff --git a/code/game/objects/items/stacks/nanopaste.dm b/code/game/objects/items/stacks/nanopaste.dm
index 214d81f23e..63a0df6d32 100644
--- a/code/game/objects/items/stacks/nanopaste.dm
+++ b/code/game/objects/items/stacks/nanopaste.dm
@@ -6,6 +6,7 @@
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
@@ -14,12 +15,13 @@
return 0
if (istype(M,/mob/living/silicon/robot)) //Repairing cyborgs
var/mob/living/silicon/robot/R = M
- if (R.getBruteLoss() || R.getFireLoss() )
- R.adjustBruteLoss(-15)
- R.adjustFireLoss(-15)
- R.updatehealth()
- use(1)
- user.visible_message("\The [user] applied some [src] on [R]'s damaged areas.",\
+ if (R.getBruteLoss() || R.getFireLoss())
+ if(do_after(user,7 * toolspeed))
+ R.adjustBruteLoss(-15)
+ R.adjustFireLoss(-15)
+ R.updatehealth()
+ use(1)
+ user.visible_message("\The [user] applied some [src] on [R]'s damaged areas.",\
"You apply some [src] at [R]'s damaged areas.")
else
user << "All [R]'s systems are nominal."
@@ -28,19 +30,17 @@
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/S = H.get_organ(user.zone_sel.selecting)
- if(S.open >= 2)
- if (S && (S.robotic >= ORGAN_ROBOT))
- if(!S.get_damage())
- user << "Nothing to fix here."
- else if(can_use(1))
- user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
- S.heal_damage(15, 15, robo_repair = 1)
- H.updatehealth()
- use(1)
- user.visible_message("\The [user] applies some nanite paste on [user != M ? "[M]'s [S.name]" : "[S]"] with [src].",\
- "You apply some nanite paste on [user == M ? "your" : "[M]'s"] [S.name].")
- //VOREStation Add - External robolimb repair with nanopaste
- else if(S && (S.robotic >= ORGAN_ROBOT))
- if(S.robo_repair(5, "omni", "some damage", src, user))
+ if (S && (S.robotic >= ORGAN_ROBOT))
+ if(!S.get_damage())
+ user << "Nothing to fix here."
+ else if(can_use(1))
+ user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
+ if(S.open >= 2)
+ if(do_after(user,5 * toolspeed))
+ S.heal_damage(20, 20, robo_repair = 1)
+ else if(do_after(user,5 * toolspeed))
+ S.heal_damage(10,10, robo_repair =1)
+ H.updatehealth()
use(1)
- //VOREStation Add End
+ user.visible_message("\The [user] applies some nanite paste on [user != M ? "[M]'s [S.name]" : "[S]"] with [src].",\
+ "You apply some nanite paste on [user == M ? "your" : "[M]'s"] [S.name].")
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
index c2b6e4653a..2ad26a1fe9 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
@@ -206,6 +206,7 @@
new /obj/item/device/flash(src)
new /obj/item/weapon/reagent_containers/hypospray/vr(src) //VOREStation Edit - MKII Hypospray
new /obj/item/weapon/reagent_containers/glass/beaker/vial/vr(src) //VOREStation Edit - A vial for hypo
+ new /obj/item/weapon/reagent_containers/hypospray/vial(src)
new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src)
new /obj/item/clothing/shoes/boots/winter/medical(src)
new /obj/item/weapon/storage/box/freezer(src)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 06632781a1..370e6a94af 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -324,8 +324,6 @@
//repurposed proc. Now it combines get_id_name() and get_face_name() to determine a mob's name variable. Made into a seperate proc as it'll be useful elsewhere
/mob/living/carbon/human/proc/get_visible_name()
- if( mind && mind.changeling && mind.changeling.cloaked)
- return "Unknown"
if( wear_mask && (wear_mask.flags_inv&HIDEFACE) ) //Wearing a mask which hides our face, use id-name if possible
return get_id_name("Unknown")
if( head && (head.flags_inv&HIDEFACE) )
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index 963df38c3f..f53e7457f5 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -160,29 +160,16 @@ Please contact me on #coderbus IRC. ~Carn x
for(var/inner_entry in entry)
overlays += inner_entry
- update_transform()
-
-/mob/living/carbon/human/update_transform()
- // First, get the correct size.
- var/desired_scale = icon_scale
-
- desired_scale *= species.icon_scale
-
- for(var/datum/modifier/M in modifiers)
- if(!isnull(M.icon_scale_percent))
- desired_scale *= M.icon_scale_percent
-
- // Regular stuff again.
if(lying && !species.prone_icon) //Only rotate them if we're not drawing a specific icon for being prone.
var/matrix/M = matrix()
M.Turn(90)
- M.Scale(desired_scale)
+ M.Scale(size_multiplier) //VOREStation Edit. Look at Polaris pull #4267 to see things edited.
M.Translate(1,-6)
src.transform = M
else
var/matrix/M = matrix()
- M.Scale(desired_scale)
- M.Translate(0, 16*(desired_scale-1))
+ M.Scale(size_multiplier) //VOREStation Edit.
+ M.Translate(0, 16*(size_multiplier-1)) //VOREStation Edit.
src.transform = M
var/global/list/damage_icon_parts = list()
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 8c5a000918..23d762fc97 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -1047,7 +1047,7 @@ default behaviour is:
/mob/living/proc/equip_post_job()
return
-
+/* //VOREStation Edit. We have a better system in place.
/mob/living/update_transform()
// First, get the correct size.
var/desired_scale = icon_scale
@@ -1059,4 +1059,5 @@ default behaviour is:
var/matrix/M = matrix()
M.Scale(desired_scale)
M.Translate(0, 16*(desired_scale-1))
- src.transform = M
\ No newline at end of file
+ src.transform = M
+*/ //VOREStation Edit
diff --git a/code/modules/organs/organ_icon.dm b/code/modules/organs/organ_icon.dm
index 8ed15f4090..d45c9c2a09 100644
--- a/code/modules/organs/organ_icon.dm
+++ b/code/modules/organs/organ_icon.dm
@@ -71,7 +71,7 @@ var/global/list/limb_icon_cache = list()
overlays |= lip_icon
mob_icon.Blend(lip_icon, ICON_OVERLAY)
- //Head markings, duplicated (sadly) below.
+ //Head markings.
for(var/M in markings)
var/datum/sprite_accessory/marking/mark_style = markings[M]["datum"]
var/icon/mark_s = new/icon("icon" = mark_style.icon, "icon_state" = "[mark_style.icon_state]-[organ_tag]")
@@ -132,14 +132,15 @@ var/global/list/limb_icon_cache = list()
mob_icon = new /icon(species.get_icobase(owner, (status & ORGAN_MUTATED)), "[icon_name][gender ? "_[gender]" : ""]")
apply_colouration(mob_icon)
- //Body markings, does not include head, duplicated (sadly) above.
- for(var/M in markings)
- var/datum/sprite_accessory/marking/mark_style = markings[M]["datum"]
- var/icon/mark_s = new/icon("icon" = mark_style.icon, "icon_state" = "[mark_style.icon_state]-[organ_tag]")
- mark_s.Blend(markings[M]["color"], mark_style.color_blend_mode) // VOREStation edit
- overlays |= mark_s //So when it's not on your body, it has icons
- mob_icon.Blend(mark_s, ICON_OVERLAY) //So when it's on your body, it has icons
- icon_cache_key += "[M][markings[M]["color"]]"
+ //Body markings, actually does not include head this time. Done separately above.
+ if(!istype(src,/obj/item/organ/external/head))
+ for(var/M in markings)
+ var/datum/sprite_accessory/marking/mark_style = markings[M]["datum"]
+ var/icon/mark_s = new/icon("icon" = mark_style.icon, "icon_state" = "[mark_style.icon_state]-[organ_tag]")
+ mark_s.Blend(markings[M]["color"], mark_style.color_blend_mode) // VOREStation edit
+ overlays |= mark_s //So when it's not on your body, it has icons
+ mob_icon.Blend(mark_s, ICON_OVERLAY) //So when it's on your body, it has icons
+ icon_cache_key += "[M][markings[M]["color"]]"
if(body_hair && islist(h_col) && h_col.len >= 3)
var/cache_key = "[body_hair]-[icon_name]-[h_col[1]][h_col[2]][h_col[3]]"