This commit is contained in:
Zuhayr
2014-10-08 23:10:12 +10:30
parent 1249fb0592
commit 37cb78eefa
33 changed files with 185 additions and 122 deletions
+1 -1
View File
@@ -32,7 +32,7 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
if(B.id == "blood")
B.data = list( "donor"=src,"viruses"=null,"species"=species.name,"blood_DNA"=dna.unique_enzymes,"blood_colour"= species.blood_color,"blood_type"=dna.b_type, \
"resistances"=null,"trace_chem"=null, "virus2" = null, "antibodies" = null)
B.color = B.data["blood_color"]
B.color = B.data["blood_colour"]
// Takes care blood loss and regeneration
/mob/living/carbon/human/proc/handle_blood()
+8 -4
View File
@@ -96,8 +96,8 @@
if(!istype(H))
return
var/datum/reagent/blood = H.vessel.reagent_list["blood"]
blood_splatter(H,blood,1)
var/datum/reagent/blood/B = locate(/datum/reagent/blood) in H.vessel.reagent_list
blood_splatter(H,B,1)
var/obj/effect/decal/cleanable/blood/splatter/goo = locate() in get_turf(owner)
if(goo)
goo.name = "husk ichor"
@@ -170,27 +170,31 @@
name = "xeno organ"
icon = 'icons/effects/blood.dmi'
desc = "It smells like an accident in a chemical factory."
organ_tag = "special" //TODO functionality for transplants.
/obj/item/organ/xenos/eggsac
name = "egg sac"
icon_state = "xgibmid1"
organ_tag = "egg sac"
/obj/item/organ/xenos/plasmavessel
name = "plasma vessel"
icon_state = "xgibdown"
icon_state = "xgibdown1"
organ_tag = "plasma vessel"
/obj/item/organ/xenos/acidgland
name = "acid gland"
icon_state = "xgibtorso"
organ_tag = "acid gland"
/obj/item/organ/xenos/hivenode
name = "hive node"
icon_state = "xgibmid2"
organ_tag = "hive node"
/obj/item/organ/xenos/resinspinner
name = "hive node"
icon_state = "xgibmid2"
organ_tag = "resin spinner"
//VOX ORGANS.
/datum/organ/internal/stack
+7 -2
View File
@@ -490,13 +490,18 @@ Note that amputating the affected organ does in fact remove the infection from t
burn_dam = 0
status &= ~ORGAN_BLEEDING
var/clamped = 0
var/mob/living/carbon/human/H
if(istype(owner,/mob/living/carbon/human))
H = owner
for(var/datum/wound/W in wounds)
if(W.damage_type == CUT || W.damage_type == BRUISE)
brute_dam += W.damage
else if(W.damage_type == BURN)
burn_dam += W.damage
if(!(status & ORGAN_ROBOT) && W.bleeding())
if(!(status & ORGAN_ROBOT) && W.bleeding() && (H && !(H.species.flags & NO_BLOOD)))
W.bleed_timer--
status |= ORGAN_BLEEDING
@@ -504,7 +509,7 @@ Note that amputating the affected organ does in fact remove the infection from t
number_wounds += W.amount
if (open && !clamped) //things tend to bleed if they are CUT OPEN
if (open && !clamped && (H && !(H.species.flags & NO_BLOOD))) //things tend to bleed if they are CUT OPEN
status |= ORGAN_BLEEDING
+6 -5
View File
@@ -83,14 +83,15 @@
if(rejecting % 10 == 0) //Only fire every ten rejection ticks.
switch(rejecting)
if(1 to 50)
take_damage(rand(1,2))
take_damage(1)
if(51 to 200)
take_damage(rand(2,3))
if(201 to 500)
take_damage(rand(3,4))
owner.reagents.add_reagent("toxin", 1)
take_damage(1)
if(201 to 500)
take_damage(rand(2,3))
owner.reagents.add_reagent("toxin", 2)
if(501 to INFINITY)
take_damage(5)
take_damage(4)
owner.reagents.add_reagent("toxin", rand(3,5))
/datum/organ/internal/proc/take_damage(amount, var/silent=0)
+4 -4
View File
@@ -46,8 +46,8 @@
if(fresh && prob(40))
fresh--
var/datum/reagent/blood = reagents.reagent_list["blood"]
blood_splatter(src,blood,1)
var/datum/reagent/blood/B = locate(/datum/reagent/blood) in reagents.reagent_list
blood_splatter(src,B,1)
health -= rand(1,3)
if(health <= 0)
@@ -215,8 +215,8 @@
return
user << "\blue You take an experimental bite out of \the [src]."
var/datum/reagent/blood = reagents.reagent_list["blood"]
blood_splatter(src,blood,1)
var/datum/reagent/blood/B = locate(/datum/reagent/blood) in reagents.reagent_list
blood_splatter(src,B,1)
user.drop_from_inventory(src)