From 44ff7482f9e26014ceea4f25950c479cb5787940 Mon Sep 17 00:00:00 2001 From: Twinmold Date: Fri, 8 Jul 2016 02:59:18 -0500 Subject: [PATCH 1/4] The Sleeping Carp Vampires There is a small chance someone who is a vampire will also get traitor, or vice versa. If they get the martial art scroll (sleeping carp), they are unable to harm intent the head to drink their blood anymore. This makes it so they can if they have sleeping carp. --- code/modules/martial_arts/sleeping_carp.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/martial_arts/sleeping_carp.dm b/code/modules/martial_arts/sleeping_carp.dm index bc4e15eb598..9feca91e3ea 100644 --- a/code/modules/martial_arts/sleeping_carp.dm +++ b/code/modules/martial_arts/sleeping_carp.dm @@ -113,6 +113,8 @@ /datum/martial_art/the_sleeping_carp/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) add_to_streak("H",D) + if((A.mind in ticker.mode.vampires)&(A.zone_sel.selecting == "head")) + return 0 if(check_streak(A,D)) return 1 A.do_attack_animation(D) From fcfaa86ea78518ff10cee8cd2c08249305b5a11e Mon Sep 17 00:00:00 2001 From: Twinmold Date: Fri, 8 Jul 2016 03:40:29 -0500 Subject: [PATCH 2/4] Spacing Though, the rest of the code has no proper spacing... Hmmm... --- code/modules/martial_arts/sleeping_carp.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/martial_arts/sleeping_carp.dm b/code/modules/martial_arts/sleeping_carp.dm index 9feca91e3ea..61b3d733719 100644 --- a/code/modules/martial_arts/sleeping_carp.dm +++ b/code/modules/martial_arts/sleeping_carp.dm @@ -113,7 +113,7 @@ /datum/martial_art/the_sleeping_carp/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) add_to_streak("H",D) - if((A.mind in ticker.mode.vampires)&(A.zone_sel.selecting == "head")) + if ((A.mind in ticker.mode.vampires) && (A.zone_sel.selecting == "head")) return 0 if(check_streak(A,D)) return 1 From 5888b6f0039c4a362b35748cbbbe72be9f8c7d99 Mon Sep 17 00:00:00 2001 From: Twinmold Date: Sat, 9 Jul 2016 03:04:07 -0500 Subject: [PATCH 3/4] Moves Check to human_attackhand.dm Moves the check from sleeping_carp.dm to human_attackhand.dm, and puts vampire bite as priority over martial arts when aimed at the head. --- code/modules/martial_arts/sleeping_carp.dm | 2 - .../living/carbon/human/human_attackhand.dm | 48 +++++++++---------- 2 files changed, 23 insertions(+), 27 deletions(-) diff --git a/code/modules/martial_arts/sleeping_carp.dm b/code/modules/martial_arts/sleeping_carp.dm index 61b3d733719..bc4e15eb598 100644 --- a/code/modules/martial_arts/sleeping_carp.dm +++ b/code/modules/martial_arts/sleeping_carp.dm @@ -113,8 +113,6 @@ /datum/martial_art/the_sleeping_carp/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) add_to_streak("H",D) - if ((A.mind in ticker.mode.vampires) && (A.zone_sel.selecting == "head")) - return 0 if(check_streak(A,D)) return 1 A.do_attack_animation(D) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 33cb567ba4a..1c32eb2345a 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -109,36 +109,34 @@ return 1 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((head && (head.flags & HEADCOVERSMOUTH)) || (wear_mask && (wear_mask.flags & MASKCOVERSMOUTH))) + to_chat(M, "Remove their mask!") + return 0 + if((M.head && (M.head.flags & HEADCOVERSMOUTH)) || (M.wear_mask && (M.wear_mask.flags & MASKCOVERSMOUTH))) + to_chat(M, "Remove your mask!") + return 0 + if(mind && mind.vampire && (mind in ticker.mode.vampires)) + to_chat(M, "Your fangs fail to pierce [src.name]'s cold flesh") + return 0 + if(SKELETON in mutations) + to_chat(M, "There is no blood in a skeleton!") + return 0 + if(issmall(src) && !ckey) //Monkeyized humans are okay, humanized monkeys are okey, monkeys are not. + to_chat(M, "Blood from a monkey is useless!") + return 0 + //we're good to suck the blood, blaah + M.mind.vampire.handle_bloodsucking(src) + add_logs(src, M, "vampirebit") + msg_admin_attack("[key_name_admin(M)] vampirebit [key_name_admin(src)]") + return 0 + //end vampire codes if(attacker_style && attacker_style.harm_act(H, src)) return 1 else var/datum/unarmed_attack/attack = M.species.unarmed - //Vampire code - if(M.zone_sel && M.zone_sel.selecting == "head" && src != M) - if(M.mind && M.mind.vampire && (M.mind in ticker.mode.vampires) && !M.mind.vampire.draining) - if((head && (head.flags & HEADCOVERSMOUTH)) || (wear_mask && (wear_mask.flags & MASKCOVERSMOUTH))) - to_chat(M, "Remove their mask!") - return 0 - if((M.head && (M.head.flags & HEADCOVERSMOUTH)) || (M.wear_mask && (M.wear_mask.flags & MASKCOVERSMOUTH))) - to_chat(M, "Remove your mask!") - return 0 - if(mind && mind.vampire && (mind in ticker.mode.vampires)) - to_chat(M, "Your fangs fail to pierce [src.name]'s cold flesh") - return 0 - if(SKELETON in mutations) - to_chat(M, "There is no blood in a skeleton!") - return 0 - if(issmall(src) && !ckey) //Monkeyized humans are okay, humanized monkeys are okey, monkeys are not. - to_chat(M, "Blood from a monkey is useless!") - return 0 - //we're good to suck the blood, blaah - M.mind.vampire.handle_bloodsucking(src) - add_logs(src, M, "vampirebit") - msg_admin_attack("[key_name_admin(M)] vampirebit [key_name_admin(src)]") - return - //end vampire codes - M.do_attack_animation(src) add_logs(src, M, "[pick(attack.attack_verb)]ed") From e437e256f178b09c40434d611cf6e934aa3032c8 Mon Sep 17 00:00:00 2001 From: Twinmold Date: Sat, 9 Jul 2016 21:19:36 -0500 Subject: [PATCH 4/4] No Unneeded 0's in Return Title... Really... --- .../mob/living/carbon/human/human_attackhand.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 1c32eb2345a..6723f038ec8 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -113,24 +113,24 @@ 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((head && (head.flags & HEADCOVERSMOUTH)) || (wear_mask && (wear_mask.flags & MASKCOVERSMOUTH))) to_chat(M, "Remove their mask!") - return 0 + return if((M.head && (M.head.flags & HEADCOVERSMOUTH)) || (M.wear_mask && (M.wear_mask.flags & MASKCOVERSMOUTH))) to_chat(M, "Remove your mask!") - return 0 + return if(mind && mind.vampire && (mind in ticker.mode.vampires)) to_chat(M, "Your fangs fail to pierce [src.name]'s cold flesh") - return 0 + return if(SKELETON in mutations) to_chat(M, "There is no blood in a skeleton!") - return 0 + return if(issmall(src) && !ckey) //Monkeyized humans are okay, humanized monkeys are okey, monkeys are not. to_chat(M, "Blood from a monkey is useless!") - return 0 + return //we're good to suck the blood, blaah M.mind.vampire.handle_bloodsucking(src) add_logs(src, M, "vampirebit") msg_admin_attack("[key_name_admin(M)] vampirebit [key_name_admin(src)]") - return 0 + return //end vampire codes if(attacker_style && attacker_style.harm_act(H, src)) return 1