mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-21 20:13:45 +01:00
fix slime blood not transfusing to vampires (#31314)
* fix slime blood not transfusing to vampires * fix non-vampire slime transfusion * santa claus but it's a guard
This commit is contained in:
@@ -47,13 +47,19 @@
|
||||
taste_description = "slimes"
|
||||
taste_mult = 1.3
|
||||
|
||||
/datum/reagent/slimejelly/reaction_mob(mob/living/M, method, volume, show_message)
|
||||
var/mob/living/carbon/C = M
|
||||
if(method != REAGENT_INGEST || !iscarbon(C) || !C.mind?.has_antag_datum(/datum/antagonist/vampire))
|
||||
return ..()
|
||||
|
||||
M.set_nutrition(min(NUTRITION_LEVEL_WELL_FED, M.nutrition + 10))
|
||||
M.blood_volume = min(M.blood_volume + round(volume, 0.1), BLOOD_VOLUME_NORMAL)
|
||||
M.absorb_blood(id)
|
||||
|
||||
/datum/reagent/slimejelly/on_mob_life(mob/living/M)
|
||||
var/update_flags = STATUS_UPDATE_NONE
|
||||
var/mob/living/carbon/C = M
|
||||
if(iscarbon(C) && C.mind?.has_antag_datum(/datum/antagonist/vampire))
|
||||
M.set_nutrition(min(NUTRITION_LEVEL_WELL_FED, M.nutrition + 10))
|
||||
if(M.get_blood_id() != id)
|
||||
M.blood_volume = min(M.blood_volume + REAGENTS_METABOLISM, BLOOD_VOLUME_NORMAL)
|
||||
return ..() | update_flags
|
||||
|
||||
if(M.get_blood_id() != id)
|
||||
|
||||
@@ -365,11 +365,13 @@
|
||||
O.off_floor = TRUE
|
||||
O.layer = BELOW_MOB_LAYER
|
||||
|
||||
/mob/living/proc/absorb_blood()
|
||||
/mob/living/proc/absorb_blood(passed_id)
|
||||
// This merely deletes the blood reagent inside of the mob to look nice on health scans.
|
||||
// The update to .blood_volume happens in `/datum/reagent/proc/reaction_mob`
|
||||
var/id = get_blood_id()
|
||||
if(passed_id)
|
||||
id = passed_id
|
||||
if(id)
|
||||
reagents.del_reagent(get_blood_id())
|
||||
reagents.del_reagent(id)
|
||||
|
||||
#undef EXOTIC_BLEED_MULTIPLIER
|
||||
|
||||
Reference in New Issue
Block a user