mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 00:29:02 +01:00
Remove unused hivemind powers and supression (#59911)
- BZ metabolites no longer mute changeling hiveminds, because changeling hiveminds no longer exist. - Removed code for two unused changeling powers, Hive Channel DNA and Hive Absorb DNA.
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user