diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm
index 2d8018a3f8e..a3be8b23c64 100644
--- a/code/game/gamemodes/vampire/vampire.dm
+++ b/code/game/gamemodes/vampire/vampire.dm
@@ -10,7 +10,7 @@
config_tag = "vampire"
restricted_jobs = list("AI", "Cyborg")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Chaplain", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer")
- protected_species = list("Machine")
+ protected_species = list("Machine", "Plasmaman")
required_players = 15
required_enemies = 1
recommended_enemies = 4
@@ -273,7 +273,10 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha
owner.attack_log += text("\[[time_stamp()]\] Bit [H] ([H.ckey]) in the neck and draining their blood")
H.attack_log += text("\[[time_stamp()]\] Has been bit in the neck by [owner] ([owner.ckey])")
log_attack("[owner] ([owner.ckey]) bit [H] ([H.ckey]) in the neck")
- owner.visible_message("[owner] bites [H]'s neck!", "You bite [H]'s neck and begin to drain their blood.", "You hear a soft puncture and a wet sucking noise.")
+ if(owner.get_species() == "Vox")
+ owner.visible_message("[owner] stabs a needled internals tube into [H]'s neck!", "You stab a needled internals tube into [H]'s neck and begin to drain their blood.", "You hear a soft puncture and a wet sucking noise.")
+ else
+ owner.visible_message("[owner] bites [H]'s neck!", "You bite [H]'s neck and begin to drain their blood.", "You hear a soft puncture and a wet sucking noise.")
if(!iscarbon(owner))
H.LAssailant = null
else
diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm
index d39aa319e51..08544b1aca4 100644
--- a/code/modules/mob/living/carbon/human/human_attackhand.dm
+++ b/code/modules/mob/living/carbon/human/human_attackhand.dm
@@ -110,12 +110,20 @@
if(I_HARM)
//Vampire code
if(M.mind && M.mind.vampire && (M.mind in ticker.mode.vampires) && !M.mind.vampire.draining && M.zone_sel && M.zone_sel.selecting == "head" && src != M)
+ if(species && species.flags & NO_BLOOD)//why this hell were we never checkinf for this?
+ to_chat(M, "They have no blood!")
if((head && (head.flags & HEADCOVERSMOUTH)) || (wear_mask && (wear_mask.flags & MASKCOVERSMOUTH)))
to_chat(M, "Remove their mask!")
return
if((M.head && (M.head.flags & HEADCOVERSMOUTH)) || (M.wear_mask && (M.wear_mask.flags & MASKCOVERSMOUTH)))
- to_chat(M, "Remove your mask!")
- return
+ if(M.get_species() == "Vox")
+ M.mind.vampire.handle_bloodsucking(src)
+ add_logs(src, M, "vampirebit")
+ msg_admin_attack("[key_name_admin(M)] vampirebit [key_name_admin(src)]")
+ return
+ else
+ to_chat(M, "Remove your mask!")
+ return
if(mind && mind.vampire && (mind in ticker.mode.vampires))
to_chat(M, "Your fangs fail to pierce [src.name]'s cold flesh")
return