// Function from file: experiment.dm
        public void experimentUI(dynamic user = null)
        {
            dynamic dat             = null;
            Obj_Item_Weapon_Photo P = null;
            Browser popup           = null;

            dat += "<h3> Experiment </h3>";

            if (Lang13.Bool(this.occupant))
            {
                P = new Obj_Item_Weapon_Photo();
                P.photocreate(null, new Icon(this.dissection_icon(this.occupant), null, GlobalVars.SOUTH));
                Interface13.CacheBrowseResource(user, P.img, "dissection_img");
                dat += "<table><tr><td>";
                dat += "<img src=dissection_img height=80 width=80>";
                dat += "</td><td>";
                dat += new Txt("<a href='?src=").Ref(this).str(";experiment=1'>Probe</a><br>").ToString();
                dat += new Txt("<a href='?src=").Ref(this).str(";experiment=2'>Dissect</a><br>").ToString();
                dat += new Txt("<a href='?src=").Ref(this).str(";experiment=3'>Analyze</a><br>").ToString();
                dat += "</td></tr></table>";
            }
            else
            {
                dat += "<span class='linkOff'>Experiment </span>";
            }

            if (!Lang13.Bool(this.occupant))
            {
                dat += "<h3>Machine Unoccupied</h3>";
            }
            else
            {
                dat += "<h3>Subject Status : </h3>";
                dat += "" + this.occupant.name + " => ";

                dynamic _a = this.occupant.stat;                 // Was a switch-case, sorry for the mess.
                if (_a == 0)
                {
                    dat += "<span class='good'>Conscious</span>";
                }
                else if (_a == 1)
                {
                    dat += "<span class='average'>Unconscious</span>";
                }
                else
                {
                    dat += "<span class='bad'>Deceased</span>";
                }
            }
            dat  += "<br>";
            dat  += "" + this.flash;
            dat  += "<br>";
            dat  += new Txt("<a href='?src=").Ref(this).str(";refresh=1'>Scan</a>").ToString();
            dat  += new Txt("<a href='?src=").Ref(this).str(";").item((Lang13.Bool(this.state_open) ? "close=1'>Close</a>" : "open=1'>Open</a>")).ToString();
            popup = new Browser(user, "experiment", "Probing Console", 300, 300);
            popup.set_title_image(((Mob)user).browse_rsc_icon(this.icon, this.icon_state));
            popup.set_content(dat);
            popup.open();
            return;
        }
        // Function from file: photography.dm
        public void viewpichelper(Obj_Item_Device_Camera_Siliconcam targetloc = null)
        {
            Obj_Item_Weapon_Photo P = null;
            Picture selection       = null;

            P         = new Obj_Item_Weapon_Photo();
            selection = this.selectpicture(targetloc);

            if (selection != null)
            {
                P.photocreate(selection.fields["icon"], selection.fields["img"], selection.fields["desc"]);
                P.pixel_x = Convert.ToInt32(selection.fields["pixel_x"]);
                P.pixel_y = Convert.ToInt32(selection.fields["pixel_y"]);
                P.show(Task13.User);
                Task13.User.WriteMsg(P.desc);
            }
            GlobalFuncs.qdel(P);
            return;
        }
Beispiel #3
0
        // Function from file: photography.dm
        public void borgprint(  )
        {
            ByTable    nametemp  = null;
            dynamic    find      = null;
            Picture    selection = null;
            Ent_Static C         = null;
            Obj_Item_Device_Camera_Siliconcam targetcam = null;
            Picture t = null;
            Picture q = null;
            Obj_Item_Weapon_Photo p = null;

            nametemp  = new ByTable();
            C         = this.loc;
            targetcam = null;

            if (Convert.ToDouble(((dynamic)C).toner) < 20)
            {
                Task13.User.WriteMsg("Insufficent toner to print image.");
                return;
            }

            if (Lang13.Bool(((dynamic)C).connected_ai))
            {
                targetcam = ((dynamic)C).connected_ai.aicamera;
            }
            else
            {
                targetcam = ((dynamic)C).aicamera;
            }

            if (targetcam.aipictures.len == 0)
            {
                Task13.User.WriteMsg("<span class='userdanger'>No images saved</span>");
                return;
            }

            foreach (dynamic _a in Lang13.Enumerate(targetcam.aipictures, typeof(Picture)))
            {
                t = _a;

                nametemp.Add(t.fields["name"]);
            }
            find = Interface13.Input("Select image (numbered in order taken)", null, null, null, nametemp, InputType.Any);

            foreach (dynamic _b in Lang13.Enumerate(targetcam.aipictures, typeof(Picture)))
            {
                q = _b;


                if (q.fields["name"] == find)
                {
                    selection = q;
                    break;
                }
            }
            p = new Obj_Item_Weapon_Photo(C.loc);
            p.photocreate(selection.fields["icon"], selection.fields["img"], selection.fields["desc"], selection.fields["blueprints"]);
            p.pixel_x           = Rand13.Int(-10, 10);
            p.pixel_y           = Rand13.Int(-10, 10);
            ((dynamic)C).toner -= 20;
            this.visible_message("" + C.name + " spits out a photograph from a narrow slot on it's chassis.");
            Task13.User.WriteMsg("<span class='notice'>You print a photograph.</span>");
            return;
        }
