Merge branch 'master' into upstream-merge-37530
This commit is contained in:
@@ -70,8 +70,8 @@
|
||||
"<span class='notice'>[holder] snaps back into your [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm.</span>",
|
||||
"<span class='italics'>You hear a short mechanical noise.</span>")
|
||||
|
||||
if(istype(holder, /obj/item/device/assembly/flash/armimplant))
|
||||
var/obj/item/device/assembly/flash/F = holder
|
||||
if(istype(holder, /obj/item/assembly/flash/armimplant))
|
||||
var/obj/item/assembly/flash/F = holder
|
||||
F.set_light(0)
|
||||
|
||||
owner.transferItemToLoc(holder, src, TRUE)
|
||||
@@ -89,8 +89,8 @@
|
||||
holder.slot_flags = null
|
||||
holder.materials = null
|
||||
|
||||
if(istype(holder, /obj/item/device/assembly/flash/armimplant))
|
||||
var/obj/item/device/assembly/flash/F = holder
|
||||
if(istype(holder, /obj/item/assembly/flash/armimplant))
|
||||
var/obj/item/assembly/flash/F = holder
|
||||
F.set_light(7)
|
||||
|
||||
var/obj/item/arm_item = owner.get_active_held_item()
|
||||
@@ -170,7 +170,7 @@
|
||||
name = "integrated toolset implant"
|
||||
desc = "A stripped-down version of the engineering cyborg toolset, designed to be installed on subject's arm. Contains all necessary tools."
|
||||
contents = newlist(/obj/item/screwdriver/cyborg, /obj/item/wrench/cyborg, /obj/item/weldingtool/largetank/cyborg,
|
||||
/obj/item/crowbar/cyborg, /obj/item/wirecutters/cyborg, /obj/item/device/multitool/cyborg)
|
||||
/obj/item/crowbar/cyborg, /obj/item/wirecutters/cyborg, /obj/item/multitool/cyborg)
|
||||
|
||||
/obj/item/organ/cyberimp/arm/toolset/l
|
||||
zone = BODY_ZONE_L_ARM
|
||||
@@ -196,12 +196,12 @@
|
||||
/obj/item/organ/cyberimp/arm/flash
|
||||
name = "integrated high-intensity photon projector" //Why not
|
||||
desc = "An integrated projector mounted onto a user's arm that is able to be used as a powerful flash."
|
||||
contents = newlist(/obj/item/device/assembly/flash/armimplant)
|
||||
contents = newlist(/obj/item/assembly/flash/armimplant)
|
||||
|
||||
/obj/item/organ/cyberimp/arm/flash/Initialize()
|
||||
. = ..()
|
||||
if(locate(/obj/item/device/assembly/flash/armimplant) in items_list)
|
||||
var/obj/item/device/assembly/flash/armimplant/F = locate(/obj/item/device/assembly/flash/armimplant) in items_list
|
||||
if(locate(/obj/item/assembly/flash/armimplant) in items_list)
|
||||
var/obj/item/assembly/flash/armimplant/F = locate(/obj/item/assembly/flash/armimplant) in items_list
|
||||
F.I = src
|
||||
|
||||
/obj/item/organ/cyberimp/arm/baton
|
||||
@@ -212,12 +212,12 @@
|
||||
/obj/item/organ/cyberimp/arm/combat
|
||||
name = "combat cybernetics implant"
|
||||
desc = "A powerful cybernetic implant that contains combat modules built into the user's arm."
|
||||
contents = newlist(/obj/item/melee/transforming/energy/blade/hardlight, /obj/item/gun/medbeam, /obj/item/borg/stun, /obj/item/device/assembly/flash/armimplant)
|
||||
contents = newlist(/obj/item/melee/transforming/energy/blade/hardlight, /obj/item/gun/medbeam, /obj/item/borg/stun, /obj/item/assembly/flash/armimplant)
|
||||
|
||||
/obj/item/organ/cyberimp/arm/combat/Initialize()
|
||||
. = ..()
|
||||
if(locate(/obj/item/device/assembly/flash/armimplant) in items_list)
|
||||
var/obj/item/device/assembly/flash/armimplant/F = locate(/obj/item/device/assembly/flash/armimplant) in items_list
|
||||
if(locate(/obj/item/assembly/flash/armimplant) in items_list)
|
||||
var/obj/item/assembly/flash/armimplant/F = locate(/obj/item/assembly/flash/armimplant) in items_list
|
||||
F.I = src
|
||||
|
||||
/obj/item/organ/cyberimp/arm/surgery
|
||||
|
||||
@@ -148,10 +148,10 @@
|
||||
desc = "A sleek, sturdy box."
|
||||
icon_state = "cyber_implants"
|
||||
var/list/boxed = list(
|
||||
/obj/item/device/autosurgeon/thermal_eyes,
|
||||
/obj/item/device/autosurgeon/xray_eyes,
|
||||
/obj/item/device/autosurgeon/anti_stun,
|
||||
/obj/item/device/autosurgeon/reviver)
|
||||
/obj/item/autosurgeon/thermal_eyes,
|
||||
/obj/item/autosurgeon/xray_eyes,
|
||||
/obj/item/autosurgeon/anti_stun,
|
||||
/obj/item/autosurgeon/reviver)
|
||||
var/amount = 5
|
||||
|
||||
/obj/item/storage/box/cyber_implants/PopulateContents()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#define INFINITE -1
|
||||
|
||||
/obj/item/device/autosurgeon
|
||||
/obj/item/autosurgeon
|
||||
name = "autosurgeon"
|
||||
desc = "A device that automatically inserts an implant or organ into the user without the hassle of extensive surgery. It has a slot to insert implants/organs and a screwdriver slot for removing accidentally added items."
|
||||
icon = 'icons/obj/device.dmi'
|
||||
@@ -12,17 +12,17 @@
|
||||
var/uses = INFINITE
|
||||
var/starting_organ
|
||||
|
||||
/obj/item/device/autosurgeon/Initialize(mapload)
|
||||
/obj/item/autosurgeon/Initialize(mapload)
|
||||
. = ..()
|
||||
if(starting_organ)
|
||||
insert_organ(new starting_organ(src))
|
||||
|
||||
/obj/item/device/autosurgeon/proc/insert_organ(var/obj/item/I)
|
||||
/obj/item/autosurgeon/proc/insert_organ(var/obj/item/I)
|
||||
storedorgan = I
|
||||
I.forceMove(src)
|
||||
name = "[initial(name)] ([storedorgan.name])"
|
||||
|
||||
/obj/item/device/autosurgeon/attack_self(mob/user)//when the object it used...
|
||||
/obj/item/autosurgeon/attack_self(mob/user)//when the object it used...
|
||||
if(!uses)
|
||||
to_chat(user, "<span class='warning'>[src] has already been used. The tools are dull and won't reactivate.</span>")
|
||||
return
|
||||
@@ -39,10 +39,10 @@
|
||||
if(!uses)
|
||||
desc = "[initial(desc)] Looks like it's been used up."
|
||||
|
||||
/obj/item/device/autosurgeon/attack_self_tk(mob/user)
|
||||
/obj/item/autosurgeon/attack_self_tk(mob/user)
|
||||
return //stops TK fuckery
|
||||
|
||||
/obj/item/device/autosurgeon/attackby(obj/item/I, mob/user, params)
|
||||
/obj/item/autosurgeon/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, organ_type))
|
||||
if(storedorgan)
|
||||
to_chat(user, "<span class='notice'>[src] already has an implant stored.</span>")
|
||||
@@ -57,7 +57,7 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/device/autosurgeon/screwdriver_act(mob/living/user, obj/item/I)
|
||||
/obj/item/autosurgeon/screwdriver_act(mob/living/user, obj/item/I)
|
||||
if(!storedorgan)
|
||||
to_chat(user, "<span class='notice'>There's no implant in [src] for you to remove.</span>")
|
||||
else
|
||||
@@ -75,20 +75,20 @@
|
||||
desc = "[initial(desc)] Looks like it's been used up."
|
||||
return TRUE
|
||||
|
||||
/obj/item/device/autosurgeon/cmo
|
||||
/obj/item/autosurgeon/cmo
|
||||
desc = "A single use autosurgeon that contains a medical heads-up display augment. A screwdriver can be used to remove it, but implants can't be placed back in."
|
||||
uses = 1
|
||||
starting_organ = /obj/item/organ/cyberimp/eyes/hud/medical
|
||||
|
||||
|
||||
/obj/item/device/autosurgeon/thermal_eyes
|
||||
/obj/item/autosurgeon/thermal_eyes
|
||||
starting_organ = /obj/item/organ/eyes/robotic/thermals
|
||||
|
||||
/obj/item/device/autosurgeon/xray_eyes
|
||||
/obj/item/autosurgeon/xray_eyes
|
||||
starting_organ = /obj/item/organ/eyes/robotic/xray
|
||||
|
||||
/obj/item/device/autosurgeon/anti_stun
|
||||
/obj/item/autosurgeon/anti_stun
|
||||
starting_organ = /obj/item/organ/cyberimp/brain/anti_stun
|
||||
|
||||
/obj/item/device/autosurgeon/reviver
|
||||
/obj/item/autosurgeon/reviver
|
||||
starting_organ = /obj/item/organ/cyberimp/chest/reviver
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
icon_state = "flashlight_eyes"
|
||||
flash_protect = 2
|
||||
tint = INFINITY
|
||||
var/obj/item/device/flashlight/eyelight/eye
|
||||
var/obj/item/flashlight/eyelight/eye
|
||||
|
||||
/obj/item/organ/eyes/robotic/flashlight/emp_act(severity)
|
||||
return
|
||||
@@ -129,7 +129,7 @@
|
||||
/obj/item/organ/eyes/robotic/flashlight/Insert(mob/living/carbon/M, special = FALSE, drop_if_replaced = FALSE)
|
||||
..()
|
||||
if(!eye)
|
||||
eye = new /obj/item/device/flashlight/eyelight()
|
||||
eye = new /obj/item/flashlight/eyelight()
|
||||
eye.on = TRUE
|
||||
eye.forceMove(M)
|
||||
eye.update_brightness(M)
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
C.reagents.metabolize(C, can_overdose=TRUE)
|
||||
|
||||
if(damage > 10 && prob(damage/3))//the higher the damage the higher the probability
|
||||
to_chat(C, "<span class='notice'>You feel [pick("nauseous", "dull pain in your lower body", "confused")].</span>")
|
||||
to_chat(C, "<span class='notice'>You feel [pick("nauseated", "a dull pain in your lower body", "confused")].</span>")
|
||||
|
||||
if(damage > maxHealth)//cap liver damage
|
||||
damage = maxHealth
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
/obj/item/organ/liver/plasmaman
|
||||
name = "reagent processing crystal"
|
||||
icon_state = "pliver"
|
||||
icon_state = "liver-p"
|
||||
desc = "A large crystal that is somehow capable of metabolizing chemicals, these are found in plasmamen."
|
||||
|
||||
/obj/item/organ/liver/cybernetic
|
||||
|
||||
@@ -236,13 +236,13 @@
|
||||
|
||||
var/bz_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/bz][MOLES])
|
||||
if(bz_pp > BZ_trip_balls_min)
|
||||
H.hallucination += 20
|
||||
H.hallucination += 10
|
||||
H.reagents.add_reagent("bz_metabolites",5)
|
||||
if(prob(33))
|
||||
H.adjustBrainLoss(3, 150)
|
||||
|
||||
else if(bz_pp > 0.01)
|
||||
H.hallucination += 5//Removed at 2 per tick so this will slowly build up
|
||||
H.hallucination += 5
|
||||
H.reagents.add_reagent("bz_metabolites",1)
|
||||
|
||||
|
||||
|
||||
@@ -64,5 +64,5 @@
|
||||
|
||||
/obj/item/organ/stomach/plasmaman
|
||||
name = "digestive crystal"
|
||||
icon_state = "pstomach"
|
||||
icon_state = "stomach-p"
|
||||
desc = "A strange crystal that is responsible for metabolizing the unseen energy force that feeds plasmamen."
|
||||
|
||||
Reference in New Issue
Block a user