mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-27 14:07:51 +01:00
Merge remote-tracking branch 'upstream/master' into IPC-buffs
This commit is contained in:
@@ -62,7 +62,7 @@
|
||||
name = "X-ray implant"
|
||||
desc = "These cybernetic eye implants will give you X-ray vision. Blinking is futile."
|
||||
implant_color = "#000000"
|
||||
origin_tech = "materials=4;programming=4;biotech=6;magnets=4"
|
||||
origin_tech = "materials=4;programming=4;biotech=7;magnets=4"
|
||||
vision_flags = SEE_MOBS | SEE_OBJS | SEE_TURFS
|
||||
see_in_dark = 8
|
||||
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
|
||||
/mob/living/carbon/human/get_leg_ignore()
|
||||
|
||||
if(flying == 1)
|
||||
if(flying || floating)
|
||||
return TRUE
|
||||
|
||||
var/obj/item/tank/jetpack/J
|
||||
|
||||
@@ -107,7 +107,10 @@ GLOBAL_LIST_EMPTY(limb_icon_cache)
|
||||
add_overlay(eyes_icon)
|
||||
|
||||
if(owner.lip_style && (LIPS in dna.species.species_traits))
|
||||
add_overlay(mutable_appearance('icons/mob/human_face.dmi', "lips_[owner.lip_style]_s")) //Hefty icon not necessary.
|
||||
var/icon/lips_icon = new('icons/mob/human_face.dmi', "lips_[owner.lip_style]_s")
|
||||
lips_icon.Blend(owner.lip_color, ICON_MULTIPLY)
|
||||
mob_icon.Blend(lips_icon, ICON_OVERLAY)
|
||||
add_overlay(lips_icon)
|
||||
|
||||
var/head_marking = owner.m_styles["head"]
|
||||
if(head_marking)
|
||||
|
||||
@@ -3,18 +3,6 @@ GLOBAL_LIST_EMPTY(chargen_robolimbs)
|
||||
GLOBAL_LIST_EMPTY(selectable_robolimbs)
|
||||
GLOBAL_DATUM(basic_robolimb, /datum/robolimb)
|
||||
|
||||
/proc/populate_robolimb_list()
|
||||
GLOB.basic_robolimb = new()
|
||||
for(var/limb_type in typesof(/datum/robolimb))
|
||||
var/datum/robolimb/R = new limb_type()
|
||||
GLOB.all_robolimbs[R.company] = R
|
||||
if(!R.unavailable_at_chargen)
|
||||
if(R != "head" && R != "chest" && R != "groin" ) //Part of the method that ensures only IPCs can access head, chest and groin prosthetics.
|
||||
if(R.has_subtypes) //Ensures solos get added to the list as well be incorporating has_subtypes == 1 and has_subtypes == 2.
|
||||
GLOB.chargen_robolimbs[R.company] = R //List only main brands and solo parts.
|
||||
if(R.selectable)
|
||||
GLOB.selectable_robolimbs[R.company] = R
|
||||
|
||||
/datum/robolimb
|
||||
var/company = "Unbranded" // Shown when selecting the limb.
|
||||
var/desc = "A generic unbranded robotic prosthesis." // Seen when examining a limb.
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
//Procedures in this file: Unsealing a Rig.
|
||||
|
||||
/datum/surgery/rigsuit
|
||||
name = "Rig Unsealing"
|
||||
steps = list(/datum/surgery_step/rigsuit)
|
||||
possible_locs = list("chest")
|
||||
|
||||
/datum/surgery/rigsuit/can_start(mob/user, mob/living/carbon/target)
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/H = target
|
||||
var/obj/item/backitem = H.get_item_by_slot(slot_back)
|
||||
if(istype(backitem,/obj/item/rig)) //Check if we have a rig to operate on
|
||||
if(backitem.flags&NODROP) //Check if the rig is sealed, if not, we don't need to operate
|
||||
return 1
|
||||
return 0
|
||||
|
||||
//Bay12 removal
|
||||
/datum/surgery_step/rigsuit
|
||||
name="Cut Seals"
|
||||
allowed_tools = list(
|
||||
/obj/item/weldingtool = 80,
|
||||
/obj/item/circular_saw = 60,
|
||||
/obj/item/gun/energy/plasmacutter = 100
|
||||
)
|
||||
|
||||
can_infect = 0
|
||||
blood_level = 0
|
||||
|
||||
time = 50
|
||||
|
||||
/datum/surgery_step/hardsuit/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!istype(target))
|
||||
return 0
|
||||
if(tool.tool_behaviour == TOOL_WELDER)
|
||||
if(!tool.tool_use_check(user, 0))
|
||||
return
|
||||
if(!tool.use(1))
|
||||
return
|
||||
return (target_zone == "chest") && istype(target.back, /obj/item/rig) && (target.back.flags&NODROP)
|
||||
|
||||
/datum/surgery_step/rigsuit/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
user.visible_message("[user] starts cutting through the support systems of [target]'s [target.back] with \the [tool]." , \
|
||||
"You start cutting through the support systems of [target]'s [target.back] with \the [tool].")
|
||||
..()
|
||||
|
||||
/datum/surgery_step/rigsuit/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
|
||||
var/obj/item/rig/rig = target.back
|
||||
if(!istype(rig))
|
||||
return
|
||||
rig.reset()
|
||||
user.visible_message("<span class='notice'>[user] has cut through the support systems of [target]'s [rig] with \the [tool].</span>", \
|
||||
"<span class='notice'>You have cut through the support systems of [target]'s [rig] with \the [tool].</span>")
|
||||
return 1
|
||||
|
||||
/datum/surgery_step/rigsuit/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
user.visible_message("<span class='danger'>[user]'s [tool] can't quite seem to get through the metal...</span>", \
|
||||
"<span class='danger'>Your [tool] can't quite seem to get through the metal. It's weakening, though - try again.</span>")
|
||||
return 0
|
||||
@@ -111,7 +111,7 @@
|
||||
prob_chance *= get_location_modifier(target)
|
||||
|
||||
|
||||
if(!ispath(surgery.steps[surgery.status], /datum/surgery_step/robotics) && !ispath(surgery.steps[surgery.status], /datum/surgery_step/rigsuit))//Repairing robotic limbs doesn't hurt, and neither does cutting someone out of a rig
|
||||
if(!ispath(surgery.steps[surgery.status], /datum/surgery_step/robotics))//Repairing robotic limbs doesn't hurt, and neither does cutting someone out of a rig
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/H = target //typecast to human
|
||||
prob_chance *= get_pain_modifier(H)//operating on conscious people is hard.
|
||||
@@ -196,7 +196,7 @@
|
||||
if(AStar(E.loc, M.loc, /turf/proc/Distance, 2, simulated_only = 0))
|
||||
germs++
|
||||
|
||||
if(tool.blood_DNA && tool.blood_DNA.len) //germs from blood-stained tools
|
||||
if(tool && tool.blood_DNA && tool.blood_DNA.len) //germs from blood-stained tools
|
||||
germs += 30
|
||||
|
||||
if(E.internal_organs.len)
|
||||
|
||||
Reference in New Issue
Block a user