Merge pull request #7870 from Fox-McCloud/tweaks/fixes/organ/stuff

Various little fixes/refactors
This commit is contained in:
Crazy Lemon
2017-08-01 21:41:13 -07:00
committed by GitHub
11 changed files with 97 additions and 126 deletions
@@ -6,8 +6,8 @@
status = ORGAN_ROBOT
var/implant_color = "#FFFFFF"
var/implant_overlay
tough = 1 //not easyly broken by combat damage
sterile = 1 //not very germy
tough = TRUE // Immune to damage
sterile = TRUE // Doesn't accumulate germs
robotic = 2 // these are cybernetic after all
/obj/item/organ/internal/cyberimp/New(var/mob/M = null)
+3 -3
View File
@@ -29,8 +29,8 @@ var/list/organ_cache = list()
var/freezer_update_period = 100
var/is_in_freezer = 0
var/sterile = 0 //can the organ be infected by germs?
var/tough = 0 //can organ be easily damaged?
var/sterile = FALSE //can the organ be infected by germs?
var/tough = TRUE //can organ be easily damaged?
/obj/item/organ/Destroy()
@@ -95,7 +95,7 @@ var/list/organ_cache = list()
return
//Process infections
if((status & ORGAN_ROBOT) || sterile ||(owner && (IS_PLANT in owner.species.species_traits)))
if((status & ORGAN_ROBOT) || sterile || (owner && (IS_PLANT in owner.species.species_traits)))
germ_level = 0
return
@@ -97,25 +97,24 @@
switch(open)
if(0)
if(istype(W,/obj/item/weapon/scalpel))
spread_germs_to_organ(src,user, W)
spread_germs_to_organ(src, user, W)
user.visible_message("<span class='danger'><b>[user]</b> cuts [src] open with [W]!</span>")
open++
return
if(1)
if(istype(W,/obj/item/weapon/retractor))
spread_germs_to_organ(src,user, W)
spread_germs_to_organ(src, user, W)
user.visible_message("<span class='danger'><b>[user]</b> cracks [src] open like an egg with [W]!</span>")
open++
return
if(2)
if(istype(W,/obj/item/weapon/hemostat))
spread_germs_to_organ(src,user, W)
spread_germs_to_organ(src, user, W)
if(contents.len)
var/obj/item/removing = pick(contents)
var/obj/item/organ/internal/O = removing
if(istype(O))
if(!O.sterile)
spread_germs_to_organ(O,user, W) // This wouldn't be any cleaner than the actual surgery
spread_germs_to_organ(O, user, W) // This wouldn't be any cleaner than the actual surgery
user.put_in_hands(removing)
user.visible_message("<span class='danger'><b>[user]</b> extracts [removing] from [src] with [W]!</span>")
else
@@ -192,9 +191,8 @@
// Damage an internal organ
if(internal_organs && internal_organs.len)
var/obj/item/organ/internal/I = pick(internal_organs)
if(!I.tough)//mostly for cybernetic organs
I.take_damage(brute / 2)
brute -= brute / 2
I.take_damage(brute * 0.5)
brute -= brute * 0.5
if(status & ORGAN_BROKEN && prob(40) && brute)
owner.emote("scream") //getting hit on broken hand hurts
@@ -591,7 +589,7 @@ Note that amputating the affected organ does in fact remove the infection from t
burn_mod = 0.66
dismember_at_max_damage = TRUE
else
tough = 1
tough = TRUE
// Robot parts also lack bones
// This is so surgery isn't kaput, let's see how this does
encased = null
+2 -12
View File
@@ -2,28 +2,18 @@
origin_tech = "biotech=5"
icon_state = "xgibmid2"
var/list/alien_powers = list()
tough = 1
sterile = 1
///obj/item/organ/internal/xenos/New()
// for(var/A in alien_powers)
// if(ispath(A))
// alien_powers -= A
// alien_powers += new A(src)
// ..()
tough = TRUE
sterile = TRUE
///can be changed if xenos get an update..
/obj/item/organ/internal/xenos/insert(mob/living/carbon/M, special = 0)
..()
for(var/P in alien_powers)
M.verbs |= P
//M.verbs |= alien_powers.Copy()
/obj/item/organ/internal/xenos/remove(mob/living/carbon/M, special = 0)
for(var/P in alien_powers)
M.verbs -= P
//M.verbs -= alien_powers.Copy()
. = ..()
/obj/item/organ/internal/xenos/prepare_eat()