From 0cbbd512680da38bceba94940a9054fd95e1cae3 Mon Sep 17 00:00:00 2001 From: SoundScopes Date: Thu, 5 Feb 2015 04:09:28 +0000 Subject: [PATCH] IPC Immune to Stings and Vampires --- .../gamemodes/changeling/changeling_powers.dm | 2 +- code/game/gamemodes/vampire/vampire_powers.dm | 15 +++++++++------ code/modules/mob/living/carbon/human/human.dm | 5 ----- .../mob/living/carbon/human/human_attackhand.dm | 2 +- code/modules/mob/living/living_defense.dm | 8 +------- 5 files changed, 12 insertions(+), 20 deletions(-) diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm index 034a85cd..9fa8af2f 100644 --- a/code/game/gamemodes/changeling/changeling_powers.dm +++ b/code/game/gamemodes/changeling/changeling_powers.dm @@ -695,7 +695,7 @@ var/list/datum/dna/hivemind_bank = list() var/list/victims = list() for(var/mob/living/carbon/C in oview(changeling.sting_range)) - if(C.isipc()) + if(C.get_species() == "Machine") continue victims += C var/mob/living/carbon/T = input(src, "Who will we sting?") as null|anything in victims diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index d903c7c3..4861316f 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -41,8 +41,11 @@ //Chaplains are resistant to vampire powers if(mind && mind.assigned_role == "Chaplain") return 0 - if(mind && mind.current.isipc())//Not sure if this should be here but we can easily override. - return 0 + if(mind)//Not sure if this should be here but we can easily override. + var/mob/living/carbon/human/whylikethis = mind.current + if(istype(whylikethis)) + if(whylikethis.species == "Machine") + return 0 //Vampires who have reached their full potential can affect nearly everything if(M && M.vampire && (VAMP_FULL in M.vampire.powers)) return 1 // This doesn't really need to be here because of well the line below it. @@ -154,7 +157,7 @@ if(C==usr) M.current << "\red You can't do that to yourself" return - if(C.isipc()) + if(C.get_species() == "Machine") M.current << "\red You can't to that to a machine" return if(!M.current.vampire_can_reach(C, 1)) @@ -216,7 +219,7 @@ return for(var/mob/living/carbon/C in view(1)) if(!C.vampire_affected(M)) - if(!C.isipc()) + if(!C.get_species() == "Machine") continue if(!M.current.vampire_can_reach(C, 1)) continue // C.Stun(8) @@ -251,7 +254,7 @@ if(C == M.current) continue if(ishuman(C) && (C:l_ear || C:r_ear) && istype((C:l_ear || C:r_ear), /obj/item/clothing/ears/earmuffs)) continue if(!C.vampire_affected(M)) - if(!C.isipc()) + if(!C.get_species() == "Machine") continue C << "You hear a ear piercing shriek and your senses dull!" C.Weaken(5) @@ -277,7 +280,7 @@ if(C==usr) M.current << "\red You can't do that to yourself" return - if(C.isipc()) + if(C.get_species() == "Machine") M.current << "\red You can only enthrall humans" return M.current.visible_message("\red [M.current.name] bites [C.name]'s neck!", "\red You bite [C.name]'s neck and begin the flow of power.") diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index a18e79a0..d231544e 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -39,12 +39,7 @@ /mob/living/carbon/human/machine/New(var/new_loc) h_style = "blue IPC screen" ..(new_loc, "Machine") -*/ -/mob/living/carbon/human/machine/isipc() - return 1 - -/* /mob/living/carbon/human/kocasslani/New(var/new_loc) h_style = "Bald" ..(new_loc, "Kocasslani") diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 612f26bd..855d256b 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -130,7 +130,7 @@ if(mind && mind.vampire && (mind in ticker.mode.vampires)) M << "\red Your fangs fail to pierce [src.name]'s cold flesh" return 0 - if(isipc()) + if(get_species() == "Machine") M << "\red They have no blood" return 0 //we're good to suck the blood, blaah diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index fc752310..946e0bfe 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -217,10 +217,4 @@ if(fire_stacks > 9 && !on_fire) IgniteMob() -//Mobs on Fire end - -//Why did I place it here? -//Remind me to place this somewhere else -//I sware this uses less memory -/mob/living/proc/isipc() - return 0 +//Mobs on Fire end \ No newline at end of file