vampire stuff (#31913)

This commit is contained in:
boy2mantwicethefam
2022-02-04 22:55:07 +02:00
committed by GitHub
parent 3dd4fe9d34
commit b44e32617b
2 changed files with 9 additions and 11 deletions

View File

@@ -82,7 +82,7 @@
/* Tier 5 (/vg/) */
/datum/power/vampire/mature
cost = 400
granttext = "You have reached physical maturity. You are more vulnerable to holy things, and your vision has been improved greatly."
granttext = "You have reached physical maturity. You are more vulnerable to holy things, and your vision has been improved greatly. You drain blood from people twice as fast and you no longer need to take their masks off."
store_in_memory = TRUE
/* Tier 6 (/vg/) */

View File

@@ -154,6 +154,7 @@
return FALSE
if(H.check_body_part_coverage(MOUTH))
if(!locate(/datum/power/vampire/mature) in current_powers)
to_chat(M, "<span class='warning'>Remove their mask!</span>")
return FALSE
@@ -163,11 +164,7 @@
if(ishuman(M))
var/mob/living/carbon/human/vamp_H = M
if(H.check_body_part_coverage(MOUTH))
if(vamp_H.species.breath_type == GAS_OXYGEN)
to_chat(H, "<span class='warning'>Remove your mask!</span>")
return FALSE
else
if(vamp_H.check_body_part_coverage(MOUTH))
to_chat(H, "<span class='notice'>With practiced ease, you shift aside your mask for each gulp of blood.</span>")
return TRUE
@@ -210,8 +207,9 @@
break
if (!(targetref in feeders))
feeders[targetref] = 0
var/mature = locate(/datum/power/vampire/mature) in current_powers
if(target.stat < DEAD) //alive
blood = min(20, target.vessel.get_reagent_amount(BLOOD)) // if they have less than 20 blood, give them the remnant else they get 20 blood
blood = min(mature ? 40 : 20, target.vessel.get_reagent_amount(BLOOD)) // if they have less than 20 blood, give them the remnant else they get 20 blood
if (feeders[targetref] < MAX_BLOOD_PER_TARGET)
blood_total += blood
else
@@ -221,7 +219,7 @@
var/datum/organ/external/head/head_organ = target.get_organ(LIMB_HEAD)
head_organ.add_autopsy_data("sharp teeth", 1)
else
blood = min(10, target.vessel.get_reagent_amount(BLOOD)) // The dead only give 10 blood
blood = min(mature ? 20 : 10, target.vessel.get_reagent_amount(BLOOD)) // The dead only give 10 blood
if (feeders[targetref] < MAX_BLOOD_PER_TARGET)
blood_total += blood
else