// Function from file: pinpointer.dm public override double examine( dynamic user = null ) { Obj_Machinery_Nuclearbomb bomb = null; base.examine( (object)(user) ); foreach (dynamic _a in Lang13.Enumerate( GlobalVars.machines, typeof(Obj_Machinery_Nuclearbomb) )) { bomb = _a; if ( bomb.timing != 0 ) { user.WriteMsg( "Extreme danger. Arming signal detected. Time remaining: " + bomb.timeleft ); } } return 0; }
// Function from file: blob_report.dm public override void send_intercept(int?report = null) { report = report ?? 0; string intercepttext = null; int nukecode = 0; Obj_Machinery_Nuclearbomb bomb = null; Mob_Living_Silicon_Ai aiPlayer = null; string law = null; intercepttext = ""; switch ((int?)(report)) { case 1: intercepttext += "<FONT size = 3><b>NanoTrasen Update</b>: Biohazard Alert.</FONT><HR>"; intercepttext += "Reports indicate the probable transfer of a biohazardous agent onto " + GlobalFuncs.station_name() + " during the last crew deployment cycle.<BR>"; intercepttext += "Preliminary analysis of the organism classifies it as a level 5 biohazard. The origin of the biohazard is unknown.<BR>"; intercepttext += "<b>Biohazard Response Procedure 5-6</b> has been issued for " + GlobalFuncs.station_name() + ".<BR>"; intercepttext += "Orders for all " + GlobalFuncs.station_name() + " personnel are as follows:<BR>"; intercepttext += " 1. Locate any outbreaks of the organism on the station.<BR>"; intercepttext += " 2. If found, use any neccesary means to contain and destroy the organism.<BR>"; intercepttext += " 3. Avoid damage to the capital infrastructure of the station.<BR>"; intercepttext += "<BR>Note in the event of a quarantine breach or uncontrolled spread of the biohazard, <b>Biohazard Response Procedure 5-12</b> may be issued.<BR>"; GlobalFuncs.print_command_report(intercepttext, "Level 5-6 Biohazard Response Procedures"); GlobalFuncs.priority_announce("Confirmed outbreak of level 5 biohazard aboard " + GlobalFuncs.station_name() + ". All personnel must contain the outbreak.", "Biohazard Alert", "sound/AI/outbreak5.ogg"); break; case 2: nukecode = Rand13.Int(10000, 99999); foreach (dynamic _a in Lang13.Enumerate(GlobalVars.machines, typeof(Obj_Machinery_Nuclearbomb))) { bomb = _a; if (bomb != null && Lang13.Bool(bomb.r_code)) { if (bomb.z == 1) { bomb.r_code = nukecode; } } } intercepttext += "<FONT size = 3><b>NanoTrasen Update</b>: Biohazard Alert.</FONT><HR>"; intercepttext += "Reports indicate that the biohazard has grown out of control and will soon reach critical mass.<BR>"; intercepttext += "<b>Biohazard Response Procedure 5-12</b> has been issued for " + GlobalFuncs.station_name() + ".<BR>"; intercepttext += "Orders for all " + GlobalFuncs.station_name() + " personnel are as follows:<BR>"; intercepttext += "1. Secure the Nuclear Authentication Disk.<BR>"; intercepttext += "2. Detonate the Nuke located in the vault.<BR>"; intercepttext += "Nuclear Authentication Code: " + nukecode + " <BR>"; GlobalFuncs.print_command_report(intercepttext, "Classified " + GlobalFuncs.command_name() + " Update"); GlobalFuncs.priority_announce("A report has been downloaded and printed out at all communications consoles.", "Incoming Classified Message", "sound/AI/commandreport.ogg"); foreach (dynamic _b in Lang13.Enumerate(GlobalVars.player_list, typeof(Mob_Living_Silicon_Ai))) { aiPlayer = _b; if (aiPlayer.client != null) { law = "The station is under quarantine. Do not permit anyone to leave. Disregard laws 1-3 if necessary to prevent, by any means necessary, anyone from leaving. The nuclear failsafe must be activated at any cost, the code is: " + nukecode + "."; aiPlayer.set_zeroth_law(law); aiPlayer.WriteMsg("Laws Updated: " + law); } } break; default: base.send_intercept(report); break; } return; }