diff --git a/code/modules/antagonists/roguetown/villain/vampire.dm b/code/modules/antagonists/roguetown/villain/vampire.dm
index 764ecf394c..f51465de5c 100644
--- a/code/modules/antagonists/roguetown/villain/vampire.dm
+++ b/code/modules/antagonists/roguetown/villain/vampire.dm
@@ -15,8 +15,8 @@
antag_hud_type = ANTAG_HUD_TRAITOR
antag_hud_name = "vampire"
confess_lines = list(
- "I WANT YOUR BLOOD!",
- "DRINK THE BLOOD!",
+ "I WANT YOUR BLOOD!",
+ "DRINK THE BLOOD!",
"CHILD OF KAIN!",
)
var/disguised = TRUE
@@ -119,7 +119,7 @@
/datum/antagonist/vampire/proc/finalize_vampire()
owner.current.playsound_local(get_turf(owner.current), 'sound/music/vampintro.ogg', 80, FALSE, pressure_affected = FALSE)
-
+
/datum/antagonist/vampire/on_life(mob/user)
@@ -152,6 +152,8 @@
if(H.stat)
if(istype(H.loc, /obj/structure/closet/crate/coffin))
H.fully_heal()
+ H.rogstam_add(H.maxrogstam / 10)
+ H.rogfat_add(-H.maxrogfat / 10)
vitae = CLAMP(vitae, 0, 1666)
@@ -361,7 +363,7 @@
to_chat(src, span_warning("My curse is hidden."))
return
if(silver_curse_status)
- to_chat(src, span_warning("My BANE is not letting me REGEN!."))
+ to_chat(src, span_warning("My BANE is not letting me REGEN!."))
return
if(VD.vitae < 500)
to_chat(src, span_warning("Not enough vitae."))
@@ -370,6 +372,8 @@
src.playsound_local(get_turf(src), 'sound/misc/vampirespell.ogg', 100, FALSE, pressure_affected = FALSE)
VD.handle_vitae(-500)
fully_heal()
+ rogstam_add(maxrogstam)//Since vampires cannot sleep and are now subject to stamina and fatigue, they may fully restore it using Regenerate if they are not cursed by silver.
+ rogfat_add(-maxrogfat)
/mob/living/carbon/human/proc/vampire_infect()
if(!mind)
diff --git a/code/modules/antagonists/roguetown/villain/vampirelord.dm b/code/modules/antagonists/roguetown/villain/vampirelord.dm
index 17133b89aa..64c173f273 100644
--- a/code/modules/antagonists/roguetown/villain/vampirelord.dm
+++ b/code/modules/antagonists/roguetown/villain/vampirelord.dm
@@ -14,8 +14,8 @@ GLOBAL_LIST_EMPTY(vampire_objects)
antag_hud_type = ANTAG_HUD_VAMPIRE
antag_hud_name = "Vlord"
confess_lines = list(
- "I AM ANCIENT",
- "I AM THE LAND",
+ "I AM ANCIENT",
+ "I AM THE LAND",
"CHILD OF KAIN!",
)
var/isspawn = FALSE
@@ -58,8 +58,8 @@ GLOBAL_LIST_EMPTY(vampire_objects)
. = ..()
owner.special_role = name
ADD_TRAIT(owner.current, TRAIT_CRITICAL_WEAKNESS, "[type]") //half assed but necessary otherwise these guys be invincible
+ ADD_TRAIT(owner.current, TRAIT_BREADY, "[type]")
ADD_TRAIT(owner.current, TRAIT_STRONGBITE, "[type]")
- ADD_TRAIT(owner.current, TRAIT_NOROGSTAM, "[type]")
ADD_TRAIT(owner.current, TRAIT_NOHUNGER, "[type]")
ADD_TRAIT(owner.current, TRAIT_NOBREATH, "[type]")
ADD_TRAIT(owner.current, TRAIT_NOPAIN, "[type]")
@@ -325,13 +325,13 @@ GLOBAL_LIST_EMPTY(vampire_objects)
/datum/antagonist/vampirelord/proc/finalize_vampire()
owner.current.forceMove(pick(GLOB.vlord_starts))
owner.current.playsound_local(get_turf(owner.current), 'sound/music/vampintro.ogg', 80, FALSE, pressure_affected = FALSE)
-
+
/datum/antagonist/vampirelord/proc/finalize_vampire_lesser()
if(!sired)
owner.current.forceMove(pick(GLOB.vspawn_starts))
owner.current.playsound_local(get_turf(owner.current), 'sound/music/vampintro.ogg', 80, FALSE, pressure_affected = FALSE)
-
+
/datum/antagonist/vampirelord/proc/vamp_look()
var/mob/living/carbon/human/V = owner.current
@@ -487,8 +487,8 @@ GLOBAL_LIST_EMPTY(vampire_objects)
name = "Vampire Spawn"
antag_hud_name = "Vspawn"
confess_lines = list(
- "THE CRIMSON CALLS!",
- "MY MASTER COMMANDS",
+ "THE CRIMSON CALLS!",
+ "MY MASTER COMMANDS",
"THE SUN IS ENEMY!",
)
isspawn = TRUE
@@ -1027,7 +1027,7 @@ GLOBAL_LIST_EMPTY(vampire_objects)
/obj/item/clothing/neck/roguetown/portalamulet/Initialize()
GLOB.vampire_objects |= src
. = ..()
-
+
/obj/item/clothing/neck/roguetown/portalamulet/Destroy()
GLOB.vampire_objects -= src
return ..()
@@ -1040,7 +1040,7 @@ GLOBAL_LIST_EMPTY(vampire_objects)
/obj/structure/vampire/Initialize()
GLOB.vampire_objects |= src
. = ..()
-
+
/obj/structure/vampire/Destroy()
GLOB.vampire_objects -= src
return ..()
@@ -1308,7 +1308,7 @@ GLOBAL_LIST_EMPTY(vampire_objects)
for(var/obj/item/clothing/neck/roguetown/psicross/silver in L.contents)
found_psycross = TRUE
break
-
+
if(bloodroll >= willroll)
if(found_psycross == TRUE)
to_chat(L, "The silver psycross shines and protect me from the unholy magic.")
@@ -1318,7 +1318,7 @@ GLOBAL_LIST_EMPTY(vampire_objects)
to_chat(user, "Their mind gives way, they will soon be asleep.")
sleep(50)
L.Sleeping(300)
-
+
if(willroll >= bloodroll)
if(found_psycross == TRUE)
to_chat(L, "The silver psycross shines and protect me from the unholy magic.")
diff --git a/code/modules/jobs/job_types/roguetown/other/deathknight.dm b/code/modules/jobs/job_types/roguetown/other/deathknight.dm
index 712808f4e4..bd6c4528c1 100644
--- a/code/modules/jobs/job_types/roguetown/other/deathknight.dm
+++ b/code/modules/jobs/job_types/roguetown/other/deathknight.dm
@@ -15,7 +15,7 @@
show_in_credits = FALSE
give_bank_account = FALSE
-
+
cmode_music = 'sound/music/combat_weird.ogg'
/datum/job/roguetown/deathknight/after_spawn(mob/living/L, mob/M, latejoin = TRUE)
@@ -62,7 +62,7 @@
H.name = "Death Knight"
H.real_name = "Death Knight"
ADD_TRAIT(H, TRAIT_NOMOOD, TRAIT_GENERIC)
- ADD_TRAIT(H, TRAIT_NOROGSTAM, TRAIT_GENERIC)
+ ADD_TRAIT(H, TRAIT_BREADY, TRAIT_GENERIC)
ADD_TRAIT(H, TRAIT_NOLIMBDISABLE, TRAIT_GENERIC)
ADD_TRAIT(H, TRAIT_NOHUNGER, TRAIT_GENERIC)
ADD_TRAIT(H, TRAIT_NOBREATH, TRAIT_GENERIC)
@@ -118,3 +118,12 @@
/obj/item/clothing/under/roguetown/platelegs/blk/death
color = CLOTHING_BLACK
+
+datum/job/roguetown/deathknight/proc/on_life(mob/user)
+ var/mob/living/carbon/human/H = user
+ if(H.stat)
+ if(istype(H.loc, /obj/structure/closet/crate/coffin))
+ H.fully_heal()
+ H.rogstam_add(H.maxrogstam / 10)
+ H.rogfat_add(-H.maxrogfat / 10)
+