// Function from file: hivemind.dm public override dynamic sting_action(Mob user = null, Ent_Static target = null) { Changeling changeling = null; ByTable names = null; Changelingprofile prof = null; dynamic chosen_name = null; Changelingprofile chosen_dna = null; dynamic uploaded_dna = null; changeling = user.mind.changeling; names = new ByTable(); foreach (dynamic _a in Lang13.Enumerate(changeling.stored_profiles, typeof(Changelingprofile))) { prof = _a; if (!GlobalVars.hivemind_bank.Contains(prof)) { names.Add(prof.name); } } if (names.len <= 0) { user.WriteMsg("<span class='notice'>The airwaves already have all of our DNA.</span>"); return(null); } chosen_name = Interface13.Input("Select a DNA to channel: ", "Channel DNA", null, null, names, InputType.Null | InputType.Any); if (!Lang13.Bool(chosen_name)) { return(null); } chosen_dna = changeling.get_dna(chosen_name); if (!(chosen_dna != null)) { return(null); } uploaded_dna = Lang13.Call(chosen_dna.type); chosen_dna.copy_profile(uploaded_dna); GlobalVars.hivemind_bank.Add(uploaded_dna); user.WriteMsg("<span class='notice'>We channel the DNA of " + chosen_name + " to the air.</span>"); GlobalFuncs.feedback_add_details("changeling_powers", "HU"); return(1); }
// Function from file: humanform.dm public override dynamic sting_action(Mob user = null, Ent_Static target = null) { Changeling changeling = null; ByTable names = null; Changelingprofile prof = null; dynamic chosen_name = null; Changelingprofile chosen_prof = null; dynamic newmob = null; changeling = user.mind.changeling; names = new ByTable(); foreach (dynamic _a in Lang13.Enumerate(changeling.stored_profiles, typeof(Changelingprofile))) { prof = _a; names.Add("" + prof.name); } chosen_name = Interface13.Input("Select the target DNA: ", "Target DNA", null, null, names, InputType.Null | InputType.Any); if (!Lang13.Bool(chosen_name)) { return(null); } chosen_prof = changeling.get_dna(chosen_name); if (!(chosen_prof != null)) { return(null); } if (!(user != null) || Lang13.Bool(user.notransform)) { return(0); } user.WriteMsg("<span class='notice'>We transform our appearance.</span>"); changeling.purchasedpowers.Remove(this); newmob = ((dynamic)user).humanize(279); GlobalFuncs.changeling_transform(newmob, chosen_prof); GlobalFuncs.feedback_add_details("changeling_powers", "LFT"); return(1); }