From efb92fda84202d77beeb6e5656a65bcaa1af3fd1 Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Fri, 23 Sep 2016 13:53:49 +0400 Subject: [PATCH] added new LING_PROTECT flag and gave it to plasmamen, allowed Slime People to be clings and removed NO_SCAN and NO_BLOOD absorb/sting restriction --- code/__DEFINES/flags.dm | 1 + code/game/gamemodes/changeling/changeling.dm | 10 +++------- code/game/gamemodes/changeling/powers/swap_form.dm | 2 +- code/game/gamemodes/changeling/powers/tiny_prick.dm | 5 +---- code/game/gamemodes/changeling/traitor_chan.dm | 2 +- .../mob/living/carbon/human/species/plasmaman.dm | 2 +- 6 files changed, 8 insertions(+), 14 deletions(-) diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 2b2adbdbaf2..cc19905183c 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -43,6 +43,7 @@ #define RADIMMUNE 2048 #define ALL_RPARTS 4096 #define NOGUNS 8192 +#define LING_PROTECT 16384 //Species clothing flags #define HAS_UNDERWEAR 1 diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index 9fb2402f889..ade5948f34e 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -9,7 +9,7 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" config_tag = "changeling" restricted_jobs = list("AI", "Cyborg") protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer") - protected_species = list("Machine", "Slime People", "Plasmaman") + protected_species = list("Machine", "Plasmaman") required_players = 15 required_enemies = 1 recommended_enemies = 4 @@ -313,18 +313,14 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" to_chat(user, "This creature does not have DNA!") return - if(T.species.flags & NO_SCAN) + if(T.species.flags & LING_PROTECT) to_chat(user, "We do not know how to parse this creature's DNA!") return - if(T.species.flags & NO_BLOOD) - to_chat(user, "We are not able to use the DNA of a creature without a circulatory system.") - return - if(has_dna(target.dna)) to_chat(user, "We already have this DNA in storage!") return 1 /proc/check_species_absorb(datum/species/S) - return !((S.flags & NO_DNA) || (S.flags & NO_SCAN) || (S.flags & NO_BLOOD)) + return !((S.flags & NO_DNA) || (S.flags & LING_PROTECT)) diff --git a/code/game/gamemodes/changeling/powers/swap_form.dm b/code/game/gamemodes/changeling/powers/swap_form.dm index ce8bda64d03..ece49c84605 100644 --- a/code/game/gamemodes/changeling/powers/swap_form.dm +++ b/code/game/gamemodes/changeling/powers/swap_form.dm @@ -17,7 +17,7 @@ if((NOCLONE || SKELETON || HUSK) in target.mutations) to_chat(user, "DNA of [target] is ruined beyond usability!") return - if(!istype(target) || issmall(target) || target.species.flags & NO_DNA || target.species.flags & NO_SCAN || target.species.flags & NO_BLOOD) + if(!istype(target) || issmall(target) || target.species.flags & NO_DNA || target.species.flags & LING_PROTECT) to_chat(user, "[target] is not compatible with this ability.") return return 1 diff --git a/code/game/gamemodes/changeling/powers/tiny_prick.dm b/code/game/gamemodes/changeling/powers/tiny_prick.dm index f4aa6f3d8f2..3478e11ab1b 100644 --- a/code/game/gamemodes/changeling/powers/tiny_prick.dm +++ b/code/game/gamemodes/changeling/powers/tiny_prick.dm @@ -90,12 +90,9 @@ return 0 if(ishuman(target)) var/mob/living/carbon/human/H = target - if(H.species.flags & NO_SCAN) //Prevents transforming slimes and killing them instantly + if(H.species.flags & LING_PROTECT) to_chat(user, "This won't work on a creature with abnormal genetic material.") return 0 - if(H.species.flags & NO_BLOOD) - to_chat(user, "This won't work on a creature without a circulatory system.") - return 0 if(H.species.flags & NO_DNA) to_chat(user, "This won't work on a creature without DNA.") return 0 diff --git a/code/game/gamemodes/changeling/traitor_chan.dm b/code/game/gamemodes/changeling/traitor_chan.dm index 7ef4f0bc7b4..624ebd4698e 100644 --- a/code/game/gamemodes/changeling/traitor_chan.dm +++ b/code/game/gamemodes/changeling/traitor_chan.dm @@ -6,7 +6,7 @@ required_players = 10 required_enemies = 1 // how many of each type are required recommended_enemies = 3 - var/protected_species_changeling = list("Machine", "Slime People") + var/protected_species_changeling = list("Machine", "Plasmaman") /datum/game_mode/traitor/changeling/announce() to_chat(world, "The current game mode is - Traitor+Changeling!") diff --git a/code/modules/mob/living/carbon/human/species/plasmaman.dm b/code/modules/mob/living/carbon/human/species/plasmaman.dm index d8434a87223..406722d3e40 100644 --- a/code/modules/mob/living/carbon/human/species/plasmaman.dm +++ b/code/modules/mob/living/carbon/human/species/plasmaman.dm @@ -6,7 +6,7 @@ //language = "Clatter" unarmed_type = /datum/unarmed_attack/punch - flags = IS_WHITELISTED | NO_BLOOD + flags = IS_WHITELISTED | NO_BLOOD | LING_PROTECT dietflags = DIET_OMNI reagent_tag = PROCESS_ORG