Skip to content
This repository was archived by the owner on Jun 29, 2024. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions code/modules/antagonists/roguetown/villain/vampire.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)

Expand Down Expand Up @@ -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."))
Expand All @@ -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)
Expand Down
22 changes: 11 additions & 11 deletions code/modules/antagonists/roguetown/villain/vampirelord.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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]")
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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 ..()
Expand All @@ -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 ..()
Expand Down Expand Up @@ -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, "<font color='white'>The silver psycross shines and protect me from the unholy magic.</font>")
Expand All @@ -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, "<font color='white'>The silver psycross shines and protect me from the unholy magic.</font>")
Expand Down
13 changes: 11 additions & 2 deletions code/modules/jobs/job_types/roguetown/other/deathknight.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)