Beispiel #4
0
        // Function from file: datacore.dm
        public void manifest_inject(dynamic H = null)
        {
            dynamic assignment = null;
            string  id         = null;
            Icon    image      = null;
            Obj_Item_Weapon_Photo photo_front = null;
            Obj_Item_Weapon_Photo photo_side  = null;
            Data_Record           G           = null;
            Data_Record           M           = null;
            Data_Record           S           = null;
            Data_Record           L           = null;


            if (Lang13.Bool(H.mind) && H.mind.assigned_role != H.mind.special_role)
            {
                if (Lang13.Bool(H.mind.assigned_role))
                {
                    assignment = H.mind.assigned_role;
                }
                else if (Lang13.Bool(H.job))
                {
                    assignment = H.job;
                }
                else
                {
                    assignment = "Unassigned";
                }
                id          = GlobalFuncs.num2hex(GlobalVars.record_id_num++, 6);
                image       = this.get_id_photo(H);
                photo_front = new Obj_Item_Weapon_Photo();
                photo_side  = new Obj_Item_Weapon_Photo();
                photo_front.photocreate(null, new Icon(image, null, GlobalVars.SOUTH));
                photo_side.photocreate(null, new Icon(image, null, GlobalVars.WEST));
                G = new Data_Record();
                G.fields["id"]   = id;
                G.fields["name"] = H.real_name;
                G.fields["rank"] = assignment;
                G.fields["age"]  = H.age;

                if (GlobalVars.config.mutant_races)
                {
                    G.fields["species"] = H.dna.species.name;
                }
                G.fields["fingerprint"] = Num13.Md5(H.dna.uni_identity);
                G.fields["p_stat"]      = "Active";
                G.fields["m_stat"]      = "Stable";
                G.fields["sex"]         = H.gender;
                G.fields["photo_front"] = photo_front;
                G.fields["photo_side"]  = photo_side;
                this.general.Add(G);
                M = new Data_Record();
                M.fields["id"]         = id;
                M.fields["name"]       = H.real_name;
                M.fields["blood_type"] = H.dna.blood_type;
                M.fields["b_dna"]      = H.dna.unique_enzymes;
                M.fields["mi_dis"]     = "None";
                M.fields["mi_dis_d"]   = "No minor disabilities have been declared.";
                M.fields["ma_dis"]     = "None";
                M.fields["ma_dis_d"]   = "No major disabilities have been diagnosed.";
                M.fields["alg"]        = "None";
                M.fields["alg_d"]      = "No allergies have been detected in this patient.";
                M.fields["cdi"]        = "None";
                M.fields["cdi_d"]      = "No diseases have been diagnosed at the moment.";
                M.fields["notes"]      = "No notes.";
                this.medical.Add(M);
                S = new Data_Record();
                S.fields["id"]       = id;
                S.fields["name"]     = H.real_name;
                S.fields["criminal"] = "None";
                S.fields["mi_crim"]  = new ByTable();
                S.fields["ma_crim"]  = new ByTable();
                S.fields["notes"]    = "No notes.";
                this.security.Add(S);
                L = new Data_Record();
                L.fields["id"]         = Num13.Md5("" + H.real_name + H.mind.assigned_role);
                L.fields["name"]       = H.real_name;
                L.fields["rank"]       = H.mind.assigned_role;
                L.fields["age"]        = H.age;
                L.fields["sex"]        = H.gender;
                L.fields["blood_type"] = H.dna.blood_type;
                L.fields["b_dna"]      = H.dna.unique_enzymes;
                L.fields["enzymes"]    = H.dna.struc_enzymes;
                L.fields["identity"]   = H.dna.uni_identity;
                L.fields["species"]    = H.dna.species.type;
                L.fields["features"]   = H.dna.features;
                L.fields["image"]      = image;
                this.locked.Add(L);
            }
            return;
        }