diff --git a/code/game/gamemodes/changeling/powers/hivemind.dm b/code/game/gamemodes/changeling/powers/hivemind.dm index 28d710cb8f..5d79a757ec 100644 --- a/code/game/gamemodes/changeling/powers/hivemind.dm +++ b/code/game/gamemodes/changeling/powers/hivemind.dm @@ -1,98 +1,3 @@ -<<<<<<< HEAD -//HIVEMIND COMMUNICATION (:g) -/obj/effect/proc_holder/changeling/hivemind_comms - name = "Hivemind Communication" - desc = "We tune our senses to the airwaves to allow us to discreetly communicate and exchange DNA with other changelings." - helptext = "We will be able to talk with other changelings with :g. Exchanged DNA do not count towards absorb objectives." - dna_cost = 0 - chemical_cost = -1 - -/obj/effect/proc_holder/changeling/hivemind_comms/on_purchase(mob/user, is_respec) - ..() - var/datum/changeling/changeling=user.mind.changeling - changeling.changeling_speak = 1 - to_chat(user, "Use say \":g message\" to communicate with the other changelings.") - var/obj/effect/proc_holder/changeling/hivemind_upload/S1 = new - if(!changeling.has_sting(S1)) - changeling.purchasedpowers+=S1 - var/obj/effect/proc_holder/changeling/hivemind_download/S2 = new - if(!changeling.has_sting(S2)) - changeling.purchasedpowers+=S2 - -// HIVE MIND UPLOAD/DOWNLOAD DNA -GLOBAL_LIST_EMPTY(hivemind_bank) - -/obj/effect/proc_holder/changeling/hivemind_upload - name = "Hive Channel DNA" - desc = "Allows us to channel DNA in the airwaves to allow other changelings to absorb it." - chemical_cost = 10 - dna_cost = -1 - -/obj/effect/proc_holder/changeling/hivemind_upload/sting_action(var/mob/user) - var/datum/changeling/changeling = user.mind.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, "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 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, "We channel the DNA of [chosen_name] to the air.") - return TRUE - -/obj/effect/proc_holder/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." - chemical_cost = 10 - dna_cost = -1 - -/obj/effect/proc_holder/changeling/hivemind_download/can_sting(mob/living/carbon/user) - if(!..()) - return - var/datum/changeling/changeling = user.mind.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, "We have reached our capacity to store genetic information! We must transform before absorbing more.") - return - return 1 - -/obj/effect/proc_holder/changeling/hivemind_download/sting_action(mob/user) - var/datum/changeling/changeling = user.mind.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, "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 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, "We absorb the DNA of [S] from the air.") - return TRUE -======= //HIVEMIND COMMUNICATION (:g) /obj/effect/proc_holder/changeling/hivemind_comms name = "Hivemind Communication" @@ -186,4 +91,3 @@ GLOBAL_LIST_EMPTY(hivemind_bank) changeling.add_profile(downloaded_prof) to_chat(user, "We absorb the DNA of [S] from the air.") return TRUE ->>>>>>> 70d0357... Ling datum antag standarization. (#32183)