Example #1
0
        // Function from file: other_reagents.dm
        public override bool on_merge(dynamic data = null)
        {
            dynamic         mix1     = null;
            dynamic         mix2     = null;
            ByTable         to_mix   = null;
            Disease_Advance AD       = null;
            Disease_Advance AD2      = null;
            dynamic         AD3      = null;
            ByTable         preserve = null;
            Disease_Advance D        = null;


            if (Lang13.Bool(this.data) && Lang13.Bool(data))
            {
                this.data["cloneable"] = 0;

                if (Lang13.Bool(this.data["viruses"]) || Lang13.Bool(data["viruses"]))
                {
                    mix1   = this.data["viruses"];
                    mix2   = data["viruses"];
                    to_mix = new ByTable();

                    foreach (dynamic _a in Lang13.Enumerate(mix1, typeof(Disease_Advance)))
                    {
                        AD = _a;

                        to_mix.Add(AD);
                    }

                    foreach (dynamic _b in Lang13.Enumerate(mix2, typeof(Disease_Advance)))
                    {
                        AD2 = _b;

                        to_mix.Add(AD2);
                    }
                    AD3 = GlobalFuncs.Advance_Mix(to_mix);

                    if (Lang13.Bool(AD3))
                    {
                        preserve = new ByTable(new object [] { AD3 });

                        foreach (dynamic _c in Lang13.Enumerate(this.data["viruses"], typeof(Disease_Advance)))
                        {
                            D = _c;
                        }
                        this.data["viruses"] = preserve;
                    }
                }
            }
            return(true);
        }