diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 126b0b144ee..ecdf85a398e 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -572,7 +572,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define CLONING_POD_TRAIT "cloning-pod" #define STATUE_MUTE "statue" #define CHANGELING_DRAIN "drain" -#define CHANGELING_HIVEMIND_MUTE "ling_mute" #define ABYSSAL_GAZE_BLIND "abyssal_gaze" #define HIGHLANDER "highlander" #define TRAIT_HULK "hulk" diff --git a/code/modules/antagonists/changeling/powers/hivemind.dm b/code/modules/antagonists/changeling/powers/hivemind.dm deleted file mode 100644 index a1970023c50..00000000000 --- a/code/modules/antagonists/changeling/powers/hivemind.dm +++ /dev/null @@ -1,82 +0,0 @@ -// HIVE MIND UPLOAD/DOWNLOAD DNA -GLOBAL_LIST_EMPTY(hivemind_bank) - -/datum/action/changeling/hivemind_upload - name = "Hive Channel DNA" - desc = "Allows us to channel DNA in the airwaves to allow other changelings to absorb it. Costs 10 chemicals." - button_icon_state = "hivemind_channel" - chemical_cost = 10 - dna_cost = -1 - -/datum/action/changeling/hivemind_upload/sting_action(mob/living/user) - if (HAS_TRAIT(user, CHANGELING_HIVEMIND_MUTE)) - to_chat(user, span_warning("The poison in the air hinders our ability to interact with the hivemind.")) - return - ..() - var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) - var/list/names = list() - for(var/datum/changelingprofile/prof in changeling.stored_profiles) - if(!(prof in GLOB.hivemind_bank)) - names += prof.name - - if(names.len <= 0) - to_chat(user, span_warning("The airwaves already have all of our DNA!")) - return - - var/chosen_name = input("Select a DNA to channel: ", "Channel DNA", null) as null|anything in sortList(names) - if(!chosen_name) - return - - var/datum/changelingprofile/chosen_dna = changeling.get_dna(chosen_name) - if(!chosen_dna) - return - - var/datum/changelingprofile/uploaded_dna = new chosen_dna.type - chosen_dna.copy_profile(uploaded_dna) - GLOB.hivemind_bank += uploaded_dna - to_chat(user, span_notice("We channel the DNA of [chosen_name] to the air.")) - return TRUE - -/datum/action/changeling/hivemind_download - name = "Hive Absorb DNA" - desc = "Allows us to absorb DNA that has been channeled to the airwaves. Does not count towards absorb objectives. Costs 10 chemicals." - button_icon_state = "hive_absorb" - chemical_cost = 10 - dna_cost = -1 - -/datum/action/changeling/hivemind_download/can_sting(mob/living/carbon/user) - if(!..()) - return - if (HAS_TRAIT(user, CHANGELING_HIVEMIND_MUTE)) - to_chat(user, span_warning("The poison in the air hinders our ability to interact with the hivemind.")) - return - var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) - var/datum/changelingprofile/first_prof = changeling.stored_profiles[1] - if(first_prof.name == user.real_name)//If our current DNA is the stalest, we gotta ditch it. - to_chat(user, span_warning("We have reached our capacity to store genetic information! We must transform before absorbing more.")) - return - return 1 - -/datum/action/changeling/hivemind_download/sting_action(mob/user) - var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) - var/list/names = list() - for(var/datum/changelingprofile/prof in GLOB.hivemind_bank) - if(!(prof in changeling.stored_profiles)) - names[prof.name] = prof - - if(names.len <= 0) - to_chat(user, span_warning("There's no new DNA to absorb from the air!")) - return - - var/S = input("Select a DNA absorb from the air: ", "Absorb DNA", null) as null|anything in sortList(names) - if(!S) - return - var/datum/changelingprofile/chosen_prof = names[S] - if(!chosen_prof) - return - ..() - var/datum/changelingprofile/downloaded_prof = new chosen_prof.type - chosen_prof.copy_profile(downloaded_prof) - changeling.add_profile(downloaded_prof) - to_chat(user, span_notice("We absorb the DNA of [S] from the air.")) - return TRUE diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 6fc2bcd92ca..ce3121cc86e 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2421,14 +2421,6 @@ metabolization_rate = 0.2 * REAGENTS_METABOLISM chemical_flags = REAGENT_CAN_BE_SYNTHESIZED -/datum/reagent/bz_metabolites/on_mob_metabolize(mob/living/L) - ..() - ADD_TRAIT(L, CHANGELING_HIVEMIND_MUTE, type) - -/datum/reagent/bz_metabolites/on_mob_end_metabolize(mob/living/L) - ..() - REMOVE_TRAIT(L, CHANGELING_HIVEMIND_MUTE, type) - /datum/reagent/bz_metabolites/on_mob_life(mob/living/L, delta_time, times_fired) if(L.mind) var/datum/antagonist/changeling/changeling = L.mind.has_antag_datum(/datum/antagonist/changeling) diff --git a/tgstation.dme b/tgstation.dme index b725d0283cd..d2fc4d0324e 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1710,7 +1710,6 @@ #include "code\modules\antagonists\changeling\powers\fakedeath.dm" #include "code\modules\antagonists\changeling\powers\fleshmend.dm" #include "code\modules\antagonists\changeling\powers\headcrab.dm" -#include "code\modules\antagonists\changeling\powers\hivemind.dm" #include "code\modules\antagonists\changeling\powers\humanform.dm" #include "code\modules\antagonists\changeling\powers\lesserform.dm" #include "code\modules\antagonists\changeling\powers\mimic_voice.dm"