Box of Things for Events and the Future MK1 (#5281)

* Lots of Stuff for Events

* Adds changelog.

* Review & QOL
This commit is contained in:
Mechoid
2018-05-25 16:26:31 -07:00
committed by Atermonera
parent f1b00c9e26
commit 917c7b71a5
26 changed files with 595 additions and 12 deletions
+12
View File
@@ -146,3 +146,15 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
desc = "A tightly furled roll of paper, covered with indecipherable runes."
icon = 'icons/obj/wizard.dmi'
icon_state = "scroll"
/obj/item/organ/internal/brain/grey
desc = "A piece of juicy meat found in a person's head. This one is strange."
icon_state = "brain_grey"
/obj/item/organ/internal/brain/grey/colormatch/New()
..()
var/mob/living/carbon/human/H = null
spawn(15)
if(ishuman(owner))
H = owner
color = H.species.blood_color
+11
View File
@@ -21,6 +21,17 @@
..()
robotize()
/obj/item/organ/internal/eyes/grey
icon_state = "eyes_grey"
/obj/item/organ/internal/eyes/grey/colormatch/New()
..()
var/mob/living/carbon/human/H = null
spawn(15)
if(ishuman(owner))
H = owner
color = H.species.blood_color
/obj/item/organ/internal/eyes/proc/change_eye_color()
set name = "Change Eye Color"
set desc = "Changes your robotic eye color instantly."
+12
View File
@@ -20,3 +20,15 @@
if(prob(1))
owner.custom_pain("A stabbing pain rolls through your chest!",1)
owner.apply_damage(damage = 25, damagetype = HALLOSS, def_zone = parent_organ)
/obj/item/organ/internal/heart/grey
icon_state = "heart_grey-on"
dead_icon = "heart_grey-off"
/obj/item/organ/internal/heart/grey/colormatch/New()
..()
var/mob/living/carbon/human/H = null
spawn(15)
if(ishuman(owner))
H = owner
color = H.species.blood_color
+11
View File
@@ -35,3 +35,14 @@
owner.custom_pain("You feel extremely tired, like you can't move!",1)
owner.m_intent = "walk"
owner.hud_used.move_intent.icon_state = "walking"
/obj/item/organ/internal/kidneys/grey
icon_state = "kidneys_grey"
/obj/item/organ/internal/kidneys/grey/colormatch/New()
..()
var/mob/living/carbon/human/H = null
spawn(15)
if(ishuman(owner))
H = owner
color = H.species.blood_color
+11
View File
@@ -57,3 +57,14 @@
if(prob(1) && owner.getToxLoss() < owner.getMaxHealth()*0.3)
//owner << "" //Toxins provide their own messages for pain
owner.adjustToxLoss(5) //Not realistic to PA but there are basically no 'real' liver infections
/obj/item/organ/internal/liver/grey
icon_state = "liver_grey"
/obj/item/organ/internal/liver/grey/colormatch/New()
..()
var/mob/living/carbon/human/H = null
spawn(15)
if(ishuman(owner))
H = owner
color = H.species.blood_color
+11
View File
@@ -39,3 +39,14 @@
if(prob(1))
owner.custom_pain("You suddenly feel short of breath and take a sharp, painful breath!",1)
owner.adjustOxyLoss(30) //Look it's hard to simulate low O2 perfusion okay
/obj/item/organ/internal/lungs/grey
icon_state = "lungs_grey"
/obj/item/organ/internal/lungs/grey/colormatch/New()
..()
var/mob/living/carbon/human/H = null
spawn(15)
if(ishuman(owner))
H = owner
color = H.species.blood_color
+2 -1
View File
@@ -27,6 +27,7 @@ var/list/organ_cache = list()
var/min_bruised_damage = 10 // Damage before considered bruised
var/min_broken_damage = 30 // Damage before becoming broken
var/max_damage // Damage cap
var/can_reject = 1 // Can this organ reject?
var/rejecting // Is this organ already being rejected?
var/preserved = 0 // If this is 1, prevents organ decay.
@@ -188,7 +189,7 @@ var/list/organ_cache = list()
/obj/item/organ/proc/handle_rejection()
// Process unsuitable transplants. TODO: consider some kind of
// immunosuppressant that changes transplant data to make it match.
if(dna)
if(dna && can_reject)
if(!rejecting)
if(blood_incompatible(dna.b_type, owner.dna.b_type, species, owner.species))
rejecting = 1
@@ -0,0 +1,65 @@
/obj/item/organ/external/chest/indestructible
cannot_gib = 1
cannot_amputate = 1
cannot_break = 1
dislocated = -1
/obj/item/organ/external/groin/indestructible
cannot_gib = 1
cannot_amputate = 1
cannot_break = 1
dislocated = -1
/obj/item/organ/external/arm/indestructible
cannot_gib = 1
cannot_amputate = 1
cannot_break = 1
dislocated = -1
/obj/item/organ/external/arm/right/indestructible
cannot_gib = 1
cannot_amputate = 1
cannot_break = 1
dislocated = -1
/obj/item/organ/external/leg/indestructible
cannot_gib = 1
cannot_amputate = 1
cannot_break = 1
dislocated = -1
/obj/item/organ/external/leg/right/indestructible
cannot_gib = 1
cannot_amputate = 1
cannot_break = 1
dislocated = -1
/obj/item/organ/external/foot/indestructible
cannot_gib = 1
cannot_amputate = 1
cannot_break = 1
dislocated = -1
/obj/item/organ/external/foot/right/indestructible
cannot_gib = 1
cannot_amputate = 1
cannot_break = 1
dislocated = -1
/obj/item/organ/external/hand/indestructible
cannot_gib = 1
cannot_amputate = 1
cannot_break = 1
dislocated = -1
/obj/item/organ/external/hand/right/indestructible
cannot_gib = 1
cannot_amputate = 1
cannot_break = 1
dislocated = -1
/obj/item/organ/external/head/indestructible
cannot_gib = 1
cannot_amputate = 1
cannot_break = 1
dislocated = -1
@@ -0,0 +1,43 @@
/obj/item/organ/external/chest/unseverable
cannot_gib = 1
cannot_amputate = 1
/obj/item/organ/external/groin/unseverable
cannot_gib = 1
cannot_amputate = 1
/obj/item/organ/external/arm/unseverable
cannot_gib = 1
cannot_amputate = 1
/obj/item/organ/external/arm/right/unseverable
cannot_gib = 1
cannot_amputate = 1
/obj/item/organ/external/leg/unseverable
cannot_gib = 1
cannot_amputate = 1
/obj/item/organ/external/leg/right/unseverable
cannot_gib = 1
cannot_amputate = 1
/obj/item/organ/external/foot/unseverable
cannot_gib = 1
cannot_amputate = 1
/obj/item/organ/external/foot/right/unseverable
cannot_gib = 1
cannot_amputate = 1
/obj/item/organ/external/hand/unseverable
cannot_gib = 1
cannot_amputate = 1
/obj/item/organ/external/hand/right/unseverable
cannot_gib = 1
cannot_amputate = 1
/obj/item/organ/external/head/unseverable
cannot_gib = 1
cannot_amputate = 1
+63 -6
View File
@@ -1,23 +1,46 @@
//XENOMORPH ORGANS
/obj/item/organ/internal/xenos
name = "xeno organ"
icon = 'icons/effects/blood.dmi'
icon = 'icons/obj/surgery.dmi'
desc = "It smells like an accident in a chemical factory."
/obj/item/organ/internal/xenos/eggsac
name = "egg sac"
parent_organ = BP_GROIN
icon_state = "xgibmid1"
icon_state = "sac"
organ_tag = O_EGG
/obj/item/organ/internal/xenos/eggsac/grey
icon_state = "sac_grey"
/obj/item/organ/internal/xenos/eggsac/grey/colormatch/New()
..()
var/mob/living/carbon/human/H = null
spawn(15)
if(ishuman(owner))
H = owner
color = H.species.blood_color
/obj/item/organ/internal/xenos/plasmavessel
name = "plasma vessel"
parent_organ = BP_TORSO
icon_state = "xgibdown1"
icon_state = "plasma"
organ_tag = O_PLASMA
var/stored_plasma = 0
var/max_plasma = 500
/obj/item/organ/internal/xenos/plasmavessel/grey
icon_state = "plasma_grey"
stored_plasma = 200
/obj/item/organ/internal/xenos/plasmavessel/grey/colormatch/New()
..()
var/mob/living/carbon/human/H = null
spawn(15)
if(ishuman(owner))
H = owner
color = H.species.blood_color
/obj/item/organ/internal/xenos/plasmavessel/queen
name = "bloated plasma vessel"
stored_plasma = 200
@@ -35,17 +58,51 @@
/obj/item/organ/internal/xenos/acidgland
name = "acid gland"
parent_organ = BP_HEAD
icon_state = "xgibtorso"
icon_state = "acidgland"
organ_tag = O_ACID
/obj/item/organ/internal/xenos/acidgland/grey
icon_state = "acidgland_grey"
/obj/item/organ/internal/xenos/acidgland/grey/colormatch/New()
..()
var/mob/living/carbon/human/H = null
spawn(15)
if(ishuman(owner))
H = owner
color = H.species.blood_color
/obj/item/organ/internal/xenos/hivenode
name = "hive node"
parent_organ = BP_TORSO
icon_state = "xgibmid2"
icon_state = "xenode"
organ_tag = O_HIVE
/obj/item/organ/internal/xenos/hivenode/grey
icon_state = "xenode_grey"
/obj/item/organ/internal/xenos/hivenode/grey/colormatch/New()
..()
var/mob/living/carbon/human/H = null
spawn(15)
if(ishuman(owner))
H = owner
color = H.species.blood_color
/obj/item/organ/internal/xenos/resinspinner
name = "resin spinner"
parent_organ = BP_HEAD
icon_state = "xgibmid2"
icon_state = "xenode"
organ_tag = O_RESIN
/obj/item/organ/internal/xenos/resinspinner/grey
icon_state = "xenode_grey"
/obj/item/organ/internal/xenos/resinspinner/grey/colormatch/New()
..()
var/mob/living/carbon/human/H = null
spawn(15)
if(ishuman(owner))
H = owner
color = H.species.blood_color