Merge pull request #10705 from kevinz000/revert_poojawa_blood_1
Cleanup/Partial revert of RGB blood ""rework""
This commit is contained in:
@@ -753,7 +753,7 @@
|
||||
var/turf/T = get_turf(target)
|
||||
if(T)
|
||||
for(var/obj/effect/decal/cleanable/blood/B in view(T, 2))
|
||||
if(B.blood_state == "blood")
|
||||
if(B.blood_state == BLOOD_STATE_BLOOD)
|
||||
if(B.bloodiness == 100) //Bonus for "pristine" bloodpools, also to prevent cheese with footprint spam
|
||||
temp += 30
|
||||
else
|
||||
|
||||
@@ -246,7 +246,7 @@
|
||||
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
|
||||
var/mob/living/carbon/human/target = null
|
||||
var/list/mob/living/carbon/human/possible = list()
|
||||
var/list/mob/living/carbon/human/possible
|
||||
var/obj/item/voodoo_link = null
|
||||
var/cooldown_time = 30 //3s
|
||||
var/cooldown = 0
|
||||
@@ -284,7 +284,7 @@
|
||||
user.unset_machine()
|
||||
|
||||
/obj/item/voodoo/attack_self(mob/user)
|
||||
if(!target && possible.len)
|
||||
if(!target && length(possible))
|
||||
target = input(user, "Select your victim!", "Voodoo") as null|anything in possible
|
||||
return
|
||||
|
||||
@@ -324,12 +324,12 @@
|
||||
cooldown = world.time + cooldown_time
|
||||
|
||||
/obj/item/voodoo/proc/update_targets()
|
||||
LAZYINITLIST(possible)
|
||||
possible = null
|
||||
if(!voodoo_link)
|
||||
return
|
||||
for(var/mob/living/carbon/human/H in GLOB.alive_mob_list)
|
||||
if(md5(H.dna.uni_identity) in voodoo_link.fingerprints)
|
||||
possible |= H
|
||||
LAZYOR(possible, H)
|
||||
|
||||
/obj/item/voodoo/proc/GiveHint(mob/victim,force=0)
|
||||
if(prob(50) || force)
|
||||
|
||||
@@ -9,8 +9,7 @@
|
||||
else if(M.bloody_hands > 1)
|
||||
if(add_blood_DNA(M.blood_DNA, M.diseases))
|
||||
M.bloody_hands--
|
||||
if(!suit_fibers)
|
||||
suit_fibers = list()
|
||||
LAZYINITLIST(suit_fibers)
|
||||
var/fibertext
|
||||
var/item_multiplier = isitem(src)?1.2:1
|
||||
if(M.wear_suit)
|
||||
@@ -66,7 +65,6 @@
|
||||
|
||||
fingerprintslast = M.ckey
|
||||
|
||||
|
||||
//Set ignoregloves to add prints irrespective of the mob having gloves on.
|
||||
/atom/proc/add_fingerprint(mob/living/M, ignoregloves = FALSE)
|
||||
if(!M || !M.key)
|
||||
@@ -93,15 +91,10 @@
|
||||
fingerprints[full_print] = full_print
|
||||
|
||||
/atom/proc/transfer_fingerprints_to(atom/A)
|
||||
// Make sure everything are lists.
|
||||
LAZYINITLIST(A.fingerprints)
|
||||
LAZYINITLIST(A.fingerprintshidden)
|
||||
LAZYINITLIST(fingerprints)
|
||||
LAZYINITLIST(fingerprintshidden)
|
||||
|
||||
// Transfer
|
||||
if(fingerprints)
|
||||
A.fingerprints |= fingerprints.Copy() //detective
|
||||
LAZYINITLIST(A.fingerprints)
|
||||
A.fingerprints |= fingerprints //detective
|
||||
if(fingerprintshidden)
|
||||
A.fingerprintshidden |= fingerprintshidden.Copy() //admin
|
||||
A.fingerprintslast = fingerprintslast
|
||||
LAZYINITLIST(A.fingerprintshidden)
|
||||
A.fingerprintshidden |= fingerprintshidden //admin
|
||||
A.fingerprintslast = fingerprintslast
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
bleed_rate = 0
|
||||
return
|
||||
|
||||
if(bleed_rate <= 0)
|
||||
if(bleed_rate < 0)
|
||||
bleed_rate = 0
|
||||
|
||||
if(HAS_TRAIT(src, TRAIT_NOMARROW)) //Bloodsuckers don't need to be here.
|
||||
@@ -94,12 +94,12 @@
|
||||
|
||||
//We want an accurate reading of .len
|
||||
listclearnulls(BP.embedded_objects)
|
||||
temp_bleed += 0.5*BP.embedded_objects.len
|
||||
temp_bleed += 0.5 * BP.embedded_objects.len
|
||||
|
||||
if(brutedamage >= 20)
|
||||
temp_bleed += (brutedamage * 0.013)
|
||||
|
||||
bleed_rate = max(bleed_rate - 0.50, temp_bleed)//if no wounds, other bleed effects (heparin) naturally decreases
|
||||
bleed_rate = max(bleed_rate - 0.5, temp_bleed)//if no wounds, other bleed effects (heparin) naturally decreases
|
||||
|
||||
if(bleed_rate && !bleedsuppress && !(HAS_TRAIT(src, TRAIT_FAKEDEATH)))
|
||||
bleed(bleed_rate)
|
||||
@@ -289,8 +289,7 @@
|
||||
drop.update_icon()
|
||||
return
|
||||
else
|
||||
temp_blood_DNA = list()
|
||||
temp_blood_DNA |= drop.blood_DNA.Copy() //we transfer the dna from the drip to the splatter
|
||||
temp_blood_DNA = drop.blood_DNA.Copy() //transfer dna from drip to splatter.
|
||||
qdel(drop)//the drip is replaced by a bigger splatter
|
||||
else
|
||||
drop = new(T, get_static_viruses())
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
//Gets filled up in create_bodyparts()
|
||||
|
||||
var/list/hand_bodyparts = list() //a collection of arms (or actually whatever the fug /bodyparts you monsters use to wreck my systems)
|
||||
var/list/leg_bodyparts = list()
|
||||
|
||||
var/icon_render_key = ""
|
||||
var/static/list/limb_icon_cache = list()
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
if(!forced && HAS_TRAIT(src, TRAIT_TOXINLOVER)) //damage becomes healing and healing becomes damage
|
||||
amount = -amount
|
||||
if(amount > 0)
|
||||
blood_volume -= 3*amount // x5 is too much, x3 should be still penalizing enough.
|
||||
blood_volume -= 3 * amount //5x was too much, this is punishing enough.
|
||||
else
|
||||
blood_volume -= amount
|
||||
return ..()
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
var/obj/effect/decal/cleanable/blood/footprints/oldFP = locate(/obj/effect/decal/cleanable/blood/footprints) in T
|
||||
if(oldFP && (oldFP.blood_state == S.blood_state && oldFP.color == bloodtype_to_color(S.last_bloodtype)))
|
||||
return
|
||||
S.bloody_shoes[S.blood_state] = max(0, S.bloody_shoes[S.blood_state]-BLOOD_LOSS_PER_STEP)
|
||||
S.bloody_shoes[S.blood_state] = max(0, S.bloody_shoes[S.blood_state] - BLOOD_LOSS_PER_STEP)
|
||||
var/obj/effect/decal/cleanable/blood/footprints/FP = new /obj/effect/decal/cleanable/blood/footprints(T)
|
||||
FP.blood_state = S.blood_state
|
||||
FP.entered_dirs |= dir
|
||||
|
||||
@@ -494,7 +494,7 @@
|
||||
if(isturf(next))
|
||||
if(bloodiness)
|
||||
var/obj/effect/decal/cleanable/blood/tracks/B = new(loc)
|
||||
if(blood_DNA && blood_DNA.len)
|
||||
if(length(blood_DNA))
|
||||
B.blood_DNA |= blood_DNA.Copy()
|
||||
var/newdir = get_dir(next, loc)
|
||||
if(newdir == dir)
|
||||
|
||||
@@ -1062,7 +1062,7 @@
|
||||
if((HAS_TRAIT(C, TRAIT_NOMARROW)))
|
||||
return
|
||||
if(C.blood_volume < (BLOOD_VOLUME_NORMAL*C.blood_ratio))
|
||||
C.blood_volume += 0.01 //we'll have synthetics from medbay.
|
||||
C.blood_volume += 0.25
|
||||
..()
|
||||
|
||||
/datum/reagent/iron/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
|
||||
|
||||
@@ -773,8 +773,6 @@
|
||||
px_y = 12
|
||||
stam_heal_tick = 4
|
||||
max_stamina_damage = 50
|
||||
var/blood_state = BLOOD_STATE_NOT_BLOODY
|
||||
var/list/bloody_legs = list(BLOOD_STATE_BLOOD = 0, BLOOD_STATE_OIL = 0, BLOOD_STATE_NOT_BLOODY = 0)
|
||||
|
||||
/obj/item/bodypart/l_leg/is_disabled()
|
||||
if(HAS_TRAIT(owner, TRAIT_PARALYSIS_L_LEG))
|
||||
@@ -833,8 +831,6 @@
|
||||
px_y = 12
|
||||
max_stamina_damage = 50
|
||||
stam_heal_tick = 4
|
||||
var/blood_state = BLOOD_STATE_NOT_BLOODY
|
||||
var/list/bloody_legs = list(BLOOD_STATE_BLOOD = 0, BLOOD_STATE_OIL = 0, BLOOD_STATE_NOT_BLOODY = 0)
|
||||
|
||||
/obj/item/bodypart/r_leg/is_disabled()
|
||||
if(HAS_TRAIT(owner, TRAIT_PARALYSIS_R_LEG))
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
return L
|
||||
return FALSE
|
||||
|
||||
|
||||
/mob/proc/has_left_hand(check_disabled = TRUE)
|
||||
return TRUE
|
||||
|
||||
@@ -29,7 +28,7 @@
|
||||
return FALSE
|
||||
|
||||
/mob/living/carbon/alien/larva/has_left_hand()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
|
||||
/mob/proc/has_right_hand(check_disabled = TRUE)
|
||||
@@ -43,9 +42,7 @@
|
||||
return FALSE
|
||||
|
||||
/mob/living/carbon/alien/larva/has_right_hand()
|
||||
return 1
|
||||
|
||||
|
||||
return TRUE
|
||||
|
||||
/mob/proc/has_left_leg()
|
||||
return TRUE
|
||||
@@ -67,7 +64,6 @@
|
||||
else
|
||||
return FALSE
|
||||
|
||||
|
||||
//Limb numbers
|
||||
/mob/proc/get_num_arms(check_disabled = TRUE)
|
||||
return 2
|
||||
|
||||
@@ -220,21 +220,12 @@ obj/item/organ/heart/cybernetic/upgraded/on_life()
|
||||
addtimer(VARSET_CALLBACK(src, dose_available, TRUE), 5 MINUTES)
|
||||
ramount = 0
|
||||
|
||||
|
||||
|
||||
/obj/item/organ/heart/ipc
|
||||
name = "IPC heart"
|
||||
desc = "An electronic pump that regulates hydraulic functions, they have an auto-restart after EMPs."
|
||||
icon_state = "heart-c"
|
||||
organ_flags = ORGAN_SYNTHETIC
|
||||
|
||||
/obj/item/organ/heart/ipc/emp_act()
|
||||
. = ..()
|
||||
if(. & EMP_PROTECT_SELF)
|
||||
return
|
||||
Stop()
|
||||
addtimer(CALLBACK(src, .proc/Restart), 10)
|
||||
|
||||
/obj/item/organ/heart/freedom
|
||||
name = "heart of freedom"
|
||||
desc = "This heart pumps with the passion to give... something freedom."
|
||||
|
||||
Reference in New Issue
Block a user