mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-07-12 15:42:49 +01:00
Box of Things for Events and the Future MK1 (#5281)
* Lots of Stuff for Events * Adds changelog. * Review & QOL
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user