mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-26 13:39:16 +01:00
Polaris sync
This commit is contained in:
@@ -11,9 +11,6 @@
|
||||
/obj/item/organ/internal/eyes/robotize()
|
||||
..()
|
||||
name = "optical sensor"
|
||||
icon = 'icons/obj/robot_component.dmi'
|
||||
icon_state = "camera"
|
||||
dead_icon = "camera_broken"
|
||||
verbs |= /obj/item/organ/internal/eyes/proc/change_eye_color
|
||||
|
||||
/obj/item/organ/internal/eyes/robot
|
||||
|
||||
@@ -33,4 +33,18 @@
|
||||
if(istype(E)) E.internal_organs -= src
|
||||
..()
|
||||
|
||||
/obj/item/organ/internal/robotize()
|
||||
..()
|
||||
name = "prosthetic [initial(name)]"
|
||||
icon_state = "[initial(icon_state)]_prosthetic"
|
||||
if(dead_icon)
|
||||
dead_icon = "[initial(dead_icon)]_prosthetic"
|
||||
|
||||
/obj/item/organ/internal/mechassist()
|
||||
..()
|
||||
name = "assisted [initial(name)]"
|
||||
icon_state = "[initial(icon_state)]_assisted"
|
||||
if(dead_icon)
|
||||
dead_icon = "[initial(dead_icon)]_assisted"
|
||||
|
||||
// Brain is defined in brain.dm
|
||||
@@ -56,3 +56,7 @@
|
||||
if(owner && owner.stat != DEAD && !is_broken())
|
||||
backup_time = world.time
|
||||
if(owner.mind) backup = owner.mind
|
||||
|
||||
/obj/item/organ/internal/stack/vox/stack
|
||||
name = "vox cortical stack"
|
||||
icon_state = "cortical_stack"
|
||||
@@ -266,7 +266,7 @@ var/list/organ_cache = list()
|
||||
robotize()
|
||||
|
||||
/obj/item/organ/emp_act(severity)
|
||||
if(!(robotic >= ORGAN_ROBOT))
|
||||
if(!(robotic >= ORGAN_ASSISTED))
|
||||
return
|
||||
switch (severity)
|
||||
if (1)
|
||||
|
||||
@@ -140,17 +140,17 @@
|
||||
/obj/item/organ/external/attackby(obj/item/weapon/W as obj, mob/living/user as mob)
|
||||
switch(stage)
|
||||
if(0)
|
||||
if(istype(W,/obj/item/weapon/scalpel))
|
||||
if(istype(W,/obj/item/weapon/surgical/scalpel))
|
||||
user.visible_message("<span class='danger'><b>[user]</b> cuts [src] open with [W]!</span>")
|
||||
stage++
|
||||
return
|
||||
if(1)
|
||||
if(istype(W,/obj/item/weapon/retractor))
|
||||
if(istype(W,/obj/item/weapon/surgical/retractor))
|
||||
user.visible_message("<span class='danger'><b>[user]</b> cracks [src] open like an egg with [W]!</span>")
|
||||
stage++
|
||||
return
|
||||
if(2)
|
||||
if(istype(W,/obj/item/weapon/hemostat))
|
||||
if(istype(W,/obj/item/weapon/surgical/hemostat))
|
||||
if(contents.len)
|
||||
var/obj/item/removing = pick(contents)
|
||||
removing.loc = get_turf(user.loc)
|
||||
@@ -257,8 +257,9 @@
|
||||
I.take_damage(brute / 2)
|
||||
brute -= brute / 2
|
||||
|
||||
if(status & ORGAN_BROKEN && prob(40) && brute)
|
||||
if(!((species.flags & NO_PAIN) || (robotic >= ORGAN_ROBOT)))
|
||||
if(status & ORGAN_BROKEN && brute)
|
||||
jostle_bone(brute)
|
||||
if(can_feel_pain() && prob(40))
|
||||
owner.emote("scream") //getting hit on broken hand hurts
|
||||
if(used_weapon)
|
||||
add_autopsy_data("[used_weapon]", brute + burn)
|
||||
@@ -1002,7 +1003,8 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
"<span class='danger'>You hear a loud cracking sound coming from \the [owner].</span>",\
|
||||
"<span class='danger'>Something feels like it shattered in your [name]!</span>",\
|
||||
"<span class='danger'>You hear a sickening crack.</span>")
|
||||
if(!(species.flags & NO_PAIN))
|
||||
jostle_bone()
|
||||
if(can_feel_pain())
|
||||
owner.emote("scream")
|
||||
|
||||
playsound(src.loc, "fracture", 10, 1, -2)
|
||||
@@ -1207,6 +1209,16 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
"<span class='danger'>You hear a sickening sizzle.</span>")
|
||||
disfigured = 1
|
||||
|
||||
/obj/item/organ/external/proc/jostle_bone(force)
|
||||
if(!(status & ORGAN_BROKEN)) //intact bones stay still
|
||||
return
|
||||
if(brute_dam + force < min_broken_damage/5) //no papercuts moving bones
|
||||
return
|
||||
if(internal_organs.len && prob(brute_dam + force))
|
||||
owner.custom_pain("A piece of bone in your [encased ? encased : name] moves painfully!", 50)
|
||||
var/obj/item/organ/I = pick(internal_organs)
|
||||
I.take_damage(rand(3,5))
|
||||
|
||||
/obj/item/organ/external/proc/get_wounds_desc()
|
||||
. = ""
|
||||
if(status & ORGAN_DESTROYED && !is_stump())
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
/obj/item/organ/external/head/vox
|
||||
eye_icon = "vox_eyes_s"
|
||||
|
||||
//vox got different organs within. This will also help with regular surgeons knowing the organs within an alien as alien as vox.
|
||||
/obj/item/organ/internal/brain/vox
|
||||
icon_state = "brain_prosthetic"
|
||||
dead_icon = null
|
||||
|
||||
/obj/item/organ/internal/heart/vox
|
||||
icon_state = "vox_heart"
|
||||
dead_icon = null
|
||||
parent_organ = BP_GROIN
|
||||
|
||||
/obj/item/organ/internal/lungs/vox
|
||||
name = "air capillary sack" //Like birds, Vox absorb gas via air capillaries.
|
||||
icon_state = "vox_lung"
|
||||
|
||||
/obj/item/organ/internal/kidneys/vox
|
||||
name = "filtration bladder"
|
||||
icon_state = "lungs" //wow are vox kidneys fat.
|
||||
color = "#99ccff"
|
||||
parent_organ = BP_TORSO
|
||||
|
||||
/obj/item/organ/internal/liver/vox
|
||||
name = "waste tract"
|
||||
parent_organ = BP_TORSO
|
||||
color = "#0033cc"
|
||||
|
||||
/obj/item/organ/external/groin/vox //vox have an extended ribcage for extra protection.
|
||||
encased = "lower ribcage"
|
||||
Reference in New Issue
Block a user