More Tajaran fixes, made blood-type damage not affect changelings, blood now regenerates.

This commit is contained in:
SkyMarshal
2012-05-20 13:38:20 -07:00
parent 69b6926293
commit c8faf93e9f
4 changed files with 29 additions and 5 deletions
@@ -37,6 +37,7 @@
updateappearance(O,O.dna.uni_identity)
O.loc = loc
O.viruses = viruses
O.s_tone = s_tone
viruses = list()
for(var/datum/disease/D in O.viruses)
D.affected_mob = O
@@ -47,6 +48,10 @@
client.mob = O
if(mind)
mind.transfer_to(O)
del(O.stand_icon) //Force it to update.
del(O.lying_icon)
O.update_body()
O.update_face()
spawn(1)
@@ -303,7 +303,12 @@
if ( istype(wear_suit, /obj/item/clothing/suit/bio_suit) || istype(wear_suit, /obj/item/clothing/suit/bomb_suit) || istype(wear_suit, /obj/item/clothing/suit/space) )
tail_shown = 0
if(tail_shown)
overlays += image("icon" = icon('tajaran.dmi', "tail_[gender==FEMALE ? "f" : "m"]_[lying ? "l" : "s"]"), "layer" = MOB_LAYER)
var/icon/tail_icon = image("icon" = icon('tajaran.dmi', "tail_[gender==FEMALE ? "f" : "m"]_[lying ? "l" : "s"]"), "layer" = MOB_LAYER)
if (s_tone >= 0)
tail_icon.Blend(rgb(s_tone, s_tone, s_tone), ICON_ADD)
else
tail_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT)
overlays += tail_icon
if (lying)
if (face_lying)
@@ -339,7 +344,12 @@
var/datum/organ/external/head = organs["head"]
if(!head.destroyed)
//if not wearing anything on the head, show the ears
overlays += image("icon" = icon('tajaran.dmi', "ears_[gender==FEMALE ? "f" : "m"]_[lying ? "l" : "s"]"), "layer" = MOB_LAYER)
var/icon/ears_icon = image("icon" = icon('tajaran.dmi', "ears_[gender==FEMALE ? "f" : "m"]_[lying ? "l" : "s"]"), "layer" = MOB_LAYER)
if (s_tone >= 0)
ears_icon.Blend(rgb(s_tone, s_tone, s_tone), ICON_ADD)
else
ears_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT)
overlays += ears_icon
// Belt
if (belt)
+1 -1
View File
@@ -104,7 +104,7 @@ datum
on_mob_life(var/mob/living/M)
if(!data || !data["blood_type"])
..()
else if(istype(M, /mob/living/carbon/human) && blood_incompatible(data["blood_type"],M.dna.b_type))
else if(istype(M, /mob/living/carbon/human) && blood_incompatible(data["blood_type"],M.dna.b_type) && !M.changeling)
M.adjustToxLoss(rand(0.5,1.5))
M.adjustOxyLoss(rand(1,1.5))
..()
+11 -2
View File
@@ -872,7 +872,7 @@
if(E.name == "l_hand" || E.name == "l_arm")
if(hand && equipped())
drop_item()
emote("custom v drops what they were holding, their limb malfunctioning!")
emote("custom v drops what they were holding, their [E] malfunctioning!")
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, src)
spark_system.attach(src)
@@ -882,7 +882,7 @@
else if(E.name == "r_hand" || E.name == "r_arm")
if(!hand && equipped())
drop_item()
emote("custom v drops what they were holding, their limb malfunctioning!")
emote("custom v drops what they were holding, their [E] malfunctioning!")
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, src)
spark_system.attach(src)
@@ -915,6 +915,15 @@
var/blood_volume = round(vessel.get_reagent_amount("blood"))
if(bloodloss)
drip(bloodloss)
else if(blood_volume < 560 && blood_volume)
var/datum/reagent/blood/B = locate() in vessel //Grab some blood
if(!B.data["donor"] == src) //If it's not theirs, then we look for theirs
for(var/datum/reagent/blood/D in vessel)
if(D.data["donor"] == src)
B = D
break
//At this point, we dun care which blood we are adding to, as long as they get more blood.
B.volume = max(min(B.volume + 560/blood_volume,560), 0) //Less blood = More blood generated per tick
if(!blood_volume)
bloodloss = 0
else if(blood_volume > 448)